CLFクラウドのコンセプトについて（その2）AWS クラウドの設計原則を特定する

# はじめに
AWS認定であるクラウドプラクティショナー(CLF)の出題範囲である、
クラウドのコンセプトについて学ぶ。

## クラウドの分野について
* ①AWS クラウドの利点を定義する。
* ②AWS クラウドの設計原則を特定する。
* ③AWS クラウドへの移行の利点と戦略を理解する。
* ④クラウドエコノミクスのコンセプトを理解する。

以上4項目がAWSの提示しているクラウドのコンセプトです。
今回はこの中から**②AWS クラウドの設計原則を特定する**を簡潔に解説します。

## ②AWS クラウドの設計原則を特定する
こちらの項目では
**AWS Well-Architected フレームワーク**が対象知識となっています。
対象となるスキルは以下の2つです。
* ①Well-Archtectedフレームワークの柱の理解(運用上の優秀性、セキュリティ、信頼性、パフォーマンス効率、コスト最適化、持続可能性など)
<br></br>
* ②Well-Architected フレームワークのさまざまな柱の相違点の特定

## Well-Architected フレームワークとは
* AWS Well-Architected フレームワークは、クラウドシステムの設計と運用におけるベストプラクティス集を提供しています。
<br></br>
## ①Well-Archtectedフレームワークの柱の理解<br>　(運用上の優秀性、セキュリティ、信頼性、<br>　パフォーマンス効率、コスト最適化、持続可能性など)
<br></br>
* **①運用上の優秀性**
* **②セキュリティ**
* **③信頼性**
* **④パフォーマンス効率**
* **⑤コストの最適化**
* **⑥持続可能性**

の6つの柱基づき、システムの品質と効率を向上させるための指針を示しています。

## ①運用上の優秀性

AWS Well-Architected Framework 運用上の優秀性の柱での記載は以下の通りです。

> Amazon では、運用上の優秀性とは、優れたカスタマーエクスペリエンスを着実に
> 提供しながら、ソフトウェアを正しく構築するために取り組むことであると
> 定義しています。
> これには、チームの編成、ワークロードの設計、ワークロードの大規模な運用、
> 経時的な進化のためのベストプラクティスが含まれます。運用上の優秀性により、
> チームはメンテナンスや問題解決のアクティビティに費やす時間を低減し、
> お客様に利益をもたらす新機能の構築に専念できるようになります。
> 当社では適切な構築のために、システムの適正な実行、業務とチームの
> ワークロードバランス、そして最重要事項として、優れた
> カスタマーエクスペリエンを
> 実現するためのベストプラクティスを重視しています。
> 運用上の優秀性の目的は、新機能とバグ修正を迅速かつ確実にお客様に
> 提供することです。運用上の優秀性に投資している組織は、新しい機能を構築し、
> 変更を加え、障害に対処しながら、着実に顧客満足を実現しています。その過程で、
> 運用上の優秀性は、デベロッパーが高品質の結果を常に達成するために役立ち、
> 継続的インテグレーションと継続的デリバリー (CI/CD) を促進します。

### 設計原則（要約）

- ビジネス成果に基づいてチームを編成する
  - チームがビジネス成果を達成できるかどうかは、リーダーシップの
  ビジョン、効果的な運用、ビジネスに沿った運用モデルによって決まる。
<br></br>
- オブザーバビリティを実装して実用的なインサイトを取得する
  - ワークロードの動作、パフォーマンス、信頼性、コスト、健全性などを
  包括的に理解する。
<br></br>
- 可能な限り安全に自動化する
  - クラウドでは、アプリケーションコードに使用しているものと
  同じエンジニアリング原理を環境全体に適用する。
<br></br>
- 小規模かつ可逆手金変更を頻繁に行う
  - コンポーネントを定期的に更新できるように、スケーラブルで
  疎結合のワークロードを設計する。
<br></br>
- 運用手順を定期的に改善する
  - ワークロードの進化に伴い、運用手順も適宜変更する。
<br></br>
- 障害を想定する
  - 障害シナリオを作成し、ワークロードのリスクプロファイルを
  理解することで、運用の成功を最大化する。
<br></br>
- 運用上のあらゆるイベントやメトリクスから学ぶ
  - 運用上のあらゆるイベントや障害から学んだ教訓を通じて、
  改善を推進する。
<br></br>
- マネージドサービスを使用する
  - 可能な限りAWSのマネージドサービスを利用して、
  運用上の負担を軽減する。

## ②セキュリティ
AWS Well-Architected Framework セキュリティの柱での記載は以下の通りです。

> セキュリティの柱は、クラウドテクノロジーを活用し、セキュリティ体制の向上を
> 可能にするやり方でデータ、システム、資産を保護する方法を表します。
> このホワイトペーパーでは、AWS で安全なワークロードを設計するための
> 詳細なベストプラクティスガイダンスを提供します。

### 設計原則（要約）

- 強力なアイデンティティ基盤を実装する
  - 最小権限の原則を導入し、核AWSリソースとの通信における適切な認可のもと、
  役割分担を徹底させる。
