Open Application Model [OAM] describes a runtime-agnostic model to build application centric platforms where developers focus on applications and defining deployable components.
While application operators (or the platform itself) are responsible for instantiating application components and assigning them operational capabilities.
And infrastructure operators are responsible for declaring, customizing, and maintaining the underlying capabilities that are available on the platform.
OAM is runtime-agnostic. Read the Intro doc for more background and user stories.
apiVersion: core.oam.dev/v1alpha2 kind: Component metadata: name: web spec: workload: apiVersion: core.oam.dev/v1alpha2 kind: ContainerizedWorkload spec: containers: - image: oamdev/helloworld-python:v1 ports: - protocol: TCP containerPort: 9999 name: http --- apiVersion: core.oam.dev/v1alpha2 kind: Component metadata: name: function spec: workload: apiVersion: faas.example.com/v1 kind: Function spec: runtime: java8 blobCodeUrl: http://xxx/f36286e6-f070-498f-a520-6dd3a589bd90
apiVersion: core.oam.dev/v1alpha2 kind: ApplicationConfiguration metadata: name: myapp spec: components: - componentName: web traits: - name: autoscaler spec: min: 1 max: 100 - name: rollout spec: canary: maxSurge: 25% maxUnavailable: 0 steps: - setWeight: 10 - componentName: function traits: - name: autoscaler spec: min: 0 max: 1000 triggers: - type: metaq
4 Paradigm use OAM to build cloud native PaaS to serve its AI customers.4 Paradigm
Crossplane: Crossplane offers the open source Kubernetes implementation of OAM that enables you to provision OAM applications and the cloud infrastructure they need directly from Kubernetes.Crossplane
Alibaba Cloud Enterprise Distributed Application Service (EDAS) is a Kubernetes native application platform built by OAM.AlibabaCloud EDAS