Microsoftは、Azureプラットフォーム上のイベントドリブン、コンピュート・オン・デマンドサービスであるAzure Functionsバージョン2の一般提供を発表した。新しいバージョンには複数の機能が追加されており、開発者はバージョン1よりも簡単にスケーラブルなサーバーレスアプリケーションを構築することができる。
Microsoftは、2016年はじめにプレビューとしてAzure Functionsをローンチし、2016年11月半ばに最初のバージョンとして一般提供した。ブログによると、バージョン2の最大の変更はホストランタイムに対するもので、ポータブルに、クロスプラットフォームになり、効率が向上した。さらにランタイムは、コンテナ内やIoT Edge上のAzure Functionsサービスの外でも動作する。Azure Functions 2.0はローカルのMacやLinuxマシンといった環境でも動作し、開発者はVisual Studio、VS Code、VS for MacなどのIDEを使って関数を書くことができる。
Azure FunctionsのPrincipal PM ManagerであるEduardo Laureano氏は、ブログで次のように述べている。
Functions 2.0は、一般的なホスト改善、よりモダンな言語ランタイムのサポート、パッケージファイルからのコード実行機能のおかげで、これまで以上にパフォーマンスが向上しています。
Functions 2.0では、開発者はJavaScript(Node 8とNode 10)、C#、F#(.Net Core 2)、Java 8(プレビュー)といった複数の言語でコードを書くことができる。加えて、非.NET言語は新しい言語ワーカーモデルから動かすことができ、パフォーマンスが改善されるはずだ。ワーカープロセスはより優れたバージョンサポートとイテレーションを可能にし、今後の言語サポートを助けてくれる。
引用元: https://azure.microsoft.com/en-us/blog/introducing-azure-functions-2-0/
Functionsのバージョン2では、コアHTTPとタイマー以外のすべてのバインディングが拡張機能になった。Azure FunctionsのBindingsは、データのソースもしくはデスティネーションからコードを分離するものだ。これらを拡張機能としてパッキングすることで、Microsoftは分離をさらに進めている。Laureano氏がブログで述べているように、拡張機能を分離することで、Microsoftはコアランタイムと独立して、バインディングとその依存関係をバージョン管理できるようになる。アプリが依存するサービスが進化を続けるなか、開発者は自らのアプリケーションとその実行方法をよりコントロールできるようになる。
Functions 2.0には以下も含まれている。
- Azure SignalR Serviceのための新しい拡張機能
- Application Insightsとの統合拡大
- デプロイメントセンター機能の追加(まだプレビュー)により、ソースを管理しやすくなる
引用元: https://azure.microsoft.com/en-us/blog/introducing-azure-functions-2-0/
Functions 2.0のリリースで、Microsoft Functionプロダクトチームはさらにサービスを強化し、ホスティングオプションと言語サポートを追加していく予定だ。チームは、サーバーレスのようなAzure Functionsのための開発スタックとホスティングオプションの拡大を計画している。例えば、Linux OS上に構築されたFunctionsの従量課金プランのプレビューは、サインアップすることで利用可能だ。さらにチームは、Functions 2.0ランタイムに基づくPython 3.6サポートも構築中だ。これもプライベートプレビューから利用可能だ。
Rate this Article
- Editor Review
- Chief Editor Action