An overview of our use-cases for Docker within ComodIT


09/09/2013 - Laurent Eschenauer (@eschnou)

ComodIT now supports Docker and we find the combination amazing. In this post I want to share with you some use-cases we have explored, highlighting the benefits of using the lightweight containers from Docker together with the powerfull descriptive approach from ComodIT. If you are interested in trying this out, have a look at this tutorial.

If you just want to get a feeling on the integration, have a look at this short screencast showing the deployment of a Drupal, inside a docker host, deployed on Amazon EC2, all this with ComodIT. I"e;ll discuss some use cases after the break.

 

Clone your production environment on your developer workstations

As already discussed, a challenge for developers is to work in an environment as close as possible as the target production environment. Minimizing differences enable to avoid last minute issues when deploying in production due to configuration differences, different middleware versions, missing dependencies, etc.

Previously, we would solve this issue by managing a local virtualized environment using VirtualBox, or KVM, running on the developper machine. The memory overhead imposed by these virtual machines usually means that you can run only a few of them. An other issue is that once ‘polluted’ with test data, the machine has to be re-deployed if the developer wants to test his code in a fresh environment.

Thanks to the lightweight and ephemeral nature of docker containers, these are not issues anymore. Using ComodIT, the developer can easily re-deploy containers with various testing configuration in a few clicks. No changes need to be made to the deployment recipes, just switch the target platform to your new docker platform and click deploy.

Simplify load/scale testing

What happens when 100 agent simultaneously connect to ComodIT? In order to test these kind of scenario we previously had to resort to custom code, or a lot of virtual machines running in our lab. The setup and execution of these tests being complex and time consuming meant we could not repeat them often.

Using Docker, together with ComodIT orchestration capabilities, we can deploy hundreds of machines, each with custom configurations, and test how our platform react to these kind of loads. In the future we could integrate this directly within our integration testing environment.

Accelerate recipes development

When designing an application recipe to be used within ComodIT, a time-consuming process is the testing. Especially if each test involves the re-deployment of a virtual machine using a kickstart/preseed. Thanks to the Docker platform, these tests can now be performed in seconds. Thus, even if your final target platform is a KVM virtual Machine, an Amazon server or even a physical server, we encourage you to try out Docker and use it for recipes developemnt.


blog comments powered by Disqus