Is GitOps the next big thing in DevOps?
VOLANSYS (An ACL Digital Company)
Trusted Technology Partner for Product Engineering and Digital Transformation Services
10 years back, Puppet, an infrastructure and delivery automation company, published its first state of devops report. In all these years devops has completely transformed the way we design and deliver our systems. Advents like microservice architecture, Docker containers, Kubernetes, and practices like continuous integration and continuous delivery have made it possible to deliver secure, reliable, and stable software with high velocity.
However, devops has added its fair share to the complexities of managing infrastructure and applying changes to systems securely. Due to this reason, most of the companies got stuck in mid-level devops evolution. Having partial automation and not tying up the full cycle does not provide the efficiency that devops promises. The most common cause is having complex deployment cycles and detached configuration management. Git+Ops is the next holy grail that promises to reduce complexity, making deployment faster and giving power back to Developers and Operations.
Let’s know about some history of GitOps.
GIT and ever-changing OPS
Circa 2005, Linus Torvalds, creator of the world’s most widely used operating system Linux came up with a new version control system that was easy to use. It came to be known as GIT. Much to his surprise, a system he created for his own use quickly took over the world. As of January 2020 Github, the world’s most popular host of source code, reports having 40 million+ users and 190 million+ repositories (involving 28 million public repositories). Today, GIT is used not only for source code but for varied purposes like configuration files, keeping private files and blogs as well as keeping ebooks. Some of the features of GIT that makes it powerful are:
Fast Forward to 2013, the world of software saw Docker and The Rise of Containerization . A wide array of systems to automate the management of containers, virtual machines and infrastructure cropped up. All of them had one thing in common: They all were dependent on human-readable and declarative configuration files rather than script/code snippets. Configuration files are the way users will declare the desired state, automation systems will then work to achieve it. GIT became the de facto place to store all these configuration files. Ironically we call it, Configuration as code. Devops world realized that there can be a single source for declarative infrastructure and application with strong collaborative features of GIT. That is how GitOps was born.
What is GitOps?
GitOps is a set of practices that enables developers and ops to declare the desired state of the system in a versioned and auditable manner via Git, which is then picked up by cloud-native automation agents and applied to the system. It empowers developers and ops to use the same, battle-proven workflows to manage large and complex deployment as well as infrastructures that we have been using for years to manage source code.
It is quick, hassle-free, and liberating!
Benefits of GitOps
领英推荐
Prerequisites for applying GitOps
In order to manage systems using GitOps based workflows, the following prerequisites have to be in the system:
How does GitOps work?
GitOps change to process have practically 3 steps:
VOLANSYS have designed an elaborative GitOps based process to automate deployment to QA environments for one of our clients manufacturing home automation and security products. QA deployments are always multiple deployments in one. The client prepares release notes and pushes it in Github. This will trigger a Jenkins job and will scan through the required artifacts and their version. This further creates a map and based on the map it will update the versions in relevant helm charts, which are used for Kubernetes deployments.
We use Harness as our continuous deployment solution for the setup. Harness deployments to QA are configured to be triggered on GitHub webhooks. As we make the changes in Github repositories for helm charts, Harness will trigger the deployments, and Jenkins’ job will track those deployments and prepare a final report.
VOLANSYS designs continuous workflows having expertise in workflow automation, continuous integration and deployment pipeline , microservices architecture ?and dockerization keeping developers’ ease of work in mind. Our team of DevOps engineers ensure improving deployment frequency, yielding faster time-to-market, reducing failure rate of new releases, shortening lead time between fixes, and faster time to recovery for businesses using tools like Jenkins, Ansible, Terraform, Kubernetes, and more.
Originally published at https://volansys.com/