Private Cloud Container Orchestration using Nirmata
Nirmata has full support for private clouds as part of its Microservices Operations and Management solution. In this post, I will provider some insights into the architecture of this functionality, and walk you through the setup in four easy steps.
Nirmata users can securely manage VMware and OpenStack clouds and Docker Image Registries, in their data center. To connect their Private Clouds, users’ need to run the Nirmata Private Cloud Agent, on a system within their data center that has network connectivity to their cloud management system (e.g. VMware’s vCenter) and/or a private Docker Image Registry. Once the Nirmata Private Cloud Agent is connected, users can then securely provision Host Groups and Image Registries in Nirmata.
Nirmata Private Cloud Agent runs within a Docker container on a host sitting inside your datacenter. It dials out to Nirmata SaaS using a SSL based bi-directional connection. This secure connection is then used by Nirmata SaaS to send messages to the Private Cloud Agent. The Private Cloud Agent then routes these messages to the appropriate end point in your data center.
When a new machine instance is started, the Nirmata Host Agent is started too. This agent initiates a secure connection to the Nirmata SaaS. This connection is used by Nirmata to orchestrate and manage application containers on the host. The Host Agent locally interacts with the Docker Daemon using a Unix socket on the Host for maximum security.
There are no limitations, regarding the number of Docker Image Registries, Openstack deployments, or vSphere deployments that you can support with single Private Cloud Agent. It is also possible to deploy multiple agents in the same data center for scalability and redundancy reasons.
Setting up a Private Cloud
1. Create a Private Cloud Provider
The first configuration step consists in creating a Private Cloud Provider. Using the navigation panel, select “Private Cloud” and enter the name of your private cloud.
Once created, your Private Cloud will stay in “not connected” state till you install Nirmata Private Cloud Agent in your datacenter. The shell command required to install the agent is displayed in the next screen.
2. Run the Nirmata Private Cloud Agent
You can install the agent on any Ubuntu, CentOS or CoreOS host running in your datacenter. The agent runs in a Docker container so you will have to install Docker 1.5+ on your host. To install Nirmata Private Cloud Agent, simply ssh to your instance and execute the curl command displayed in the Nirmata console.
You can check that the Nirmata Private Cloud Agent is running by executing the command:
sudo docker ps
Once the agent is initialized, it creates a secure connection with Nirmata SaaS. You can now check the state of your Private Cloud provider in Nirmata console and verify it is in connected state.
Your Private Cloud Agent is now up and running. The next steps consist of configuring the Cloud Provider you want to use (Openstack or vSphere) as well as your private Docker Image Registries if any.
3. Configure a Cloud Provider
You can associate multiple Cloud Providers to the Private Cloud you have just created. I’ll show an example based on an Openstack provider.
In the navigation panel, select “Cloud Provider” and then click “Add Cloud Provider”. After entering the name of your Cloud Provider, you can specify the type of provider (Openstack in this case). Then you can associate this provider to the private cloud you have created (“datacenter-milan”).
Click “Next” to access the next screen. You can now enter the parameters required to access the APIs of your provider: Endpoint URL, tenant/project, username and password in the case of Openstack.
On the next screen, the console is going to use the parameters you have just entered to make sure they are valid.
Your Openstack provider is now running so you can start creating host groups and deploy applications. Please refer to Nirmata documentation to create host groups and to deploy applications.
4. Configure a Private Docker Registry
We have seen many companies hosting their own private Docker Image Registry. You can add several Private Image Registries to your private cloud. Using the Navigation panel, go to “Images Registries“.
To define your image repository, you just have to provide its location & credentials and then associate it to your Private Cloud.
Nirmata provides a powerful application control plane that works seamlessly across public and private clouds.
You can use Nirmata solution in your data center by simply deploying a lightweight containerized agent behind your firewall. By using a dial home approach based on secure protocols like SSL, Nirmata does not require customers to punch holes in their firewall.
At Nirmata, our goal is make it simple for you to manage Microservices style applications across public and private clouds, by doing the undifferentiated heavy lifting for you! If you are struggling with the installation and management of complex data center tools, give Nirmata a try and let us know your thoughts.