Enterprises today are focused on modernising their IT operations, and one way to do that is with container technologies that make it easier to both build and deploy software. Gartner estimates that by 2022 more than 75 percent of organisations will have containerized applications in production. By 2023, the predicted market for container technology is $5.5 billion, rising to $8 billion by 2025.
IT modernisation, transformation and new application development initiatives with a cloud-native approach using microservices are great candidates for containerization. Shankar Kambhampaty, a DXC Technology Distinguished Architect and chief technology officer for a global insurance account, shares his thoughts on containers as use of the technology in the development community grows.
Q: DevOps and containerization are linked as a way to improve productivity and software time to market. How can developers take that to the next level?
A: A new method of workflow called GitOps is gaining popularity. Broadly speaking, it deals with continuous integration/continuous deployment (CI/CD) pipelines on top of declarative infrastructure. Developers check their code into a Git repository, and a properly configured CI/CD pipeline automatically builds the container images and publishes them to the container registry. The developer declares through code what the final deployment needs to be, and the container orchestration platform automatically handles deployment, networking, scaling and mirroring of containers. That speeds up the whole process and improves productivity.
Q: What other practices do developers need to embrace?
A: Containerization is part of the digital transformation plan for many enterprises, so it’s important to continually refine approaches to it. Developers will need to pay closer attention to such factors as:
- Application updates: As digital transformation efforts grow, organisations will need to reprioritise which applications should be containerized first. Those applications that are based on microservices and are cloud-native will enable better digital transformation and so should be given higher priority.
- Application portability: Gartner predicts that 50 percent of containerized workloads will span hybrid cloud environments. It’s imperative to enable application portability both for hybrid and multicloud environments to avoid vendor lock-in and remain agile.
- Infrastructure: In most digital transformation cases, containerization is a prelude to cloud migration. In the insurance industry, for example, client-facing apps are good candidates for containerization and migration to the public cloud because scalability and availability are critical for them. Container infrastructure such as Docker or Kubernetes is important to supporting the migration.
- Governance: Train all developers on new skills and processes that will be critical to support evolving containerization initiatives. Skills in DevOps, Docker, microservice design and Kubernetes are foundational, or projects will inevitably run into stability issues and delays.
- Security: With the growing use of container technologies in client-facing cloud solutions, security becomes even more important. Follow CIS Benchmarks (Kubernetes and Docker) and adopt container-specific tools and processes for image scanning and vulnerability management.
Q: What else should we know about the future of containerization?
A: Deployment of applications on lightweight containers with a container-optimised OS gives more processing power to the containers and so better utilisation. Vendors are beginning to come up with extremely lightweight Linux operating systems for container deployments. Such a container-optimised OS is designed for clustered deployments, providing automation, security and scalability for most critical applications. By removing unnecessary libraries and services, requirements for security patches and other maintenance are also reduced.
Another emerging use case for containers will be the increasing deployment of applications at the edge of the network. Containers are lightweight with a very low footprint, which makes them ideal for running on edge devices. A critical part of containerization at the edge will be to run stripped-down versions of Kubernetes — such as KubeEdge and K3s — to orchestrate and schedule resources.
As you can see, containers will play a valuable role in next-gen infrastructure. Developers have a lot to look forward to!