
Announcing the Open Application Model (OAM) - gabrtv
https://cloudblogs.microsoft.com/opensource/2019/10/16/announcing-open-application-model/
======
gmaster1440
Looking at the examples[1] it appears to be custom kubernetes resource
definitions on top of existing types like ConfigMap and Deployment. Am I
missing some clarifying details?

[1] [https://openappmodel.io/](https://openappmodel.io/)

~~~
vturecek
Yup, that's how the Open Application Model is implemented for Kubernetes. The
OAM spec format closely resembles the spec format for Kubernetes resources so
if you use Kubernetes it should already feel familiar. But it can be
implemented by any platform.

The idea is to define a standard model for describing distributed
applications, so as you go from one platform to another, you get a consistent
way of doing things. The actual features that are exposed through the model
can be different on each platform that implements it (e.g., platform A has a
basic autoscaler, platform B has an advanced autoscaler, etc), but the way you
describe and operate the application is consistent.

disclaimer: I'm one of the spec authors

~~~
gmaster1440
Got it, and thanks for the reply!

My original thinking was that Kubernetes has similar goals of providing
platform-agnostic configuration for deploying applications, services,
ingresses, and configuration. I now understand OAM as something a step above
that can run on Kubernetes (via Rudr) but also on other platforms, perhaps
like Swarm and Mesos?

~~~
vturecek
Yeah your understanding is spot on, glad that was helpful!

I can imagine platforms choosing to adopt the Kubernetes API for container
infrastructure, but it is still the Kubernetes API and it seems like keeping
up with changes would be difficult. And there isn't really much in the way of
first-class application modeling there, so that's how we ended up with a
separate spec specifically for that, with the explicit goal of not being tied
to any one implementation.

Something like Swarm or Mesos could implement it, but we're also considering
things like cloud PaaS, internal on-prem platforms, and even down to small
device runtimes.

~~~
gmaster1440
Very cool project, best of luck.

