Introduction to Keptn
The Keptn project began as a way to assist enterprises in adopting cloud-native strategies for either cutting-edge microservice applications or long-standing monoliths. The Keptn ecosystem has been evolving since its inception, focusing on robust continuous delivery with automated testing, quality gates, and auto-remediation capabilities. It now has over 50 In this post, we will understand everything about Keptn, including why it was built and the various issues it solves.
Table of contents
- What is Keptn?
- Issues that Keptn solves
What is Keptn?
Keptn was founded in early 2019 with the goal of assisting enterprises in embracing cloud-native concepts by delivering a ready-to-use platform for continuous delivery. It included automated testing, quality gating, and operations automation through coordinating automation and remediation tools. The project's base was a well-established technique that Dynatrace had already successfully implemented in practice and offered as a full-week training to partners and clients.
However, developers felt compelled to take it a step further and give an out-of-the-box solution to assist others in quickly getting up and running with cloud-native concepts. This endeavor was open-sourced in January 2019 under the moniker Keptn. Keptn's first release used Jenkins and custom pipelines that were configured with smart defaults and featured a sample application that could be examined and experimented with.
Since the start of the project, this "battery-included" strategy has been a driving force. The project, however, swiftly evolved from an interactive demo to a ready-to-use Kubernetes infrastructure. External dependencies like Jenkins and Knative have been removed, and Keptn has evolved into a cloud-native control plane that automates the delivery and operational procedures by connecting to your target platform's DevOps tools of choice.
To summarize, Keptn basically looks after:
- Automated Tests
- Automated Deployments
- Pitometer's Automated Quality Gates - a Quality Gate as Code Service
- Integrated whole stack monitoring, such as Dynatrace, allows for automated operations.
Issues that Keptn solves
Following are the issues that Keptn solves:
Solves issues related to Enterprise-wide Continuous Delivery
The first issue addressed by Keptn is enterprise-wide automated continuous delivery. The majority of the teams the Keptn developers spoke with said they spend too much time and money establishing pipelines, custom tool interfaces, and managing their own data warehouses. Many teams across labs or regions have built their own CD pipelines in large businesses, and have spent a substantial amount of effort maintaining and nurturing this "soon to become monolithic legacy pipeline code"!. This was addressed by Keptn.
Keptn solves CD as well as CO related issues
Keptn orchestrates not just Continuous Deployment, but also Continuous or Automated Operations. Alois Reitbauer discusses the two main ideas of Keptn in his analogy. He compares it to NASA's Launch and Mission Control when launching a rocket:
Continuous Deployment == Launch Control
Until the launch timer reaches 00:00, NASA's Launch Control is in charge. They can terminate the expedition till then, depending on the info they have! With Continuous Deployment, the release team is in charge of successfully deploying an artifact (for example, a new container image). They can "abort" the deployment at any time using several methods, such as automatic quality gates or using blue/green or canary releases in production. They can, also, halt an artifact from being rolled out to the entire user base at any time. As a result, Keptn provides automated multi-stage unbreakable delivery pipelines, as well as automatic quality gates and production-safe deployments!
Automated Operations == Mission Control
Once the rocket lifts off, NASA's Mission Control takes charge. They can't cancel the trip, so they must deal with any issues that arise in order to ensure that astronauts can safely ascend and descend from space.
When using Automated Operations, the operations team is responsible for doing everything possible to minimize the impact on end customers in the event of a problem. This will be accomplished by, for example, scaling up to more resources when required, redirecting traffic for specific users, clearing log folders, and so on. It is necessary to automate as many of these procedures as possible in order to react quickly.
As a result, Keptn offers event-driven runbook automation to quickly correct errors discovered in production while minimizing the impact on end-users.
Keptn’s goal is to make a significant contribution to the CNCF (Cloud Native Computing Foundation), and in order to do so, they must first establish a robust community. So as a developer, you can help them out by providing feedback, joining the Keptn Slack channel, developing your own services, etc.