Microsoft Tech Summitに行ってきました (後編)

こんにちは。インサイトテクノロジーの平間です。
11月1日&2日に開催された「Microsoft Tech Summit」に参加したレポートの後編になります。

前編はこちら↓↓↓

ms_report_dh-1

Microsoft Tech Summitに行ってきました (前編)

「CLD002 Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ」
などなど・・・

CLD023 Windows Subsystem for Linux から始まる OSS と Microsoft の素敵な関係

さて、ここからは少し冷静さを取り戻して紹介していきたいと思います。Microsoftといえば、創業者のビル・ゲイツ氏や前CEOのスティーブ・バルマー氏がLinuxに対して非常に敵意を持って接していたことが有名ですが、現在のナデラCEOになって以降、LinuxをはじめとするOSSと親和性の高いプロダクトを多く出してきていることは周知のとおりです。セッションの前半では、Microsoftがなぜこのような方針転換をしたのか、その理由が分かるように、この10年のIT関連業界における変化を主に日本国内での動きとともに説明していました。

その中で大きな変化ととらえられていたのがスマホシフトとクラウドの台頭です。スマホのOSは大半がAndroidでMicrosoftの影響力はほとんどありません。またクラウド環境はご存知の通り従量課金です。これまでのオンプレミス環境ではソフトウェアにおける収益はライセンスからによるものが大半で、OSSで収益を得るのは難しい状況でした。クラウドの従量課金によりこの課題を突破できたことで、クラウド環境でのソフトウェアの主役はOSSとなりました。ここでもMicrosoftの存在感は低下しています。

このような状況に対してMicrosoftは自分たちのアイデンティティを再確認したそうです。それが、Microsoftはプラットフォームのプロバイダー、ツールのプロバイダーであるということ。これを推し進めるため、消費者に対してはiOS/Android対応製品の強化、開発者に対してはWindows Subsystem for Linux、VS Code, Dockerなどの提供を始め、OSSの世界でもMicrosoftが存在することを強くアピールし始めています。

といったところで、後半はMicrsoftが提供しているOSSとの連携環境の紹介です。まずは今回のセッションタイトルにもあるWindows Subsystem for Linux (WSL)。これ、一般的にはBash on Windowsと呼ばれている機能の裏側にあたるもので、WindowsにLinuxのシステムコールを実装したものです。よく勘違いされるそうなのですが、 仮想環境ではありません。またCygwinなどのこれまであったUnix互換環境とも別実装です。環境はUbuntu互換で、Ubuntuのバイナリがそのまま動きます。ということはapt getで各ツールのインストールもOK。というわけで、gitやRubyを使うデモを行っていました。これによりLinuxと全く同じ環境で開発ができ、これまでのようにXAMPPで開発してXAMPP特有の問題に悩まされることもなくなった、とのこと。ただしあくまでも開発用なので、サーバー用途で使用することは推奨されない、とのことでした。そもそもWindows Server 2016では未搭載だそうで。また、ユーザー管理はWindowsとは全く別管理で、よってActive Directoryのユーザーを使用することもできないとのこと。

もう一つのトピックがDocker for Windows。これもまたMac/Linuxと全く同じ使い勝手で使えるということをデモしていましたが、自分が一番「これは」と思ったのは実はその話の前段階で、Windows環境におけるコンテナという用語が複数のプロダクトをさしていて混乱しているという話。Windows環境でコンテナというと、以下のいずれの可能性もあるそうです。気を付けましょう。

Windowsコンテナ
Windows Server 2016に導入されているコンテナ
Hyper-Vコンテナ
Hyper-Vの機能を使って隔離されたコンテナ
Docker for Windows
仮想マシンのネイティブ対応。Hyper-V上のMobyLinuxで展開

というわけで、MicrosoftはOSSに対して本気だぞ、というのが垣間見えたセッションでありました。なお、ちょっと気になったのが参加された聴衆の数。広い会場、1日目最後のセッションということもありましたがそれほどの混雑ではなく、このテーマだとぎっしりかなと思っていた自分にとってはちょっと拍子抜けした感じ。Microsoft + OSSというのは、まだまだ顧客側には浸透していないのだな、Microsoftもっと頑張れ、と思ったセッションでもありました。

DAT008 進化した AlwaysOn! SQL Server 2016 の AlwaysOn 可用性グループの新機能を一挙紹介

日が変わって2日目、都合によりこのセッションのみの参加となりましたが、弊社イベントdb tech showcaseでもおなじみの小澤さんによるAlwaysOn可用性グループのセッションです。

共有ストレージなしに冗長化構成が取れるAlwaysOn可用性グループ、弊社のInsightQubeはディスク内蔵型ということもあり、よくこの構成をご提案しております。そんなAlwaysOn可用性グループが機能強化されたということで、興味津々で聴きに行きました。

この機能強化部分、多数のトピックがあったのですべてをここで取り上げることはしませんが、気になったことをいくつか書いてみます。まず構成の際の環境についての縛りがやや弱くなったことに興味を持ちました。一つは「ワークグループ環境で構築可能になったこと」もう一つは「Standard Editionで構築可能なモードが追加されたこと」です。どちらも固有の制限事項はありますが、「冗長化」以外の要件がない小規模な環境ではうまくはまる部分がありそうです。

もう一つはセカンダリとなるマシンの利用方法が強化されたことがあげられます。例えば実行するクエリに関するMAXDOPなどのパラメータがプライマリとは独立に変えられること、プランキャッシュのクリアがセカンダリ側のみで実行できることから、セカンダリを検証環境として利用しやすくなっています。さらに複数のセカンダリをリードオンリーで使う場合にこれまでの優先順位で接続先を決めるやり方(これだと優先順位1のサーバーがダウンしていないと優先順位2のサーバーにはアクセスしない)のほか、ラウンドロビンによってロードバランスさせることも可能となったとのこと。セカンダリサーバーの有効活用を目指すユーザーにとっては魅力的ではないかと思います。

そのほか、私がメモしただけでも以下のような機能強化が満載。以下の機能にピンときたら、ぜひ調べてみては?

  • 新しい初期同期方法としての自動シード処理
  • マルチドメインのノード間でのクラスタリング
  • Azureストレージを使用したクラウド監視
  • 分散型可用性グループ
  • Azureの仮想マシンで複数のリスナーの構成が可能に
  • Log writerのマルチスレッド化、パラレルREDO処理といったパフォーマンスの向上
  • DBレベルでの障害検知によるフェイルオーバー
  • 自動フェイルオーバー台数が3台まで設定可能に
  • 特定環境下での分散トランザクションのサポート

というわけで、わずか3セッションといえども内容の濃い時間を過ごすことができた2日間でした。こりゃWindows環境の検証もガシガシやらないとね!