Microsoftが2018年5月7日(以下すべて現地時間)から3日間、ワシントン州シアトルで開催する開発者向けカンファレンス「Build 2018」。本稿では、初日基調講演から開発者向け情報を中心に紹介する。

改めて述べるまでもなく同社がクラウドベンダーを標榜(ひょうぼう)し、Microsoft AzureやOffice 365といったクラウドソリューションをビジネスの中核に置いているのは周知のとおりだ。だが、クラウド回りの技術は日進月歩。Microsoftは「新技術の追従は難しく、学習機会を増やさなければならない」(Microsoft EVP Cloud + AI Group, Scott Guthrie氏)と述べ、「Visual Studio Live Share」のプレビュー版を本日から公開した。

  • Microsoft EVP Cloud + AI Group, Scott Guthrie氏

    Microsoft EVP Cloud + AI Group, Scott Guthrie氏

  • リアルタイムの共同作業でコーディングやデバッギング、ローカルコードの共有を行う「Visual Studio Live Share」。Visual StudioおよびVisual Studio Codeで動作する

    リアルタイムの共同作業でコーディングやデバッギング、ローカルコードの共有を行う「Visual Studio Live Share」。Visual StudioおよびVisual Studio Codeで動作する

リアルタイムの共同作業をチーム間で実現し、コーディングやデバッギングの共同作業を可能にするVisual Studio Live Shareは、Visual StudioおよびVisual Studio Code上で動作し、無償使用可能である。一方がブレイクポイントを設定すると、もう一方にも反映され、ローカルホストで動作するWebアプリもポート共有を設定すれば、互いにデバッグの結果を確認できるという。

  • カーソル位置には共有相手の名前が表示される。このあたりはOffice製品で培った共同作業の機能を持ち込んでいるのだろう

    カーソル位置には共有相手の名前が表示される。このあたりはOffice製品で培った共同作業の機能を持ち込んでいるのだろう

  • Visual Studio for Mac(右側)で動作していたWebアプリもポートを公開することで、Visual Studio Code(左側)が動作していたPCでも動作を確認できる

    Visual Studio for Mac(右側)で動作していたWebアプリもポートを公開することで、Visual Studio Code(左側)が動作していたPCでも動作を確認できる

印象深いのはGuthrie氏が示した「Microsoft <3 OSS」というスライド。"<3"はハートマークを示す絵文字であり、MicrosoftのOSS(オープンソースソフトウェア)に対する愛情を示したものだが、その一環としてGitHub SVP Technology, Jason Warner氏が登壇し、Microsoftとの良好な協力体制の説明と、GitHub開発者向けソリューション「Visual Studio App Center+GitHub」の進捗状況を示した。

  • MicrosoftのOSSに対する愛情を示すスライド。今年は絵文字を使ってきた

    MicrosoftのOSSに対する愛情を示すスライド。今年は絵文字を使ってきた

  • GitHub SVP Technology, Jason Warner氏(右側)

    GitHub SVP Technology, Jason Warner氏(右側)

  • 昨年秋に発表済みの「Visual Studio App Center + GitHub」

    昨年秋に発表済みの「Visual Studio App Center + GitHub」

GitHubリポジトリをApp Centerに接続すると開発者はコミット時に構築して、数千におよぶ実機シミュレーター上で自動テストを行い、ベータテスターへの配布、分析やクラッシュレポートの収集、アプリストアへの展開を可能とする。また、Microsoft 365側からのアプローチとして、GitHubは通知メールにAdaptive Cardを組み込んだ。今後数週間以内に、Microsoft TeamsおよびOutlook経由で問題に対するコミットやプルリクエストのマージすることで、意思決定の合理化を図っている。

  • かつては手作業で行っていたプロセスを連続的な配信に置き換えることで、開発者の負担を大幅に軽減する

    かつては手作業で行っていたプロセスを連続的な配信に置き換えることで、開発者の負担を大幅に軽減する

VSTS(Visual Studio Team Services)でもDevOpsを推進するため、リリースゲートという概念を用意した。次の環境に昇格する前に満たすべきアプリケーションの正常性基準を指定する4種類のゲートを設けることで、データ駆動型承認を可能とする。

  • DevOpsを実現可能にするVSTSの新機能群をイメージ化

    DevOpsを実現可能にするVSTSの新機能群をイメージ化

  • VSTS上でリリースゲートを設定することで、ブランチの分割や品質管理の利便性を向上させている

    VSTS上でリリースゲートを設定することで、ブランチの分割や品質管理の利便性を向上させている

VSTSの文脈では「DevOps project with AKS(Azure Kubernetes Service)」を新たに発表した。2017年11月に発表したAzure DevOps Projectsの1つだが、DevOpsパイプラインを容易にセットアップするため、AKSとAzure VM、Service FabricとAzure SQL Databasesをサポートする。また、RubyおよびGo Langが利用可能だ。AKS自体も自動パッチや自動スケーリングなどKubernetesのエコシステムをフル活用できる。この他にもDev Spacesへの対応も明らかにした。

  • DevOps Projects上でAKSなどが利用可能になった

    DevOps Projects上でAKSなどが利用可能になった

  • デモンストレーションを行うMicrosoft Principal Program Manager, Scotto Hanselman氏のマイクが故障し、マイクを手にフォローするGuthrie氏

    デモンストレーションを行うMicrosoft Principal Program Manager, Scotto Hanselman氏のマイクが故障し、マイクを手にフォローするGuthrie氏

サーバーレスの移行は各所で識者が強調するとおりだが、イベント駆動型を実現するため、MicrosoftはAEG(Azure Event Grid)の活用をアピールした。AEGはアプリやサービスなど、あらゆる場所からイベント登録を可能とし、2018年1月に一般提供を開始している機能だが、イベント配信の信頼性向上や、何百万イベント/秒の実現、レイテンシーなどに伴うコスト削減といった改善が加わっている。

  • アプリケーションやサービスから発するイベントをAzure Event Gridで管理することで、サーバレスコードやLogic Apps経由でイベント駆動型ソリューションを実現できる

    アプリケーションやサービスから発するイベントをAzure Event Gridで管理することで、サーバレスコードやLogic Apps経由でイベント駆動型ソリューションを実現できる

デモンストレーションでは、Microsoft Senior Program Manager, Jeff Hollan氏がシンプルなIoTデバイスをトリガーにツイートするため、IoT Hub TriggerからLogic Apps経由で発行するソリューションを5分足らずで作成。Microsoftは「AEGのイベントハンドラを使った処理なら、アプリのレイテンシーを抑制し、コーディングやVMを使わずサーバーレスを実現する」(Guthrie氏)ことが可能だとアピールした。

  • デモンストレーションでは4分足らずでIoTデバイスからツイートするコードを作成していた

    デモンストレーションでは4分足らずでIoTデバイスからツイートするコードを作成していた

また、IoTデバイス(Raspberry Pi)上でCustom Vision Serviceを実行し、カメラに映った人物がGuthrie氏か否かというデモンストレーションも披露。具体的にはCustom Vision Serviceで作成したモデルをDockerfileとしてダウンロードし、IoTデバイスに展開していた。エッジ側でもAIの学習モデルを用いたソリューションを実現できるという1例だが、Microsoftが提唱する「インテリジェントクラウド、インテリジェントエッジ」の実現を目のあたりにするようだった。

  • Hollan氏がカメラに顔を向けると、NGを示す「×」をLEDで表示

    Hollan氏がカメラに顔を向けると、NGを示す「×」をLEDで表示

  • Guthrie氏の場合はOKを示すチェックマークが緑色で表示された

    Guthrie氏の場合はOKを示すチェックマークが緑色で表示された

続くデモンストレーションはAzure Cosmos DB。ちょうど昨年のBuild 2017で発表されたデータベースだが、数ミリ秒という低レイテンシーを実現する「Multi Master write」を新たに発表した。米国西部と西日本リージョンでAzure Cosmos DBに格納したピクセルデータに落書きし、リアルタイムに反映されるデモンストレーションを披露。Microsoftは同期遅延がないことを強調し、「本当の意味で地球的規模に対応」(Guthrie氏)とアピールする。ちなみに本デモンストレーションは我々もWeb経由で参加可能だ。

  • Azure Cosmos DBが実装したMulti Master writeのイメージ

    Azure Cosmos DBが実装したMulti Master writeのイメージ

  • 米国西部と西日本リージョン間でリアルタイムに描き込みの様子が反映されていた

    米国西部と西日本リージョン間でリアルタイムに描き込みの様子が反映されていた

Microsoftは以前からホスト型クラウド検索サービスとしてAzure Searchを提供しているが、本カンファレンスではCognitive Servicesを統合したことを明らかにした。Azure BLOBストレージやSQL DB、Azure Cosmos DB、MySQL、そしてテーブルストレージに格納したテキスト文書やPDFファイル、画像、データベースといったコンテンツを認知サービスで分析。OCRや名前付きエンティティ認識、キーフレーズ抽出、言語検出、シーン記述/タグ付け機能といった解析結果を検索が可能だ。こちらは本日からパブリックプレビューを開始する。

  • NBAはAzure Search with Cognitive Servicesを用いてインジェスト(映像データの移動)からアーカイブまで行っている。「NBA Photo Sorter」アプリで選手のタグ化を自動化し、「ビジネスの自動化だけではなく顧客とのつながりを強化できた」(NBA VP of IT, Garth Case氏)と語った

    NBAはAzure Search with Cognitive Servicesを用いてインジェスト(映像データの移動)からアーカイブまで行っている。「NBA Photo Sorter」アプリで選手のタグ化を自動化し、「ビジネスの自動化だけではなく顧客とのつながりを強化できた」(NBA VP of IT, Garth Case氏)と語った

最後にAzure DatabricksやAzure ML(Machine Learning)の活用事例としてStarbucks SVP Retail and Core Services, Jeff Wile氏が登壇したが、新機能に関する話はなかったので割愛する。昨年開催のBuild 2017と同様だが、新機能を提供しつつも実際のビジネスソリューションに役立つレベルに達したというメッセージを強く感じた。

  • StarbucksにおけるMicrosoft Azureの活用事例。3万件におよぶ店舗を管理している

    StarbucksにおけるMicrosoft Azureの活用事例。3万件におよぶ店舗を管理している

阿久津良和(Cactus)