Googleは自身のクラウドプラットフォーム上で、Cloud FunctionsというFaaS(Functions-as-a-Service)を提供している。これを使うことで、サードパーティのサービスやAPI、IoTバックエンドと組み合わせたサーバーレスソリューションの構築が可能になる。先日、彼らは言語サポート、デベロッパーエクスペリエンスの向上、関数ごとのIDによるセキュリティ強化、より多くのリージョンへの展開などを含むCloud Functionsの新機能を発表した。
Googleは2018年のCloud Nextカンファレンスで発表した一般公開以来、新しいアップデートでCloud Functionsの強化を続けている。これまでのアップデートには、Java、Go、Node.js、Pythonの言語サポートが含まれているが、今回、その言語サポートを.NETおよび.NET coreに拡大した。現在、Cloud Functionsは、Java 11、.NET Core 3.1、Ruby、Node.js (8、10、12)、Go (1.11、1.13)、Python (3.7、3.8) の各ランタイムに対応し、6つの言語をサポートしている。
Source: https://codelabs.developers.google.com/codelabs/cloud-starting-cloudfunctions/index.html
また、Google Cloud Functionsチームはフレームワークを構築し、デベロッパーエクスペリエンスを向上させた。このフレームワークは、Cloud Functionsがサポートする言語ごとのイディオムに対応したオープンソースライブラリのセットから構成されており、これにより開発者は、ローカル環境で関数の実行、テスト、デバッグが可能になる。また、DockerfileやBuildpacksを使うことで関数をコンテナにデプロイできるため、関数の全体的なポータビリティも向上する。
追加の言語サポートとフレームワークに次いで、Google Cloud Functionsチームは以下の機能を挙げた。
- 関数ごとのIDによるセキュリティの強化。プロジェクト内の個々の関数が独自のIDを持つようになる。また、この機能により、関数がアクセスできるリソースのきめ細かい制御が可能になる。
- 最大インスタンス数の追加。開発者は、関数が受信リクエストに応じてどの程度スケールされるかを制限することができる。
- 予算アラートの設定を追加。開発者は、予期しない課金の増加に対する重大な早期警告シグナルを設定することができる。
主要なクラウドプロバイダーが提供した最初のFaaSは、AWS Lambdaだった。そして、MicrosoftがAzure Functionsでそれに続いた。後者は、Visual Studio および Codeと組み合わせたランタイムツールで、同様のデベロッパーエクスペリエンスを提供する。また、LambdaとAzure Functionsの両者は、様々な言語、様々なセキュリティ、他のプラットフォームサービスとの統合を提供している。
Constellation Research Inc.の主席アナリストでバイスプレジデントであるHolger Mueller氏は、InfoQにこう語った。
開発者は次世代アプリケーションをこれまで以上に高速に構築する必要があり、開発者のベロシティ向上が求められています。サーバーレスは開発者にとって重要なアクセラレータです。DevOpsに費やす時間が少なくなり、最も重要なことは、次世代アプリケーションのスケーラビリティに関する心配が少なくなるためです。CxOたちはサーバーレスを好んでいます。サーバーレスはきめ細かな従量課金モデルへと企業を導くためです。
最後に、Google Cloud Functionsはさらに11のリージョンで利用可能になり、その数は19に増えた。また、Google Cloud Functionsのガイダンス、ドキュメント、料金については、ランディングページと料金ページにある。