Microsoftエバンジェリストたちが語る「Microsoft Build 2018」

司会者:それでは「Microsoft Build Report」と題しまして、東さん、井上さん、(発表を)よろしくお願いいたします。

東賢氏(以下、東):よろしくお願いします。

司会者:みなさま、大きな拍手でお迎えください。

(場内拍手)

井上章氏(以下、井上):よろしくお願いいたします。それでは、私、井上章と東さんとの2人で、Microsoft Buildカンファレンスのレポートを、30分ぐらいでお話ししていこうと思います。よろしくお願いいたします。

まず、簡単に自己紹介をさせて下さい。私は井上章と申します。Microsoftに勤めてもう10年になります。去年まではエバンジェリストとして活動していましたが、今年から「Global Black Belt」というグローバル組織で、より専門的な開発技術支援をさせていただいています。よろしくお願いいたします。

:東と申します。私はMicrosoftの中の人ではありません。インフラジスティックス(・ジャパン株式会社)の代表で、MicrosoftのRegional Directorをしています。MicrosoftのMVPという名を聞かれたことがあるかもしれませんが、Regional Directorは、そのビジネス版的な存在です。

Microsoftさんの中で言うと、例えばSatya Nadellaさん、Scott Guthrieさん、Kevin Scottさんといった、エグゼクティブの人たちに対しての“ご意見番的な存在”として、世界で160人ぐらい存在しているものの1人でございます。私も実際にBuildに参加させていただいておりますので、今日はその立場からいろいろとお話をさせていただきたいと思います。

Build 2011~2018におけるメッセージングの変化

:それでは、私の方から前半のお話を進めさせていただきたいと思います。(スライドを指して)こちらはMicrosoftさんのメッセージの中でも非常に重要なIntelligent Cloud、Intelligent Edgeという(ものを現した)絵です。

その中でも、Ubiquitous computing、AI、あとはMulti-sense, multi-device experiencesということで、これに連なるようなものが、この後のBuildの中でも必ず出てくるかたちになっております。

よくよく見てみると、ホロレンズなども絵の中にありますが、小さく出ているこれ(Ubiquitous computing、AI、Multi-sense, multi-device experiences)について、それぞれお話をさせていただきたいと思います。

Buildというのは、2011年から8年間ぐらい展開をしているものになるのですが、私は(Microsoftの)中の人ではないので、Microsoft自体を代表してお話することはできませんが、Microsoftがなにか変わってきたというようなお話があったりしますよね。

GitHubが買収されて心配な人はいらっしゃいますか? 大丈夫ですか? Microsoftがメッセージングをどのように変えてきたかを表にしてみました。Build 2011から2018まであり、2011の頃はWindows8が発表された時期でした。

実はその頃にはもうSatyaさんがいらして、DAY2(Buildの2日目)のキーノートなどを話されていました。

その頃は、Windows Azureと言っていたのです。Windows押しだったのですね。Windows 8で、Windows Azureというような時期がありました。2013年、14年ぐらいになって、Microsoft Azureというようなところになってまいりました。

この頃、(CEOが)Steve BallmerさんからSatyaさんに体制が変わり、ちょっとノリが変わってくるというところがありました。体制はもちろん、オープンソースへの取り組みや、ほかのところもだんだん変わってきています。また、資料の方でもご覧いただければと思いますが、そうした中で、昨今の状況の変化を受けての2018年となります。

「Build 2018」の2大テーマは“AzureとMicrosoft 365”

:2018年のBuildでは「opportunity and responsibility」といったことを、一番最初にお話しをされていました。Satya Nadellaさんの英語を聞いていると、とにかく「opportunity」「opportunity」とおっしゃるのですね。今、とてもたくさんの機会がみなさまのもとにやってきている、ということを強調されています。

私からお伝えするのも変かもしれませんが、Microsoftさんのミッションは、「Empower every person and every organization on the planet to achieve more」、この地球上のみなさまに対して、もっとたくさんアチーブできる状況を作っていこう、ということです。

