検索
特集/連載

サーバレスアーキテクチャの長所と短所 コンテナとの違いは?開発チームの時間を節約する

サーバレスのトレンドは開発者にメリットをもたらす可能性がある。だがトレードオフは必要だ。サーバレスコンピューティングには開発者が理解すべき側面がたくさんある。

Share
Tweet
LINE
Hatena

 サーバレスという用語はさまざまな議論を呼んでいる。その正確な意味が求められている。モノリシックアーキテクチャから分散型アーキテクチャへと移行してきた開発者にとって、サーバレスはどのように役立つ可能性があるのだろう。またコンテナ化アーキテクチャとサーバレスアーキテクチャとのメリットの差も紛らわしい。どちらのアーキテクチャもアプリケーションを管理する最新アプローチだ。また、それぞれ独自のメリットもある。

 コンテナアーキテクチャとサーバレスアーキテクチャの違いを理解する最善の方法は、それぞれの開発者コミュニティーを見てみることだ。「Docker」コンテナアプローチに関するドキュメントの多くは、インフラの管理方法にまつわる問題を取り上げている。そのツールは、基盤となるハードウェアや仮想マシンの管理が容易になるよう設計されている。また複数のサーバや「Amazon Web Services」(AWS)のインスタンス間にコンテナを分散させるツールもある。一方、サーバレスフレームワークやそのアクティビティーに取り組むサーバレスコミュニティー内のドキュメントは、サーバレスアプリケーションの構築を重視する傾向がある。

 基本的に、サーバレスは開発者がコードの作成に専念できるようにするものだ。サーバはスタックのどこかに依然存在する。だが開発者はこうした基盤リソースの管理を意識する必要がない。AWSの「Amazon Elastic Compute Cloud(EC2)」のようなサービスでは、OSとアプリケーションのリソースをプロビジョニングする必要がある。一方、サーバレスアーキテクチャでは、機能を1回利用するのに必要なリソース量のみが問われる。例えば、あるWebテストスイートでは1つのWebサイト用に128MBのRAMが必要だとする。このWebサイトの機能のコピーを1000万件導入するとしても、個々の機能で必要なのは128MBのみだ。コピー全てを同時に実行することさえできる。サーバレスでは個々の要求に必要なものが重視され、その後スケール変換が自動的に行われる。

サーバレス導入へのアプローチ

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る