こんにちは、さとうなおきです。「週刊Azureなう」では、先週の1週間に発表されたMicrosoft Azureの新機能から、筆者の独断と偏見で選んだトピックについて紹介していきます。
Connect(); 2016 開催
11月16~17日に、開発者イベント「Connect(); 2016」が開催されました。今回の記事で取り上げるAzure関連の多数の発表の他にも、Visual Studio for Macをはじめとする多くの発表がありました。
- Visual Studio for Macを発表、プレビューをリリース(関連記事)
- Visual Studio 2017 RC (リリース候補) をリリース(関連記事)
- Visual Studio Mobile Centerを発表、プレビューをリリース
- Team Foundation Server 2017をリリース
- MicrosoftがLinux Foundationに参加(関連記事)
- Googleが.NET Foundationに参加
Connect(); 2016のウェブサイト、Channel 9ページで、基調講演やセッションのビデオを視聴できます。
また、今週の11月21日には、東京で「Connect(); Japan 2016」を開催しました。私も、AI開発セッションで登壇しましたよ。2つの基調講演の記事 (「『好みのデバイスで好みの開発言語を』--新しいVisual Studioの世界」、「LinuxやmacOSからもSQL Serverにアクセス--マイクロソフト北川氏が解説」)も公開されているので、是非ご覧ください。
それでは、Connect(); 2016での発表を中心に、先週のアップデートをご紹介していきましょう。
Azure App Service:App Service on Linux(プレビュー)がコンテナ、ASP.NET Coreをサポート
Azure App Serviceは、ウェブアプリケーションやWeb API、モバイルバックエンドをホストするためのPaaSです。
Azure App Serviceは、Windows Server、IIS上でASP.NET、PHP、Node.js、Java、Pythonをサポートしていました。そして、10月にプレビューがリリースされたApp Service on Linux(記事、ブログポスト)は、Linux上でNode.js、PHPをサポートするようになっていました。
今回、App Service on Linuxが、PHP、Node.jsに加えてASP.NET Coreをサポートするようになりました。
また、独自のDockerコンテナイメージを持ち込むことができるようになりました。App Service on Linuxは、PHP、Node.js、ASP.NET Coreをサポートするためにぞれぞれに対応するDockerコンテナイメージを使っています。これらのイメージを基にカスタマイズしたイメージや、これらのイメージとは別のイメージを使うことができます。イメージは、Docker Hubや(Azure Container Registryなどの)プライベートレジストリからロード可能です。
これによって、App Service on Linuxで、デフォルトでサポートされているPHP、Node.js、ASP.NET Coreだけではなく、Linux上で動作する任意のウェブアプリケーションスタックを使えるようになりますね。
詳細は、Azure Blogのポスト「App Service on Linux now supports Containers and ASP.NET Core」、ドキュメント「Introduction to App Service on Linux」、「Using a custom Docker image for App Service on Linux」をご覧ください。

Azureポータルでの、App Service on Linuxに対するDockerコンテナイメージの指定
Azure Functionsが一般提供に
Azure Functionsは、C#、Node.js、Pythonなどで書かれた「関数」を実行できる、サーバレスアーキテクチャのサービスです。
Azure Functionsは、3月のBuildカンファレンスで発表されてプレビューが開始されており、その後、継続的に機能拡張を続けてきました。
今回、Azure FunctionsがGA(一般提供)となりました。現在、C#、JavaScriptの関数のサポートがGAとなっており、F#、PowerShell、PHP、Python、CMD、BAT、Bashの関数のサポートは、引き続きプレビューのままです。
また、Azure Functions CLIのベータを使うことで、ローカルで関数の作成、実行、デバッグが可能になり、Visual Studio Codeとの統合も可能になりました。Azure Functions CLIは、現在、Windowsのみをサポートしていますが、今後、Mac、Linuxもサポート予定です。
近いうちに、Visual Studioのサポートも、プレビューとして利用可能になる予定です。これを使うと、Visual Studioで関数の新規作成、開発、ローカル/リモートデバッグ、Azureへの発行が可能になります。
Azure Functionsの関数では、(Blob Storage、Table Storage、Event Hubs、Service Busといった)Azureサービス、(OneDrive、DropBoxといった)外部サービスへのバインディングを簡単に設定できます。バインディングを使うことで、たとえば、Blob Storageにファイルがアップロードされたら関数が実行されるように設定できます。
プレビューとして提供されているSendGrid、Twillio、Box、DropBox、Google Driveのバインディングは、バインディング拡張性フレームワークを使って構築されています。このバインディング拡張性フレームワークを、来年にプレビューとしてリリースする予定です。
Azure Functionsの1時間試用版を使うと、登録の手間なしに簡単にAzure Functionsを試せるので、是非お試しください。詳細は、Azure Blogのポスト「Azure Functionsの一般提供を開始」をご覧ください。

Azure Functionsの1時間試用版