Kx - It's about time

Serverless kdb+

Serverless computing is a cloud-computing model by which your infrastructure team or your cloud service provider will run and manage physical infrastructure, dynamically allocating these resources by demand of the application itself. Infrastructure is allocated at runtime, according to the amount of resources required by the application, rather than needing to pre-define units of capacity that may lie idle or dormant for long periods of time.

What does this mean to kdb+/q? Running kdb+ serverless is different from managing and deploying your own servers or your cloud instances (virtual machines, storage, networking etc.). Serverless allows the kdb+ developer to focus on the application logic. Building “serverless” means that kdb+ developers can focus on core product instead of having to manage and operate virtual machines, physical machines or associated infrastructure. This reduced overhead lets kdb+ developers reclaim time and energy that can be spent on developing services, especially where those applications have to dynamically scale and be reliable.

Serverless has affinity with the world of kdb+/q:

  • kdb+/q is inherently a small, lightweight construct. It therefore fits perfectly into any of the serverless constructs offered by cloud vendors that are themselves based on small light “containers” or execution engines. For example, these lightweight “threads” can run in the 100’s or 1000’s of instances, in parallel.
  • Serverless is a programmatically friendly extension of the existing “on-demand” licensing model for kdb+. Only pay for what you use for a functional workload, but invoke workloads from the application logic in kdb+/q, and not from an infrastructure layer with fixed licenses.
  • Parallel capable “on-demand”, workloads written for kdb+/q can easily fit into serverless. A business process that has to run in either intense batch load or requires an extract-translate-load process suits this model. This can allow kdb+ to offload services such as foreign data ingest into a serverless process that exists only to handle that data translation, then shuts down. Sometimes this data is considered “stateful” in serverless frameworks. However, there is support for such “stateful” modes in several of the cloud serverless frameworks.

Commercial licensing and support for kdb+ running in a serverless environment is now available.

Enabling Serverless

We plan to offer Serverless support on several platforms.

The first of these services is AWS Lambda.

Whether or not you are an existing customer of Kx, you may use serverless kdb+.

To enable this service you will need to sign up by clicking below:

AWS Lambda