In addition to the basic decision on the use of a special hosting product for maximum IT efficiency, safety and cost saving issue in the daily operations mainly to smooth operations and fast response times. And the more productive these processes are, the more you can get out of the scalable IaaS products.
In order to optimize the interface between development and the productive delivery of web projects and applications, the concept DevOps (the combination of “development” and “operations”) has evolved over time. Its goal is to bridge the daily trench warfare between agile development and continuous IT operations, and to find a better working relationship.
The implementation of DevOps succeeds with a set of technological tools and administrative principles, with the help of which processes are increasingly automated and daily organizational processes are optimized across departments.
These include, for example, the management of server configurations, deployments, version controls, monitoring, performance measurements or product tests. By harmonizing coordination between teams, these DevOps methods allow, among other things, faster product launches or updates, more robust applications with less downtime and continuous delivery.
Container virtualization with Docker
A further development of the DevOps idea for virtualized kernel resources in Linux containers (LXC) instead of virtual machines is the well-known open source software Docker . Docker is a Linux-based, open-source container technology that makes it possible to pack any application into slim, portable containers. These containers already have all the resources the application needs – from the operating system, servers and network services to the required code libraries. The trick: A Docker container can be transported as a simple file and installed on any Linux computer.
Compared to virtual machines, container virtualization and its management using Docker are convincing due to lower resource consumption and higher container execution speed. In (hybrid) cloud environments, Docker containers, with their standardized interface, also facilitate migration between vendors and clouds and porting between systems. Thanks to Docker and its rapidly growing ecosystem, container-based virtualization has returned to strong focus.
Although Docker was developed for Linux and specifically for the CoreOS distribution, the emerging technology already enjoys widespread industry support, including from Microsoft, VMware, Red Hat, Amazon, Google, IBM, and Odin. In addition, Docker can be expanded as required, for example with the Red Hat container management software Atomic or the DevOps solutions Jenkins, Vagrant and Puppet.
To use Docker, the deployed cloud platform must support Docker natively, such as Jelastic or Microsoft Azure. With the support of Kubernetes, an open-source framework for the management of Docker container clusters, initiated by Google, Docker should soon be able to be used in all cloud environments. It is also planned to integrate Kubernetes and OpenStack.
Administrators who do not want to limit themselves to Linux will find in Vagrant an open-source tool that makes it easier to work with virtual machines. With Vagrant, virtual machines can be created automatically based on a script file. Since the machine can be reproduced in this way virtually at the push of a button, it is generally sufficient to deploy and version the script file.