Cloud Native 14 min read

How KubeVela Implements the Open Application Model for Cloud‑Native Platform Engineering

An overview of the CNCF’s platform engineering whitepaper highlights how KubeVela adopts the Open Application Model (OAM) to bridge developers and infrastructure, detailing components, traits, CUE templating, workflow, and management features, with practical examples and future directions in cloud‑native application delivery.

Alibaba Cloud Native
Alibaba Cloud Native
Alibaba Cloud Native
How KubeVela Implements the Open Application Model for Cloud‑Native Platform Engineering

Background

Since 2019 Kubernetes has become the de‑facto standard for deploying and managing infrastructure. Platform engineers build higher‑level platforms on top of Kubernetes, using containerisation and declarative APIs to reduce operational complexity. When thousands of workloads exist in a cluster, operators need a way to understand logical relationships and manage resources in a business‑aligned manner. Helm and Kustomize are effective for packaging Kubernetes resources, with Helm Charts being the most popular artifact format.

Open Application Model (OAM)

OAM, introduced by Microsoft and Alibaba Cloud, provides a vendor‑agnostic model for cloud‑native applications. It defines components (runnable parts of an app) and traits (additional capabilities) to bridge developers and infrastructure.

In Kubernetes a component can correspond to a Deployment, StatefulSet, Pod, VM, or other workload. Traits such as Service, Ingress, or ConfigMap augment components without changing their core purpose.

Component example

apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
  name: webserver-demo
spec:
  components:
    - name: hello-world
      type: webserver
      properties:
        image: crccheck/hello-world
        port: 8000
        env:
        - name: "foo"
          value: "bar"
        cpu: "100m"

Trait example

apiVersion: core.oam.dev/v1beta1
kind: Application
metadata:
  name: my-example-app
spec:
  components:
    - name: publicweb
      type: web-ui
      properties:
        image: example/web-ui:v1.0.2@sha256:verytrustworthyhash
        param_1: "enabled"
      traits:
        - type: ingress
          properties:
            path: /
            port: 8080
    - name: backend
      type: company/test-backend
      properties:
        debug: "true"
      traits:
        - type: scaler
          properties:
            replicas: 4

Abstraction with CUE in KubeVela

KubeVela uses CUE schemas to define ComponentDefinition and TraitDefinition. This allows platform builders to customise rendering logic and add runtime‑aware extensions, making the same OAM model portable across Kubernetes versions and clusters.

KubeVela uses CUE for templating Component and Trait
KubeVela uses CUE for templating Component and Trait

Delivery and Workflow

In KubeVela an OAM Application is the unit of delivery. The dependsOn field expresses relationships between components, influencing delivery order. KubeVela adds a programmable Workflow layer: WorkflowStepDefinition objects (written in CUE) define atomic steps such as approvals, notifications, or multi‑cluster diff‑delivery. KubeVela can be integrated with CI/CD tools like Tekton, Argo Workflow, Jenkins, or GitHub Actions.

KubeVela provides a consistent, programmable, declarative workflow to orchestrate app delivery
KubeVela provides a consistent, programmable, declarative workflow to orchestrate app delivery

Management Features

KubeVela leverages the declarative nature of OAM to keep the live state aligned with the desired state, providing versioning, RBAC, resource sharing, and garbage collection. These capabilities are not yet part of the OAM specification but are expected to be incorporated in future revisions.

The project is a CNCF incubating project. Source code is available at https://github.com/kubevela/kubevela.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Cloud Nativeplatform engineeringKubernetesKubeVelaOAMCUE
Alibaba Cloud Native
Written by

Alibaba Cloud Native

We publish cloud-native tech news, curate in-depth content, host regular events and live streams, and share Alibaba product and user case studies. Join us to explore and share the cloud-native insights you need.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.