Build, Ship and Run
What Is Containerisation?
Containerisation can be thought of as a lightweight alternative to virtualisation.
Containerisation uses some containment features of the Linux kernel to provide isolation between applications. These applications all use the same host Kernel, providing a key difference between containerisation and full virtualisation.
Why Use Containerisation?
- Containerisation is very efficient and can be very quick to start and stop instances
- Users can deploy and run hundreds of containers on a single host
- Containerisation technology has a very small footprint and offers excellent isolation
- Containers can run on systems that are already virtualised. Nested virtualisation is a relatively new technology and not always supported, making this an extremely powerful feature
Although Microservices have been around for a long time under the theme of SOA (Service Orientated Architecture), the rise of containerisation has really brought these to the forefront.
A Microservice is typically a lightweight application with a specific function that can communicate over the network with other Microservices as part of an architecture to deliver a larger application service or function. Containerisation provides a great platform for the provision of Microservices.
Load balancing is an important feature of SOA and Microservice based architectures. Load balancing can monitor the performance of the various Microservices and make routing decisions accordingly.
Using simple factors such as CPU and load as an indicator of service health and performance is not always effective. Advanced load balancers such edgeNEXUS run at the application layer and can make detailed application level requests to ascertain the performance, health and responsiveness of the service container. Based on these results the load balancer can introduce more capacity or reduce the number of new connections to a particular service to improve efficiency.
Who Are The Big Players in Containerisation?
There are many companies building abstraction layers over the core Linux containerisation functionality with the most prevalent being Docker (www.Docker.com) and Kubernutes ((http://kubernetes.io/). Docker is widely renowned as the world’s leading software containerisation platform.
edgeNEXUS and Containerisation
edgeNEXUS loves containerisation and the concept of load balanced Microservices, and has aligned two development and deployment strategies to containerisation.