2018年03月07日 05時00分 公開
特集/連載

マイクロサービスを実践するサーバレスとコンテナを比較、選定の決め手はアプリケーション特性

コンテナはリソースを節約し、導入時間を短縮し、マイクロサービスの優れたホストになる。それはサーバレスも同じだ。だが導入のオプションを見ると、両者には相似点よりも相違点の方が多い。

[Tom Nolle,ITmedia]

 サーバレスコンピューティングは、アプリケーション導入の問題に対する完璧な解決策となるか、コストの高い大失敗につながるかのどちらかだ。仮想マシン(VM)、コンテナ、サーバレスアーキテクチャにはそれぞれ特有の長所と短所がある。だがサーバレスは、アプリケーションがその導入アーキテクチャに適さなければ、全てが機能しない恐れもある。IT部門の内部崩壊を防ぐには、開発者に十分な情報を与えた上で、新たな導入についてサーバレスとコンテナの比較を求める必要がある。

 コンテナやサーバレスの適合性を判断するには、それぞれの種類のアーキテクチャが実現することや、各アーキテクチャがホストするアプリケーションのユーザーベースと、適切に導入するために必要なことを対比すべきだ。

 本稿ではVMを検討の対象外とする。とはいえ、VMはIT部門が最もよく使用し、最も理解しているアプリケーションホスティングアーキテクチャだ。また、インフラを抽象化するアプローチとして最も一般的だが、複雑さとリソースのオーバーヘッドという代償を伴う。本稿では主にサーバレスとコンテナを比較する。サーバレスはリソース全体を抽象化する。これに対して、コンテナはOSの上位に配置される軽量かつ高速の分離層である。

アプリケーションが必要とするもの

 サーバレスクラウドコンピューティングには経済的メリットがある。企業は、アプリケーションの実行時のみ、コンピューティングリソースとアプリケーション実行の費用を負担すれば済む。アイドル時間にはコストがかからない。常に準備しておく必要はあるが常時実行されるわけではないアプリケーションやコンポーネントには、サーバレスが最適だ。

図1 図1 サーバレスがサポート元のハードウェアとアプリケーションを分離する仕組みを示す、Amazon Web Serviceのサーバレスコンピューティングアーキテクチャ図《クリックで拡大》

 例えば、モノのインターネット(IoT)を使った農業用アプリケーションを考えてみよう。このアプリケーションは、湿度センサーを使って土壌の状態を計測する。土壌が乾燥していて水まきが必要だと分かるとイベントを生成する。これまで導入していたアプリケーションでは、雨の日は遊休状態になっていた。アクティブになるまで待機することで不要なリソースが消費される。コンテナシステムでは、アプリケーションが消費するリソースの量を節約できる可能性はある。だが、サーバレスコンピューティングを導入すれば、こうして節約したリソースをアイドル時間に消費することもなくなるだろう。アプリケーションのアイドル時間が長いほど、サーバレスの方が適切に思える。だが、そんなに単純な話だろうか。

 いつものことだが、実際は印象よりももっと複雑だ。この例のIoTアプリケーションの場合、サーバレスアーキテクチャには数ミリ秒で利用準備が整うメリットもある。これに対して、コンテナシステムでは数十秒間の準備が必要になる。ただし、起動時間が長いコンテナを導入しても、IoTアプリケーションの目的実現能力に影響する可能性は低い。また、稼働時間よりもアイドル時間が長いアプリケーションなら必ず、コンテナよりもサーバレスの方が向いているというわけではない。サーバレスシステムのロジックは、コンテナシステムよりもコストがかかるだけでなく、技術的にも異なる。

サーバレスとコンテナのテクノロジーの比較

この記事を読んだ人にお薦めの関連記事

注目テーマ

ITmedia マーケティング新着記事

news042.jpg

訪日外国人観光客が礼賛、おもてなし力が高い日本の都市トップ10――Airbnb調査
訪日外国人旅行者の目的が体験型消費に移行しつつあるといわれる中、どのような都市が高...

news033.jpg

Facebook日本進出から10年、個人情報不正利用問題が広告事業に与える影響は?
Facebook日本進出10周年に当たり、フェイスブックジャパンは記者向けの説明会を開催。気...

news114.jpg

LINE、QRコード読み込みで即時抽選ができる店頭販促支援サービス「LINEインスタントウィン」を提供
LINEは、「LINE」を活用した店頭販促ソリューション「LINE SP Solutions」の新メニューと...