このページの本文へ

クラウドから「エッジ」への動きが加速:Build/de:code 2019レポート 第9回

「de:code 2019」基調講演レポート(中編):Visual StudioとAzureエッジの進化

デモで解説!「Visual Studio 2019」の新機能 ~GitHub、Azureと華麗に連携~

2019年05月30日 13時30分更新

文● 羽野三千世/TECH.ASCII.jp

  • この記事をはてなブックマークに追加
  • 本文印刷

 日本マイクロソフトは2019年5月29日~30日の2日間、都内で技術者向け年次イベント「de:code 2019」を開催している。29日朝に行われたキーノートには、日本マイクロソフト 代表取締役 社長の平野拓也氏と、米マイクロソフトからMicrosoft 365担当バイスプレジデント ジャレット・スパタロウ氏、Azure担当バイスプレジデントのジュリア・ホワイト氏、テクニカルフェローのアレックス・キップマン氏が登壇した。

 ジャレット・スパタロウ氏の講演内容を紹介した前編に続き、本稿では中編として、ジュリア・ホワイト氏の講演をまとめた。後編ではアレックス・キップマン氏と平野拓也社長の登場シーンをダイジェストで紹介する。

Visual Studio 2019とAzure DevOpsの新機能をデモで解説

 de:code 2019のキーノートに登壇した米マイクロソフト Azure担当バイスプレジデントのジュリア・ホワイト氏は、4月に提供を開始した「Visual Studio 2019」と、Build 2019で発表したAzureの新機能を紹介した。

米マイクロソフト Azure担当バイスプレジデントのジュリア・ホワイト氏

 ホワイト氏が引用したStack Overflowの調査によれば、現在、開発者がよく使う開発ツールのランキングで1位がVisual Studio Code、2位がVisual Studioだという。Build 2019で、Visual Studioファミリーに新サービス「Visual Studio Online」が追加された。Visual Studio Onlineはブラウザで動く開発環境で、Visual Studioプロジェクト、Visual Studioワークスペースをサポートする。

 ここでマイクロソフトの井上章氏が、Visual Studio 2019とAzure DevOpsの新機能を使ったデモを行った。Azure DevOpsのAzure Pipelinesが、新たにKubernetesをサポートした。これにより、AKS(Azure Kubernetes Service)がパイプラインに統合できるようになっただけでなく、Amazon EKSなど他社クラウドのKubernetesサービスを含んだマルチクラウド対応のパイプラインも構築できるようになった。

マイクロソフトの井上章氏

 井上氏のデモでは、AKS上で動いているWebアプリケーションへの機能追加を、Azure PipelinesのCI/CDパイプラインで行う様子を紹介した。あわせて、Azure Dev Spacesを使って、Visual Studio 2019から直接AKS上のアプリケーションをデバックする操作を説明した。

デモの構成

 こちらがデモで用意した感情分析アプリケーション。フォームに入力したテキストの感情を分析する。Azure ASP.NET CoreのBlazorとML.NETで開発されており、ソースコードはGitHubのレポジトリで管理されている。

Azure ASP.NET CoreのBlazorとML.NETで開発された感情分析アプリケーション

 このWebアプリケーションはVisual Studio 2019で開発されている。ここでは「NGワード判定」機能を追加するコーディングを行った。Visual Studio 2019のIntelliCode機能が、コンテキストから書くべきコードを予測して入力候補をリスト表示してくれる。

Visual Studio 2019のIntelliCode機能が、書くべきコードを予測して入力候補をリスト表示する

 Visual Studio 2019には、あらかじめ定義したコーディングルールに基づいてリファクタリングを行う「コードクリーンアップ」機能がある。ボタン1つでコードをリファクタリングできる。

Visual Studio 2019の「コードクリーンアップ」、左下にボタンがある

 次のステップでは、AKS上で動作している感情分析アプリケーションに対してデバッグを行う。Visual Studio 2019では、Azure Dev Spacesという機能を使って、AKSクラスタのネームスペースに、直接Visual Studioからアプリケーションをデプロイ、デバッグできる。

Azure Dev Spaces

 今回はAzure Dev Spacesは使わず、Visual Studio 2019からコードをGitHubへプッシュし、GitHubとAzure Pipelineの連携機能を使ってマスターブランチにマージした。この連携機能を有効化すると、GitHubのプルリクエストをトリガーにしてCI/CDパイプラインを実行できるようになる。「Visual Studio 2019ではGitHubとの統合が進んでおり、ブランチやプルリクエストの管理など基本的なことはだいたいVisual Studio内でできる」(井上氏)。

Azure Pipeline

 Azure Pipelineは、新たにマルチステージングに対応した。Kubernetesクラスタへデプロイするパイプラインでは、ステージングにAKSだけでなくEKSやOpenShiftを指定して1つのパイプラインで管理することができる。

Azure Pipelineはマルチクラウドのシナリオにも対応する

 こうして作成したパイプラインは、1つのYAMLファイルとして定義できる。「YAML定義されたパイプラインはコードレポジトリで管理する。バージョン管理ができるのが大きい」(井上氏)。

Azure Pipelineは1つのYAMLファイルとして定義できる

進化するAzureのインテリジェントエッジ

 マイクロソフトが、Azureサービスの機能やインテリジェンスをクラウドとエッジの両方で使えるようにしていこうという「インテリジェントクラウド&インテリジェントエッジ」のビジョンを打ち出したのは2017年5月のBuild 2017のこと。それからの2年間で、Azureの分析やビジネスロジックをエッジ側で実行するAzure IoT Edge、Azureの学習済みAIをDocker化してエッジでも利用可能にしたAzure Cognitive Services Containers、FPGAを使ってエッジ側で機械学習の推論を高速に実行するデバイスAzure Data Box Edge、エッジデバイスをチップレベルで保護するAzure Sphereなど、インテリジェントエッジを実現するデバイスやサービスが色々登場した。

Azureのエッジデバイス

 Build 2019でも、ARMプロセッサで稼働するエッジ用データベースエッジ向けのDBエンジン「Azure SQL Database Edge」や、IoTデバイスをシームレスにクラウドに接続する「IoT Plug & Play」など、エッジ向けの新サービスが発表されている。

 Seeed株式会社の松岡貴志氏によるデモでは、Azure Sphereを搭載したデバイスがAzure IoT Centralから簡単に操作できる様子と、IoT Plug & Playが紹介された。

Seeed株式会社 開発者の松岡貴志氏

 Azure IoT Centralは、IoTデバイスを接続、監視、管理するためのSaaSだ。Azure IoT CentralからAzure Sphereに接続されたLEDを点灯させたり、Azure Sphereに接続された温度接続された温度センサーのデータをグラフ表示したりできる。

Azure IoT CentralのコマンドからAzure Sphereに接続されたLEDを点灯させる

 IoT Plug & Playは、コードを記述することなくエッジデバイスをクラウドに接続できるようにするものだ。デモでは、IoT Plug & Playにデバイスを接続すると自動的にデバイステンプレートが作成されてクラウドに接続可能になる様子をみせていた。

IoT Plug & Play

■関連サイト

カテゴリートップへ

この連載の記事
  • 角川アスキー総合研究所
  • アスキーカード