出展:AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー
#AWSの長所と利点
##AWSクラウドコンピューティングの6つのメリット
###固定費(設備投資費)が柔軟な変動費へ
・リソースを利用したときに利用した分だけ支払う
・小さく始めることができて大きな投資を行う必要がない
・既存システムの総所有コスト(TCO)を削減することで、新規システムへの投資を柔軟に行うことができ、継続的なコストパフォーマンスを改善できる
###スケールによる大きなコストメリット
・オンプレミスよりも低い変動コストを実現できる
・多くのユーザがクラウドを使用するため、規模の経済を活かして、従量課金制の料金を低く提供できる
###キャパシティ予測が不要に
・必要に応じてリソースの増減を行うことができるので、最大のインフラ容量を予測する必要がなくなる
・リソース不足やリソース過多になった場合は、状況に応じて柔軟にスケジューリングを行えばよい
###速度と俊敏性の向上
・迅速なリソース調達が可能になり、システムの負荷やサービスの拡充に応じて柔軟な構成変更が可能
・検証や開発にかかるコストと時間が大幅に減るため、組織の俊敏性が大幅に向上する
###データセンターの運用と保守への投資が不要に
・AWSの各種サービスの利用料には、従来のオンプレミスシステムの各種費用が含まれる
・クラウドを利用することで、サーバの設置、連携、起動といった重労働が不要になり、ユーザに直結した業務に専念することが可能になる
###わずか数分で世界中にデプロイ
・オフィスに居ながらにして、シンプルな操作と最小限のコストで世界中にデプロイできる
##クラウドアーキテクチャの設計原理
###Dsgin for Failure
・「時間が経てば故障する」ということを認識し、この考えをアーキテクチャに採り入れる
(故障に備えた設計)
・単一障害点(Single Point Of Failure:SPOF)をなくす
###コンポーネントの分離
・サービス指向アーキテクチャの設計原則を踏襲する
・システムのコンポーネントを疎結合にすればするほど、スケーリングが大規模にうまく行える
・マイクロサービスアーキテクチャを用いることで、システムを複数の小規模なサービスの集合体として非同期かつ疎結合な構成とし、コンポーネントの分離を促進する
###弾力性(伸縮性)の実装
・リソースの性能を柔軟にスケールアウトしたり、スケールインすることが可能
・巡回スケーリング:
一定期間(毎日、週ごと、月ごと、四半期ごと)に発生する定期的なスケーリング
・イベントベーススケーリング
予定されているビジネスイベントのためにトラフィックリクエストが急激に増加されると予想されるときに実施するスケーリング
スケジュールドスケールアウトパターンを利用することで弾力性を実現する
(トラフィック増加が予想される時間帯に自動的にスケールアウト)
・オンデマンドの自動スケーリング
監視サービスを利用することにより、監視項目(CPUの平均利用率やネットワークのI/O量など)に基づいてトリガーを送信しスケールアウト/スケールインを行う
スケールアウトパターンを利用することで弾力性を実現する
(トラフィック増加を検知して自動的にスケールアウト)
・必要なときだけ調達して、不要なときは廃棄ができる、いわば使い捨て可能なビジネスリソースとしてサーバを考える
###並列化を考慮する
・クラウドでは繰り返し可能なプロセスを極めて容易に構築できるため、できるだけ並列化を実践し、可能であれば自動化する
例)ロードバランサーを使用し、複数の非同期のWebサーバ全体で受信リクエストを分散させたWebアプリケーション
・スケーリングは弾力性を組み合わせて、高負荷時にはスケールアウト、低負荷時にはスケールインを行う
cf)
スケールアップ:単体性能を向上。増強方法はシンプル
スケールアウト:台数を増加。複数台構成のため、耐障害性で優位
###コンテンツの保管
・クラウドではデータをネットワーク経由で利用するため、配信のオーバーヘッドやボトルネック対策が必須
・静的コンテンツは外部に出して、エンドユーザの近くに保管する
・動的に処理するデータは、クラウド上のコンピューティングリソースの近くに保管する
##AWS Well-Architectedフレームワーク
###AWS Well-Architectedフレームワークとは
・信頼性、セキュリティ、効率、コスト効果が高いシステムを設計しクラウドで運用するために作られた、アーキテクチャのベストプラクティス
###AWS Well-Architectedフレームワークが基本とする5本の柱
運用上の優秀性:
ビジネス価値を実現するためのシステムを実行してモニタリングし、それらをサポートするプロセスと手順を継続的に改善する機能
セキュリティ:
リスクの評価と軽減戦略をとおしてビジネス価値を提供しながら、情報、システム、資産を保護する能力
信頼性:
インフラストラクチャやサービスの障害からの復旧、必要に応じたコンピューティングリソースの動的な取得、設定ミスや一時的なネットワークの問題などの障害の軽減といったシステムの機能
パフォーマンス効率:
コンピューティングリソースを効率的に使用してシステム要件を満たし、需要の変化や技術の進歩に合わせてこの効率を維持する能力
コスト最適化:
最も安価にシステムを実行してビジネス価値を実現する能力