Jeket / spec

The Open Application Model (OAM) documentations.

Home Page:https://oam.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Open Application Model

Gitter License: MIT TODOs Follow on Twitter

The official documentation site for Open Application Model (OAM).

Open Application Model (OAM) is a runtime-agnostic model for defining cloud native applications. Focused on application rather than container or orchestrator, Open Application Model brings modular, extensible, and portable design for modeling application deployment with consistent higher level API. This is the key to enable simple yet robust application delivery workflow across hybrid environments including Kubernetes, cloud, or even IoT devices.

Introduction

"Developers think in terms of application architecture, not of infrastructure."

How it works

Why Open Application Model?

In today's hybrid deployment environments, managing applications without application context is hard:

  • Developers spend time on infrastructure details instead of apps - ingress, labels, DNS, etc, and learning how the infrastructure is implemented.
  • Inextensible - upper layer abstraction may be introduced, but it's almost certain that the needs of your app will outgrow the capabilities of that abstraction soon.
  • Runtime lock-in - app description is tightly coupled with the runtime infrastructure, which heavily impact on how you configure, develop and operate the app across hybrid environments.

In Open Application Model, we propose an app-centric approach instead:

  • Application first - define the app with a self-contained model, where operational behaviors as part of app definition, free of infrastructure here.
  • Clarity and extensibility - an open standard to modularize infrastructure capabilities into reusable pieces that adapts to your needs, not the other way around.
  • Runtime agnostic - a consistent experience to deploy and operate your apps across on-prem clusters, cloud providers or even edge devices.

In real world, Open Application Model is the theoretical model behind KubeVela project - a modern application deployment platform that intends to make delivering and managing applications across today's hybrid, multi-cloud environments easier and faster.

Learn the Model

The model itself is driven by KubeVela project and maintained as a set of versioned API documentations as shown below.

Previous Releases Latest Release Working Draft
OAM Release Versions v0.2.1 (KubeVela v0.3.x) v0.3.0 (KubeVela v1.x) v0.3.1 (KubeVela v1.x)

For OAM release v0.1.0, it is only supported in Rudr and now archived.

Community

Contributing

See the CONTRIBUTING guide for detailed information.

Meeting Hours

Item Value
Mailing List https://groups.google.com/forum/#!forum/oam-dev
Bi-weekly OAM Community Call (English) Zoom, Meeting Notes, Records (YouTube)
Bi-weekly APAC Friendly Meeting (Chinese) Zoom, Meeting Notes, Records (BiliBili)
IM Channel https://gitter.im/oam-dev/
Twitter @oam_dev

Copyrights

Both Open Application Model and KubeVela projects are hosted in Cloud Native Computing Foundation (CNCF), all copyrights belong to CNCF.

About

The Open Application Model (OAM) documentations.

https://oam.dev

License:Other