GitHub

Kusion: Intent-Driven Platform Orchestrator

What is the project about?

Kusion is a platform orchestrator designed to be the core of an Internal Developer Platform (IDP). It enables app-centric development by allowing developers to define application specifications (AppConfiguration) without environment-specific details. Kusion handles the underlying infrastructure and resource dependencies.

What problem does it solve?

Kusion addresses challenges in both the initial setup (Day 0) and ongoing management (Day 1) of applications and infrastructure. It simplifies the interaction between application developers and platform engineers, reducing complexity and enabling self-service deployments. It bridges the gap between application needs and infrastructure provisioning.

What are the features of the project?

  • Intent-Driven: Focuses on desired application state, not low-level configuration.
  • AppConfiguration: A single specification for application workloads and resource dependencies.
  • Modular Design: Platform engineers create reusable modules for deployments.
  • Workspace Definitions: Define target landing zones for applications.
  • Self-Service Model: Enables developers to deploy applications without deep infrastructure knowledge.
  • Kusion Server (with Developer Portal): Offers a long-running service with a UI for managing application metadata, resource graphs, Projects, Stacks, Workspaces, and Runs. Provides RESTful APIs.
  • Kusion CLI: Command-line interface for interacting with Kusion.

What are the technologies used in the project?

  • Go: The primary programming language.
  • Kubernetes: Kusion interacts with Kubernetes for deployments.
  • Helm: Kusion is available as a Helm chart.
  • RESTful APIs: Kusion Server exposes RESTful APIs.

What are the benefits of the project?

  • Simplified Application Delivery: Streamlines the process of deploying and managing applications.
  • Increased Developer Productivity: Allows developers to focus on application logic, not infrastructure.
  • Improved Collaboration: Facilitates better communication and workflow between developers and platform engineers.
  • Standardized Infrastructure: Promotes consistency and best practices through reusable modules.
  • Reduced Complexity: Abstracts away the intricacies of underlying infrastructure tools.
  • Enhanced Visibility: Kusion Server provides a visual representation of application resources.

What are the use cases of the project?

  • Building Internal Developer Platforms (IDPs): Kusion serves as the orchestration engine for IDPs.
  • Managing Kubernetes Deployments: Simplifies application deployment to Kubernetes clusters.
  • Automating Infrastructure Provisioning: Automates the setup and configuration of infrastructure resources.
  • Enabling Self-Service Deployments: Empowers developers to deploy applications independently.
  • Standardizing Application Delivery: Creates a consistent and repeatable process for application deployments.
  • Configuration Management: Managing configurations at scale, as highlighted in the Ant Group case study.
kusion screenshot