Deploying Multiple Docker Containers in the Cloud with Clocker

A lot has been said about LinuX Container‘s lately. In fact, white-hot Docker, the creator of the Docker open source container project, is nearing a $40M-plus funding round. The reason containers are gaining so much popularity is they make it easier to move software applications from computer to computer and from cloud to cloud. It’s even easier than the Virtual Machine images that are so popular today. You can create, deploy, move, update and resize containers because Docker makes it easy to partition a single host into multiple containers and then makes it easy to resize each container to fit the compute needs of your application. And Docker open sourced their container project making it appealing to a wide range of customers and vendors who want to use containers on-premise and in the public cloud.

As you can imagine, this will have a significant impact on the Virtual Machine image vendors, namely VMware. But it doesn’t stop there. By embracing containers as the new unit of deployment for cloud-based applications, the idea of being locked into a Virtual Machine format like an Amazon Machine Image (AMI) is no longer a problem. Any cloud that embraces Docker-based containers can make a huge catalog of cloud-based applications immediately available to their customers, thus removing one of Amazon EC2’s greatest advantages … locked-in machine images. And Docker can run in the Public Cloud on Amazon EC2, Google and Microsoft Azure as well as native on Linux as well as inside KVM, VMware or Hyper-V hosts. As we speak, 1000’s of Virtual Machines images are converting from VMware or Amazon’s image format to Docker’s light weight container images.

This is well and good if your application can run in multiple containers on a single host. But most web scale and enterprise applications require multiple hosts for resilience, fault tolerance and application scaling … not to mention simplicity. As you can imagine, managing IP Addresses is no simple task either. And this new container complexity is creating great demand for deployment tools that can setup and configure Docker-compatible clouds and applications. One such tool is Clocker, an Apache Brooklyn-based project, created by CloudSoft.

Clocker helps you turn any public or private cloud into a one capable of provisioning applications across multiple Docker server hosts, each with multiple docker containers. Not only does Clocker automate the provisioning, but it places the containers intelligently within the hosts to provide resilience, fault tolerance, easy scaling, maximum resource utilization of hosts and maximum application performance.

docker-in-the-cloud-slidesTo automate the deployment of your application, you need a script, manifest or some description of the application resources to be deployed into the containers. With Clocker, you can use a Dockerfile or an existing Brooklyn/CAMP blueprints. If you use Brooklyn/CAMP blueprints, you can add specific Docker customizations to take advantage of special Clocker features like specifying affinity rules to help place the containers intelligently. 

There is something special about containers that makes it seem natural for the cloud. Docker, the company, has demonstrated how to bring containers into the mainstream in a way that is capturing the imagination of many. I’m sure we will see many other innovative ways to use Docker to improve cloud usage. Right now, the land grab opportunity is to be the first to deploy Docker containers. Apache Brooklyn-based Clocker uses innovation and open source to make the deployment of multi-container applications easy too.

To find out more about Clocker, read CLOCKER – CREATING A DOCKER CLOUD WITH APACHE BROOKLYN or join the CloudSoft crew today online to see how to deploy Applications using Docker containers on OpenStack.  


About davenielsen
Head of Ecosystem Programs at Redis Labs; Founder of CloudCamp

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: