Visual Studio 2022 Mac版、Dev Box、AKSやCosmos DBの強化など「Microsoft Build 最新アップデート」
「Azure Container Apps」はGAに、クラウドネイティブなアプリ開発を強力支援
クラウドネイティブなアプリケーション開発の支援は、マイクロソフトにとって主要な使命の一つだ。
2022年5月25日、Microsoft Build 2022 Spotlight on Japanのセッション「イノベーションを加速するクラウドネイティブなアプリケーション | Microsoft Build 最新アップデート」では、この分野におけるグローバルの最新発表がいち早く報告された。
登壇し説明したのは、日本マイクロソフトの井上章氏(カスタマーサクセス事業本部 シニアクラウドソリューションアーキテクト)と、マイクロソフトコーポレーションの藤田稜氏(GBB OSS Data, Senior Specialist)。
井上氏はまず、アプリのバックログが増え続ける現状を説明した。
「2023年までに、クラウドネイティブで作られるアプリケーションは5億と言われている。開発者の生産性や速度をいかに上げていくかが、開発者および企業にとっての課題になる」(井上氏)
マイクロソフトでは、開発のためのツールとしてVisual Studio、Visual Studio Code、GitHubを提供。開発したコードはMicrosoft Azureの各種サービスに迅速にデプロイし、運用できるようにしている。また、いわゆる市民開発者(Citizen Developer)に向けたツールやサービスも提供している。
一方、「OSSは、開発コードの80~90%を占めるようになっている」(井上氏)。ソフトウェアサプライチェーンのセキュリティについて世界的に懸念が高まっている。GitHub上でのソースコードやシークレットのスキャニング、Microsoft AzureのMicrosoft Defender for Cloudなどとの組み合わせで、セキュアな開発と運用が可能だと話した。
Visual Studio 2022はMac版がGAに
さて、開発プラットフォーム.NET 6では、マルチプラットフォームアプリケーションUIフレームワーク「.NET MAUI」 の正式リリース(GA)が発表された。Windows、Mac Catalyst、iOS、Androidのアプリを「1つのプロジェクト、1つのSDKなどを通して、統合的に開発できる」(井上氏)。開発環境には「Visual Studio 2022」などが利用できる。
Visual Studio 2022は、Visual Studioで初めての64ビット版として、2021年11月にWindows版がリリースされた。今回はApple Siliconにネイティブ対応したMac版、「Visual Studio 2022 for Mac」がGAとなった。このMac版では、Azure Functionsを使ったアプリ開発も可能。
Dev Boxで環境構築の時間を節約
開発者の生産性向上に直接つながる発表として「Microsoft Dev Box」がある。これにより、開発者は環境構築に時間を浪費せず、すぐにコーディングに取りかかれる。Dev Boxでは「Windows 365 Cloud PC」をベースとした開発環境を迅速にセルフサービスで作れる。それを使って新しい環境を複数用意し、使い分けながらコーディングをしていくことが可能だ。「一方で、IT管理者はポリシーも含めて一貫した管理ができる」(井上氏)。
Azure App ServiceではgRPCをサポート
「クラウドネイティブでは、コンテナやKubernetesだけでなくPaaSを使うことも大事」と言う井上氏が、AzureにおけるPaaSの代表的なものとして取り上げたのがAzure App Service。フルマネージドでWebアプリケーションの構築、展開、スケーリングができるPaaSである。
今回、Azure App Serviceでは多数のアップデートが行われたが、井上氏が特に推したのが、高速サービス間通信技術のgRPCをサポートしたことだ(現在早期プレビュー中)。Linuxインスタンスで使える。アプリケーションサービスを、コンテナだけでなくAzure App Serviceで行いたいといったケースで、gRPCを活用できるようになる。現在のところ.NET 6で利用できるが、今後Node、Pythonにも対応する。
AKSではKEDAによるイベント駆動型スケーリングが簡単に
Kubernetesサービスの「Azure Kubernetes Service(AKS)」では、開発者にとっての敷居を下げるような発表があった。例えばイベント駆動型の自動スケーリングが行えるKEDA(Kubernetes-based Event Driven Autoscaling)がアドインとして簡単に使えるようになった(プレビュー)。またDraft 2の統合(プレビュー)では、アプリケーションのソースコードから、Kubernetesの マニフェストやHelmチャートなどを自動生成する。このため、開発したアプリケーションを迅速にコンテナ化し、AKSにデプロイできる。
GAになったAzure Container Appsでサーバレスコンテナを実現
今回のクラウドネイティブ関連の発表における目玉とも呼べるのが、「Azure Container Apps」の正式リリースだろう。同時に東日本リージョンでも提供開始となった。
Azure Container Appsでは、Kubernetesの知識がなくとも、開発したコンテナアプリケーションを迅速にデプロイして運用できるサービスだ。KEDAによる自動スケーリング、DAPR(Distributed Application Runtime)によるサービス間通信や状態管理を、抽象化された APIで利用できる。マイクロサービスアプリ、イベント駆動型のアプリ、blue/greenやカナリアリリースなどを容易に構成可能だ。
可視化ツールGrafanaがマネージドサービスとして登場
デプロイしたアプリケーションの監視では、GrafanaがAzure上でフルマネージドサービスとして利用できるようになった(パブリックプレビュー)。新サービス「Azure Managed Grafana」では、Grafanaを素早くデプロイし、分析や監視に使える。Azure Monitorなどのデータやグラフをインポートして、見栄えのいいダッシュボードを作り、リアルタイムでの監視が行える。
Azure Spring CloudはAzure Spring Appsに改称
「Azure Spring Cloud」は、Javaの「Spring Boot」で構築されたアプリを素早くデプロイし、自動的にスケールできるフルマネージドサービス。VMwareが開発しているKubernetes環境のTanzuをベースとしている。Buildpacksという仕組みでコンテナの作成を簡単に行え、運用も容易になっている。今回、機能の拡充に伴って「Azure Spring Apps」と改称した。正式リリースされており、即座に使える。
Cosmos DBでは、パーティションキーの階層化に注目
「Azure Cosmos DB」で発表された主な新機能には、「サーバレスの最大容量50 GB から1 TB に拡大」「階層化されたパーティションキー」「バーストキャパシティ」「パーティションのマージ」などがある。
藤田氏は、このうち「階層化されたパーティションキー」について詳しく説明した。
Cosmos DBでは、単一パーティションの最大容量が20GBという制限がある。これでは各テナントのデータが20GBを超えられない。そこで使われるのが「合成キー」という方法。テナントIDと、そのユーザーのIDをアンダーバーで結び、「テナントID_ユーザーID」というパーティションキーを作ることで、 テナントとしては20GBを超えられることになる。一方、あるテナントに属するユーザーのデータは複数のパーティションに分散してしまうので、単一テナントに属する全てのユーザーのデータに対してクエリをかけたいときに、パフォーマンスが上がらないし、クエリ自体が複雑化する。
そこで今回発表されたのがパーティションキーを階層化する機能。3つまでの階層を持てる。
「階層を持ったパーティションキーを設定することで20GBの壁を打ち破り、テナント単位のクエリについても性能劣化を引き起こさない」(藤田氏)
AzureのMySQLは最大96 vCPUに対応
「Azure Database for MySQL」では「Business Critical service tier」という新サービスティアが登場し、スケールアップできるvCPU数が最大96になった(リージョンによって変動あり)。藤田氏は「104 vCPUも裏メニュー的に用意している」と付け加える。その他のスペックとしては、最大メモリが672GB、最大IOPSは80,000、最大ストレージは100TBとなっている。
このサービスティアはミッションクリティカルな、あるいは高いレスポンスが求められるアプリケーションの裏側で使えるという。
Cosmos DBやAzure Database for MySQLの進化について、藤田氏は「IoTなどのシナリオで、データが爆発的に増えている。CPUも、メモリも大きなものを用意することで、対応の幅を広げている」と説明した。
* * *
このセッションのまとめとして、井上氏は次のように述べた。
「MicrosoftではGitHub、Azure、Visual Studio、Power Appsなど、さまざまな開発者の生産性、ベロシティを上げるためのサービス、ツールを用意している。ぜひこれらを、皆さんのクラウドネイティブな開発に生かしていただきたい」
(提供:日本マイクロソフト)
週刊アスキーの最新情報を購読しよう