:これ(Buildの写真)をどんどん出していっていますが、BuildはMicrosoftさんがやられるデベロッパーカンファレンスの中では最大規模のもので、ここ数年はシアトルで開催されています。

その中でも2つのお話があります。大きな主題になるのが、Microsoft Azureと、Microsoft 365の2つです。この中で、Azureについては井上さんにお任せしたいと思いますが、私はMicrosoft 365と、Azureのところで語られていたデベロッパー・フォーカスについてお話をしていきたいと思います。

Microsoftさんは「デベロッパーを愛しています」というようなメッセージをすごく出されているのですが、その一つの大きなところが、IDEのVisual Studioです。

Visual Studioというのは、WindowsでWindowsのアプリケーションを作るという感じが強かったと思いますが、それだけではありません。最近では、Visual Studio Codeというものがあり、クロスプラットフォームでMacやLinuxでも使えるものとして出ております。

これは去年の12月の段階なので、もっと増えていると思いますが、2.6 millionですから、月間で260万のアクティブユーザーがいて、4,700の拡張があり、1万5,000人のコントリビューターがいて、2,300のプルリクエストのクローズがあるというような、すごく大きなオープンソースのプロジェクトとして動いているものです。

Visual Studioの協業機能『Live Share』

:Visual Studioを中心としたもので、非常に大きな発表となったのが、この「Visual Studio Live Share」という機能です。非常におもしろい機能で、みなさまもフリーで使えるものですから、ぜひ使ってみていただきたいです。

どんなことができるかというと、これは(スライドの)上の方の人と下の方の人で画面が2つに分かれているのですが、実際にコードを書いたりすると、デバッグを進める中で、チームで(作業を)進めたりもしますよね。

そんな中で、デバッグのセッション自体を共有できます。下の方がJonathan Carterさんというユーザーですね。実際に(コードを)打ったりしていると、(スライドの画面の)上のところでリアルタイムにそれが見えるようになるという機能です。

これによって、あたかも隣でペアプログラミングをしているように、リモートの環境でも協働して開発を進めることが可能になります。

私たちも、インフラジスティックスという会社でデベロッパーさんのサポートなどをしているため、もしかすると、こういったサポートがリモートでできるようになることもあり得るな、と考えながら見ていたわけです。

そのほかにも、最近ですと、ターミナルを共有できることも非常に重要となりますし、その共有自体もセキュアな状態を保ってできるということが発表されたりもしています。

(話を)もう一歩進めまして、みなさまもご存知かもしれませんが、IntelliSenseとはオートコンプリーションの一種です。今回はAIを使ったIntelliSenseということで、IntelliCodeというものが発表されています。

こちらは、AI assisted IntelliSenseということで書いているのですが、今、GitHubで数千もあるようなリポジトリの中から情報を引き出しまして、「次にあなたがやりたいことはこれじゃありませんか?」とサジェストしてくれる機能になっています。現在C#でありますが、今後はほかの言語にも拡張されていくことになると思います。

:先ほどGitHubの名前が出ておりましたが、「OSS Love」ということで、このBuildの段階では(GitHubの)買収ということではなく、パートナーシップの発表がされていたのです。

先ほどのVisual Studio Codeは、実はGitHub上にあるオープンソースプロジェクトの中でも最大のアクティブのプロジェクトであると言われています。こちらにも「largest single corporate contributor」と、会社として一番大きな貢献をしているのはMicrosoftですよ、というようなことも発表されていました。

その表れの1つとして、「Visual Studio App Center」といったDevOpsの環境があるのですが、そちらとGitHubの連携も発表されています。

オープンソース化された.NET Coreが開発のプラットフォームに

:忘れてはならない.NETについて。現在、.NETはすでにオープンソース化されているのですよね。そちらの「.NET Core 3.0」というものが出てきています。

オープンソースでクロスプラットフォームになった.NETですが、みなさまから見て(スライドの)右側にあるのは、どちらかと言うとASP .NETや、Webサイド、サーバサイドのものですね。

ほかにもML.NETというものもありますが、そちらはクロスプラットフォームになっておりまして、(スライドの)左の方にあります、デスクトップのUWPやWPFといったものも、.NET Coreに入っています。

