Microsoft Build 2017: 開発者を支援する新たなイノベーションを発表

執筆者: Microsoft Azure

このポストは、5 月 10 日に投稿された New innovations at Microsoft Build 2017: Helping developers achieve more の翻訳です。

 

今回は、マイクロソフトのクラウド & エンタープライズ グループ担当エグゼクティブ バイス プレジデントを務める Scott Guthrie の記事をご紹介します。

画期的なエクスペリエンスを実現するためには、開発者の力がこれまで以上に必要になると考える組織が増えています。スタートアップ企業でも、大企業でも、政府機関でも、開発者は組織のあり方を定義し直し、そこで働くすべてのスタッフに力を与えるような斬新なデジタル エクスペリエンスを生み出し続けています。こうした時代の中で成功をつかみ取る鍵となるのが、クラウドです。クラウドは世界中の開発者に強力な新しいテクノロジを生み出す力を与えていますが、クラウドのパワーによってこれまでにないほど速いペースでテクノロジを生み出すことが可能になったことから、「画期的なエクスペリエンスをすぐに実現してくれるはず」という大きな期待が常に開発者に寄せられるようになったのも事実です。マイクロソフトはこうした状況を理解したうえで、Microsoft Azure をどのように構築し提供すべきかを考えてきました。

私は今朝、シアトルで開催された Microsoft Build カンファレンスで、「お客様を成功へと導く」という Azure の設計原則について話をさせていただきました。強力なテクノロジと多くの新機能を提供することは必要なことですが、それだけでは十分ではありません。重要なのは、クラウドを利用することで皆様がどのように成功を収めているかということです。クラウドはもはや機能の豊富さではなく、どれだけ成功を生み出せるかが焦点となっています。この原則に沿うために、マイクロソフトはお客様のニーズを踏まえたうえで Azure のイノベーションに取り組んでいます。最先端のテクノロジをあらゆる開発者が利用できるようにし、Azure によって企業のさまざまなシナリオを満たせるよう努力を重ねています。また、マイクロソフトの中核的な価値の 1 つが信頼性です。皆様からの信頼を得られるよう、セキュリティ、コンプライアンス、プライバシー保護、責任に引き続き取り組み業界を牽引していきます。Azure はお客様の成果を第一に考えて設計されており、実績のあるガイダンス、専門家による助言、サポートをご用意しています。こうした原則に基づく Azure があれば、あらゆる開発者を成功に導くことができるでしょう。まさにその目標に向かって Azure チームは日々力を尽くしています。

お客様を成功に導くためには、クラウドと開発ツールをシームレスに連携させなければなりません。そのためには、Azure と Visual Studio で一貫したエクスペリエンスを提供する必要があると考えています。Visual Studio Enterprise、Visual Studio Team Services、Visual Studio Code といったどの Visual Studio 製品でも生産性の高い開発エクスペリエンスをエンドツーエンドでお届けできるよう取り組みを進めています。その一環として、本日 Visual Studio for Mac の一般提供開始を発表しました。

Visual Studio for Mac を使用すれば、多くのユーザーに支持されている統合開発環境 (IDE) を Mac でも利用できるようになります。開発者は優れた単一の IDE で、モバイル アプリや Web アプリ、ゲームといったエンドツーエンド ソリューションの開発だけでなく、Azure との統合や Azure へのデプロイが可能になります。C#、F#、.NET Core、ASP.NET Core、Xamarin、Unity などの使用言語を問わず、Mac にネイティブに対応した業界最高レベルの開発環境が手に入ります。

Visual Studio for Mac を使い始める: aka.ms/vs4mac

また今回、IDE と Azure ポータルを強化する一環として、Azure のコマンド ラインからの操作を効率化するために、Azure Cloud Shell (英語) を新たにリリースしました。これは、Azure にホストされた認証型のブラウザー ベースのシェルで、どこからでもアクセスすることができます。Cloud Shell の管理や更新は Azure が行います。広く使用されているコマンド ライン ツール群と人気のプログラミング言語がサポートされているため、いつでも生産的な作業が可能です。Cloud Shell セッションの環境は Azure の $Home ディレクトリに自動的に同期されるため、お気に入りの自動化スクリプトなどのファイルを永続的に保存できます。Azure Cloud Shell はさまざまな用途に使用でき、生産性が向上します。

AzureCloudShell

