Microsoft Connect(); 2018: すべての開発者がより多くの成果を達成できるように
執筆者: Scott Guthrie (Executive Vice President, Cloud and Enterprise Group, Microsoft)
このポストは、2018 年 12 月 4 日に投稿された Empowering every developer to achieve more at Microsoft Connect(); 2018 の翻訳です。
本日マイクロソフトは Connect(); 2018 (英語) を開催し、あらゆる開発者の皆様のお役に立つ新たなイノベーションを発表しました。私たちは今、ユビキタス コンピューティングの世界の実現にどんどん近付いていることを実感しています。テクノロジによって、あらゆる消費者、そして企業のエクスペリエンスが変革され続けているためです。
開発者の皆様にとって、AI、IoT、サーバーレス コンピューティング、コンテナーなどのテクノロジを使用する機会は増え続けています。今回は、未来のアプリケーションを構築するにあたって、開発者の皆様にさらに多くの成果を達成していただけるように、マイクロソフトが取り組んでいる最新のイノベーションの一部をご紹介します。
あらゆる開発者のためのツール
マイクロソフトは、開発者によって、開発者のために作られた会社です。そのため、開発者が日々どのようなチャンスや課題に直面しているかをよく理解しています。本日も開発者の皆様にこれまで以上のイノベーションの実現と生産性向上に役立つ開発者向けツールと Azure サービスをご紹介します。
まず、Azure Machine Learning サービスの一般提供が開始 (英語) されました。このサービスは、開発者やデータ サイエンティストによる機械学習モデルの構築、トレーニング、デプロイメントを効率化するものです。Azure Machine Learning を使用すると、モデルの選択とチューニングを自動化し、機械学習の DevOps によって生産性を高め、モデルをワンクリックでデプロイすることができます。Azure Machine Learning サービスは、ツールに依存しない Python SDK を採用しており、任意のオープンソース フレームワークを選択した Python 環境で使用できます。
Visual Studio は、世界中の 1,200 万人以上の開発者によって、新規アプリケーションの構築や既存のアプリケーションの強化に使用されています。本日は、Visual Studio 2019 Preview と Visual Studio 2019 for Mac Preview (英語) のダウンロード提供が開始されました。AI を活用した IntelliSense の IntelliCode、リファクタリング機能の拡張、デバッグの効率化といった多くの機能強化によって、コードの作成により集中しやすくなりました。また、Live Share や新しい GitHub プル リクエスト機能を使用すると、リアルタイムで共同作業を行うことができます。Azure を使用している場合は、コンテナーで最新化する場合も、サーバーレス テクノロジでクラウドネイティブ ソリューションを構築する場合も、これまで以上に多くのサポートを利用できます。
.NET Core 3 Preview (英語) の提供が開始され、Windows Presentation Foundation (WPF) および Windows フォーム アプリケーション フレームワークが .NET Core に追加されました。これにより、サイドバイサイド EXE や自己完結型 EXE による柔軟なデプロイメント、パフォーマンスの向上、XAML Islands による Windows フォームおよび WPF アプリケーションでのネイティブ Universal Windows Platform (UWP) コントロールの使用が可能になりました。サーバー側では、ASP.NET Core で Razor コンポーネントを使用するコンポーザブル UI がサポートされました。これにより、.NET で初となるフルスタック Web 開発が提供されます。
Azure Cosmos DB は、クラウド ネイティブのデータ駆動型アプリケーションを構築するためのフルマネージド型のグローバル分散データベースです。Azure Cosmos DB では、NoSQL ワークロードがサポートされ、10 ミリ秒未満の低レイテンシと高可用性が保証されます。本日マイクロソフトは、Azure Cosmos DB の共有スループット (英語) の一般提供を開始しました。一般提供版では、最小エントリ数が従来のエントリ ポイントの 25 分の 1 に相当する 400 要求ユニット (月額 24 ドル) に引き下げられました。このため、複数の「Azure Cosmos DB コンテナー」を含むデータベースを作成している開発者にとって、Azure Cosmos DB はさらに利用しやすくなっています。
マイクロソフトによるオープンソースの取り組み
開発者による素晴らしいイノベーションの中心には、コミュニティの皆様がいます。つまり、オープンソースがとても重要だということです。マイクロソフトは、アイデアの構想から共同作業、デプロイメントまで、開発ライフサイクルの各段階で開発者を支援するべく取り組んでいます。今回の発表は、より多くのマイクロソフト製品をオープンソース化してコミュニティでの共同作業と協力を促進するだけでなく、他の開発者との共同作業にも積極的に取り組んでいることを表しています。
最新のコンテナー アプリケーションには、コンテナー、データベース、仮想マシンといった多様なコンポーネントが含まれていることが多く、さまざまな環境でアプリを簡単にパッケージ化して保守するための手段が必要になります。本日発表された Cloud Native Application Bundles (CNAB、英語) は、新しいオープンソースのパッケージ形式仕様で、Docker との緊密な協力によって作成され、HashiCorp や Bitnami などでサポートされています。CNAB では、単一のインストール可能なファイルを使用して分散アプリケーションを管理できるほか、さまざまな環境でアプリケーション リソースを確実にプロビジョニングし、複数のツールセットを使用しなくても簡単にアプリケーション ライフサイクル管理を行うことができます。
1 年前には Virtual Kubelet (VK) が導入され、サーバーレスやエッジといったコンピューティング環境でコンテナーをデプロイ、管理できるように Kubernetes API を拡張する、プラグ可能なアーキテクチャが提供されました。それ以来、多数の VK プロバイダーが追加され、Azure Container Instances、AWS Fargate、Alibaba ECI、Azure IoT Edge など、さまざまなサービスとの統合が可能になりました。本日マイクロソフトは、Virtual Kubelet プロジェクト (英語) を Cloud Native Computing Foundation (CNCF) に無償で提供しました。CNCF 内で作業を進めることにより、コミュニティのさらなる参加とイノベーションを促進し、より多くの環境に Kubernetes オーケストレーションを統合することができます。
また、.NET コミュニティからの多数のご要望にお応えして、Windows Presentation Foundation (WPF、英語)、Windows フォーム (英語)、WinUI XAML ライブラリ (WinUI、英語) をオープンソース化しました。初回のコミットでは多数の名前空間と API が追加され、今後数か月のうちにさらなる追加が予定されています。これらのリポジトリへの皆様のご協力をお待ちしています。
テクノロジが利用しやすくなると、開発者は現在のプロジェクトに最適なソリューションを自由に選択できるようになります。本日マイクロソフトは、Azure Database for MariaDB (英語) の一般提供を開始しました。Azure Database for MariaDB は、MariaDB コミュニティのためのエンタープライズ対応のフルマネージド型サービスであり、組み込みの高可用性と柔軟なスケーリング、柔軟な料金体系が提供されます。
サーバーレスの民主化
今回、サーバーレス コンピューティングのメリットをあらゆるアプリのパターンで利用できるようになりました。イベント駆動型の関数を作成する場合でも、Kubernetes でオーケストレーションされたコンテナー ワークロードを実行する場合でも、任意のプラットフォームに実装された API を管理する場合でも、基盤となるインフラストラクチャを気にする必要がなくなります。
オープンソースの Virtual Kubelet テクノロジを利用した Azure Kubernetes Service (AKS) の仮想ノードのパブリック プレビュー (英語) により、サーバーレス Kubernetes を実現できます。この新機能を利用することで、追加のコンピューティング能力を数秒で柔軟にプロビジョニングできます。Azure ポータルで数回クリックするだけで仮想ノード機能を有効にして、AKS 環境でコンテナーに特化したエクスペリエンスの柔軟性と移植性というメリットを実現できます。追加のコンピューティング リソースを管理する手間はかかりません。
Azure Functions では、.NET、JavaScript、Java など、任意の言語でサーバーレスのイベント駆動型アプリケーションを構築できます。今回さらに Python のサポートが Azure Functions (英語) に追加されました。Python をコードまたは Docker コンテナーとして使用して、Linux ベースの関数を作成できるほか、CLI や Visual Studio などのローカル ツールを使用して、ビルド、デバッグ/テスト、発行といったエンドツーエンドの開発エクスペリエンスを実行できます。Python のサポートにより、機械学習と自動化のシナリオでサーバーレスのアプローチが可能になります。
以上は今回発表された新しいツールとサービスのごく一部ですので、その他の最新情報 (英語) もぜひご確認ください。また、Connect(); 2018 のインタラクティブなライブ コーディング セッションにもご参加ください。今すぐオンラインで参加 (英語) するか、オンデマンドで視聴 (英語) し、イベントの期間中に公開されるサンプル コード (英語) を確認して、ソーシャル メディア (#MSFTConnect) でご意見をお聞かせください。今後の開発にお役立ていただければ幸いです。