<br></br>
- トレーサビリティの維持
  - ご使用の環境に対して、リアルタイムでモニタリング、アラート、
  監視のアクション、および変更を行う。
<br></br>
- すべてのレイヤーでセキュリティを適用する 
  - 複数のセキュリティコントロールを使用して深層防御アプローチを適用する。
<br></br>
- セキュリティのベストプラクティスを自動化する
  - 自動化されたソフトウェアベースのセキュリティメカニズムにより、
  安全で、より早く、より費用対効果の高いスケーリングが可能になる。
<br></br>
- 伝送中及び保管中のデータをご保護する
  - データを気密性レベルに分類し、暗号化、トークン分割、
  アクセスコントロールなどのメカニズムを適宜使用する。
<br></br>
- データに人の手を入れない
  - データに直接アクセスしたりデータを手動で処理したりする必要を減らしたり、
  排除したりするメカニズムツールを使用する。
<br></br>
- セキュリティイベントに備える
  - 組織の要件に合わせたインシデント管理及び調査のポリシーとプロセスを導入し、
  インシデントに備える。

## ③信頼性
AWS Well-Architected Framework 信頼性の柱での記載は以下の通りです。

> 信頼性の柱には、意図した機能を期待どおりに正しく一貫して実行する
> ワークロードの能力が含まれます。これには、ワークロードの
> ライフサイクル全体を通じてワークロードを運用およびテストする能力が含まれます。
> このホワイトペーパーでは、AWS で信頼性の高いワークロードを実装するための
> 詳しいベストプラクティスガイダンスを提供します。

### 設計原則（要約）
- 障害点から自動的に復旧する
   - 重要業績評価指標(KPI)をモニタリングし、自動操作で障害対応をトリガーする。
<br></br>
- 復旧手順をテストする
  - ワークロードが特定のシナリオで動作することを実証するために
  テストを実施する。
<br></br>
- 水平方向にスケールして集合的なワークロードの可用性を向上する
  -  単一の大規模なリソースを複数の小規模なリソースに置き換えることで、
  障害の影響を軽減する。
  - リクエストを複数の小規模なリソースに分散することで、
  一般的な障害店を共有しないようにする。
<br></br>
- キャパシティーを勘に頼らない
  - 需要とワークロード使用率をモニタリングし、リソースの追加と
  削除を軌道化することで、需要を満たせる最適なレベルを維持する。
<br></br>
- オートメーションで変更を管理する
  - インフラストラクチャの変更はオートメーションを利用して行う必要があり、
  管理する必要がある変更には自動化に対する変更が含まれており、
  それ追跡して確認することができる。 
## ④パフォーマンス効率
AWS Well-Architected Framework パフォーマンス効率の柱での記載は以下の通りです。

> パフォーマンス効率の柱では、要件を満たすためのコンピューティングリソースの効率的な使用、および需要の変化と技術の進化に合わせて効率性を維持する方法に焦点を当てています。

### 設計原則（要約）
<br></br>
- 最新テクノロジーを誰もが利用できるようにする
  - 複雑なタスクをクラウドベンダーに委託することによって、チームが高度なテクノロジーを実装できるようにする。
<br></br>
- わずか数分でグローバル展開する
  - 世界中にあるAWSリージョンにワークロードをデプロイすることで
  最小限のコストで、より低いレイテンシーと、
  優れたエクスペリエンスを提供できる。
<br></br>
- サーバーレスアーキテクチャを使用する
  - 従来のコンピューティングアクティビティのために物理的なサーバーを実行して
  維持する必要性を取り除く。
<br></br>
- より頻繁に実験する
  - 仮想化で自動化できるリソースを使うことで、異なるタイプの
  インスタンス、ストレージ、設定を使用した比較テストを簡単に実施できる。
<br></br>
- メカニカルシンパシーを重視する
  - 目標に最適なテクノロジーアプローチを使用する。

## ⑤コストの最適化
AWS Well-Architected Framework コストの最適化の柱での記載は以下の通りです。

> コスト最適化とは、システムのワークロードのライフサイクル全体にわたって改良、改善する継続的プロセスです。本ホワイトペーパーのプラクティスは、組織がコストを最小限に抑えて投資利益率を最大化すると同時に、ビジネス成果の達成につながるようなコストを意識したワークロードの構築および運用を支援します。

### 設計原則（要約）
<br></br>
- クラウド財務管理を実装する
  - クラウド財務面での成功を実感し、ビジネス価値の実現を加速するには、
  クラウド財務管理に投資する必要がある。
<br></br>
- 消費モデルを導入する
  - コンピューティングリソースの使用分のみを支払い、
  ビジネス案件に応じて使用料を増減することができる。
<br></br>
- 全体的な効率を測定する
  - ワークロードのビジネス成果と、提供にかかったコストを測定する。
<br></br>
- 差別化につながらない高負荷の作業に費用をかけるのをやめる
  - サーバーラックの準備や、機器の設置、電源確保などの
  面倒なデータセンターの運用作業はAWSが行う。
