Kubernetes undoubtedly became the default development and production environment for most of the companies. Although It brings ease to deployment processes, when it comes to working in multiple Microservices environments, with multiple teams and managing Kubernetes resources through multiple isolated environments, things can become a bit challenging.
In such an environment, what we would like to achieve is:
- being able to manage different versions of Kubernetes resources through T.A.P. (Test/Acceptance/Production) environments individually
- test our kubernetes resource changes at the Test environment
- deploy new application versions, test and deploy to production, without waiting or stopping other development teams.
In this session, we will share a case study, during a Cloud/Kubernetes migration, as Cloutive, we have designed and configured a CI/CD setup, which supports 3 development teams, 15+ microservices running on 3 isolated (T.A.P) environments.
At the end of the project, we have managed to reduce deployment life cycles from once a week to 10+ per day cycles.
Although we will focus more on design of the CI/CD setup, we’ll also slightly touch “Gitlab Pipelines” and “Kustomize Project” configuration details.