データは今日、開発者が提供するアプリやエクスペリエンスの中核的な要素となっています。開発者ならだれでもデータベースの好みがあるでしょう。SQL Server が好きな人もいれば、MySQL や PostgreSQL が良いという人もいます。生産性向上のために Database as a Service という選択肢を考える方も増えています。Azure なら、お好みのデータベースをサービスとして使用して開発を行うことができます。そして今回、サードパーティ製や SQL Server のデータベースをゼロに近いアプリケーション ダウンタイムで Azure SQL Database にシームレスに移行できる新サービスを発表しました。また、Azure Database for MySQLAzure Database for PostgreSQL の提供開始も発表しました。これにより、開発者の皆様は Azure でお気に入りのデータベースを使用できるようになります。これらの Azure の新たなデータベースはサービスとして稼働します。高可用性、データの保護および復旧、ダウンタイムなしのスケーリングといった機能はすべてビルドインで備わっており、追加の費用や構成も不要です。

データはアプリの中核的な要素であるだけでなく、ミッション クリティカルな面でも重要性が増しており、インテリジェント アプリ開発の基本要素となっています。クラウド ベースのアプリケーションのスケーリング性能が向上し、世界各地のユーザーへの展開や AI 対応が進んでいることから、データはグローバルなレベルで欠かせない要素へとなりつつあります。こうした現状に合わせて、マイクロソフトはこのたび業界初のグローバルに分散したマルチモデルのデータベース サービス Azure Cosmos DB を発表しました。高い稼働率が保証され、99 パーセンタイルでミリ秒単位のレイテンシを誇り、グローバルな分散をすぐにご利用いただけます。ほとんどのデータベース サービスでは強整合性と結果整合性のいずれかを選択しなければならないのに対し、Azure Cosmos DB では 5 つの明確に定義された直観的な整合性レベル (英語) が提供されます。Azure Cosmos DB はそれが可能な唯一のグローバル分散データベース サービスであり、自社のアプリにとって最適なレベルを選択することができます。こうした画期的な機能は、Leslie Lamport (チューリング賞を受賞したマイクロソフト リサーチの研究員) が行った基礎研究がなければ生み出されることはありませんでした。

Azure Cosmos DB は任意の数のリージョンに柔軟にスケーリングでき、可用性、レイテンシ、スループット、整合性に関する業界唯一の返金制度付きデータベース SLA を提供します。Azure Cosmos DB は初めてかつ唯一のスキーマに依存しないデータベースであり、自動的にデータのインデックスを作成します。そのため、スキーマやインデックスの管理や、グローバルに分散したセットアップでのスキーマ移行の複雑さに悩まされることなく、高速でクエリを実行できます。Jet.com をはじめとするお客様は、Azure Cosmos DB を使用して複数のリージョンにまたがる 1 日 100 兆件を超える取引に対応しています。Azure Cosmos DB なら地球規模のスケールが手に入るため、事業の成長に集中することができます。

データのほかに、私は既存アプリケーションの刷新に伴う課題についても開発者たちと対話を続けています。新しいコンテナーやマイクロサービス テクノロジは驚くほどのメリットをもたらしますが、アプリの作り直しが必要になることもあります。しかし、ほとんどの開発者にそんな余裕はありません。こうしたニーズに応えるために、マイクロソフトは懸命に取り組んできました。今後は Kubernetes、Docker Swarm、Mesos DC/OS などのお好みのコンテナー オーケストレーション テクノロジを Azure Container Service で使用し、コンテナーを必要な形で自在に活用できるようになります。

マイクロソフトでは .NET アプリのコンテナー化やそれらの Azure へのデプロイの支援にも鋭意取り組んできました。本日からこのシナリオを Azure Service Fabric へと拡張します。Service Fabric は、Windows ベースと Linux ベース両方のコンテナーの実行をサポートする強力なマイクロサービス プラットフォームですが、今回の更新で、Docker Compose をネイティブにサポートし、マルチコンテナー アプリケーションの Service Fabric へのデプロイに対応しました。これにより、Windows エコシステムと Linux ベースのエコシステムの両者の長所を生かしたマイクロサービス ベースのソリューションを、既存のコードを活用して簡単に構築できるようになります。まず 1 つは、Azure Service Fabric (5.6 ランタイム、2.6 SDK) (英語) で、Windows Server コンテナーのサポートの一般提供を開始します。もう 1 つは、コンテナー化されたアプリのデプロイを支援する、Docker Compose のサポートのプレビュー版の提供を開始します。Visual Studio Team Services との統合により、コンテナー化されたアプリケーションとの継続的な統合とデプロイメントが可能になります。

