前回、プライベートクラウド利用者としてAzure Stackを使った仮想マシン作成について説明しました。パブリックなクラウドMicrosoft Azureを使ったことがある方は「これほどまで同じなのか」と思ったことでしょうし、Microsoft Azureのことを知らない方は設定画面1つ1つの意味を理解しながら読み進めていただいたことでしょう。今回からは、Azure Stackのアーキテクチャについて3回に分けて解説します。

Azure Stack のアーキテクチャ

まずは、Azure Stackの簡易アーキテクチャを見てみましょう。

Azure Stackの簡易アーキテクチャ

上から「ポータル」「管理基盤」「拡張可能なサービスフレームワーク」、そして「クラウドインフラのリソース」と階層化されています。これまで企業内インフラの主役だった仮想化基盤との大きな違いは、ITのサービス化です。「利用者が利用したい時にリソースを届ける」というパブリックなクラウドと同じコンセプトなので、ユーザーインタフェースにもこだわりが必要ですし、管理の自動化は当然のことながら、基盤の管理者による自動化だけでなく、このクラウド基盤を利用する人による自動化も受け止めていかなければなりません。

さらに昨今、クラウドが普及したことによって「ITシステムは放置していると陳腐化するもの」という認識が生まれていますが、Azure Stackは拡張可能なサービスフレームワークによってAzure Stack自身を柔軟に進化させていく仕組みを持っています。

Azureと同じポータル画面

まずは、管理者や利用者がアクセスするポータルから見ていきましょう。

Azure Stackのポータル画面

このポータルは、開発中には「Ibiza(イビサ)」という名前で呼ばれていました。今ではすっかりMicrosoft Azureの顔になり、Azure Stackも同じユーザーインタフェースを持っています。Microsoft Azureとの大きな違いは、左上にある「Microsoft Azure Stack」の文字くらいでしょう。この文字をクリックするとホームに戻り、新しく作る場合は「New」を、既存のリソースを表示する際には「Browse」をクリックします。左上から始まり右へ右へと作業画面が流れていくシンプルなパターンは、世界中の利用者に対してわかりやすさとブレない操作パターンを提供してくれます。

ITインフラ製品は通常、それぞれに特化した管理画面を持っており、専門性を持ったエンジニアのために作られていることも少なくありません。ただ、このポータルはMicrosoft Azure/Azure Stackの多種多様なサービスを1つの画面から管理するものであり、しかも世界中の利用者に使われます。さらにこの「利用者」は、ITの専門家とは限らないのです。迅速に業務を遂行したいと考える事業部門の方が、このポータルを使ってITリソースを借り出して使ってみることもあるでしょう。そういう意味では、専門家が喜ぶものが正しいとは限らない難しい状況の中で、高度なITを提供するユーザーインタフェースが求められています。

ちなみに、最近のMicrosoft AzureではWindows Serverの管理画面もこのポータル内で提供しており、このIbizaポータルは、製品やサービスを超えた共通の管理UIという側面も持ち始めています。

コラム

ユーザーインタフェースの良し悪しは好みにもよると思いますが、今後クラウド化の流れとともにInfrastructure as codeやコマンド・スクリプト・APIによる自動化が徐々に浸透していくことでしょう。ITエンジニアの作業もそちらにシフトしていくとしたら、ユーザーインタフェースは玄人向けに生産性を追い求めるのではなく、これまで以上に誰でも使えるものが求められるようになる可能性もあります。あくまでも筆者の個人的な見解ですが、このIbizaポータルには、そんな匂いを感じます。

今のマイクロソフトはフィードバックありきの開発スタイルをとっているため、気になる点があればぜひフィードバックをお願いします。

Azure Stackのフィードバックと履歴についてはこちら
Azure Portalに関するフィードバックと履歴についてはこちら

それからもう1つ、自分でAzure Stackをセットアップした方は、「Azure Active Directory」の管理画面もご覧になったと思います。Microsoft Azureには、サービス開始当初から使われていた「クラシックポータル」と呼ばれるポータルがあり、新しいポータルへの移行はかなり進んでいるものの、今でもAzure Active Directoryや「Azure RemoteApp」など、一部のサービスでは利用されています。そして、Azure StackではAzure Active Directoryの利用が必須なので、しばらくの間は2種類のポータルを操作することになります。

Azure Resource Managerに見る管理の共通モデル

Azure Stackのアーキテクチャの中でも、皆さんにぜひ押さえておいていただきたいのが「Azure Resource Manager」です。先述のとおり、Azureは新しいポータルへと移行している最中ですが、実はこの作業の裏には管理基盤の変更という大きな出来事がありました。そして、その変更によって新しくなった管理基盤がAzure Resource Managerであり、この管理基盤をオンプレミスに持ち込めるのがAzure Stackということです。

ハイブリッドで共通の管理機能を提供するAzure Resource Manager

この部分がMicrosoft Azureと共通化されているために、Microsoft AzureとAzure Stackの間にはユーザーインタフェースだけでなく、コマンドやPowerShellスクリプト、開発ツールからの呼び出しまでもが共通化されているわけです。今後重要となるであろうInfrastructure as codeの実現、そしてハイブリッドクラウドにおけるテンプレートの共通化なども、このAzure Resource Managerがカギを握ることになります。

ちなみに、Microsoft Azureの作業の効率化に大きな影響を与えるのがInfrastructure as code用のテンプレートです。これは、「Azure Quick Start Template」としてMicrosoft Azureのポータルやgithubで公開されています。また、同じコンセプトを持つAzure Stack用のテンプレートも「Azure Stack Quick Start Template」(https://github.com/Azure/AzureStack-QuickStart-Templates) という形でgithubに用意されています。

これらが整備されていけば、現時点では「パブリックなクラウドだからできる」と言われている次のような作業がオンプレミスの環境でも実現できます。

  • ハイブリッドで利用可能なInfrastructure as codeテンプレートの作成と展開
  • ハイブリッドで利用可能な PowerShell スクリプトの作成と実行
  • ハイブリッドで利用可能な Azureコマンドベースのスクリプトと作成と実行
  • ハイブリッドに展開可能な1つのアプリケーション/システムの開発

Azure StackによるInfrastructure as codeの実現については、別途解説することにしましょう。

* * *

今回は、Azure Stackのアーキテクチャについて、ユーザーインタフェースと管理基盤の部分を説明しました。次回は、Azure StackのコアサービスやFoundation Serviceについて解説します。

日本マイクロソフト株式会社
エバンジェリスト
高添 修

マイクロソフトのインフラ系エバンジェリストとして、10年以上も第一線で活動。クラウド技術からWindows 10、VDIにSDN、DevOpsなど担当する領域は広く、現在は年間100回以上のセッション、案件支援、記事執筆、コミュニティ活動などを通じて最新技術の発信を続けている。

マイクロソフトのオンライン情報発信チャンネル「Channel9」のTech Fieldersでは、現場で活躍するエンジニアに有益な情報を提供している。筆者は7月上旬にAzure Stackをテーマに投稿予定。