BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Microsoft、Azure App Service用Windowsコンテナサポートの公開プレビューを発表

Microsoft、Azure App Service用Windowsコンテナサポートの公開プレビューを発表

原文(投稿日:2018/08/25)へのリンク

MicrosoftはAzure App ServiceのWindowsコンテナサポートの公開プレビューを公開した。App Service環境へのインストールが、より詳細にコントロールできるようになる。今回の発表は、Web App for ContainersサービスをLinuxベースだけでなく、Windowsベースのコンテナ環境でも実行可能なように拡張するものだ。

Azure App Serviceでは、ASP.NETやNode.jsなどのアプリケーションスタックを実行するためのロックダウンされた環境を提供している。その結果として、Azure App Serviceでは、管理アクセスポイントへのエントリや、グローバルアセンブリキャッシュでの独自の依存関係、カスタムコンポーネントをインストールするオプションなどは提供されない。これに対して、App Service上のWindowsコンテナでは、各アプリケーションを分離された環境で実行するためのすべての要素がWindowsコンテナに含まれているため、これらの機能を使用することができる。

Azure App Service上で実行するコンテナは、IISを実行するなどの方法で、エンドポイントをHTTP(S)経由でエクスポートする必要がある。これにより、App Service内でWindowsコンテナの機能が利用できることで、さまざまな新たなシナリオが可能になる。Azure App ServiceのプログラムマネージャであるAndrew Westgarth氏は、今回の発表の中で、そのようなシナリオのいくつかについて説明している。

  • PaaSへのリフト・アンド・シフト — .NET Frameworkおよび.NET CoreアプリケーションのAzureへの移行や、PaaSを導入してApp Serviceプラットフォームの持つ生産性上の多大なメリットを直接的に享受することに関心のあるユーザにとって、理想的なサービスとなる。
  • 依存関係を持つアプリケーション — Windows Containerにアプリをデプロイすることにより、独自の依存関係をインストールすることができる。グローバルアセンブリキャッシュ(GAC)へのインストールが必要な、独自のフォントやコンポーネントライブラリなどがその例だ。
  • セキュリティ制限の緩和 — コンテナ化されたアプリケーションをデプロイする時に、Windows Containerが分離層としてセキュリティ上のバウンダリになる。これにより、通常ならばAzure App Serviceによってブロックされるライブラリ呼び出しが、Windows Container内部で実行する場合には可能になる。例えば、PDF生成ライブラリには、グラフィックデバイスインターフェース(GDI)をコールするものが多いが、Windows Containerであれば、このようなコールが可能である。
  • サードパーティアプリケーションのマイグレーション — ユーザはしばしば、すでに関係を持っていないサードパーティが開発した、重要なアプリケーションを所有していることがある。このようなタイプのアプリケーションはコンテナ化することで、Azure App Serviceへに移行する機会を得ることが可能になる。

Windowsコンテナサポートの導入に加えて、Microsoftでは、Windowsコンテナのホストを計画中のApp Serviceを明確に対象とした、3つのプレミアムSKUも新たに発行された、いずれもDv3機能に基づいているが、CPUとメモリの機能に差異がある。

  • Small — 2つのCPU仮想コアと8GBのメモリ
  • Medium — 4つのCPU仮想コアと16GBのメモリ
  • Large — 8つのCPU仮想コアと32GBのメモリ

出典: https://azure.microsoft.com/en-us/blog/announcing-the-public-preview-of-windows-container-support-in-azure-app-service/

Windowsコンテナは、Azure App Serviceがホスト環境の生成に使用したベースイメージから派生する。使用される親イメージは、コンテナ環境内で実行されている.NET Frameworkによって決まる。具体的には、.NET Framework上で動作するアプリケーションがWindows Server Core 2016 LTSCリリースに基づく親イメージを使用するのに対して、.NET CoreアプリケーションにはWindows Server Nano 2016 LTSCリリースをベースとする親イメージが必要である。さらにAppServiceでは、いくつかの親イメージをキャッシュして提供している。これらはダウンロードの必要なくアプリケーションを起動できるため、起動時間が短縮される。

導入資料(Getting Started)には、コンテナ用のWebアプリの作成や、デプロイするコンテナの選択などが取り上げられている。“Deploy Windows Containers”ブログにも詳細な説明があり、さまざまな新機能によって、Windows Containersがより短期間で立ち上げ可能であることが述べられている。

これまでのWindows Containerのデプロイは、数多くの手順を必要とするプロセスだったので、このサービスが公開されることを大変うれしく思っています。

公開プレビュー期間中のAppService用Windowsコンテナサポートでは、以下の機能を利用することができる。

  • Docker Hub、Azure Contrainer Registry、あるいはプライベートレジストリを使ったコンテナ化アプリケーションのデプロイ。
  • アプリケーションログとApp Serverログストリーミング機能の使用に対するアプリケーションログの組込み。
  • デプロイスロットとスロットスワップを使った、アプリケーションの段階的なデプロイ。
  • PowerShellとWinRMによるコンテナへの直接接続。
  • オートスケールによる自動スケールアップおよびスケールダウン機能の提供。
 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

BT