こちらはWindowsでしか使えないのですが、.NETはすごく大きなパッケージなので、かつてはWindowsにがっちりインストールしなきゃいけなかったりしましたが、.NET Coreというかたちになったことで、別のバージョンがたくさん共存できるようになりましたし、インストールも非常に簡単になったという状況が生まれています。

:ここまでVisual Studioを中心とした、Visual Studioおよび.NETの話をさせていただきました。ここからはDAY2(Buildの2日目)で主に使われておりました、Microsoft 365の話をさせていただきます。

ちょっとバックサイドの話になりますが、こちらはWindowsとOfficeとEMSを中心としたもので、それを一緒にしてMicrosoft 365(と呼んでいます)。今だとOffice 365というものをみなさまもご存知かもしれませんが、そこにWindowsやEMSが入っているものとしてのオファリングです。

そこで、(スライドを指して)こうして4つのフォーカスをしますということで、当日も、「WindowsはMicrosoft 365の1つでしかありません」というようなイメージの発表がされました。

これまでBuildというと、長年Windows推しだという感じになっていましたが、そうではなくて、おそらく非常に意識的に一歩引いたかたちでWindowsを出しています。もちろん重要さは変わりませんが、その他のものも一緒に出されていきました。

デベロッパーが膨大なユーザーデータに直接アクセスできる

:Microsoft 365において非常に重要なこととして、みなさまのアプリケーションを、このMicrosoft 365というプラットフォームの中に埋め込んでいきましょうということが挙げられます。

先ほどのSatyaさんの言葉ではありませんが、opportunityになるということで発表されています。

135 millionですから、1億3,500万人のユーザーがいるということなんですね。あとは20万organization、20万の組織がこのOffice 365、Microsoft 365を使っていると。このプラットフォームでの開発にコミットすることによって、非常に大きな機会がありますよ、ということで発表がされています。それをデベロッパーさんと一緒に作っていきましょうよ、ということです。

そうやってたくさんの組織、たくさんのユーザーさんが毎日(Microsoft 365を)使っていますから、そこにどんどんデータが蓄積されていっている状況です。

REST Endpointというものがありまして、そこから(蓄積されたデータを)利用できるようになっているのですが、普段は、そのデータを普通のMicrosoft Officeの製品を通じて使っていくことになるわけなんです。

しかし、それだけではありません。みなさまのアプリケーションからでも、それらのデータにアクセスすることができますよ、ということがAPIとしてできあがっているので、それを使ったアプリケーションを作っていきましょうね、という話になっています。

これがMicrosoft Graphというような仕組みの中にできあがっているのですが、「みなさまがお作りになられているアプリケーションから、Office 365、Microsoft 365で蓄積したデータにアクセスして、それ以外の組織でも蓄積をしていったデータと連携をしていくような世界を作っていきましょうよ」という発表されているのが非常に大きなところでございました。

私がもし、AzureやAIのところを除いて、今回一番印象に残ったことがあるとするなら、このMicrosoft Graphになるのですが、Qiita(プログラマーの情報共有に特化したソーシャルメディア)などでは、Microsoft Graphに関して、Microsoftの技術者の方が非常に詳しい情報を出しておられるので、ぜひそちらもご覧いただければと思います。

クラウドサービスAzure周りの最新情報をアップデート

東氏:それではここで、Azureにテーマを移しまして、井上さんにお話いただきたいと思います。

井上:はい、それでは、Azure周りの話をしていこうと思います。よろしくお願いします。ちなみにこの中で、現地でBuildに参加された方はいらっしゃいますか?

(会場挙手)

ありがとうございます。1名の方(に挙手いただきました)。ちなみに、Google I/Oに参加された方はいらっしゃいますか? やはり1名の方、(クライス&カンパニーの)及川様ですね(笑)。ありがとうございます。

では、ここからAzureの話をしていこうと思いますが、実際にAzureなどの開発系をやられている方は割合的にどれくらいいらっしゃいますか? 挙手いただけますでしょうか? 

