Microsoftが11月15~17日(現地時間)に米ニューヨークで開催した「Connect (); 2017」を受けて日本マイクロソフトは、2017年11月17日都内で「Connect (); Japan 2017」と題したイベントを開催した。米国発表を踏まえて同社の技術者が各ソリューションに関する最新技術や新機能について述べている。

米国で開催したConnect (); 2017に登壇したMicrosoft EVP Clooud&Enterprise, Scott Guthrie氏が掲げる「Any developer, Any app, Any platform」は、Visual StudioでC++を利用してWindows向けアプリケーションだけではなく、iOSアプリケーションをC#で、Microsoft Azure上のLinux仮想マシン向けにPythonスクリプトをVimでコーディングするなど、「すべての開発者に向けて開発環境を提供する姿勢の表れ」(日本マイクロソフト アーキテクト 廣瀬"デプロイ王子"一海氏)だと日本マイクロソフトは説明する。

日本マイクロソフト アーキテクト 廣瀬一海氏

ここ数年注目を集めていたマイクロサービスは、ショッピングカートやカタログなどEコーマスサイトに欠かせない各サービスの相互連携を実現し、従来のモノリシック(一枚岩)のようなシステムからの脱却が可能になる。「好きな言語を組み合わせてサービスをローンチできるため、コンテナが注目を集めている」(廣瀬氏)背景から、Microsoftは「Azure Container Services(AKS)」プレビュー版を2017年10月末に発表した。

ネットワークインフラなど煩雑な管理を緩和し、自動展開やスケーリングといったコンテナ運用の自動化=オーケストレーションを実現する「Kubernetes(クーべネティス)」をMicrosoft Azureのネイティブサービスとしてフルサポートする。Azure Marketplace経由のそれとは異なり、パッチ適用や自動更新、スケーリングの自動化。オンプレミスに展開しているオーケストレーター内のコンテナをMicrosoft AzureやAzure Stackへの移行もできる。

さらにコンテナイメージを一箇所に格納・管理するためのプライベートレジストリとして、稼働するのが「Azure Container Registry」だ。GUIのみならず、DockerベースのコマンドラインUIも使用できるため、開発環境の移行先として興味深い存在となる。Azure Container Registryは複数リージョンへ展開できるため、例えば冗長性を担保するため西ヨーロッパと東日本リージョンに展開すれば、ネットワークレイテンシやネットワークコストも軽減可能。「身近にホストやオーケストレーターがあれば(開発者も)使いやすい」(廣瀬氏)だろう。

AKS及びAzure Container Registryのデモンストレーション。米国リージョンで作成したコンテナイメージを東日本リージョンに展開した

そしてConnect (); 2017で発表された内容でも注目株に値するのが、「Visual Studio Connect Environment for AKS」である。コンテナ化したアプリケーション構築するためには、コード編集→コンテナの構築→更新イメージの公開→ログ経由で診断という煩雑な手順を踏まなければならないが、Visual StudioからAKSのコンテナを操作するVisual Studio Connected Environment for AKSを使えば、Microsoft Azure上のKubernetesにアクセスし、デバッグやステップ実行といった開発操作が可能になる。「Kubernetesに直接アクセスし、kubectlやhelmなどオープンソースツールの機能を活用できるモダンなコンテナ開発環境」(廣瀬氏)だという。現在はプレビューユーザーを募集している段階のため、興味を持たれた読者諸氏は先のリンクから詳細を確認してほしい。

Visual Studio Connected Environment for AKSの概要。Azure Container RegistryからAKSに展開したコンテナに、Visual Studioからデバッグが可能になる

阿久津良和(Cactus)