Colin Humphreys talk at PlatformCon about The Platform as a Product Framework
GitHub syntasso/kratix
Platform Orchestrator
Integration & Delivery Plane
Kratix is an open-source framework for building internal platforms.
What is Kratix?
Kratix is an open-source framework that enables platform engineers to build flexible and curated internal platforms. It provides a clear contract between application and platform teams through the definition and creation of paved path abstractions defined as “Promises”. Using the GitOps workflow and Kubernetes-native constructs, Kratix empowers platform teams to offer the self-service capabilities that developers need whilst also keeping the platform up-to-date, secure and relevant.
Profile
Platform engineers can reduce complexity and increase developer productivity by providing the right abstraction levels, defined as “Promises”. A promise can encode any capability such as CI as-a-service, data services, or a full development environment, and can be offered on demand, at scale, across an organization.
Promises incorporate bespoke business logic such as security scanning, compliance checks, billing details etc. which platform teams can tailor to meet requirements and provide paved paths to developers using the platform. Promises can be built and shared across teams to drive best practices across the business and reduce technical sprawl and platform bloat.
Focus
Kratix focuses on the platform engineer experience of building better platforms, unlike other frameworks and platforms which focus exclusively on application-developer experience. By using Kubernetes as the building block, Kratix encompasses the power and flexibility of raw Kubernetes and enables platform teams to curate an API-driven, bespoke platform that meets specific organizational needs and can evolve as those needs change.
Kratix provides platform engineers the ability to offer abstraction levels that meet application teams needs. Where one team might require low-level configuration options to be modifiable, another team might only wish to go with a high-level set of standard defaults. Promises encapsulate both use cases and can be offered to the right teams using standard Kubernetes access controls.
Background
Kubernetes is a platform for building platforms and has become the ubiquitous infrastructure abstraction layer. Whilst there has been an increase in managed Kubernetes distributions and “off-the-shelf” developer platforms, Kratix has been developed to make it easier for platform engineers to build their own curated platforms on top of Kubernetes.
Kratix runs on existing Kubernetes infrastructure and by incorporating Promises at the right abstraction level, platform engineers can offer a thinnest viable platform that meets application teams needs on-demand and at scale.
Kratix main features
Clearly defined abstractions
Enables platform engineers to offer the right abstraction level to meet application team requirements, reducing cognitive load and increasing developer productivity.
Self-service APIs
Makes capabilities available on-demand through clear APIs, reducing friction and bottlenecks across team boundaries.
Codified business logic
Defines policies and business requirements within Promises, ensuring that all Platform stakeholder needs (security, audit, compliance etc) are met without complicating the workflow of application teams.
Multicluster deployment
Creates “workloads” which can be intelligently deployed across a fleet of Kubernetes clusters, running on any infrastructure
GitOps Workflow
Includes the GitOps workflow making it easy for platform engineers to evolve the platform as well as keeping it up-to-date and secure.
Colin Humphreys talk at PlatformCon about The Platform as a Product Framework
GitHub syntasso/kratix