Google’s Functions-as-a-Service (FaaS) offering on its cloud platform is Cloud Functions, allowing developers to build serverless solutions which integrate with third-party services and APIs, or IoT backends. Recently the public cloud vendor announced several new capabilities for Cloud Functions such as more languages support, improved developer experience, enhanced security with per-function identities and availability in more regions.
Google continued enhancing Cloud Functions with new updates since its general availability which was announced during the Cloud Next conference in 2018. These updates include language support for Java, Go, Node.js, and Python. Now the company has further expanded the support for languages .NET and .NET core. Moreover, Cloud Functions currently supports six different languages with the following runtimes: Java 11, .NET Core 3.1, Ruby, Node.js (8, 10 and 12), Go (1.11 and 1.13), and Python (3.7 and 3.8).
Source: https://codelabs.developers.google.com/codelabs/cloud-starting-cloudfunctions/index.html
Furthermore, the Google Cloud Functions team built a framework to improve the local developer experience. This framework consists of a set of open-source, idiomatic libraries for each of the Cloud Functions-supported languages - and with the framework, developers can run, test, and debug their function in their local environment. Furthermore, the framework also increases the overall portability of functions as developers can deploy functions in a container – by using a Dockerfile or Buildpacks.
Next to additional language support and framework, the Google Cloud Functions team also:
- Enhanced the security with a per-function identities feature, wherein individual functions within a project have their own identity. Furthermore, the feature allows for fine-grained control over which resources a function can access.
- Added a max-instances feature allowing developers to limit the degree to which their function will scale in response to incoming requests.
- Added setting budget alerts feature to allow developers to set an early-warning signal of unexpected increases in consumption.
AWS Lambda was the first FaaS offering in the Cloud by a major cloud provider, and Microsoft followed with Azure Functions. The latter offers similar developer experience with runtime tools in combination with Visual Studio or Code. Furthermore, both Lambda and Azure Functions provide support for various languages, various security capabilities, and integration with other platform services.
Holger Mueller, principal analyst and vice president at Constellation Research Inc., told InfoQ:
Developers need to build next-generation applications faster than ever before, leading to the demand for higher developer velocity. Serverless is a crucial accelerator for developers, as there is less time to spend on DevOps and most importantly - fewer worries on the scalability of their next-generation applications. CxOs like serverless as it brings their enterprise to an even more granular pay-as-you-go model.
Lastly, Google Cloud Functions is available in 11 more regions which increases the number to 19. Furthermore, guidance, documentation and pricing of Google Cloud Functions are available on the landing page and pricing page.