TalksAWS re:Invent 2025 - kro: Simplifying Kubernetes Resource Orchestration (OPN308)

AWS re:Invent 2025 - kro: Simplifying Kubernetes Resource Orchestration (OPN308)

Simplifying Kubernetes Resource Orchestration with kro

Overview

The presentation discusses the challenges of deploying and managing complex applications with multiple components in a cloud environment, and introduces kro, an open-source project developed by AWS to simplify Kubernetes resource orchestration.

Challenges with Traditional Deployment Approaches

  • Deploying applications with multiple components (e.g., microservices, database, caching) can be a time-consuming and error-prone process, often requiring the coordination of multiple teams and pipelines.
  • Pipelines are not composable, self-healing, or able to maintain the state of the entire system, leading to issues like resources being unexpectedly deleted or the state being difficult to track.
  • Relying on infrastructure-as-code tools like Terraform can also be problematic, as they may not provide a centralized view of the entire system.

Introducing kro

  • kro is an open-source project developed by AWS and recently joined by Google and Microsoft, aimed at simplifying Kubernetes resource orchestration.
  • kro provides a human-friendly way to define custom APIs using a simple schema, allowing different teams to collaborate and create composable resource definitions.
  • kro incorporates a powerful expression language for defining logical operations and dependencies between resources, automatically constructing a directed acyclic graph to manage the provisioning order.
  • The kro controller uses the standard Kubernetes reconciliation pattern to observe and ensure the desired state of the system, providing self-healing capabilities.

Key Features of kro

  1. Simple Schema Definition: kro uses a simple schema definition that is more human-friendly than traditional OpenAPI specifications, making it easier for teams to collaborate on defining custom APIs.
  2. Powerful Expression Language: kro's expression language, similar to the one used in Kubernetes webhooks, allows for advanced logic and value passing between resources.
  3. Automated Resource Orchestration: kro automatically constructs a directed acyclic graph to manage the provisioning order of resources, ensuring that dependencies are properly handled.
  4. Self-Healing Reconciliation: The kro controller uses the standard Kubernetes reconciliation pattern to observe and ensure the desired state of the system, providing self-healing capabilities.

Business Impact and Use Cases

  • kro simplifies the deployment and management of complex, multi-component applications in Kubernetes environments, reducing the time and effort required.
  • By providing a centralized, composable way to define and manage cloud resources, kro can help organizations improve efficiency, reduce errors, and maintain compliance.
  • The project's adoption by the major cloud providers (AWS, Google, Microsoft) suggests a strong industry-wide interest in addressing the challenges of Kubernetes resource orchestration.
  • Example use cases include deploying a voting application with microservices, a database, and a caching layer, where kro can simplify the process and provide self-healing capabilities.

Conclusion and Next Steps

  • kro represents a significant advancement in Kubernetes resource orchestration, addressing many of the pain points associated with traditional deployment approaches.
  • Developers and platform teams are encouraged to explore the kro project, contribute to its development, and leverage its capabilities to streamline their Kubernetes-based application deployments.
  • Additional resources, including the kro website and AWS skill builder courses, are provided to help users get started with the project.

Your Digital Journey deserves a great story.

Build one with us.

Cookies Icon

These cookies are used to collect information about how you interact with this website and allow us to remember you. We use this information to improve and customize your browsing experience, as well as for analytics.

If you decline, your information won’t be tracked when you visit this website. A single cookie will be used in your browser to remember your preference.