Skip to main content

Kratix Ep 1: Introduction to Kratix & The Platform-as-a-Product Paradigm

·435 words·3 mins
Rachmat Hidayat
Author
Rachmat Hidayat
Learn & sharing insights on TypeScript, Go, Kubernetes, DevOps, DevSecOps, SRE, Platform Engineering, AI/ML Engineering, and MLOps.
kratix - This article is part of a series.
Part 1: This Article
As Kubernetes adoption matures, platform engineering teams face a crucial challenge: how to provide application developers with self-service infrastructure without drowning them in YAML complexity or exposing sensitive cloud credentials.

In this first episode, we explore Kratix — an open-source framework developed by Syntasso designed to build composable, multi-cluster Internal Developer Platforms (IDPs) natively on Kubernetes.


🏛️ The Problem: Cognitive Load & Ticket-Driven Ops
#

Traditional platform management usually falls into one of two extremes:

  1. Ticket-Driven Operations: Developers open Jira tickets requesting S3 buckets, PostgreSQL databases, or Redis caches. Platform engineers manually run Terraform or Ansible. Result: High friction, slow lead time.
  2. Raw Kubernetes YAML Dumping: Platform teams give developers raw Helm charts, Crossplane CRDs, or complex Kustomize manifests. Result: High cognitive load, security misconfigurations, and developer frustration.

flowchart LR
    subgraph TicketDriven [Ticket-Driven Ops]
        Dev1["App Developer"] -->|Jira Ticket| PlatOps["Platform Engineer"]
        PlatOps -->|Manual Terraform| Infra["Cloud Infrastructure"]
    end

    subgraph RawYAML [YAML Dump]
        Dev2["App Developer"] -->|Fails to write 500 lines of CRD| K8s["Kubernetes Cluster"]
    end

💡 The Kratix Solution: Platform-as-a-Product
#

Kratix introduces a Platform-as-a-Product philosophy. Instead of exposing raw infrastructure controllers to developers, platform teams construct Promises.

A Promise is a clean, declarative API contract published by the platform team. It encapsulates:

  • The custom API (CRD) presented to developers (e.g., kind: PostgresDatabase).
  • The automated workflows required to provision and configure the underlying infrastructure.
  • The destination scheduling rules (where to deploy: EKS, GKE, or On-Prem).

flowchart TD
    subgraph PlatformTeam [Platform Engineering Team]
        P1["Define Promise API"]
        P2["Configure Workflows & Containers"]
        P3["Set Destination Scheduling Rules"]
    end

    subgraph KratixEngine [Kratix Framework]
        P1 & P2 & P3 --> Kratix["Kratix Platform Control Plane"]
    end

    subgraph AppTeam [Application Developers]
        Dev["Request Simple Resource: kind PostgresDatabase"] --> Kratix
    end

    Kratix -->|GitOps State Store| GitOps["ArgoCD / Flux"]
    GitOps -->|Deploy Manifests| Clusters["Target Kubernetes Clusters"]

⚔️ Kratix vs Other Platform Tools
#

DimensionKratixRaw Helm / KustomizeCrossplane AloneBackstage
Primary FocusIDP Framework & PromisesPackage ManagementInfrastructure Control PlaneDeveloper Portal UI
User InterfaceKubernetes CRD / APICLI / CD PipelinesKubernetes CRDWeb Portal / Catalog
Execution LogicArbitrary Container PipelinesHelm EngineGo ControllersSoftware Templates
Multi-Cluster SchedulingBuilt-in (Destinations)Manual CD pipelinesProvider-dependentN/A (UI layer)

Kratix complements tools like Backstage (which provides the Web UI catalog) and Crossplane / Terraform (which execute the raw infrastructure provisioning inside Kratix Pipelines).


🎯 Key Takeaways
#

  1. Kratix enables platform teams to build custom, composable Internal Developer Platforms on top of Kubernetes.
  2. Promises serve as clean contracts between platform builders and application consumers.
  3. In the next episode, we will dive deep into the Core Concepts of Kratix: Promises, Resources, Workflows, Pipelines, State Stores, and Destinations.
kratix - This article is part of a series.
Part 1: This Article