上下にスクロールするかキーボードの上下キーを使うと、次の学習カードへ進めます。

イントロ

コンピューティング性能と伸縮性

1台を大きくする前に、増やし方を考える

計算性能は、CPUやメモリだけでなく、台数を増やせるか、必要な時だけ動かせるかでも変わります。負荷の性質から選びます。

定義

コンピューティング性能

教科書では
アプリや処理が必要な速度・量を満たすように、計算資源の種類、台数、実行方式を選ぶ考え方。
言いかえると
EC2は仮想サーバー、Auto Scalingは台数の伸縮、Lambdaはイベント時のコード実行、Fargateはサーバー管理を減らすコンテナ実行です。
比較
選択肢向く処理見る点
EC2常時稼働OSや容量
Auto Scaling負荷変動台数の増減
Lambda短いイベント実行時間
Fargateコンテナサーバー管理減

選択肢EC2

向く処理
常時稼働
見る点
OSや容量

選択肢Auto Scaling

向く処理
負荷変動
見る点
台数の増減

選択肢Lambda

向く処理
短いイベント
見る点
実行時間

選択肢Fargate

向く処理
コンテナ
見る点
サーバー管理減

処理の動き方と管理したい範囲で候補を分けます。

要点

判断の合図

問題文では、常時動くか、イベント時だけか、サーバー管理をどこまでしたいかを見る。

  1. 1

    常時稼働かイベント型か

  2. 2

    台数を増やせるか

  3. 3

    管理範囲をどこまで持つか

図解コンピューティング性能と伸縮性の設計判断を短いラベルで整理した図
管理範囲と処理の形で候補を見る図です。大きい1台ではなく、伸縮の仕方から考えます。
場面
画像アップロード後だけサムネイルを作る。
順に考えると
常時サーバーを動かすより、アップロードイベントでLambdaを動かす候補があります。長時間処理なら別の計算基盤も検討します。
ここが結論
短いイベント処理なら、常時稼働のEC2以外も候補になります。
注意

大きいEC2だけが性能改善ではない

確認

確認テスト

Q1

ファイルが置かれた時だけ短く処理を走らせたい場合、最も近い候補はどれですか。

まとめ

まとめ

  1. 1

    EC2は仮想サーバー

  2. 2

    Auto Scalingは台数を伸縮

  3. 3

    Lambdaはイベント実行

  4. 4

    負荷の形で選ぶ