AWSクラウドプラクティショナー①
クラウド
インターネット経由でサーバーやデータベース、アプリケーションを利用できるサービスのことをクラウドという。
代表的なサービスとして、AWSやGoogle Cloud Platform、Microsoft Azure挙げられる。
オンプレミス
オンプレミスとは、サーバーやネットワーク、ソフトウェアを自分たちで導入や運用することである。
対照的に、クラウドは開発基盤を提供してくれているため、コーディングまでの準備がかなり短縮できる。
AWSクラウドのメリット
- 環境構築という固定費が、従量課金性という変動費に変わる
- スケールによるコスト削減
- やりとりが増えた時だけ、サーバー強化できる
- 瞬間的速度と平均速度が速い
- データセンターの保守・運用がいらなくなる
- 数分で全世界に届けることができる
クラウドの設計
Design for Failure
「故障に備えた設計」という意味であり、故障が起きることを前提に、故障が起きても故障を処理する仕組みをあらかじめ導入するという考え方である。
Amazon SQS
Amazon Simple Queue Serviceの略であり、AWSが提供するメッセージングサービスの1つで、分散システムの間で非同期でメッセージを送受信するためのキューイングサービスである。
可用性が高く、スケーラブルで、信頼性の高い方法で、非同期にデータの送受信ができる。そのため、大量のメッセージを処理することもできる。また、このようにシステムのコンポーネントが独立し、相互干渉せず拡張可能な状態を、疎結合という。
システムの弾力性
弾力性とは、リソースの性能を容易にスケールアウトしたり、スケールインできることである。クラウドであれば、簡単に絵リソースを増やせるので、弾力性が高い。
スケールアウト
システムを拡張するために、ハードウェアリソース(サーバー、ストレージ、ネットワークなど)を追加すること。これにより、システムの能力を増やすことができる。
例えば、ウェブサイトが急激なトラフィックの増加に対応するため、サーバーを追加すること。
スケールイン
システムを縮小するために、ハードウェアリソースを削除すること。これにより、システムのコストを削減することができる。
例えば、トラフィックが低下したウェブサイトで、不要なサーバーをシャットダウンすること。
弾力性の実現方法
- 巡回スケーリング
- 一定間隔で発生するスケーリング
- イベントベーススケーリング
- クリスマスイベントなどのビッグイベントに伴うスケーリング
- オンデマンドの自動スケーリング
- 監視サービスを利用し、項目の大小に応じたスケーリング
並列化
ロードバランサーとは、トラフィックを複数のサーバーに均等に分散することができる負荷分散装置である。このロードバランサーを用いて、並列化による処理の高速化が可能になる。
例えば、ウェブアプリケーションを提供しているサーバーが負荷に耐えられなくなった場合、新たにサーバーを追加して負荷分散を行うことで、アプリケーションの性能を改善することができる。これにより、アプリケーションの処理能力が向上し、同時に複数のユーザーからのリクエストを迅速に処理することができる。
AWS Well-Architected フレームワーク
AWS Well-Architected フレームワークは、AWSのサービスを使用してアプリケーションやワークロードを設計・構築する際のベストプラクティスを提供する枠組み。
AWS Well-Architected フレームワークは、アプリケーションやワークロードを5つの重要な柱に分け、それぞれの柱について最良のプラクティスを提供している。これらの柱は以下の通り。
- セキュリティ
- 信頼性
- パフォーマンス効率
- コスト最適化
- 優れた運用効率
- 持続可能性
Discussion