Serverless
Serverを持たないbackend
Serverlessは、eventが発生した時に初めて起動する
起動して、関数を実行して、終了する、という感じ
そのため、statefulな処理には向いていないっぽい

やりようはあるんだろうけど
requestがない期間は費用が発生しない
最小限の費用になる
serverを常時稼働しているときよりずっと安い
serverの管理や運用が不要
例
参考
AWS Lambdaも含めたServerlessの嬉しさみたいなのは、このページに書こうかな
デメリット
何に向いているか
いつ処理が必要になるかわからないが、1回の処理が短時間で終わるもの
管理の大部分をAWS側に任せられる
OSやミドルウェアのメンテが不要
ミドルウェアはLAMPのA,M,Pらへんのこと
OSや言語のversionを上げる時に、サービス停止する必要がない
必要なCPUとメモリを設定するだけでいい
サーバーへの攻撃を避けられる
サーバーのリソースを意識しない
柔軟なスケーラビリティ
事前に必要なキャパシティを考慮しなくても、リクエスト数や負荷によって自動的にスケーリング(拡張/縮退)される
可用性・回復性の向上
デフォルトで可用性と耐障害性機能が備わっているものが多い
設計はEC2のときとどれぐらい変わるのか
どういう箇所を気をつけて実装することになるのか
EC2で実装していたコードはどれぐらい流用できるのか
どういうサービスがserverleeに向いているのか
serverlessを使った時に起こりがちな問題
比較特性 | 仮想マシン | Container | Serverless |
拡張の単位 | 仮想マシン | アプリケーション | 機能 |
存続期間 | 数日から数か月 | 数秒から数分 | 数ミリ秒から数秒 |
パフォーマンス | 予測可能 | 予測可能性が低い | 予測可能性が最も低い |
運用コスト | 高 | 中 | 低 |
運用管理性 | 高 | 中 | 低 |
プロバイダー・ロックイン | 中~高 | 低 | 高 |