Microsoft社のPatterns & PracticeチームよりCloud Design Patternsが正式公開されました。
現在は英語版のみの公開ですが、日本語化の予定もあるそうです。
しかしながら「日本語化されるまで待てない!」という方もいらっしゃるでしょう。
そこで、いくつかのパターンをピックアップし、その概要を解説させていただきたいと思います。
(最初に但し書きをさせていただきますが、これは原典の内容を私なりに解説させていただくものであり、翻訳ではありませんのでご了承ください。)
Cloud Design Patternsには、以下のカテゴリが存在します。
( 日本マイクロソフトによる正式な翻訳ではないため、用語の日本語訳と英語表記を併記しておきます。)
可用性(Availability) |
データ管理 (Data management i) |
設計と実装 (Design and Implementation ) |
メッセージング(Messaging) |
管理とモニタリング(Management and Monitoring ) |
パフォーマンスとスケーラビリティ(Performance and Scalability ) |
復旧性(Resiliency) |
セキュリティ(Security) |
この中から、「可用性」のトピックをご紹介していきましょう。
「可用性の」カテゴリでは以下のパターンが紹介されています。
・Health Endpoint Monitoring
・Queue-based Load Leveling
・Throttling
・Data Replication and Synchronization Guidance
・Multiple Datacenter Deployment Guidance
今回は、この中の「Health Endpoint Monitoring」を紹介したいと思います。
日本語でいうところの「エンドポイントの死活監視」といったところでしょうか?
エージェントを起動しておき、定期的にPingを送信することで、エンドポイントの応答性を測定します。
このエージェントは主に、以下の項目を確認します。
・クラウド ストレージまたはデータベースの可用性と応答時間の確認
・アプリーション内部または外部に存在し、アプリケーションが利用するサービスやリソースの確認
このパターンでは、エンドポイントのレスポンスを測定し、そのエンドポイントの健康状態(応答性など)をチェックする例が紹介されています。
このようなサービスは、Windows AzureのWebエンドポイント監視やSystem Center Operation Manager、そしてサードパーティー製のツール等で実現されています。
それでは、どのような場合に使うべきでしょうか?
パターンの中では以下のケースを挙げています。
・WebサイトやWebアプリケーションの可用性を検証するためにモニタリングを実施する場合
・WebサイトやWebアプリケーションが正しく動作していることをモニタリングする場合
・障害発生により他のアプリケーションの動作を中断させるようなアプリケーション中間層や共有サービスが存在するため、障害を検知し分離するため にモニタリングを実施する必要がある場合
・パフォーマンスカウンターや、エラーハンドリングなど、アプリケーションの動作状態を監視するために提供されている既存機能を利用したい場合
原典では、実際に機能を利用するためのサンプルコードも提供されています。
併せて参照されることをお勧めします。
Comments are closed here.