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.
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.
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.
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.
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.
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.
Aliware - October 9, 2021
Alibaba Clouder - November 24, 2020
Alibaba Developer - February 9, 2021
Alibaba Container Service - February 16, 2021
Alibaba Developer - October 13, 2020
Alibaba Cloud New Products - June 11, 2020
Respond to sudden traffic spikes and minimize response time with Server Load BalancerLearn More
Accelerate software development and delivery by integrating DevOps with the cloudLearn More
High-performance virtual machines with data transfer plan, starting from $2.50 per monthLearn More
A secure image hosting platform providing containerized image lifecycle managementLearn More
More Posts by Alibaba Clouder