(会場挙手)

かなりいらっしゃいますね、ありがとうございます。少し技術的な内容も含めて、Azure周りのアップデートを、残り15分をかけて(お話)していこうと思います。

Buildのカンファレンスは2011年から始まっていますが、Azureが最初に発表された年をみなさまはご存知ですか? 2008年にロサンゼルスで開催されたBuildの前身である Microsoft Professional Developers Conference 2008 (PDC 2008)と呼ばれるカンファレンスで発表されました。ですから、Azureといったものが出てきてから、今年でもう10年が経ちます。

Azureがフォーカスする5つの技術エリア

井上:そのAzureも今では本当に数多くのサービスで構成されているので、今日この時間の内ですべてを紹介するのは難しいのです。

ただ、現在Azureの中でフォーカスをしている技術としては、やはりGoogle I/Oさんの方の発表でも同じような部分が出ていると思いますが、デベロッパーツール+DevOps、コンテナ+サーバレス、IoT、データ、そしてAIといった大きく5つのエリアに注力しています。

デベロッパーツールのところは今、東さんの方から少しお話がありました通りです。私はコンテナ周りのお話からしていこうと思います。アプリケーション・コンテナといったところで、みなさまはもういろいろなところで耳にされている部分が多いと思いますし、実際に開発の中で使われている部分があると思います。

AzureのPaaSのサービスとして、Web AppsというWebアプリケーションを簡単にデプロイして運用できる、一種のホスティング環境があります。加えて、今、サーバレスアーキテクチャ向けにの中で、Azure Functionsと呼ばれるサービスがあります。加えて、コンテナのオーケストレーションの環境として、今では、Kubernetesがデファクト・スタンダードになりつつあります。

Azure上でDockerコンテナの自動ビルドを実行

井上:今回のBuildでは、Azure Kubernetes Service (AKS) という、マネージドなKubernetesのサービスが発表されました。これもみなさまが「コンテナのアプリケーションを運用したい」といったとき、即座に複数のコンテナで構成されるマイクロサービスをベースとしたアプリケーションなどのオーケストレーションを含めて、このAKSに展開していくことができます。

Buildの前まではAzure Container Service(AKS)という名称でプレビューとしてリリースされていましたが、今回サービス名が整理され、Azure Kubernetes Service(AKS)という名前に変更になりました。そして現在ではGA(General Availability)され、日本リージョンでも利用可能になっています。

こういったマネージドなKubernetesのサービスも含めて、今、特にDockerコンテナとしてアプリケーションを運用していくことが必須になってきています。もちろんAzureにおいても、Dockerをベースとしたコンテナ向けのさまざまなサービスを提供しております。

加えて、開発ツールにおいても例えばDockerコンテナのデバッグなど、さまざまなツールサポートが提供されてきています。

作ったコンテナイメージを運用環境にデプロイする際に、もちろんパブリックのリポジトリとしてDocker Hubを使うこともできます。また、他のAzureサービスへのデプロイが容易なAzure Container Registryというサービスもあります。

主にDockerコンテナの実行環境として、AKSといったマネージドのKubernetesサービスからWeb App for Containersなど、AzureはDockerをベースとしたコンテナをさまざまな形で運用できるように多くのサービスを用意しています。

セキュアなIoTサービスプラットフォーム「Azure Sphere」

井上:ここから少しIoTの話をしていこうと思います。こちらもBuildで多くの発表がありました。今日は時間の関係で、その中でも一番大きな発表を少しご紹介させていただこうと思います。

Azure Sphereと呼ばれる、新しく統合されたIoTのサービスプラットフォームが発表されました。これは、セキュアなMCUと、その上で動くOS、かつ、それらをマネージしていくためのAzure上のサービス。この三位一体となって作られているのがAzure Sphereです。

MCUの部分は、各チップのベンダーさんを経由して、Azure Sphereに適合しているものとして、今後もいろいろなチップが増えてくると思います。

このチップは、例えば各メモリの間であったり、実行環境を含めて、チップの中でもかなりしっかりとしたセキュアな構造で実行ができるように作られています。その上で動く、Azure Sphere OSという新しいOSも発表されています。

