In essence Platform Engineering defines a headline concept for the implementation of Cloud Native practices.
“Platform engineering is the discipline of designing and building toolchains and workflows that enable self-service capabilities for software engineering organizations in the cloud-native era.”
Therefore insights and practices from the Cloud Native domain can form the foundations for the implementation of Platform Engineering, notably key resources such as maturity models:
- The GitOps Maturity Model, from Weaveworks. They note “Research into delivery velocity has shown that speeding up software delivery is closely correlated with business success. GitOps is an approach for building incredibly robust and repeatable continuous delivery pipelines.”
- Which in turn, can be thought of as a component part of a larger Cloud Native Maturity Model, defined by the CNCF. This expands the scope beyond just technology, addressing five levels covering people, process, policy and technology.
CodeFresh provides this helpful guide to explain the relationship between GitOps and DevOps:
“GitOps enhances DevOps by incorporating Git throughout the software delivery process, making it easier to orchestrate projects and keep them in sync. The end goal is to achieve smoother, faster, and more reliable software development and delivery.
GitOps pipelines use Kubernetes concepts, so they are easy to adopt by teams who already work with Kubernetes. They build on traditional DevOps practices, so changes to existing workflows are minimal for teams that have invested time in automating their software delivery.”
GitOps Maturity Model
In the feature video Tiffany Wang and Paul Fremantle look at how organizations have evolved deeper use of GitOps, and based on experiences working with leading edge organizations who are implementing GitOps delivery pipelines, have built a simple but effective maturity model.
While every organization is different, a number of common patterns have emerged. The GitOps Maturity Model shows a simple four step process that organizations commonly transition through as they move from using GitOps to manage single clusters and applications to managing large scale deployments of hundreds or even thousands of clusters.
This session will be valuable to anyone who is either adopting GitOps already or is looking to adopt it.
They talk about the business benefits of adopting different maturity levels and what is involved in moving from one stage to the next. Not all organizations take the same path, but whether or not you follow the same journey, it is useful to understand the common progression and the benefits of increasing GitOps maturity.