SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【デブサミ2018 福岡】セッションレポート (AD)

標準化が進むコンテナとサーバーレス! 「提供したい価値」から見極める活用の勘所とは【デブサミ2018 福岡】

【A-7】コンテナ&サーバーレス:トレンドの考察と少し先の未来の展望

  • このエントリーをはてなブックマークに追加

使いどころや考え方を理解し、適材適所で選択する

 一長一短あるコンテナとサーバーレス。これらをどのように選択していくとよいのか。その際に最も重要なのが、「まずは提供したい価値と優先順位の明確化をすることだ」と川崎氏は指摘する。ビジネスニーズを理解し、コンテナ、サーバーレスの利用を通じて実現したい姿、提供したい価値を明確にする。そして非機能要件を洗い出し、優先順位を付けていくのである。

 「非機能条件の洗い出しはできるだけ具体的にすることが大事」と川崎氏。例えばアプリケーションはコンテキストに依存しているか(ステートフル、ステートレスなのか)、依存ライブラリ、言語の自由度はどうか、稼働パターン、性能・拡張性、回復性、運用保守性などの観点で使いどころを考えるのである。

アプリ特性・非機能要件から見た使いどころ
アプリ特性・非機能要件から見た使いどころ

 次に考えなければならないのは、開発運用体制の充実度やスキルレベル・経験、納期までの時間、既存システム資産などといった、与えられた条件や制約である。これによって、戦略や最適解は変わるからだ。「このようにアプリの特性と非機能要件に与えられた条件・制約を加えて総合的に評価し、適材適所な選択を行うこと。必要に応じて併用することが重要になる」(川崎氏)

 最終的には、アプリ・モダナイゼーションをどこまで目指すかについても考えることが重要だ。「まずは短期的、長期的な観点で考えること」と川崎氏は指摘する。短期的だとコンテナでリフト&シフトでよいが、アプリ構造やアーキテクチャのクラウドへの最適化が伴わない場合は、移行前よりもコストがかかることがある。一方、長期的な観点であれば、時間とコストはかかるが、コンテナとサーバーレスを適材適所に使い、クラウドに最適化されたアプリケーションにすることが得策となる。クラウドが持っている能力を最大限生かすことができるからだ。

 次にサポータビリティ(サービス継続のためにサポートしていく能力)についても考える。商用サポートや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、クラスタが不要、コンピュート実行時間課金といった特徴を持つ。

 最後に川崎氏は次のように語り、セッションを締めた。

 「コンテナやサーバーレスは使いどころや考え方を理解して、適材適所で選択すること。そうするとプラットフォームの能力を最大限生かしたアプリケーションを構築できる」

お問い合わせ

 日本マイクロソフト株式会社

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
【デブサミ2018 福岡】セッションレポート 連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11098 2018/10/11 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング