Microsoft Azure最新機能(2014年5月)
Microsoft Azureプレビュー・ポータルの機能とは?
最近のAzureアップデートの中でもひときわインパクトのある「新しいAzure管理ポータル」。そのコンセプトや機能概要を一通り紹介する。
2014年4月2日~4日にかけてアメリカ・サンフランシスコで開催されたBuild 2014では、多くの新しい技術や製品が発表された。中でも2日目はMicrosoft Azure色が強く、大きなアップデートがいくつもあった。
この記事では、その中でもひときわインパクトのあるアップデート、新しいAzure管理ポータル(以下、「プレビュー・ポータル」と表記)について紹介する。
プレビュー・ポータル概要
プレビュー・ポータルでは、よりシンプルに、知りたい情報を見付けやすいように再構成されている。また、現行のポータルとは異なり、ユーザー自身によるカスタマイズが可能な点が大きく異なる。
そして大きなコンセプトとして、「DevOpsのライフサイクルへの組み込み」と「リソースマネジメント」の2点が挙げられる。
一般的なDevOpsのプロセスでは、開発(コードの管理、ビルド、テスト、展開)と運用(展開、モニタリングなど)が一連のサイクルとして流れていく。またアプリケーションの実装としてさまざまなインフラやサービスといったリソースを組み合わせて実現していくが、Microsoft Azureやこのプレビュー・ポータルではそれらを統合的に扱い、管理できるようになっている。
つまるところ、プレビュー・ポータルはアプリケーションのライフサイクルを格納するコンテナーであり、構成情報や展開情報を取りまとめるソリューションとして機能し、利用者に一貫した管理レイヤーを提供している。
次項以降では実際にプレビュー・ポータルに触れ、詳細を解説していく。
機能紹介
まず、最初にプレビュー・ポータルの全体像を把握しておこう。画面構成は図2の通りだ。
- 1ハブメニュー: 通知やブレードの切り替え、リソースの検索や追加を行うためのメニュー。
- 2ユーザーメニュー: 現在、サインインしているユーザー情報の表示、サブスクリプション(ディレクトリ)の切り替えや設定のリセットが行える。
- 3タイル: リソースなどを表すボタン。リソースに応じて表示される内容が異なる。クリックするとブレードが表示される。
- 4ブレード: リソースや機能をまとめて表示するための単位。
- 5レンズ: パーツをまとめたコンテナー。
- 6パーツ: 動的な情報を表示する最小単位。クリックすることでパーツ固有の設定や、さらにブレードを表示するなど動作が異なる。
ログイン直後に表示される画面は「スタートボード」と呼ばれる。スタートボードには、初期状態としてAzureのサービス稼働状況や課金状況、ヘルプなどのタイルが配置されており、各メニューやタイルをクリックすると、「ブレード」と呼ばれるパネルが右方向に展開されていく。
特徴的な点は、このブレードとタイルだ。利用者は、目的に応じてタイルをクリックし、ブレード内に表示されるさまざまな情報をドリルダウン的にたどっていくことができる。また各ブレードやパーツは、タイルとして「ピン留め」することで、頻繁にアクセスする機能や注視したい情報にすぐにアクセスすることが可能だ。
プレビュー・ポータルでは、ブレードやタイル、各パーツなどで右クリックによるコンテキストメニューが有効になっており、ピン留めやタイルのサイズ変更、配置の変更などが行える(図3)。
- 1ステータス: 現在表示されているブレードに応じた状態が表示される。
- 2最大化/閉じるボタン: ブレードの最大化(および縮小)と、ブレードを閉じることができる。最大化した場合、ウィンドウ横幅(=ブラウザーの横幅)全体にブレードが広がる。
- 3コマンド: 現在表示されているブレード固有機能へアクセスすることができるボタン。
- 4コンテキストメニュー: ブレードやパーツ、タイルを右クリックすることで表示されるメニュー。ピン留めやピン解除、サイズ変更などの他にパーツ固有の機能を実行できる。[Customize]を選択すれば、移動やサイズ変更が可能なカスタマイズ画面になる。
- 5[Done]ボタン: カスタマイズが完了した際に、このボタンをクリックすることで、状態を確定させることができる。
- 6タイルのカスタマイズメニュー: タイルの表示サイズやピン解除などが行える。また、タイルをドラッグすることで好きな位置にタイルを移動させることが可能だ。
タイルは表示されている大きさによって、機能ごとに表示形式が変わる。注視したいタイルは大きくし、必要な情報が表示されるようにするなど目的に合わせて自由に配置・設定するとよいだろう。
次にハブメニュー内の各項目を解説していこう。
Home
[Home]メニューは、ブレードをたどっていき階層が深くなった際に、いつでもスタートボードに戻ることができるメニューだ。作業をいったん中断したい場合などに使用するとよいだろう。
Notifications
[Notifications]メニューは、さまざまな通知をまとめたメニューだ。例えば作成中のサービスの進行状況や障害などの通知など、プレビュー・ポータル内で発生するさまざまな情報を受け取り、見ることができる。
- 1[History]リンク: 過去の通知をブレードに表示するリンク。
- 2通知一覧: 各通知の概要や進行状況の一覧が表示される。各通知はリンクになっており、クリックすることで関連するブレードが表示される。
Browse
[Browse]メニューは、プレビュー・ポータルで見ることができるリソースを探してアクセスできるメニューだ。例えばWebサイトの一覧など、リソースの種類に応じたブレードが表示される。なお、現時点ではAzureの全ての機能について管理できないため、見られるリソースが限られている点に注意が必要だ。
- 1[Everything]リンク: 全てのリソースが参照できるブレードを表示するリンク。
- 2リソース一覧: 参照したいリソースの一覧が表示される。それぞれリンクになっており、クリックすることで各リソースのブレードが表示される。
- 3[Browse]ブレード: [Everything]リンクをクリックすることで表示される、全てのリソースをまとめたブレード。ヘルプや新着情報などへのリンクも含まれている。
Journeys
[Journeys]メニューでは、現在開いている一連のブレードを切り替えたり、閉じたりすることが可能だ。ブラウザーのページを遷移せずに切り替えることができるため、途中まで進めた作業を破棄せずに別の作業を継続することが可能だ。
- 1ブレード一覧: 現在開いているブレードの一覧が表示される。また、画面に表示されているブレードは「Active」表示が付く。
- 2閉じるボタン: 不要なブレードはこのボタンをクリックすることで閉じることができる。
Billing
[Billing]メニューでは、現在のログインユーザーが保有しているAzureサブスクリプションの一覧と課金状況を見ることができる。契約の種類によってクレジットがある場合は残りクレジット額や、従量課金の場合は現在の課金額など、現行のポータルでは把握しにくかった情報をまとめて見ることができる。
サマリーだけでなく、各サブスクリプションのブレードを表示すれば使用量の内訳なども把握することが可能だ。
- 1[Summary]リンク: 課金情報のサマリーをブレードで表示するリンク。
- 2サブスクリプション一覧: ログインユーザーが保有しているAzureサブスクリプションの一覧が表示される。各サブスクリプションを選択することで、詳細ブレードを表示できる。
- 3課金情報のサマリーブレード: サブスクリプション全体での課金情報を参照できる。
- 4サブスクリプションの課金情報ブレード: 選択したサブスクリプションの課金情報の詳細を表示するブレード。
New
[New]メニューでは、新規にWebサイトやSQLデータベースなどのリソースを作成できる。このメニューでは、後述する「Azureテンプレート」と呼ばれるテンプレートを使用してWebサイト+データベースなどをまとめて作成可能だ。またギャラリーから個別に作成することも可能だが、現時点ではWebサイト、SQLデータベース、MySQLデータベース、Redis Cache、Visual Studio Onlineのチームプロジェクトを除いたほとんどの機能は作成できないため、現行のAzure管理ポータルから行う必要がある。
- 1[Everything]リンク: 一覧にないリソースを個別に作成するギャラリーブレードを表示するリンク。
- 2Azureテンプレート一覧: 主だったリソースを作成するためのリンク。クリックすると、選択したリソースに応じた新規作成用ブレードが表示される。
- 3ギャラリーブレード: カテゴリに応じたリソースや機能の一覧をまとめたブレード。
- 4外部リンクアイコン: プレビュー・ポータルでは作成できないリソースの場合、このアイコンが表示される。
リソースグループとAzureテンプレート
リソースグループ
ここまでの本文中にも「リソース」といった表現が出てきているが、このプレビュー・ポータルを理解する上で重要な概念のため、あらためて記載しておく。ここで述べる「Azure上のリソース」とは、これまでの「機能/サービス」といった単位ではなく、新しく定義・細分化された「Azure上の資源」を指す。
具体的にはWebサイトやSQLデータベースといったサービスとして現行ポータルでも参照できるものだけでなく、Webサイトで定義することができるアラートのルールやオートスケールの設定、プラン、チームプロジェクトなどVisual Studio Onlineとの接続情報、証明書情報などもリソースとして定義されている*1。図9は、リソースの種類と、それを利用できるリージョンの一覧を、Azure PowerShellコマンドで表示した例である。
- *1 現状、定義されているリソースの種類はまだまだ少なく、仮想マシンといった主だったサービスもリソースとして管理できない点は注意が必要だ。ただし、プレビュー・ポータルの拡充が進めば、必然的に実装されていくことになるだろう。
これらのリソースは、プレビュー・ポータル上のあちこちで見ることができる。例えばWebサイトのブレード内で表示されるアラート情報などもリソースと関連しており、タイルとしてピン留めすることも可能だ。
また、このリソースを論理的にまとめたグループを「リソースグループ」と呼ぶ。リソースグループは、Webアプリケーションや関連するデータベースなどの情報をまとめて管理しやすくするために利用する。内部的にはさまざまなリソースが含まれるが、プレビュー・ポータル上では主だったリソースが表示され、簡単にアクセスできるようになっている(図10)。
[Browse]メニューのリソース一覧の[Resource groups]から表示できるリソースマップ。リソースグループの中でも主だったリソースをまとめ、マッピングして表示できる。親子関係なども把握しやすい。
Azureテンプレート
Azureテンプレートとは、Azure上で新しくサービスなどを作成する際の基となるテンプレートのことを指す。例えばプレビュー・ポータルの[New]メニューのギャラリーからWordPressを作成する際、WebサイトだけでなくMySQLも作成できるが、このように、ある目的を達成するために必要となる関連リソースをまとめて作れるように定義したものが、Azureテンプレートになる。
Azureテンプレートの実体は、JSONで記述された使用するリソースの定義情報だ。Azure PowerShellのバージョン0.8.0以降で実装されたGet-AzureResourceGroupGalleryTemplateコマンドレットやSave-AzureResourceGroupGalleryTemplateコマンドレットを使用することで、これらの中身を見ることができる。
また、ユーザーが自身でテンプレート用のJSONを記述することで、コマンドからアプリケーションの展開を容易に行うことも可能だ。
- * リソース関連については、「Azure Resource Management」といったタイトルで、TechEd North America 2014でもセッションが設けられている。興味のある方はぜひこちらも参照していただきたい。
アプリケーションのライフサイクルの管理
最初にプレビュー・ポータルで強化された点として、DevOpsへの取り組みとして、アプリケーションのライフサイクルに注力している点を挙げたが、ここでは実際に強化された内容の一部を見てみよう。
継続的デプロイとVisual Studio Online連携
以前は「Visual Studio Online “Monaco”」と呼ばれていた、Webブラウザー上でのコード編集機能も組み込まれており、プレビュー・ポータル内からコードを参照して直接編集はもちろん、連携しているバージョン管理システムへのコミットなども可能だ(図11)。
さらにVisual Studio Onlineのチームプロジェクトの情報をプレビュー・ポータルでも見ることができ、自動ビルドの実行ログの参照や(図12)、コミット履歴の把握、ワークアイテムの状況を確認できる。
また、これまで“Kudu”(クーズー)と呼ばれていたAzure Webサイトのデプロイ管理用システムのGUIも一部統合されており、複数の管理用のWebページをまたぐことなくログの詳細確認や履歴の詳細をプレビュー・ポータルで見ることができる(図13)。
監視と診断
プレビュー・ポータルでは、各種モニタリングや分析情報がグラフィカルに表示されるようになっている。また閾値を設定して指標を超えた場合に電子メールでアラートを送信するといった機能も統合された(図14)。
死活監視機能としては「Webテスト」機能が追加され、一定間隔で指定したページにアクセスし、レスポンスタイムや稼働状況を把握できる。こちらの機能もモニタリング同様アラートを設定できる(図15)。
また、Application Insightsの機能も統合されており、Webアプリケーションにコードを埋め込みエンドユーザー分析を簡単に行うことが可能だ(図16)。
モニタリングだけでなく、Webアプリケーションの診断としては、“Kudu”で実装されていたログのストリーミングやコンソール操作が統合され、簡単にトレースログやアクセスログを参照可能だ(図17)。また、これまで同様リモートデバッグの設定なども行える。
もちろん、これらの情報はどれもタイルとしてスタートボードにピン留めできるので日々の開発や運用に役立つことは間違いないだろう。
制限事項とフィードバック
実際にプレビュー・ポータルにアクセスされた読者の方はすでにお気付きかと思われるが、プレビュー・ポータルではクラウドサービスや仮想マシンを含め、大部分のAzureの機能について管理できない。現時点ではAzure Webサイトに関連した機能が大半と思ってよいだろう。
今後、リリースに向かって機能拡充が行われていくが、管理方法や機能について、良い点・悪い点、要望など、利用した感想をぜひフィードバックしていただきたい。なおフィードバックはプレビュー・ポータル上にある下記リンクから行うことができる。
まとめ
現行のAzure管理ポータルのような機能単位ではなく、アプリケーションのライフサイクル視点に大きく変わったプレビュー・ポータルは、いかがだっただろうか。まだまだ不安定で未実装な部分も多く、管理できる範囲も少ないプレビュー・ポータルだが、これからのサービスの在り方や考え方を整理するには良い機会と思われる。
ぜひAzure PowerShellと併せて、モバイルファースト、クラウドファーストの時代の最先端を追いかけてほしい。
参考
最新Azureを解説する大規模カンファレンスのご紹介
5月29日(木)~5月30日(金)、マイクロソフトの最新技術情報(例えば本稿で解説したような内容)を日本語で日本人向けに提供するカンファレンス「de:code」が日本マイクロソフト主催で開催される。このカンファレンスは、米国時間で4月2~4日に開催された「Build 2014」の内容をベースに、さらに日本向けのプラスアルファを含めたものになる。詳しい内容は、リンク先を参照されたい。