既存のWindows環境と互換性が高いとはいえ、Windows Azureはクラウド上に存在するプラットフォームだ。両者には自ずと違いがある。筆者の経験に基づき、ユーザー企業が知っておくべき六つの鉄則を紹介する。
鉄則1:アプリケーションの種類を厳選せよ
Windows Azureを便利と感じたとしても、やみ雲に何でもクラウドに持って行くのは得策ではない。アプリケーションの種類によってはクラウドに移すべきでないものも多く存在するからだ。
まずはクラウドというプラットフォームの特徴に親和性の高いアプリケーションか否か、クラウドに移すことでクラウドならではの利点を得られるかどうかを検討する必要がある。
柔軟で高いスケーラビリティ、使った分だけ支払う従量制の料金体系といった特徴を考慮すると、クラウドに向いているのは、処理負荷の変動が激しいアプリケーションである。期間限定でサービスを提供する必要があるアプリケーションも、クラウドに展開したほうがよいことが多い。
一方で定常的に負荷がかかり続けるアプリケーションの場合、クラウドに展開するよりも自社で運用する方が適している場合がある。従量制の料金体系の場合、クラウドに移すことで自社運用よりもかえって高く付くおそれがあるからだ。可用性やパフォーマンスなども考慮すると、自社で運用した方が総合的なコストパフォーマンスは高くなる。
企業活動の中核となるミッションクリティカルかつ機密性の高いデータを取り扱うアプリケーションも、筆者自身はクラウドに置くべきではないと考えている。特に、個人情報などの管理方法が法律で定められている情報を取り扱うアプリケーションのクラウドへの展開は慎重に考えるべきである。
鉄則2:ハイブリッド型のモデルを検討すべし
オンプレミス(自社運用)とクラウドの双方の特徴を組み合わせた「ハイブリッド型」のシステムを採用することも、クラウドの活用としては有効な手段である。Windows Azure Platformではハイブリッド型システムを実現するためのサービスとしてWindows Azure platform AppFabricが提供されている。Windows Azure Platformはハイブリッド型システムの構築を最初から視野に入れたプラットフォームであるといえる。
すべてのアプリケーションをクラウドに配置することが難しいケースでも、一部機能をクラウドに切り出すのが有効な場合がある。一例がEコマースのシステムにおけるショッピングカート機能だ。チェックアウト(決済処理)の間だけ顧客データやカートの中身をクラウドに格納しておき、チェックアウトが完了したらクラウドから消滅させる。
この場合、注文確定前の一時的なデータの状態をクラウドに保存し、確定した段階でデータをオンプレミスに転送する、といった処理方式になる。Windows Azure platformが提供するシステム連携機能である「AppFabricサービスバス」などを使って、注文確定時に確定情報をオンプレミスに転送するように設定しておけばよい。