このほか、サーバーレス コンピューティング (完全に管理された環境でのイベント駆動型プログラミング) によるイノベーションも、Azure Functions と Azure Logic Apps を通じて引き続き支援してまいります。マイクロソフトのサーバーレス機能としては、Visual Studio の充実したツール サポート、シームレスなワークフローとシステムの統合のほか、Visual Studio Team Services、GitHub、Bitbucket に組み込みの DevOps 機能などが用意されています。そして今回、地球上で最も生産的なサーバーレス開発エクスペリエンス (英語) を提供する新たな第一歩となる製品を発表しました。Visual Studio 2017 Tools for Azure Functions のプレビュー版が Visual Studio 2017 の拡張機能として提供開始されました。これを利用すると、Azure Functions 開発を開発フローにシームレスに組み込んでサードパーティ製の拡張機能、テスト フレームワーク、継続的な統合システムを利用できるようになります。また、Azure Functions での Azure Application Insights のサポートがプレビューとして提供されます。これを使用すると、Azure Functions コードに関するインテリジェンスの質が向上し、パフォーマンスの計測、問題の検出、サーバーレス アプリの問題の診断を行えるようになります。さらに、コードをどこからでも柔軟にデプロイしたいというご要望にお応えして、Azure Functions Runtime のプレビュー版の提供を開始します。これにより、Azure Functions の革新的な機能がオンプレミス環境や Azure クラウドの外部に拡張されます。サーバーレス プログラミング モデルやバインディングをオンプレミス環境でも利用できるようになり、コード資産の将来性が高まります。以上の機能を通じて、他にはない優れた開発エクスペリエンスを提供し、サーバーレス ソリューションを構築する開発者の効率向上と成功を支援します。

開発者の成功は、テクノロジにかかっています。そして、そのテクノロジによって生まれたデベロッパー ソリューションの周辺でビジネスが成長することも重要です。このことは SaaS ソリューションを提供する企業に特に当てはまるはずです。Azure は SaaS ベース製品向けの優れたクラウド プラットフォームを提供しますが、それ以上に、マイクロソフト全体ではこうした SaaS プロバイダーがビジネスを成長させられるようにお手伝いすることができます。Office 365 の月間アクティブ ユーザー数が 1 億に達したと先日発表しましたが、Azure を使用すれば、SaaS ソリューションと Office 365 を統合してこの 1 億のアクティブ ユーザーをターゲットにビジネスを成長させるのも難しい話ではありません。Azure Active Directory、Microsoft Power BI、Microsoft PowerApps と自社ソリューションを統合することにより、SaaS プロバイダーはお客様向けにシームレスで一貫したエクスペリエンスを作成し、価値をさらに高めることができます。マイクロソフトの主な強みの 1 つが、業界最大のグローバルな営業力です。Azure をサービスの基盤とする SaaS プロバイダーの場合、Office 365 の企業顧客が追加コストなしで利用できる PowerApps や Flow のコネクタを公開できるようになったため、自社のソリューションをお客様の生産性ワークフローに導入してもらう機会が広がります。Microsoft AppSource を使用しているプロバイダーや、マイクロソフトの共同営業プログラムへの加入資格があるプロバイダーの場合は、お客様への SaaS ソリューションの営業活動についてマイクロソフトの営業部門から支援が受けられます。ビジネスの成長につながる多大な機会を提供する SaaS 企業向けのこうした投資は、あらゆる開発者を成功へと導くためのマイクロソフトの取り組みを示すものです。

