May 15, 2019

Everything you need to know about Docker Containerization of KeyScaler

KeyScaler in Docker

With yesterday’s announcement about the 6.4 release of KeyScaler comes support for deployment within a Docker container instance.

Requested by a number of clients, the capability to run KeyScaler within this architecture brings significant deployment, cost and infrastructure support benefits to the platform.

Benefits of Docker

The abstractions given by the Docker container platform can reduce IT costs by 50% while accelerating your time to market by 3X.

KeyScaler supports any device, any IoT platform, any certificate and any network. A Docker based deployment expands this agnostic approach to technology to the hosting infrastructure, allowing:

  • Any programming language
  • Any application framework
  • Any operating system
  • Any infrastructure: bare metal, virtual machine, or public cloud

Docker can also be ran using managed services such as Azure Kubernetes Service (AKS), Amazon Elastic Container Service (Amazon ECS) and Google Kubernetes Engine (GKE)

Developers of solutions are given the freedom to select the best tools, programming languages, and application frameworks for any project.

With the enormous and dynamic scale of the IoT where new devices are continually being provisioned, the ability for infrastructure to respond dynamically to load requirements is critical, and highly available configurations using containerisation allows KeyScaler to load balance only the aspects of the system coming under load, seamlessly catering for the real world impact, while minimising impact on server resource and thus cost.

How does it work?

Traditional virtual machine hosting looks like the left side of the below diagram, with the server hardware at the bottom, the host operating system above that and then a hypervisor layer such as VirtualBox or VMware, which consumes the computing power of the server to provide virtual hardware, which is then consumed by a guest operating system. That guest operating system is where the dependencies for your application and the application itself is installed. This is great for isolation, but results in redundant operating systems.

KeyScaler in Docker

With Docker, the stack is much shorter (right side of above diagram): we still have the hardware and host operating system on the bottom, but the hypervisor layer is replaced with the Docker engine. The docker engine creates software containers which are smart enough to leverage items of the host operating system to create what looks like a fully isolated guest operating system for the applications you run inside, while being able to leverage shared dependencies across containers.

Using Docker as a foundation for KeyScaler deployments, you get an integrated security framework for delivering safer applications and improving policy automation without sacrificing performance. Docker adds an extra layer of protection that travels with your applications in a secure supply chain that traverses any infrastructure and across both application and device lifecycle.

And with a single interface and centrally-managed content, you get a seamless workflow that improves governance and ensures compliance across your whole organization.

What’s next?

We’ll continue to increase our support for KeyScaler inside Docker deployments, expanding support for high availability deployments utilising the latest in automatic swarming technology.

We’ll be working to lower the image size for initial install of KeyScaler, allowing the platform to run on smaller instances, further lowering the infrastructure cost requirements and speeding up deployments.

Learn more about KeyScaler in Docker by downloading our insight guide.

Sam Boswell