Community Blog Benefits of the Open Application Model for Cloud-Native

Benefits of the Open Application Model for Cloud-Native

This article discusses the capabilities and benefits of the Open Application Model (OAM).

By Raghav K.

Alibaba Cloud and Microsoft created the Open Application Model (OAM) collaboratively. This model follows the open standards for application development and operations using Kubernetes and other platforms. Alibaba Cloud introduced OAM as a standard solution for defining cloud-native applications.

OAM is a runtime that uses new application definitions with new and improved distribution and delivery models for application management. The Open Application Model is a specification that can be used to define application virtues and to make complex applications easily manageable.


Why OAM?

  • OAM suggests the application first approach. This allows you to build a complete platform around an application, raising the bar for performance and features.
  • Provides a consistent experience throughout the application lifecycle
  • Reusability to save time and extend the application codebase
  • No runtime lock-in saves you from dealing with the monolithic approach of tightly coupled applications
  • Open platform does not restrict you from integrating any capabilities
  • Developers are free to work with the architecture, without worrying about the underlying infrastructure configurations.

Separation – Definition

The Open Application Model (OAM) aims to help the developers describe the cloud-native applications they are working on using a light-weight YAML file to write the application definition. This will describe the application based on what the coding suggests rather than the infrastructure demands. OAM helps you separate the application description from the methodology of how the application is deployed and managed on the underlying infrastructure.

This separation is useful for platform management by introducing modules that can be reused without much fuss. Developers can seamlessly integrate the modules into the code as these modules were written for reusability. This enables developers to build simple applications quickly and easily and simplify complex application development procedures.

When we talk about Kubernetes, every cluster is different. The separation of application definition from the operational information provides clarity on the prime movers of their application. Developers only need to know the basic infrastructure scale they are developing the application for (standardization) and not the entirety of operations related to infrastructure.

Kubernetes tops the product list for effective containerization technology. Kubernetes has rapidly been adopted as an operating system to enable a scalable, elastic, and available container service with the cloud-native model. OAM introduced an application-centric method of managing applications after they have been deployed.

The Open Application Model (OAM) drives multiple concepts for application development. Different components make up an application, and these components need to be balanced by the application code that developers write. These components can be different resource links used to consecutively build a single application or a module that supports multiple microservices.

Traits of OAM

The cloud-native system has started to undergo another evolutionary cycle with the maturity of Kubernetes. Cloud-native has an application-centric vision that projects a cloud-native paradigm shift.

1.  Architecture Over Infrastructure

Developers do not have to define configuration scenarios related to Virtual Private Cloud (VPC) or configurations related to load balancing (SLB). Developers only have to focus on the type of application they want to develop and which architecture they wish to implement. Cloud-native microservices free developers from any infrastructural configurations.

2.  Application Configuration

The Open Application Model provides a standardized configuration model for application development. This enables the O&M personnel to effectively define and use application configurations to mix and match the preceding components that define the application. OAM suggests that the application description should be separated from the details of how the application is deployed. This separation of concerns will enable the developers to define and maintain the application components efficiently.

Furthermore, the O&M personnel can define different operations and maintenance traits to add them to different components, which ultimately defines the application configuration.

3.  OAM and Kubernetes

OAM should be able to access all the capabilities of Kubernetes as needed to enable the developers and O&M personnel to leverage the separation of concerns to build an effective system. OAM has a standard Kubernetes plugin that works as the core runtime for Kubernetes while keeping the application definition model in mind. This enables the Kubernetes clusters to manage and define any application based on the OAM model.

4.  Kubernetes Plugin

The OAM Kubernetes plugin provides seamless integration with Kubernetes API resources. You can declare a cluster as a workload without modifying any configuration. This helps users apply all Kubernetes-native API resources as workloads. The interaction between these workloads needs to be standardized to provide a managed Kubernetes workload environment.

  • Version Management

The Open Application Model records all of the changes made to the components. This allows you to roll back the release without any complex recovery procedures.

  • Component Dependencies and Policies

The OAM Kubernetes plugin allows you to manage the dependencies between the components required for deployment scenarios. You can set different policies based on your requirements for traits in a component.

In the End – What Matters?


Modern cloud-native ecosystems consist of an application management platform built on an Open Application Model (OAM). With the help of Kubernetes and cloud-native, it overcomes the shortcomings associated with closed environment connections like PaaS.

OAM and Kubernetes help comprise an application-centric platform that can seamlessly connect to the cloud-native ecosystem. OAM dissolves a lot of complexities and differences with the container infrastructure. OAM provides a standardized and consistent application management platform that refines the overall application delivery experience, allowing applications’ descriptions to be directly delivered and run in any environment.

The core workload and traits defining capabilities of the Open Application Model functions like building blocks for application delivery. OAM and Kubernetes are a platform that helps you work with the underlying capabilities of the development components.

Upcoming Articles

  1. Zero-Trust Security – Part 1: How Is Zero-Trust Security Helpful for the Cloud?
0 0 0
Share on

Alibaba Clouder

2,628 posts | 706 followers

You may also like