Windows Server 2016を知りたければ Docker/Mesos/マイクロサービスを理解しよう!

**とあるサイトに載せる予定だった記事をブログに掲載することになったので、少し長いですがご容赦ください**

新製品の発表、それは何度経験してもワクワクするものです。しかも今年は、Windows Server 2016/SQL Server 2016/SharePoint Server 2016、そしてAzure Stackなど、次期サーバー製品や関連技術が次々に登場する当たり年です。

どんな新機能が出てくるのか?それらの機能はどんなメッセージを持ち、エンジニアをどこに導いてくれるのか? 興味を持ってくれている人も多いでしょう。そこで今回は、私の担当領域の1つ Windows Server 2016 を例に、注目すべきポイントについて皆さんと共有したいと思います。

さて、新製品登場時に最初に出てくる質問があります。それは、「今回の製品の目玉は何ですか?」というものです。もし私がWindows Server 2016に対してこの質問をされたら「DevOpsのためのプラットフォームに進化したところです」と答えます。皆さんの頭の中には???が浮かんだかもしれませんし、おそらく期待されていた答えと違うでしょう。それならばと、新機能の名前を並べてみましょう「Container、Nano Server、Service Fabric」 。また?が増えましたね(笑) 無理もありません。Windows Server 2016 はこれまでの延長線上で機能を追加するだけではなく、OSSから学び、クラウドから学び、時代の流れから汲み取った多くのことを製品に反映するという方法をとった製品なのですから。

もう少し具体的に説明しましょう。これまでのWindows Serverはお客様の様々なご要望にお応えすべく機能追加を続けてきました。これを否定されるべきことだと思っていませんし、お陰様で世界中の多くの企業に採用をしていただいてます。でも、例えばWindows ServerをベースにWebサーバーを立ち上げたいと思ったとき、Windows Serverが持つ多くの機能は不要になります。やりたい事はシンプルなので、Windows Serverにいろんな機能があって便利かどうかという議論とは別の土俵の話なのです。Windows Server 2016は、このポイントに着目し、サーバーOSを必要としている方のゴールに応じた環境構築に関する手を打ちました。

非常に小さなサーバーOSを実現する Nano Server は要望を具現化した例の1つで、マイクロサービスのようにアプリケーションやサービスが小さな単位で分割されるようになれば、導入効果は絶大です。また、Nano ServerベースのWebサーバーやDBサーバーをテスト環境や本番環境に楽に展開する際にはDocker社との協業から生まれた Windows Server Containerが機能します。Linuxと同じDockerコマンドが使えるので、アプリケーションの展開や運用の迅速化と標準化が図れます。OSやアプリケーション基盤の構成管理を自動化したいならPowerShellもいいですしChefも使えます。今後はHashicorpの名前を見る機会が増えるかもしれません。これらはDevOps業界で非常に有用なツールとして評価されているものです。他にも、運用フェーズを考えてアプリケーションの可用性を高めようとする方には、共有ストレージなどの物理環境まで含めた設計が必要になるフェール―バークラスタよりもService Fabricという新しい基盤のほうが向いています。なぜなら、Service Fabricは可用性を高めつつもフェールオーバークラスタではできなかった“分散処理“を意識した基盤になっているからです。また、アプリケーションの状態までも把握できる点は開発者と利用者に対する価値をさらに高めてくれるはずです。

このように、アプリケーションを動かす基盤としてのWindows Serverに着目した時、DevOpsやマイクロサービス、Containerが重要な役割を担ってくれます。Azure上のContainer Serviceの基盤技術として採用したMesosも今後はWindows Server対応が予定されており、Windows Server系のワークロードでも活用の場が出てくることでしょう。もしWindows Server 2016の本質を理解したいのであれば、Windows Serverの過去や新機能だけを見るのではなく、Windows Serverに実装されるOSS系技術の本家の情報を納得し、クラウド上ではそれらがどのように使われているのか理解することをお勧めします。そうすることで、ベンダーからの一方的な情報に踊らされることなく、時代の流れの中で正しい技術の選択ができるようになるでしょう。そして、世界中にいるOSS系のエンジニアが試行錯誤したノウハウをそのままWindows Server主体の社内システムに持ち込めるようになります。

ただ、ここに1つの課題ができました。これまでWindows Serverをずっとやってきてくれているマイクロソフトにとって非常に重要なエンジニアの皆さんにOSS側のイベントに参加してきてくれとお願いするべきなのか?というものです。それをお願いすることも1つの方法ではあるのですが、できればマイクロソフト自身がその環境を用意したいと考えました。そこで、5月24~25日に日本マイクロソフトが開催する技術者向けイベント「de:code 2016」には、多くのOSS技術セッションを用意しました。

de:code 2016 オフィシャルサイト

しかも中途半端なものではなく、海外からChef、Mesosphere、HashiCorp、Jenkinsの皆さんにスペシャルゲストとして来ていただくことになっています。彼らに日本で会えるだけでも凄いことですが、彼らが1つの檀上に上がる瞬間に立ち会えるなど、世界的にもありない出来事です。もちろん日本陣営も負けていません。クリエーションラインの前佛雅人氏、Ryuzee.comの吉羽龍太郎氏にもゲストとして来ていただくことになっており、Microsoft Corporation所属でDevOps Evangelistの牛尾が彼らのノウハウを皆さんの前で引き出してくれるはずです。Rubyのまつもとひろゆき氏もOSSを語ってくれます。そう、このイベントでは、マイクロソフトの最新技術を学びながら、同じ場所でDevOps & OSSの世界基準を知ることができるのです。

さて、上述の通り、Windows Server 2016 には「DevOps のためのプラットフォーム」という要素が強くなりました。もちろん、これまでの機能強化の延長もあります。仮想化基盤としてのHyper-VやSoftware Defined Storage (SDS)、Software Defined Network (SDN)はMicrosoft Azureと共に成長を続け、大幅な機能拡張がなされていますし、先ほどは“過去の技術”のような書き方をしてしまったフェールオーバークラスタも非ドメイン環境での動作など、きちんと機能強化がなされています。また、Active Directoryは特権ユーザー管理機能の提供やWindows 10対応、Azure上のADとの共存を意識したフェデレーション部分がかなり強化されています。すべて含めて Windows Server 2016です。とてつもなく面白いサーバーOSになっています。

是非、この新しいサーバーOSと共に、Microsoft & OSSで最高のITプラットフォームを構築し、DevOpsを推進し、新しい時代のビジネスを我々の手で支えていきましょう。

まずは5月の「de:code 2016」の会場にて、皆さんのご参加をお待ちしております。

日本マイクロソフト株式会社

エバンジェリスト

高添 修