【図解】AWSでざっくりわかるサーバーレス
はじめに
「サーバーレス」、文字通りだとサーバーがないことになるけど、んなこたぁない。
名前がわかりにくうううううううううっい!!!!!!!!!
実際にはサーバーの管理が不要(レス)の意味らしいです。
わかりにくかったので雰囲気をつかめるレベルでまとめてみました。
サーバーレスとは
従来のserverfulだと、サーバーをまるまる占有してしまうことが問題とされてきた。例えば、EC2のインスタンスは起動したユーザーだけが使えるもので、計算のリソース(CPUやRAM)が独占的に割り当てられた状態になる。つまり、固定した計算資源の割り当てがされてしまっており、インスタンスの計算負荷が0%であろうが100%であろうが、均一の使用料金が起動時間に比例して発生してしまう。
そこで、サーバーレスアーキテクチャでは、独占的に割り当てられたリソースを完全に廃止した。
どうやって実現するかというと、計算のリソースをクラウドプロバイダーが全て管理し、クライアントは仮想インスタンスを丸ごと借りるのではなく、実行したいプログラムをクラウドに提出することで、それを実現した。
図式化すると...
従来のserverful
サーバーレスだと
こうすることで、クラウドのコストが実際に使用しらCPU稼働時間で決定されることになる。(従来は計算量に関わらずインスタンスの起動時間で決まっていた)
AWSの場合
Lambda
AWSだと、サーバーレスの中心を担うのがLambdaだ。
まずユーザーは実行したいプログラムを予め登録し、プログラムを実行したいときに、そのプログラムを実行するコマンドをLambdaに送信するようになっている。
①コードを登録
②invokeする
S3(サーバーレスストレージ)
サーバーレスの概念はストレージにも拡張されており、S3ではサーバーレスなストレージシステムを提供している。予め保存領域の上限は定められておらず、データを入れれば入れた分だけ拡大していく。料金も保存されている総容量で決定される。
従来のもの
S3
まとめ
従来型のクラウドシステムは賃貸住宅!(部屋にいようがいまいが家賃が発生する)
サーバーレスクラウドは電気・水道・ガス料金!(使用量に応じて料金が決まる)
と考えると良さそうです。
以上!ざっくりわかるサーバーレスでした!
参考
Discussion