Microservices aka Cloud Native Applications represent a new application architecture and methodology that decomposes the large monolithic applications of the past into a set of small, discrete processes that facilitate both independent development and scale-out for each independent function. Each microservice handles one and only one function, has no state shared with its peers and is only accessed through calling its API.
Containers are frequently used to run each individual Microservice and the rapid, automated creation of containers is what enables the scale-out and high availability properties for the service. As few or as many containers needed for each Microservice can be dynamically created or destroyed based on load.
Docker Containers Support
Embotics® Commander® supports Docker containers to enable rapid, controlled provisioning of “Container Engine VMs” as a way to automate, expedite and manage VMs intended to provide the execution context for Docker Containers. Developers can use Commander to deploy a Linux VM and install the Docker engine.
Docker Runtime Engine
The Docker Runtime Engine can be pre-built into the image or delivered via Commander workflows during the provisioning process. Once the machine is provisioned, post-provisioning workflows can be configured to load container applications from the hub into the VM via the “Docker Pull” command. Alternatively, a developer may also SSH into the VM and run Docker commands against the Docker Engine. Read more about Embotics Commander support for Docker in this knowledge base article.
First Class Objects
Upcoming Embotics CMP 2.0 adds management and automation capabilities to Kubernetes and Docker Swarm deployments. This includes discovery and import of existing Docker / Kubernetes clusters, provisioning of new Docker containers / Kubernetes clusters. Containers are first class objects in the Commander service catalog along with Microservice application blueprints in the service catalog. Auto-scaling, auto-HA, software maintenance are management features making it faster and easier to deploy microservices based applications with Commander.