いまさら聞けない「サーバレス」「マイクロサービス」は何が違うのか:具体的な利用例や相違点を紹介
サーバレスアーキテクチャとマイクロサービスアーキテクチャは、それぞれに特徴があり、目的に応じた使い分けが大切だ。主な相違点と特徴を見てみよう。
アジリティー(敏しょう性)や性能、可変性を追求した結果、アプリケーションを機能などの細かい単位で切り分ける「マイクロサービスアーキテクチャ」や、アプリケーションの実行に必要なクラウドリソースを動的に割り当てる「サーバレスアーキテクチャ」などのアプリケーション開発アプローチが生まれた。どちらが目的により適しているかを正しく判断するために、開発者はこの2つのアプローチの共通点と相違点を理解する必要がある。
併せて読みたいお薦め記事
「サーバレス」「マイクロサービス」とは
具体的な活用法は
それぞれが適している場合とは
重要なリソースおよびその管理方法に関する要件があり、長期にわたって稼働させる複雑なアプリケーションの開発には、マイクロサービスアーキテクチャが適している。アプリケーションの機能を複数のモジュール(マイクロサービス)を組み合わせる方式で開発し、クラウドに展開することで、既存のモノリシック(巨大な一枚岩)アプリケーションをマイクロサービスアーキテクチャに移行できる。マイクロサービスは通信情報を保持し、24時間365日稼働させられるため、Eコマース(電子商取引)サイトの構築に適している。
サーバレスアーキテクチャでは、必要なときにのみ必要な処理を実行する。処理が終了すると、プログラムを実行しているコンピューティングリソースは自動的に破棄される。イベントが散発的に発生するイベント駆動型のアプリケーションにおいて、サーバレスアーキテクチャはうまく機能する。迅速に導入する必要があり、かつアプリケーションのスケーリングに関する懸念がほとんどない場合にも適している。定期的なデータ集約タスクとも相性が良い。
一般的な経験則をまとめると、両者が適している状況は以下のようになる。
- サーバレスアーキテクチャ
- 自動スケーリングが必要な場合
- ランタイム(実行)コストを抑えたい場合
- マイクロサービスアーキテクチャ
- 柔軟性が必要な場合
- レガシーアプリケーションを最新のアーキテクチャに移行する場合
サーバレスアーキテクチャとマイクロサービスアーキテクチャの選択に当たっては、以下の相違点を考慮して判断するとよい。
相違点1.ITオペレーション
Copyright © ITmedia, Inc. All Rights Reserved.