サーバレス対マイクロサービス──現時点で知っておくべきことCW:将来どちらを選択するか

支持を集めつつあるサーバレスコンピューティングを採用すべきか否か。サーバレスとマイクロサービスの長所・短所は何か。現時点で知っておくべきことをまとめた。

2018年03月29日 08時00分 公開
[Neil TurvinComputer Weekly]
Computer Weekly

 サーバレスコンピューティングはまだ開発の初期段階にあるが、その特徴にはマイクロサービスと似通った部分がある。ただし、クラウドでの展開方法は全く異なっている。両方とも長所と短所があるが、サーバレスは魅力的な選択肢として注目度が高まりつつある。

Computer Weekly日本語版 3月20日号無料ダウンロード

本記事は、プレミアムコンテンツ「Computer Weekly日本語版 3月20日号」(PDF)掲載記事の抄訳版です。本記事の全文は、同プレミアムコンテンツで読むことができます。

なお、同コンテンツのEPUB版およびKindle(MOBI)版も提供しています。

ボタンボタン

 その理由は幾つか考えられる。

 両者の差別化要因としてまず挙げられるのは価格だ。サーバレスは従量制の課金システムなので、リクエスト数が少ないアプリケーションや新興企業にとっては魅力的なオプションとなる。また、インフラや仮想マシンはサービスプロバイダーが管理するので、オンプレミスで直接管理するよりも運用コストを削減できる。

 サーバレスは、スケーラビリティも優れている。その性質上、負荷のスパイク(突然の急増)にも容易に対応できるため、迅速かつ透明性の高い方法で自動的に管理できるようになる。唯一、注意が必要な点は、処理可能なリクエストの最大数だ。高負荷システムには不向きだといえる。

 従ってアーキテクチャは複雑になる。さまざまなシステムの寄せ集めとなる場合があるためだ。

 サーバレスは、マイクロサービスよりもさらに細分化された機能を、より高い性能で提供する。その半面、こうした事情からもシステムの複雑性が増すことになる。リクエスト数や実行時間など、さまざまな制限があることに加えて、サポートしているプログラミング言語も多くない。

 コンポーネントは往々にしてクラウドプロバイダー固有のものであり、システムを変更する際に問題の原因となることが多い。そもそもステートレスとして設計されているため、システムのステート(状態)は、外部機能で厳密に管理しなければならない。言い換えると、メモリ内にキャッシュを配置できないということだ。

 さらに、サーバレスは単なるサービスとしての働きだけではなく、定期的に実行するジョブ、イベントハンドラとしても機能する。

サーバレスの複雑性を整理する

 サーバレスを採用した場合に考慮しなければならない、機能の細分化のレベルは、ツーリングやフレームワークにも影響する。

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

news099.jpg

CMOはつらいよ マッキンゼー調査で浮かび上がるAI時代の厳しめな業務実態
生成AI、研究開発、価格戦略……。慢性的なリソース不足の中でマーケターの業務範囲はま...

news017.jpg

「リンクレピュテーション」とは? SEO対策や注意点もわかりやすく解説
「リンクレピュテーションって何のこと?」「なぜ重要?」「リンクレピュテーションを意...

news213.jpg

MAツール「MoEngage」 DearOneが日本語版UI提供へ
NTTドコモの子会社であるDearOneは、AI搭載のMAツール「MoEngage」の日本語版を2025年1月...