本文へスキップ

OAMとは?

おーえーえむ

クラウドネイティブなアプリケーションをコンポーネント単位で定義するためのオープンな仕様です。

OAM(Open Application Model)とは、Kubernetesなどのクラウド基盤上で動くアプリケーションを、開発者と運用者の役割を分離しながら宣言的に定義するためのオープンな仕様です。もともとMicrosoftとAlibaba Cloudが中心となって提唱し、クラウドネイティブ関連のオープンソースコミュニティの中で発展してきました。

OAMの特徴は、アプリケーションをコンポーネント特性(Trait)、そしてそれらをまとめるアプリケーション設定といった要素に分解して定義する点にあります。開発者はビジネスロジックを持つコンポーネントの実装に集中し、運用者はスケーリングやルーティング、監視といった運用上の特性を後から付与できるため、複雑な設定を直接書かずに済み、責任範囲を明確に分けられます。

代表的な実装としては、OAMの考え方を採用したオープンソースツールKubeVelaが知られており、マルチクラウドやマルチクラスタ環境でのアプリケーション配備を統一的な仕様で管理できます。

このようにOAMは、Kubernetesの複雑さを抽象化し、開発と運用の分業を進めるための設計モデルとして、クラウドネイティブ開発の分野で注目されています。

使い方・例文

Kubernetesのマニフェストの代わりにOAMの仕様に沿って記述することで、アプリケーション定義と運用ポリシーを分離して管理できる。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語