いろいろ調べていくにつれ以下のことがわかった。
※クラウドサービスを使う前提。
- 一般的なWebのシステム構成としては、2層構造となる(アプリケーションサーバー(Webサーバー含む)、データストレージ)
- しかしサーバーレスアーキテクチャでは、このうちのアプリケーションサーバー層が存在しない。
- もう少し厳密にいうとアプリケーションサーバーは、(あたりまえだが)サーバーとして常駐し、リクエストを待ち続けている。よって常にCPU、メモリ等のリソースを消費し続けている。
- サーバレスアーキテクチャによると、プログラムは常には起動していない。リクエストがあった時に起動され、リソースを消費する。
- 代表的なサービスは、Amazon Lambda
※ただしサーバーがなくなったというよりは、サーバーの存在を意識する必要がなくなったという方がより正確らしい。
メリットは、以下のとおり
- サーバーとして常に動いていないのでリソースを使わない(コストの削減)
- スケーリングが楽(サーバレスを実現する仕組みのたまものだとも思うが、サーバー自体をリクエスト量に応じてスケールさせるにはそれなりの仕掛けを構築する必要がある)
- サーバーがないのでサーバーの運用管理が不要(サーバーが死んでいないかを機にする必要はない)
デメリットは、
- まだこれからの技術なのであまり複雑な処理には向かないかもしれない。
比較的、静的なリクエストの大量処理に向いているかもしれない。
0 件のコメント:
コメントを投稿