2011年6月15日水曜日

Tech Fielders セミナー 東京 「Windows Azure Platform 最新情報 2011 年 6 月版 & そろそろリアルな運用についても考えてみよう」 受講メモ

セミナーを受講しながら、自分で気になった点をまとめてみましたので、さらしておきます。

第一部 Windows Azure Platform最新情報

Traffic Manager
Windows Azure Virtual Networkに実装された新機能で、データセンター/ホストをまたがってリクエストを負荷分散する
ロードバランサー/CDNとはどう違うか
→データセンターをまたがって、3つのメソッドを選びリスクストを負荷分散できる。
 Performance:ネットワークアクセスのコストが安価なホストサービスにリクエストを割り振るパターン
 Failover:時点に定義した優先順位に基づいてホストサービスにリスクエストを割り振るパターン
 Round Robin:いわゆる普通のラウンドロビン=平等にリスクエストを割り振るパターン

CDN
Webロール、VMロール、Blobストレージを対象とするコンテンツ配信ネットワーク。
ワールドワイドで日本を含めて24箇所にエッジサーバーを設置。
カスタムドメインにも対応。
リアルタイムにキャッシュが削除されるわけではない。
設定ベースでURL reWriteが可能。
TTLでは、ファイルの最終更新時刻から現在までの時間の20%より、最大72時間の縛りが優先される。

Windows Azure AppFablic アプリケーションプラットフォーム
クラウドとサーバーアプリケーソンのためのプラットフォームとミドルウェアサービスとして位置づけられる。
開発のツールとしてAppFablic Developer ToolsがVSの追加機能(アドイン的)が追加される。
アプリケーションを開発した時のメタデータ(コンポジションモデル=アプリケーションアーキテクチャ)が、AppFablicに追加されるAppManagerによってデプロイに使われる。
AppManagerは、アプリケーションの動作ログを収集し、アプリの健全性を確認。必要なアクションをとるための情報にもなる。
AppFablicにより、クラウドなのか、サーバーなのかということは気にせず開発できる。
サービスバスの拡張として、メッセージングのキューが改良される。
キューは、SQL Azureを使った信頼性が高い、永続的なストレージとして使える。
→HTTP/RESTにも対応しているので、Java等でも利用可能。
トピックとは、キューの機能にパブリッシュ/サブスクライブを加えたもの。サブスクリプションにフィルタとアクションを設定可能。
→フィルタは、SQLライク。

AppFabric ACS V2
クラウドアプリケーションのユーザーデータベースを持たずに認証/認可を行う。
クラウドにいろいろある認証機関、複数のAD FSのクレーム/アサーションに対応できる。
SAML 2.0プロトコルにもそのうち対応するらしい。
WIFは、SAML 2.0プロトコルに対してPreview版で対応。
→Shiboleth、OpenAMなどと連携するアプリを.NETで作成できる。

SQL Azure
50GB以上に緩和される予定とのこと。
OData Serviceは、REST APIを使用したHTTPSアクセスが可能(1433を開けてオンプレミスのデータベースとアクセスしたくない場合に有効)
→認証は、OAuth WRAPに対応。
SQL Azure Reportingは、Windows Azureのレポーティングサービス。
移行/同期/バックアップには、DataSync Serviceも使える(ブラウザベースの設定でOK)。現在は、プレビュー版。
→差分コピー
→プレビュー版の申し込みは締め切り済み。
→bcpコマンドもSQL Azureに対応。
データベースクローン機能は、Create databaseのas copyu of句を使うことで実現できる。
→データセンター内のみ、データセンター間は、DataSync Serviceで対応。
BACPAC=DAC+データベースのDATA
→データベースを最適なクラウドリソースにプロビジョニングする際に有効な機能。
Scale-out Multi-tenant Applicationには、SQL Azureでは難しい。Shardingという巨大なデータベースを小さなデータベースに分割する機能に対応するSQL Federatoinsを利用する。

第2部 Windows Azure Platform 運用設計

IT Proに求められる作業
・運用のベストプラクティスとして、アンチパターンの蓄積、クラウドベンダーごとの傾向を蓄積しておく必要がある。
・テクノロジー検証として、相互検証、他社連携が必須。
・パフォーマンスは、インスタンスの増減で制御するが、コストと密接に関連するので、どうするのかよく考える必要がある。
・ランニングコストの予測は、運用プロセスと密接に関係する。従量課金ゆえに、インスタンスを残すのか、お金を節約するのかの判断が求められる。

運用上の留意点
・サービス展開に関する考慮
 ・OSはインストールできないと心得る。
 ・サービス展開後の環境変更は、永続的でないかもしれない。
 ・機能の追加や変更は、スタートアップタスクで実行する。この方法で環境変更が永続的なものになる。ただし設定ミスを解消するためには、再デプロイが必要であり15以上のロスを考慮する必要がある。
 ・OSに対する管理者権限はない。常に管理者権限が必要な操作やアプリに注意を払う。ADMINモードはある。
 ・Fabric ControllerとRoot VM間で監視情報をやり取りする(ここは、Hyper-Vとは違う)
 ・Webロール/Workerロールのバージョンに対するOS情報、パッチ適用情報、機能については、msdnサイトにて公開されている。足りない機能はスタートアップタスクで追加する。
 ・ローカルストレージは、コンピュートノードが持つ一時的な記憶領域。
  ・永続的なデータ保管はできない。セッション情報は、ここに保管しないこと。
  ・事前に契約した容量のみが使える(対して、ストレージノードは使った分を課金)
  ・残したいデータは、永続ストレージに残す。ただし、REST API故、スピードはオンプレミスより劣る可能性がある。
  ・cドライブには多少永続的にデータが保存できるが、Azure Storageに定期的にコピーしておくこと。
