24 April 2014

Docker

Building to linux containers makes portability and deployment easier with Docker. The approach is to build applications inside isolated software containers for automated deployments to cloud environments. Thus, easing packaging of application and their dependencies within virtual containers that can run as isolated instances on environments with different linux distributions. The engine has many points of integrations with various infrastructure libraries and frameworks.   It is obviously an alternative to the standard virtualization approach in the market. One aspect to the project that is core to the ethos is that features take a back seat over quality. The tool was developed as part of the dotCloud PaaS project. The approach to lightweight portable applications that can run in-container means better options for scalability, portability, and lower overhead costs, at same time easing the process of maintenance between physical and cloud architectures. The approach is in some ways similar to Solaris Zones. However, in Docker the underlining approach is on linux containers. Rather than building applications to a system software, one then builds to a container. This container has no OS but is able to share the OS from its host. Such containers are faster and less resource intensive than standard virtual machines as far as one limits to a single host to provide the shared OS. The launch time is also improved from a matter of several minutes to fraction of a few seconds. The complexity of configurations is wrapped around an interface abstraction. They have become quite appropriate for mission-critical applications. Initially, supporting Linux distributions only, the project has ventured into cross platform support as well with use of hypervisor.

Docker Developer Tools:
Flynn
Deis
Dokku
Kubernetes
Panamax
Shipyard
Drone
Serf
Fig
CoreOS