クラウドから「エッジ」への動きが加速:Build/de:code 2019レポート 第9回
「de:code 2019」基調講演レポート(中編):Visual StudioとAzureエッジの進化
デモで解説!「Visual Studio 2019」の新機能 ~GitHub、Azureと華麗に連携~
2019年05月30日 13時30分更新
日本マイクロソフトは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の新機能を紹介した。
ホワイト氏が引用した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のレポジトリで管理されている。
このWebアプリケーションはVisual Studio 2019で開発されている。ここでは「NGワード判定」機能を追加するコーディングを行った。Visual Studio 2019のIntelliCode機能が、コンテキストから書くべきコードを予測して入力候補をリスト表示してくれる。
Visual Studio 2019には、あらかじめ定義したコーディングルールに基づいてリファクタリングを行う「コードクリーンアップ」機能がある。ボタン1つでコードをリファクタリングできる。
次のステップでは、AKS上で動作している感情分析アプリケーションに対してデバッグを行う。Visual Studio 2019では、Azure Dev Spacesという機能を使って、AKSクラスタのネームスペースに、直接Visual Studioからアプリケーションをデプロイ、デバッグできる。
今回はAzure Dev Spacesは使わず、Visual Studio 2019からコードをGitHubへプッシュし、GitHubとAzure Pipelineの連携機能を使ってマスターブランチにマージした。この連携機能を有効化すると、GitHubのプルリクエストをトリガーにしてCI/CDパイプラインを実行できるようになる。「Visual Studio 2019ではGitHubとの統合が進んでおり、ブランチやプルリクエストの管理など基本的なことはだいたいVisual Studio内でできる」(井上氏)。
Azure Pipelineは、新たにマルチステージングに対応した。Kubernetesクラスタへデプロイするパイプラインでは、ステージングにAKSだけでなくEKSやOpenShiftを指定して1つのパイプラインで管理することができる。
こうして作成したパイプラインは、1つのYAMLファイルとして定義できる。「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など、インテリジェントエッジを実現するデバイスやサービスが色々登場した。
Build 2019でも、ARMプロセッサで稼働するエッジ用データベースエッジ向けのDBエンジン「Azure SQL Database Edge」や、IoTデバイスをシームレスにクラウドに接続する「IoT Plug & Play」など、エッジ向けの新サービスが発表されている。
Seeed株式会社の松岡貴志氏によるデモでは、Azure Sphereを搭載したデバイスがAzure IoT Centralから簡単に操作できる様子と、IoT Plug & Playが紹介された。
Azure IoT Centralは、IoTデバイスを接続、監視、管理するためのSaaSだ。Azure IoT CentralからAzure Sphereに接続されたLEDを点灯させたり、Azure Sphereに接続された温度接続された温度センサーのデータをグラフ表示したりできる。
IoT Plug & Playは、コードを記述することなくエッジデバイスをクラウドに接続できるようにするものだ。デモでは、IoT Plug & Playにデバイスを接続すると自動的にデバイステンプレートが作成されてクラウドに接続可能になる様子をみせていた。
この連載の記事
-
第14回
クラウド
PWA、ML Ops、マイクロサービス――最も”今どき”なスマホアプリ開発を実演 -
第13回
クラウド
クラウド化は不可避な流れ、.NETアプリをクラウドネイティブへ移行するには -
第12回
TECH
「Internet of Human」の未来を体験――de code 2019のEXPOエリアで衝撃を受けた -
第11回
TECH
C#ライブコーディング対決!Blazor Web開発バトルが面白すぎた -
第10回
クラウド
なぜ日本語の機械翻訳や音声認識は精度が低いのか -
第8回
クラウド
WindowsにLinuxカーネルが入るとWeb開発が変わる――de:code 2019基調講演で「WSL2」をデモ -
第7回
クラウド
アーキテクチャ図でみる、Azureブロックチェーンを使ったスタバの珈琲豆トレーサビリティ -
第6回
クラウド
ソニーも注目したマイクロソフトの「Game Platform」とは -
第5回
TECH
Build 2019でのFluent Designの発展 -
第4回
クラウド
Build 2019でKubernetesのサーバーレスフレームワーク「KEDA」発表 - この連載の一覧へ