Containers are nothing new. They’ve been around for a long time. In fact, the concept first dates back to 1979 when chroot was first introduced in Unix V7. So what changed? Why now and why would your business want to consider using them for your IT? What are the consequences for your business? This blog aims to answer those questions.
When containers grew up
Although containers have existed in various formats for the last thirty years, the popularly of containers has grown exponentially since Docker emerged in 2013. As Docker has matured along with the growth of associated tools such as Kubernetes, containers are now a serious enterprise-level consideration for any business wanting to improve on portability, consistency, flexibility, scalability, and faster time to market. The benefits of using a container-based approach to IT are becoming increasingly well-known and documented, for example in Vladimir Baranek’s blog here.
The changing needs of the business
So why the need for the shift into containerization, and why now? Well, the IT world and business expectations have changed. I once explained to a new employee at Capgemini how, back in the “old days,” we had to order physical servers, wait three months, then “rack and stack” them, and that’s before we’ve even installed an operating system on them let alone an application that would actually provide any business value. They couldn’t believe what they were hearing. With the emergence of public cloud and software-as-a-service, IT is now expected to be instant and business expectations have changed as a result. Even virtual machines still require installation of the operating system, your application, and any associated patches, and you would then need to repeat for each server and then all over again if you then want to move to another cloud provider or on premises, where the available compute may vary dramatically.
This isn’t good enough – the business expects quick results and flexibility. They expect to be able to deploy the application anywhere, and they expect to be able to move it quickly if they so wish. They expect it to be lightweight and de-coupled from the underlying operating system and infrastructure. Change has to be rapid to keep up in the new digital world. Security and performance are also paramount – business processes need to be isolated and de-coupled. They need to be able to grow and shrink rapidly to meet demand. In the new multi-channel world, that demand is often un-predictable and consumers expect a fast response.
The IDC’s Enterprise Infrastructure Market Pulse 2Q19 survey, completed in April 2019, also revealed that the top drivers for interest in container technologies were new initiatives in big data, machine learning, and artificial intelligence, all of which demand massive scalability and flexibility.
How containerization can help
Another recent survey conducted by the IDC found that “improved security, enhanced operational efficiency, and reduction of management costs were the top drivers for the adoption of container infrastructure software products in their production environments.”
Containers and their associated ecosystem have now reached a maturity level that meets this demand, combined with the support now offered by all the major vendors and cloud providers, including Azure’s Kubernetes Service, and Amazon’s Elastic Kubernetes Service, and the rise of service mesh technology such as Istio. The emergence of the DevSecOps approach also means containers can be built securely and managed through registries such as Harbor. As containers can run on any server with a Docker runtime and managed through a container orchestrator such as Kubernetes, business applications are now de-coupled from the infrastructure and operating systems required to run them, allowing the flexibility and reduced time to market required by the modern digital business.
The consequences of containerization
Although the benefits of containerization are numerous, what are the consequences for your business and your IT department? Containerization requires a new skillset and way of thinking. You now need to install and run orchestrators such as Kubernetes, and the need to manage the underlying virtual or physical infrastructure for this still remains. In addition, you now need to create and manage consistent, standard, and secure container images, or layers of images upon images. Security is still a concern – it is easy to download and use insecure images from DockerHub and introduce new security risks to your business. You need to consider how you will design and orchestrate your container architecture, how you will expose them securely as services, and how you will manage persistent storage when containers are generally considered stateless, throw-away commodities.
How Capgemini can help
Capgemini offers consultancy to businesses looking to take the plunge into containerization, drawing upon a wealth of client experience. Capgemini also offers a new Managed Kubernetes Service, providing the Kubernetes experience without requiring infrastructure or operating system management or bring locked into one of the major cloud providers, thus providing even more flexibility as well as 24/7 support.