壇上で紹介した以上のような進展に加えて、開発者向けツールやクラウド関連でさらに多くのイノベーションがロールアウトされています。そのどれもが開発者が Azure で画期的なエクスペリエンスを生み出せるように支援をすることを目的としています。

  • .NET Core 2.0 プレビュー版 (英語) を導入すると、XML、Serialization、Networking、IO、ほか多数の機能が拡充された .NET Standard 2.0 の統一 API を使用して、1 回の開発で複数の .NET ランタイム (.NET Framework、.NET Core、Xamarin、Universal Windows Platform) で稼働させることができます。
  • ASP.NET Core 2.0 プレビュー版 (英語) には、サーバー コードを HTML と組み合わせた軽量構文 Razor Pages、合理化されたスタートアップ、さらなるパフォーマンス改良などの新機能が含まれます。ASP.NET Core 2.0 Web アプリでは、開発者にコードを作成してもらったりアプリケーションを再発行してもらうことなく、Azure Diagnostics と Azure Monitor を自動で利用できるようになりました。
  • Visual Studio 2017 Version 15.2 では、バグの修正と、過去のリリースでは提供されなかった機能の追加を行っています。Python ワークロードと Data Science ワークロード (R、Python、F# など) が復活し、Typescript 2.2 のサポートが追加されています。
  • Visual Studio 2017 Version 15.3 プレビュー版 (英語) には、バグの修正、アクセシビリティの機能強化、そして新機能が含まれます。特筆すべきものとして .NET Core 2.0 プレビュー版のサポート、.NET Core プロジェクト向けの Live Unit Testing、C++ 標準準拠の強化、Azure App Services をターゲットとする ASP.NET プロジェクトおよび ASP.NET Core プロジェクトの継続的配信の強化、コンテナー開発ツールの機能改良があります。
  • 新しいクラウド デバッグ機能の Visual Studio Snapshot Debugger (英語) を使用すると、長々としたログ ステートメントや例外処理コードを作成することなく、クラウドで稼働しているコードの例外発生時の動作を詳細に把握できます。
  • Azure Batch Rendering (英語) を使用すると、Autodesk 3ds Max や Maya といった市場最先端のアプリケーションによるレンダリング作業を手軽にスケーリングできます。Autodesk との連携により、Azure はパブリック クラウドとして初めてクライアント アプリケーション、ライセンス、オーケストレーション、インフラストラクチャのシームレスな統合を実現します。
  • Linux VM と Windows VM 向けの優先度の低いバッチ処理 (英語) では、余っているキャパシティを Azure Batch で利用できます。最大 80% の割引料金となっており、優先度の低い VM とオンデマンドの VM をうまく組み合わせて大規模なワークロードを柔軟かつ低コストで利用できます。
  • イベントのスケジュール設定や一般提供のインスタンス メタデータ API など、VM のメンテナンスと可用性に関する新機能を使用すると、VM 内で稼働するアプリケーションで次回の更新プログラムに関する情報を入手できます。万が一メンテナンスで VM の再起動または再デプロイが必要になった場合は、メンテナンスを実行する期日を 30 日以内で選択できるようになりました。また、ハードウェア障害が差し迫っていることを検出、予測し、VM を別のサーバーへライブ マイグレーションして作業の中断を回避できます。
  • Azure File Storage 用 Storage Service Encryption が、利用可能なすべての冗長タイプ (LRS、GRS) で使用できるようになりました。追加料金はなく、Azure Files に保存されているデータはすべて AES-256 で暗号化されます。
  • 新しい Azure Service Catalog により、組織用として承認されたマネージド アプリケーションのパッケージ化とキュレーションが可能です。
  • VM の OS ディスクやデータ ディスク、カスタム イメージを含むマネージド ディスクでの Azure DevTest Labs のサポートにより、ストレージやコストの管理が容易になります。
  • Azure Functions with Common Data Service (英語) のプレビュー版を使用すると、Azure Functions で Common Data Service (CDS) を作成、使用してアプリの機能を拡張できます。
  • Azure SQL Database の機能強化の 1 つである Managed Instance プライベート プレビュー版は、VNET、SQL Agent、3 つ部分からなる名前、CDC など、SQL Server インスタンス レベルの互換性を提供します。SQL Server アプリを Azure SQL Database に移行するのがさらに容易になります。また、Graph のサポートのプレビュー版が近く提供開始予定で、Threat Detection は一般提供を開始しました。
  • エンタープライズ クラスの SLA が適用される Azure HDInsight 3.6 の一般提供を開始します。HDInsight 3.6 では、Apache Hadoop & Spark エコシステムのさまざまな最新版オープン ソース コンポーネントを利用して、エンタープライズ クラスのプラットフォームへ簡単にデプロイし、安心して実行することができます。
  • Azure Accelerated Network の新しいプレビュー版は、VM ネットワーク インターフェイスを FPGA へオフロードしてネットワーク レイテンシと VM のオーバーヘッドを削減します。
  • App Service および Storage との CDN の高度な統合により、Azure Web Apps や Azure Storage アカウントにポータル内から直接 CDN を追加できます。