Cloud Native CI/CD and GitOps Pattern on OpenShift
Last week, on Thursday 16 February 2023, I had the honor to take part in the DevOps Indonesia Offline community meetup. The DevOps Indonesia Offline Meetup event was organized by Narada Code in collaboration with Red Hat and MII to present the latest solutions from Red Hat. Usually, the DevOps Indonesia Offline event is held every month by presenting new sources and also inviting experts from each principal solution, so the community will be fresher because they will get new and up-to-date information.
This posting can be read in Bahasa Indonesia here.
This meet up was held at the CGV cinema, the FX Senayan building and was attended by more than 100 participants. Most of the participants who attended came from professional or working backgrounds. The theme that I brought to the meeting was regarding developments in the world of CI/CD and also in managing Kubernetes infrastructure. With Kubernetes, the CI/CD team and Kubernetes infrastructure will find it easier to maintain and run the Kubernetes system so as to achieve a stateless concept from a CI/CD perspective and also the concept of Infrastructure as a Code. When talking about CI/CD, sometimes people quickly associate the word with CI/CD pipeline tools that are already used in many industries, namely Jenkins. Even though it is very important to know the meaning of CI/CD beforehand rather than directly using the tools pipeline as a knowledge base. CI is a development practice in which developers frequently integrate code into a shared repository, preferably several times a day. Each integration can then be verified by automated builds and automated tests. Meanwhile, CD can mean two things, namely Continues Delivery or Continues Development. Continuous delivery (CD) is an extension of continuous integration since it automatically deploys all code changes to a testing and manually to production environment after the build stage. Meanwhile, Continuous deployment (CD) is a strategy for software releases wherein any code that has been committed which passes the automated testing phase is automatically released into the production environment, making changes that are visible to the software's users. As we know, Jenkis tools are a monolithic process in the form of VM instances or baremetal installed by Linux and then supported binaries for Jenkis, using this architecture the pipeline infrastructure will become less scalable and difficult to implement natively in the cloud. CD.foundation has finally released a project called Tekton where the definition of a CI/CD pipeline has been fully integrated into Kubernetes using CRD, so there is no need to prepare VM instance resources because Kubernetes will allocate resources via Pods / Containers for each service pipeline automatically.
Recommended by LinkedIn
GitOps is a set of practices that leverages Git workflows to manage infrastructure and application configurations. By using Git repositories as the source of truth, it allows the DevOps team to store the entire state of the cluster configuration in Git so that the trail of changes are visible and auditable.
My message and impression in participating in this event is that I am very happy and proud to be able to learn and share the knowledge I have with the community. Even though the time given for the presentation was quite fast, namely 30 minutes, I felt that all the material that I brought was delivered smoothly and well. It was also evident from the enthusiasm of the participants that there were many questions related to cloud native CI/CD and also the GitOps concept using OpenShift.
The presentation document that I presented at the DevOps meetup can be downloaded here. See you next time.