Maturing DevOps on Kubernetes

Publish date:

Seventy-five percent of global organizations will be running containerized applications in production by 2022. Kubernetes is shaping the future of app development and management.

Kubernetes is an open-source container-orchestration system for automating computer application deployment, scaling, and management.

Kubernetes comes with a way to schedule and deploy containers and scale per requirement to the desired state and to manage the lifecycle. Kubernetes can be used for implementation of container-based applications in a portable, scalable, extensible way.

Problem statement

Keeping containerized apps up and running can be complex because they often involve many containers deployed across different machines. It can be challenging to create a reliable CI/CD process for a microservices architecture. Individual teams must be able to release services quickly and reliably, without disrupting other teams or impacting the application as a whole. This article describes the CI/CD pipeline for deploying microservices to the Kubernetes Service.

Make workloads portable, scalable

Kubernetes containers become portable because container apps are separate from their infrastructure. You can move the containers from local machines to production, be it on-premises, hybrid, or multiple cloud environments, while maintaining uniformity across environments. Complex containerized applications can be deployed across a cluster of servers or even multiple clusters with Kubernetes. As Kubernetes scales applications according to your desired state, it automatically monitors and maintains container health.

The open-source community of developers and companies actively builds extensions and plugins, which add capabilities such as security, monitoring, or management to Kubernetes.

Adding end-to-end development, operations, and security control allows you to deploy updates faster – without compromising security or reliability:

  • It eliminates routine tasks such as provisioning, patching, or upgrading be it on infrastructure automation or serverless Kubernetes.
  • Tools for containerized app development and continuous integration and continuous deployment (CI/CD) workflows
  • Services to manage security, governance, identity, and access.

Faster code deployment with CI/CD

A consistent application packaging format in container eases collaboration between development and operations teams. Setting up a CI/CD pipeline on top of Kubernetes will speed up your release lifecycle — enabling you to release frequently and quickly. Kubernetes has many features that make it ideal for CI/CD. Instead of spinning up entirely new servers, your build process is quick, lightweight, and straightforward.

Figure # 1 – DevOps workflow and branching model

Kubernetes – Simplification of CI/CD


In a CI/CD workflow, ideally, you run many tests. If those tests fail, your image will never be built, and you’ll never deploy that container. However, if testing fails to uncover issues, Kubernetes offers better protection because Kubernetes simplifies zero-downtime deployment.

Figure # 2 – Monolith vs Microservice release

Manage resource – Infrastructure as code

Compute resources across teams become consistent and visible once you start using infrastructure as code.
Infrastructure as code practice works with the declarative nature of Kubernetes applications. It allows you to define apps, resources, and configurations in a reliable, trackable, and repeatable way.

Summary

This blog provides an overview of CI/CD on Kubernetes that we implemented for many of our customers through the Capgemini Digital Cloud Platform offering. At Capgemini Cloud Services, we have lot of experience, use cases, and best practices in implementing Kubernetes (KOPS, AKS, EKS) designing and building applications and systems for our enterprise customers. If you want more information about our experiences with this, you can contact me on LinkedIn.

Author


Sumit Patra
Senior Project Manager at Capgemini

Related Posts

cloud services

Why it’s the time to prioritize Cloud Cost Management

Neelam Gupta
Date icon October 13, 2021

The important part is to take time to review your cloud spend and evaluate where your money...

cloud

Five mistakes enterprises make in cloud transformation

Rens Huizenga
Date icon September 30, 2021

Five common mistakes companies make in launching cloud initiatives.

cloud

Do data centers and sustainability have to be at odds?

Thomas De Vita
Date icon August 18, 2021

Data centers are an organization’s second-largest consumer of energy, so they are an...