性能に関する考慮
・お金で性能が買えない。
 ・スケールアップに限界がある。
・スケールアウトには適しているので、違いをよく理解する。
・永続ストレージは、オンプレミスに劣る可能性がある。
・ネットワーク的な距離(レイテンシ)が性能に響く。

アップデート/アップグレードに関する考慮
・In-Place Upgradeでインスタンスに勝手に停止するため、複数のインスタンスを用意しておく。
 ・SLAの99.95%は、2つ以上のインスタンスがある場合にのみ担保される。
 ・パッチは、それが適用されたVHD(OSイメージ)に差し替えられる。
  ・これを一度にアップグレードする単位であるUpdate Domainごとに、アップデート(OSイメージの差し替え)が起きる。
 ・メッセージフォーマットの変更など、Worker Roleが新しくなるまで対応できないことがある。
・アップデートによって、Cドライブ以外(DおよびEドライブ)の書き込み情報(差分情報)は破棄されるので注意。
ホストOSの障害/メンテナンスへの考慮
・ホストOSのメンテナンスやハードウェア故障には、Fault Domainによりリスクを分散できる。
 ・Fault Domainは、ラック相当を一つの単位として、インスタンスを別々のFault Domainに置くように構成(自動的)
 ・Eドライブは、必ずリセットされると心得る。
管理/監視手法に関する考慮
・サービス定義ファイルに対して、開発者が設定しておく部分がある。
・管理機能を有効化できるのは、サービス展開時のみ。
・ADMIN MODEを使う場合は、サービス定義ファイルに設定が必要。
 ・管理者権限を持たせることによるリスクも考慮
・PowerShellを使って管理する。
 ・管理ポータルの自動化は簡単にできる。
 ・ゲストOSの管理は既定でできない。
  ・Windows Azure Connect経由でPowerShellを実行することになる。
各種ログに関する考慮
・ローカルストレージに格納されているので、診断モニタを有効にして、ストレージに転送すること。
 ・そうしておけば設定変更は、PowerShellで可能。
 ・ただし、ストレージの課金状況に注意。
・診断ログは、AzureのMMCコンソールのいろいろな機能によって、効率的に入手することができる。
・診断ログのキャッシュ容量で、ログあふれ、過大な課金についてベストプラクティスを見つけることが必要。
コストへの考慮
・使用したリソースは、必ず課金される。
 ・作業データは置かないこと。
 ・不必要なインスタンスは削除する。
 ・データ転送は、局所化する。
 ・SQL Azureのデータベースは最低限のもので契約。
開発者との連携
・アーキテクチャの設計
 ・個人情報を保持しないアーキテクチャにするよう要請
 ・永続的ストレージは、使っただけ課金されることを考慮して設計
 ・監視ポイントは、診断モニタで回収できるように調整し、ログ等の回収に万全を期すこと
・パッケージに埋め込んでもらう設定
 ・公開されるガイドを見ておく
IT Proは、コアとなる知識を生かしつつ、開発者などとコミュニケーションを密にすることが必要。

第3部 Tech Edアップデートと絶対にお勧めできないVMロールの活用法
Tech Edアップデート
Windows Azureの機能アップが今夏にある。
Windows Azure Connectロードマップ
・CTP Refreshに伴い英語以外のOSもサポートされる。
VMロールを利用する理由
・インストールが長い(概ね5分以上)
・手動インストールや設定が必要
・インストール/設定が必要なもの
SQL Server、SharePoint Server、Exchange Serverの利用はお勧めできない。
・システムドライブのデータが永続的でないため、運用環境には向かない。
 ・Web/Workerロールとシステムドライブの構成が異なる(CおよびDドライブ)。Dドライブはリイメージされないはず。
 ・Blobをドライブにマウントする感じで、データの永続化は可能。パフォーマンス劣化あり。
・マルチインスタンスでは、データの同期が課題となる。
 ・マルチインスタンスでは、ページBlobへ同時に書き込めない。
 ・sysprepの問題もある。
・ライセンスの問題
 ・VMロールでは、リモートデスクトップサービス、RMSの利用が認められない。
  ・Microsoft Online Serviceの許諾ドキュメントに明記!
 ・SDKは、インストールできない。デバック機能がAzureのAgent?と競合する。
"Web/Workerロールと特権の昇格でできないか"を検討
VMロールで使うアプリケーションのライセンスについて確認しておくことが重要。

VMロールで日本語版のアップロードが可能になっている(正式サポートではないが)。
→Azureのサポートも日本語で行われているので、可能ならフィードバックをお願いしたいとのこと。


0 件のコメント:

コメントを投稿