MicrosoftのOSというとWindowsというイメージがあると思いますが、このOSは、実はLinuxのカーネルベースでつくられています。MicrosoftもとうとうLinux OSをリリースしたということになります。

そして、これらを管理するクラウド側のサービスとして、Azure Sphere Security Serviceといったものがあります。OSのアップデートやアプリケーションの管理、テレメトリー情報の管理など、IoTのデバイス上で動くアプリケーションをよりセキュアな環境で管理するためのサービスとなります。これらで構成されているサービスプラットフォームがAzure Sphereです。

すでにデベロップメントキットのプレオーダーが始まっています。

興味のある方は、ぜひオーダーしてみてはいかがでしょうか。

Azure Cosmos DBがマルチマスターの書き込みをサポート

井上:続いてデータ関連の発表をご紹介します。Azureでは、さまざまなマネージドのデータベースサービスを多く取り揃えています。Azureが出た当初の段階から、SQLサーバのマネージドなサービスとして、SQLデータベースがありました。

昨今は、さらにPostgreSQLとMySQLのマネージなサービスも出てきています。例えば、わざわざ自分でMySQLの環境を作らずとも、マネージドなサービスですぐにお使いいただけるようなものが用意されてきています。

加えて、今一番注目されているデータベースとしては、Cosmos DBといったものがあります。このCosmos DBは、“地球規模の分散データベース・サービス”と言われています。Cosmos DBを使うことで、世界各国にあるAzureのデータセンター上に分散データベースを簡単に構築することができます。

もちろん、そのデータベースのサイズやトランザクションの部分を含めて、ギガバイトサイズのデータからペタバイトのデータまで、例えば毎秒100トランザクションのデータをCosmos DBのサービスから、100万トランザクションまで、みなさまがご自身で設定を選んで、さまざまな規模の分散データベースを作っていくことができます。

かつ、マルチマスターの書き込みなどにも対応しています。さまざまなデータセンターに配置されているデータベースに対して、即座にデータのレプリカをとって、それぞれをマスターとして使っていくことができます。

その書き込みの待ち時間も10数ミリsecというレベルで保証されている部分があります。非常に高速なレプリケーションを取りながら、分散環境のデータベースを作っていくことができます。

Buildのキーノートデモでは、Webブラウザベースのお絵かきアプリを使って、それぞれのキャンバスに同時に絵を描いているのですが、別々のデータセンターにあるCosmos DB上に書き込みをしています。

それらのデータが、ほぼリアルタイムで一方側に反映をされていくというデモが行われました。このデモは実際にキーノートのビデオなどでもご覧いただけますので、ぜひそちらもご覧になってみてはいかがでしょうか。

そのリアルタイム性といったところはやはりおもしろいところになると思いますし、みなさまが世界規模で分散データベースを容易に構築、運用することができる非常におもしろいサービスだと思います。

カスタムAIサービスが簡単に作れる「Azure AI」

井上:最後に、AIの部分についてお話をしていこうと思います。先ほど及川さんのお話の中でも多くのAIの発表が紹介されていたと思います。Buildでも同様に、多くのAI関連の発表が行われました。

やはりAIと言われるとまだまだ敷居が高く感じられる方もいらっしゃると思います。Microsoftとしては、いろいろなかたちでエンジニアの方、とくに開発者の方にAIを、いろいろなサービス、アプリケーションの中で使っていただけるように多くのサービスを用意をしています。

その中でやはり1つ代表的なところが、Cognitive Servicesと呼ばれる、わざわざ自分たちで一から学習モデルを作らなくても、一種のAIのパーツとして、あらかじめ用意されたREST APIがあります。

このサービスでは、Vision API、Speech API、Language、Conversation、Bingサーチ、Knowledgeといったいろいろなカテゴリごとに多くのAPIが用意されています。おそらく、顔の判別、性別の判別、年齢判別などが可能なComputer Vision APIが一番有名かもしれません。

