検索
特集/連載

MicrosoftとAlibaba Cloudが立ち上げた「Open Application Model」とはアプリとインフラを分離

MicrosoftとAlibaba Cloudが提携し、「Open Application Model」(OAM)を立ち上げた。OAMとは何か。OAMによって何が実現するのか。

Share
Tweet
LINE
Hatena

 2019年10月、MicrosoftとAlibaba Cloudが提携して「Open Application Model」(OAM)を立ち上げた。

 Microsoftでプリンシパルプログラムマネジャーを務めるバーツラフ・トゥレチェク氏は本誌のインタビューに答え、OAMは現在v1Alpha2に到達していると話した。

 OAM仕様が目指すのは、特定のプラットフォームに一切依存しないアプリケーションを宣言によってモデル化する標準方法の提供と、OAM仕様を実装する各プラットフォームが独自の特性や機能を発揮できるようにすることだ。

 MicrosoftとAlibaba Cloudは、OAM仕様を実装するためにUpboundが運営する「Crossplane」プロジェクトにも参加する。

 Crossplaneは、Kubernetes APIを使ってクラウドインフラ、サービス、アプリケーションのプロビジョニングと管理を可能にするオープンソースプロジェクトだ。Crossplaneのガバナンス委員会は、このプロジェクトの成長を促し続けるためにこのプロジェクトをCNCF(Cloud Native Computing Foundation)に寄贈するプロセスを開始している。

 トゥレチェク氏によると、OAMの根本を成すのは拡張可能なモデルを提供することだという。このモデルにより、機能を最小公倍数のセットに縮小することなくどのプラットフォームでも一貫してアプリケーションをモデル化できるようになる。

OAMの核となる3つの要素

 OAMアプリケーションは、「コンポーネント」「特性」「スコープ」という3つの基本要素で構成される。

  • コンポーネント:開発者が運用を目指すワークロード
  • 特性:各コンポーネントの運用上の動作
  • スコープ:運用上の共通動作を軸にコンポーネントをグループ化する方法。つまりアプリケーションをビルドする方法

 この3つの要素をシンプルな構成ファイルにまとめ、アプリケーション全体またはアプリケーションのパーツを定義する。

 「OAMの設計の鍵となるのは、OAMを実装する全てのプラットフォームがサポートするコンポーネント、特性、スコープの種類を選択できることだ。ただし、そのプラットフォームはOAMで記述されたモデル全体を実装する必要がある。これにより、全てのプラットフォームは一貫したアプリケーションモデルを利用しながらも、プラットフォーム独自の特性や機能を発揮することが可能になる。OAMのv1Alpha2ドラフトでは、プラットフォームがOAMを実装する方法に大きな影響を及ぼす細部の変更が導入されている」とトゥレチェク氏は「Open Source Blog」に記載している。

 開発者は、アプリケーションの導入について考える前にアプリケーションを運用するインフラを理解する必要がある。その理解の過程では通常アプリケーションとインフラをどの程度結び付ける必要があるかを考える。だが、アプリケーションとインフラを切り離す方向に進めるのがOAMのテーマだとも同氏はブログに記載している。

切り離すメリット

 OAMはアプリケーションとインフラを切り離せるように、アプリケーションの開発者、アプリケーションの運用担当者、インフラの運用担当者それぞれの役割を個別に定義している。

 OAMはアプリケーションモデルなので、最初の2つの役割に重点が置かれる。

 「Crossplaneでも3つの役割を同じように定義する。重視するのはインフラ運用担当者の役割だ。そのためOAMとCrossplaneが相互に補完し合うのは自然の流れだ。OAMがアプリケーションを定義し、Crossplaneがそのアプリケーションを運用するインフラを定義する」(トゥレチェク氏)

懸案事項の分離

 OAMは、アプリケーションとインフラを分離する。だが、こうした懸案事項の状態、役割、機能、動作を管理する能力はITスタックのあらゆるレベルで依然維持する必要がある。OAMの取り組みは、その目標を正確に実現できるように設計されている。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る