IaaS がさらに簡単に
このポストは、4 月 29 日に投稿された IaaS Just Got Easier. Again の翻訳です。
マイクロソフトは 3 年前の Meet Azure イベント (英語) で初めて Virtual Machines サービスをご紹介しました。その際は、即応性が高く強力な新しい Virtual Machines を使用すれば、アプリケーションの起動やデプロイがどれほど容易になるかを解説し、Azure で動作する初の Linux VM も披露しました。
そしてこのたび、Azure Resource Manager を使用してテンプレートベースでコンピューティング、ネットワーク、ストレージをデプロイする機能のパブリック プレビューをリリースしました。今回のリリースの目標は、大規模で複雑なアプリケーションの構築、デプロイ、管理の作業をシンプルなアクションに変換することです。この新しいテンプレート言語を使用すれば、VM、Virtual Network、Storage アカウント、NIC、Load Balancer のほか、App Service や SQL Database のような PaaS サービスを、一貫性のある単一のアプリケーション モデル内に簡単にまとめることができます。統合された拡張機能のサポートにより、VM 上で直接アプリケーションのインストールをモデル化することが可能です。デプロイ後は、任意のリソースに簡単にタグ付けできるため、リソースの管理が簡単になります。さらに、ロールベースのアクセスを API レベルで設定できるため、必要なセキュリティを確保しながら、Azure CLI や PowerShell を使用するのと同じくらいスピーディで簡単なデプロイメントが可能になります。DevOps にかかわる開発者、システム管理者、エンジニアの皆様は、これまでにないスピードで簡単に VM を使用したアプリケーションの作成と管理を実現できます。
このパブリック プレビューは現在、米国東部、米国西部、西ヨーロッパ、東アジア、東南アジアの各リージョンでご利用いただけます。
便利なテンプレート
昨年の Azure Resource Manager のリリース時に、さまざまなサービスを Azure にデプロイできる新しい JSON ベースのテンプレート言語を導入しましたが、今回のリリースでは、テンプレートに Virtual Machines、Virtual Network、可用性セット、ネットワーク インターフェイス (NIC)、Storage アカウント、Load Balancer、Network Security Groups、パブリック IP のサポートが追加されました。今後は、グループで共同編集可能なシンプルなファイルを使用して、複雑なアプリケーションに必要なものすべてを作成できます。また、異なるリソースを特定の依存関係チェーンに従ってデプロイしたり、必要に応じてリソース間でパラメーターを受け渡したりすることもできます。
Virtual Machines のデプロイメントと、Web Apps、SQL Database、Azure Automation といった Azure で提供されているその他のサービスを組み合わせることも可能です。PaaS と IaaS の境界をまったく意識することなく、Azure プラットフォーム全体でサービスやソリューションを必要に応じて組み合わせることができます。
これらのテンプレートを編集する場合は、好みの JSON エディターを使用するか、GitHub、または新しいポータルで直接編集します。あるいは、最新の Visual Studio 用 Azure SDK (英語) の Azure Resource Manager テンプレートを編集する新機能を使用することもできます。
PowerShell (英語) または Azure CLI (英語) を使用すると、これらのテンプレートのデプロイメントを完全に自動化できます。デプロイメントの手順は非常にシンプルです。以下のコマンドで、Azure GitHub リポジトリ (英語) から直接デプロイ可能です。
Azure CLI:
azure group create --name LinuxRG --location "West US"
azure group deployment create --resource-group LinuxRG --template-uri
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-simple-windows-vm/azuredeploy.json"
PowerShell:
New-AzureResourceGroup -Name WindowsRG -TemplateUri
https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-simple-windows-vm/azuredeploy.json"
構成の拡張
Azure VM の独自の機能の 1 つとして、拡張テクノロジがあります。VM 拡張機能を使用すれば、VM のライフサイクル内の任意の時点で、さまざまな構成、セキュリティ、管理、自動化テクノロジを仮想マシンに直接デプロイすることができます。これには、マイクロソフトが開発した拡張機能も含まれます。たとえば、PowerShell DSC、Microsoft Antimalware、bash スクリプト拡張などがあります。パートナー ソリューション向けの拡張機能には、Docker、Chef および Puppet による構成の拡張 (英語)、Symantec、MacAfee、Trend Micro のマルウェア対策ソリューションなどがあります。
今回の発表により、拡張機能のメリットとテンプレートの即応性、再利用可能性、依存性を組み合わせたソリューションを作成できるようになりました。たとえば、Windows または Linux の VM を作成し、最新の Chef エージェントを起動して、ホストされている Chef サーバーに自動的に接続するというテンプレートが用意されています。VM をデプロイし、Django (英語)、Jenkins (英語)、Kafka (英語)、ElasticSearch (英語)、Apache (英語)、または VM の Zookeeper クラスター (英語) を自動的にインストールするテンプレートも用意されています。また、新しいテンプレート モデルを使用した DataStax のデプロイメントに関する詳しいドキュメント (英語) も公開されています。私が特に気に入っているのは、Docker 拡張機能をデプロイし、Ubuntu VM で Docker (英語) を構成し、拡張機能のテンプレート言語を使用して直接この構成を Docker Compose に渡すシンプルなテンプレートです。
Azure.com のテンプレート ページでは、これらのテンプレートのほかにも、多数のテンプレートが提供されています。
以下は、Docker 拡張機能を使用したシンプルなテンプレートの一部抜粋です。
このテンプレートが使いやすいように、ポータルには以下のようなシンプルなボタンが用意されています。
このボタンをクリックするだけで、次のようにデプロイできます。
VM 拡張機能と IaaS の新しいテンプレート サポートを組み合わせることにより、他のクラウド プロバイダーに類を見ない、まったく新しい自動化とコラボレーションを実現できるようになります。
新しいプラットフォームを提供する新たなパートナー
仮想マシンを起動して管理する柔軟でシンプルなモデルが登場したことにより、Azure プラットフォームに新たなパートナーを迎えることになりました。本日、Azure で Mesosphere Datacenter Operating System (DCOS) をサポートすることを発表しました。これにより、Azure のコンテナー デプロイメントとオーケストレーション ソリューションの選択肢がさらに広がることになります。Mesosphere DCOS は、Docker Swarm、Docker Compose など、Azure で利用可能な既存のオーケストレーション ソリューションと簡単に統合できます。この新しいサポートの詳細については、Mark のセッションとこちらのブログ記事 (英語) をご覧ください。Azure で動作する Mesosphere DCOS (英語) のパブリック ベータ版にサインアップすることもできます。
Azure では、Canonical 社 (Ubuntu の開発主体) が開発しているオープンソースの汎用モデリング言語、Juju とのプラットフォーム統合も実現されます。このサポートの詳細については、こちらの記事 (英語) をご覧ください。Azure で Juju を試用するには、こちらのテンプレート (英語) をご利用ください。ほんの数分で使い始めることができます。さらに、オープンなクラウド管理プラットフォーム Scalr (英語) も Azure プラットフォームでサポートされるようになります。Rightscale (英語) では引き続き Azure プラットフォームの管理がサポートされ、複数のクラウド間でクラウド ポートフォリオ管理を行うことができます。
マイクロソフトでは、先週発表した Server Fabric アプリケーション プラットフォームをさらに拡張し、一般的なサードパーティ PaaS ソリューションを Azure でサポートするプランも発表しました。これにより、たとえばオープン ソースの PaaS プラットフォームである Cloud Foundry (英語)、世界中にプロバイダーのネットワークを持つ多言語 PaaS の Jelastic (英語)、エンタープライズ プライベート PaaS 製品の Apprenda (英語) などのソリューションがサポートされるようになります。マイクロソフトは、Azure プラットフォームで最大限の選択肢と柔軟性を提供できるように取り組んでいます。マイクロソフトが提供しているかパートナーが提供しているかにかかわらず、この幅広い PaaS サービスを使用することで、開発、デプロイ、管理上のあらゆるニーズを満たすことができます。
これらのイノベーションとパートナーシップにより、開発者は運用作業ではなく、イノベーションに多くの力を注ぐことができます。それにより、企業は Azure で強い競争力を実現することができるのです。
セキュリティ機能を強化
テンプレートを使ったデプロイメントがもたらす柔軟性に加え、Azure Resource Manager におけるコンピューティング、ストレージ、ネットワークのサポートでは、ポータルでも、API、PS、Azure CLI 使用時にも、完全な Roles Based Access Control (RBAC) を提供します。これにより、開発者が PowerShell や Azure CLI を使用する場合にも、さまざまな環境へのアクセスを制御することができます。
タグ付け、追跡、課金
Azure Resource Manager の今回の新たなサポートにより、コンピューティング、ネットワーク、ストレージで利用可能なリソースに直接タグ付けを行えるようになります。このタグは、グループ化や関連付けの目的で個々のリソースに活用できます。これから数週間以内に、タグが請求書内のリソースに関連付けられます。これにより、組織内の利用量をタグ、リソース タイプ、サブスクリプション別に追跡できるようになります。ホスティング企業、大手 IT 企業、小規模なスタートアップ企業にかかわらず、タグ付けを活用することで、複雑な利用パターンを非常に簡単に追跡できます。タグの設定はポータル内で直接行うことができるほか、Azure CLI や PowerShell を使用することもできます。
たとえば Linux で Azure CLI を使用する場合、次のコマンドを実行します。
azure vm set -vv -t team=Azure Linux5 MyUbuntuVM
タグ付けの機能は、ポータルでは次のように表示されます。
ハイブリッド環境での一貫性
マイクロソフトでは、Microsoft Azure によってパブリック クラウドでのすばらしい開発、デプロイ、管理エクスペリエンスを実現することをお約束しています。この記事で紹介してきた発表は、マイクロソフトがこの約束を果たしていることの証です。Microsoft Azure 独自の機能の 1 つとして、マイクロソフトは、このクラウド エクスペリエンスをプライベート クラウドとホステッド クラウドの両方で実現するべく取り組みを進めています。今回発表されたテンプレートベースのエクスペリエンスは、将来すべてのハイブリッド デプロイメントにおいても同一のアプリケーション モデルとして実現されます。開発者、ISV、システム管理者の皆様は、あらゆる Azure クラウド環境で、同じアプリケーションを同じ方法でデプロイし、管理することができるようになります。
使用を開始するには
ここまで紹介してきたすばらしい機能の数々をすぐに利用し始めるには、いくつかの方法があります。詳しくは以下をご覧ください。
- 入門ビデオで機能を学習するには以下をご覧ください。
- 言語と開発方法について記載したドキュメントは以下をご覧ください。
- 各種テンプレートは以下のとおりです。プラットフォームへの簡単なデプロイメントにご利用ください。
- GitHub リポジトリからダイレクトにデプロイすることもできます。https://github.com/Azure/azure-quickstart-templates (英語)
この記事が皆様のお役に立てば幸いです。ご意見やテンプレート追加のご要望は、ページ下部のコメント欄までお寄せください。参考にさせていただきます。
次回の記事もどうぞお楽しみに。
Corey