<br></br>
- 費用を分析し貴族関係を明らかにする
  - クラウドを使用すると、ワークロードの使用量と
  コストを正確に特定しやすくなり、ITコストと収益ストリームや、
  個別のワークロードの所有者との帰属関係が明瞭になる。

## ⑥持続可能性
AWS Well-Architected Framework 持続可能性の柱での記載は以下の通りです。

> 持続可能性を守ることで、お客さまのビジネスが環境、経済、社会に与える長期的な影響を解決します。それらの 国連の「環境と開発に関する世界委員会」は、 持続可能な開発を「将来の世代のニーズを満たす能力を損なうことなく、現在のニーズを満たす開発」と定義しています。 お客様の企業または組織が、環境によくない影響を与える可能性があります。直接的または間接的な炭素排出量、再利用できない廃棄物、清浄水などの共有資源に対するダメージなどです。<br>クラウドワークロードの構築において、持続可能性の実践とは、使用しているサービスの影響の理解、ワークロードのライフサイクル全体における影響の数値化、および設計原則とベストプラクティスの適用によるそれら影響の軽減化です。このドキュメントは、環境に対する影響、特にエネルギーの消費と効率性に焦点を当てています。アーキテクトにとって、リソースの使用量を削減するための直接的な対応がわかる重要な手段であるためです。

### 設計原則（要約）
<br></br>
- 影響を理解する
  - クラウドワークロードの影響を計測し、
  ワークロードの将来の影響をモデル化する。
<br></br>
- 持続可能性の目標を設定する
  - クラウドワークロードごとに、持続可能性の長期目標を立てる。
<br></br>
- 使用率を最大化する
  - ワークロードのサイズを適正化し効率的な設計を実装して、使用率を保ち、
  基盤となるハードウェアのエネルギーを最大化する。
<br></br>
- より効率的なハードウェアやソフトウェアの新製品を予測して採用する
  - パートナーやサプライヤーが行っているアップストリームの改善を
  サポートし、お客様のクラウドワークロードへの影響の軽減に役立てる。
<br></br>
- マネージドサービスを使用する
  - 広範な顧客ベースでサービスを共有することで、
  リソースの使用率を最大化できる。
<br></br>
- クラウドワークロードのダウンストリームの影響を軽減する
  - お客様のサービスを使用するために必要なエネルギーや
  リソースの量を削減します。
## ②Well-Architected フレームワークのさまざまな柱の<br></br>　相違点の特定

①Well-Archtectedフレームワークの柱の理解(運用上の優秀性、セキュリティ、信頼性、パフォーマンス効率、コスト最適化、持続可能性など)
で記載されていた内容を基に、それぞれの主な目的と相違点についてまとめていきます。

### 運用上の優秀性
- 主な目的
  - 運用プロセスの管理と改善
<br></br>
- 相違点
  - 他の柱ではシステムの可用性やセキュリティ、パフォーマンス、
  コストに関係するのに対し、運用の優秀性では運用プロセスの効率化や
  問題対応の改善に特化している。
### セキュリティ
- 主な目的
  - データとシステムの保護
<br></br>
- 相違点
  - 他の柱ではシステムのパフォーマンスやコスト、可用性、運用効率に
  関係するのに対し、セキュリティではデータ保護やリスク管理に特化している。
### 信頼性
- 主な目的
  - システムの可用性と障害からの回復
<br></br>
- 相違点
  - 他の柱ではシステムの運用効率やコスト、パフォーマンス、
  セキュリティに関係するのに対し、信頼性ではシステムの可用性の確保や
  障害からの迅速な回復に特化している。
### パフォーマンス効率
- 主な目的
  - リソースの最適な仕様と性能向上
<br></br>
- 相違点
  - 他の柱とではシステムの運用効率やコスト、可用性、
  セキュリティに関係するのに対し、パフォーマンス効率ではリソースの最適化と
  システムのパフォーマンス最大化に特化している。
### コスト最適化
- 主な目的
  - リソースのコスト管理と削減
<br></br>
- 相違点
  - 他の柱ではシステムのパフォーマンス、可用性、セキュリティ、
  運用効率に関係するのに対し、コスト最適化では無駄な支出の削減と
  コストの効率的な管理に特化している。
### 持続可能性
- 主な目的
  - 環境への配慮と持続可能な運用
<br></br>
- 相違点
  - 他の柱ではシステムの運用効率、コスト、パフォーマンス、セキュリティ、
  可用性に関係するのに対し、持続可能性では、環境の影響を最小限に抑える
  持続可能な運用に特化している。

# おわりに
以上がクラウドの分野、「クラウドの設計原則を理解するについて」でした。
主にWell-Architected Frameworkについての説明でしたが、
記載されている内容がすべてではありません。
これからもCLF合格に向けて勉強していきます。

## 参考文献
- https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/operational-excellence-pillar/welcome.html
- https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/security-pillar/welcome.html
- https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/reliability-pillar/welcome.html
- https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/performance-efficiency-pillar/welcome.html
- https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/cost-optimization-pillar/welcome.html
- https://docs.aws.amazon.com/ja_jp/wellarchitected/latest/sustainability-pillar/sustainability-pillar.html