このCognitive Servicesを使うことによって、みなさまが簡単にAIの機能をアプリケーションに実装していくことができるわけですね。

とはいえ、やはり自分たちで学習モデルを作って運用していきたいといったケースももちろんあると思います。

Azureでは、マシンラーニングのサービスを持っています。その上で、みなさまがアルゴリズムを組んで、データを用意して、学習させて、モデルを作って、それをWeb APIとしてさまざまなアプリケーションで使うことができます。

今回のBuildでは、機械学習のモデルをDockerコンテナとすることで、ポータビリティ性を持たせて、オンライン環境だけでなくオフライン環境などでもモデルを利用できるようにするシナリオを多く出してきています。

iOSのCoreMLや、TensorFlowをベースにAndroid上で利用したり、またWindows MLなど、モデルをエクスポートしてローカル環境でオフラインでも利用することができます。加えて、モデルをDockerコンテナとして、例えばAKSやIoTのデバイス上など、Dockerが動く環境ならどこでも利用できるようになります。

機械学習の分野にもコンテナ技術の活用が進んできている状況があります。

障害者向けAI開発プログラム「AI for Accessibility」

井上:みなさまはKinectというものをご存知ですか? Xbox 360やXbox Oneにおいて、ジェスチャーでゲームができるセンサーデバイスです。XboxのKinectのセンサーは、実を言うと現在は生産を中止しています。しかし、今回のBuildで発表されたのは、Kinectが復活するということです。

近い将来には開発者のみなさまが、さまざまな分野でKinectをより活用できるようにプロジェクトがまた再始動しておりますので、このあたりもぜひ注目をしてみてください。

井上:最後にもう一つご紹介をしていくのが、Buildの中で発表になった「AI for Accessibility」です。やはりAccessibilityという観点で、よりAI技術の活用を推進するためのプロジェクトが発表されています。

Microsoftでは「AI for Accessibility」という5年プロジェクトを立ち上げ、2,500万ドルを投資します。例えば目の見えない方、体の不自由な方に、よりAIを活用していただけるように、開発プロジェクトや開発企業などへさまざまな形で投資をしていくかたちになります。

数年前から、BuildではAccessibilityという観点からさまざまな発表が行われてきました。その流れの成果のひとつとして、Seeing AIと呼ばれるiOSアプリがリリースされています。iPhoneをお持ちの方であればストアからダウンロードしてお使いいただけます。

井上:Buildの発表内容を30分にわたってお話ししてきましたが、最後のまとめになります。やはりGoogle I/Oの発表などとも非常に似ているものがあります。

今のトレンドの中では、クラウド側、そしてエッジ側も含めて、よりインテリジェントになっています。アプリケーションを開発する際にはこういった技術をぜひ活用していきましょう。

みなさまが置かれている状況は、ユビキタス・コンピューティング、まさにいろんなところで、いつでもどこでも使えるコンピューティング環境をお持ちですよね。そういった中で、やはりAIを活用していくことが、これからますます重要度を増してくるでしょう。

また、スマートフォンやタブレットに限らず、HoloLensやスマートスピーカー系もアプリケーションの新しいプラットフォームとして成り立っていますよね。

そういった中で、みなさまがさまざまなアプリケーションを作れるように、クラウドのサービスや開発ツールなどを強化しています。ということで、私たちの発表はこれで以上になります、ありがとうございました。

Microsoftの取り組みから見える“責任と変化”

井上:東さん、最後に何か。

:いきなり振られましたが(笑)。先ほどの障害者に向けたものというのも、私自身が実は手帳を持っている障害者なので、すごく身近に感じるところですが、これもおそらく違う文脈で押さえられていましたが、「opportunity and responsibility」のresponsibilityとして、Microsoftさんが取り組まれていることなのだと思います。

Microsoftさんが、こうしたことにすごくまじめにがっちり取り組まれていることも、変化の一つの表れではないでしょうか。

井上:はい、Microsoftは大きく変わってきていますので、ぜひみなさま、これからも末永くよろしくお願いできればと思います。ありがとうございました。

:ありがとうございます。

(会場拍手)