There are several benefits of moving to a container based architecture including faster code deployments and reduction in operational cost. Kubernetes has evolved as the de-facto orchestration tool for managing containers. First, we will list the key principles and then go into details on how to build a modern CI CD Kubernetes Docker deployment pipeline.
As we help our customers refactor monolith code into separate services, one big challenge that comes along with micro services is that each service needs to have it’s own build and release cycle. While it’s possible to manage them using traditional DevOps tools, our main aim here is to build a modern continuous integration and delivery (CI CD) pipeline for Kubernetes.
In this detailed multi-part blog series, we will walk through the process step by step and cover key principles that are required to build a modern CI CD for Kubernetes Docker deployment pipeline namely:
Modern CI CD Kubernetes Docker deployment pipeline:
-
Source Control Management and Branching
-
Kubernetes Clusters, Environments and Cloud Strategy
-
Configuration Management using Helm
-
Infrastructure Automation
-
Versioning: Code, Images & API
-
Code Quality and Analysis: SonarQube, Fortify, Veracode
-
Continuous Integration Pipelines: Jenkins, TravicCI, CircleCI etc
-
Containerization: Docker Images & Container Registry
-
Continuous Delivery Pipelines: BitBucket Pipelines
-
Code Release Strategy: Spinnaker
-
Automated Testing: SoapUI, Selenium
-
Kubernetes Ingress & Service Mesh
-
Logging: Elastic Search, Logstash, Kibana, Fluentd
-
Databases: Versioning and Release
-
Mobile Releases: iOS and Android
-
Monitoring: Dynatrace, Weave Cloud, Prometheus
-
Performance: JMeter, LoadRunner
-
Notifications and Alerts: Email, Slack, Hipchat
-
Security & Compliance
-
Backup and Disaster Recovery
In addition, most of the information in our blogs will be based on our personal experiences with large enterprises and startups. We have helped build end-to-end automated CI CD pipelines for complex projects at these workplaces for our customers and clients. We hope this information can be useful for our readers.
In conclusion, we at codeRISE hope this will provide good insight on how to setup a modern CI CD Kubernetes Docker deployment pipeline and we hope to get some valuable feedback in return. Stay tuned!
Kubernetes:
If you are new to Kubernetes, you can read more on Google Kubernetes:
Google Kubernetes Engine is a managed environment for deploying containerized applications. It brings our latest innovations in developer productivity, resource efficiency, automated operations, and open source flexibility to accelerate your time to market.
- Ship Early, Ship Often
- Reliable and Self-Healing
- Resource-Optimized Deployments
- Scale Effortlessly to Meet Demand
- Your Deployments, Your Way
2 Responses