Docker + Apache Brooklyn = Clocker
Clocker, an open source project, enables users to spin up Docker containers, without generating excess containers, in a cloud-agnostic manner. The project is built on top of Apache Brooklyn, a multi-cloud application, management software.
Some features of Clocker are -
- Automatically create and manage multiple Docker hosts in cloud infrastructure
- Intelligent container placement, providing fault tolerance, easy scaling and better utilization of resources
- Use of any public or private cloud as the underlying infrastructure for Docker Hosts
- Deployment of existing Brooklyn/CAMP blueprints to Docker locations, without modifications
An overview of how this works is explained in an article by Cloudsoft, the company behind Brooklyn -
Brooklyn uses Apache jclouds, a cloud API agnostic library, to provision and configure secure communications (SSH) with cloud virtual machines.
The Docker architecture provides ‘containers’ on ‘host’ machines. Brooklyn provisions cloud machines using jclouds and uses them as Docker hosts.
Brooklyn uses a Dockerfile which makes an SSH server available in each Docker container, after which it can be treated like any virtual machine. Brooklyn receives sensor data from the app, every docker host, every docker container as well as every software making up the app and can effect changes in each of these; enabling Brooklyn to manage distribution of the app across the Docker Cloud.