使いどころや考え方を理解し、適材適所で選択する
一長一短あるコンテナとサーバーレス。これらをどのように選択していくとよいのか。その際に最も重要なのが、「まずは提供したい価値と優先順位の明確化をすることだ」と川崎氏は指摘する。ビジネスニーズを理解し、コンテナ、サーバーレスの利用を通じて実現したい姿、提供したい価値を明確にする。そして非機能要件を洗い出し、優先順位を付けていくのである。
「非機能条件の洗い出しはできるだけ具体的にすることが大事」と川崎氏。例えばアプリケーションはコンテキストに依存しているか(ステートフル、ステートレスなのか)、依存ライブラリ、言語の自由度はどうか、稼働パターン、性能・拡張性、回復性、運用保守性などの観点で使いどころを考えるのである。
次に考えなければならないのは、開発運用体制の充実度やスキルレベル・経験、納期までの時間、既存システム資産などといった、与えられた条件や制約である。これによって、戦略や最適解は変わるからだ。「このようにアプリの特性と非機能要件に与えられた条件・制約を加えて総合的に評価し、適材適所な選択を行うこと。必要に応じて併用することが重要になる」(川崎氏)
最終的には、アプリ・モダナイゼーションをどこまで目指すかについても考えることが重要だ。「まずは短期的、長期的な観点で考えること」と川崎氏は指摘する。短期的だとコンテナでリフト&シフトでよいが、アプリ構造やアーキテクチャのクラウドへの最適化が伴わない場合は、移行前よりもコストがかかることがある。一方、長期的な観点であれば、時間とコストはかかるが、コンテナとサーバーレスを適材適所に使い、クラウドに最適化されたアプリケーションにすることが得策となる。クラウドが持っている能力を最大限生かすことができるからだ。
次にサポータビリティ(サービス継続のためにサポートしていく能力)についても考える。商用サポートやSLAがどうなっているのか、新しいアーキテクチャをメンテナンスし続ける専門チームを持てるのか、考慮することも重要だとした。
そして、やりすぎになっていないかについても検討することがポイントだ。やりすぎると運用保守の複雑化をもたらす可能性があるからだ。「本当にマイクロサービス化をする必要があるのか、本当にKubernetesが必要なのか、もっとシンプルな方法はないのかなど、やりすぎについて今一度確認することをお勧めする」(川崎氏)
これからもプラットフォームは進化していくが、「自動化、抽象化という方向性は変わらないと思う」と川崎氏は力強く語る。そしてコンテナにおいてはOCI、CNCFという2つの標準化団体により、さらに標準化は進んでいくという。一方、サーバーレスの標準化も進んでいく。「道のりは長いと思われるが、CNCFの中のServerless Working Groupにおいて、イベントやワークフロー、イベントオーケストレーションなどの標準化が進められているので期待したい」と語る。
その一例がCloudEventsだ。これはイベントスキーマ標準化のための共通仕様で、異なるシステム間における、イベントの相互運用性確保を目的としている。これによりさまざまなプロトコルで配送可能になるという。またさまざまなサーバーレスプラットフォームに対応できるよう、CloudEventsをサポートするイベントミドルウェアも登場している。
もう1つ、今後の流れとして期待されるのが、マルチクラウドやマルチモデルである。「特定クラウドに依存したくない、ベンダーロックインを避けたいというエネルギーが高まっていることから、活発化している」と川崎氏。またこういったものをサポートするフレームワークやサービスが登場しており、市場で一定の人気を集めているという。マルチクラウドコンテナの世界でも、Kubernetesはデファクトとなっている。GKE(Google Kubernetes Engine)、AKS(Azure Kubernetes Service)、Amazon EKS、VKE(VMware Kubernetes Engine)などのマネージドKubernetesサービス、共通コンソールでマルチクラウド+オンプレKubernetesをすべて一元管理できるRancher 2.0、Docker Enterprise Edition 2.0などがある。
サーバーレスもマルチクラウド化が進んでおり、それをサポートする仕組みが出てきている。また、新しいハイブリッドモデルとして、サーバーレスコンテナサービスも登場している。同サービスはオンデマンドで実行可能なコンテナで、VM、クラスタが不要、コンピュート実行時間課金といった特徴を持つ。
最後に川崎氏は次のように語り、セッションを締めた。
「コンテナやサーバーレスは使いどころや考え方を理解して、適材適所で選択すること。そうするとプラットフォームの能力を最大限生かしたアプリケーションを構築できる」
お問い合わせ
日本マイクロソフト株式会社