Brush off the hype, and it soon becomes apparent that containers solve an age-old IT problem: software portability. Containers do exactly what they say on the tin. They make it easy to move software from one environment to another, which is why they have so rapidly made their mark.
The arduous task of moving operating systems alongside applications becomes redundant with containers. These lightweight, independent executable packages of software neatly bundle everything that is needed to run an application, from code to settings. In addition, they save time and energy, because a single package can be re-used.
Container frameworks, such as Docker, offer a standardized way of packaging applications to run across the entire software development life cycle. This is one of the key reasons analyst firm Gartner forecasts that by 2020 more than 50 per cent of global organizations will be running containerized applications in production, up from less than 20 per cent in 2017.
Look before you leap
IT teams are under pressure to accelerate the delivery of applications, but containers are not a silver bullet. The container ecosystem is still relatively immature and businesses must be prepared for an extra layer of complexity and cost in deploying containers in production.
Running containers in production requires a steep learning curve due to the technology’s immaturity and lack of operation know-how, according to Arun Chandrasekaran, research vice president at Gartner. “Infrastructure and operations teams will need to ensure the security and isolation of containers in production environments while simultaneously mitigating operational concerns around availability, performance and integrity of container environments,” he says.
Where do VMs fit in?
Containers undoubtedly have advantages over virtual machines (VM). They use less resources, for example, which means you can fit more applications on a single server. But there are cases where VMs may be a viable alternative, such as security. VM management platforms normally have security built in, whereas containers are open to more risk than a VM. Of course, there are ways of securing containers, but they are not secured by default.
The economy of containers at scale can make substantial financial savings, but breaking down deployments into several containers requires more management. It is for reasons like this that enterprises are likely to run containers and VMs side-by-side.
The story doesn’t stop there. Enterprising organizations are already looking at how they can have the best of both worlds through integrating VMs and containers. By packaging a container within a VM, for example, administrators can forget security concerns ignited by multiple containers sharing the operating system kernel. Vendors are taking note. VMware, for example, has just updated its vSphere Integrated Container Platform to make it much easier to deploy and manage software containers from within virtual machines.
Microservices appeal to DevOps
The thinking behind so called “microservices” is that applications are easier to create, maintain and scale if they are built from a string of modular components. This approach is becoming increasingly appealing to DevOps teams who can work with an application throughout its entire lifecycle, rapidly spinning up releases and making tweaks as required.
Containers and microservices make perfect partners. Containers make it possible, for example, for individual applications to be scaled out independently without affecting other services. To do this in VM, the whole system would have to be scaled. In addition, containers are smaller, making deployment faster.
There is also a huge bonus to be had in portability. Dockerized microservices, for example, can be run in containers that can be deployed to any server with Docker already installed. Running the same on services on new VMs would necessitate the software is loaded first.
The next big thing: container orchestration
Container orchestration is the next big innovation in the area. It addresses the question of how to deploy and manage multiple containers efficiently. Solutions such as Docker Swarm, Kubernetes, Apache Mesos and others are lining up, vying for attention. Solutions and approaches vary, and the best ecosystem for enterprises will depend on their specific business objectives.
With agility, flexibility and automation all essential ingredients to a successful digital enterprise moving forward, containers will undoubtedly have an enormous impact on the future of IT infrastructures. The lower costs, speed and portability container technology brings will be crucial in supporting both DevOps strategies and business goals.
Mikhail is a Senior Cloud Solutions Architect at Orange Business Services (Philadelphia). He is one of the first 100 EMC certified ITaaS Cloud Experts worldwide and an expert in IT infrastructure solutions. Mikhail has worked in management teams with Fortune 500 corporations on global multimillion-dollar projects to design and implement IT service portfolio aligned with business goals. He has been a key contributor to the development of the SNIA ILM Maturity Model (http://www.snia.org) and published papers in the EMC Knowledge Sharing program (the best article on cloud computing in 2016 and the first place in 2017, https://community.emc.com/docs/DOC-57848). Mikhail holds an M.Sc. degree in IT Management and Ph.D. in Computational Chemistry. Before moving to the computational industry, he published two books on Computational Chemistry and more than a hundred research papers in scientific peer-reviewed journals (citation h-index=37; i10-index=60, http://scholar.google.com, spelling: M.N. Glukhovtsev). Mikhail likes travel, jogging, medieval history, urban architecture, and history of economics.