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