Serverless computing plays an important part in digital transformation. First, it enables developers to be more productive by helping them focus on writing code that has business value, without having to worry about the underlying infrastructure that will support the code. Regardless of vertical industry or company size, a serverless computing strategy can help increase developer productivity by eliminating management overhead.
Features of a serverless computing software development environment include the following:
- zero server management;
- autoscaling to meet changing traffic demands; and
- managed integrated security.
Serverless computing vendors and languages
The major serverless computing vendors include the following:
- Google Cloud Functions. Released by Google in 2017, it supports Node.js, JavaScript, Python and Go, but allows for unlimited execution time for functions. Google Cloud Functions can also interact with many other Google services, enabling developers to quickly create and manage complex enterprise-class applications with almost no consideration of the underlying servers.
- IBM Cloud Functions. Based on Apache OpenWhisk, it supports JavaScript (Node.js), Swift and Cloudflare Workers, which runs functions written in JavaScript and any language that can be compiled to WebAssembly.
- Amazon Web Services (AWS) Lambda. Introduced in 2014, it’s a function as a service (FaaS) offering from AWS. AWS Lambda functions can be written in Java, Go, PowerShell, Node.js, JavaScript, C#, Python and Ruby.
- Microsoft Azure Functions. Microsoft rolled out Azure Functions in 2016 to compete with AWS Lambda. It supports Bash, Batch, C#, F#, Java, JavaScript (Node.js), PHP, PowerShell, Python and TypeScript.
- Cloudflare Workers. Released in 2018, Cloudflare Workers combines edge computing with the FaaS model. It supports JavaScript and WebAssembly-compatible languages.
- Netlify Functions. Rolled out in 2018, Netlify Functions, which is built on top of AWS Lambda, lets developers deploy server-side code as API endpoints. Developers can write functions in JavaScript, TypeScript and Go.
- Vercel Serverless Functions. Vercel Serverless Functions aims to simplify the serverless experience for web app developers. It supports Node.js, Go, Python and Ruby.
- Oracle Functions. Released in 2019, Oracle Functions integrates with Oracle Cloud Infrastructure, platform services and SaaS applications. Oracle Functions is based on the open source Fn Project. It supports Java, Python, Node.js, Go, Ruby and C#; for advanced use cases, developers can bring their own Dockerfiles and GraalVM.
Development tools
There are numerous third-party vendor tools developers can use when they’re working with serverless computing, including the following:
- LambCI. A package that can be uploaded to AWS Lambda to bring CI to serverless.
- Dashboard. A monitoring, debugging and intelligence platform to help developers build, operate, improve and scale apps on AWS.
- Sls-dev-tools. A set of open source tools that make it easy for developers to interact with their serverless functions.
- Serverless-iam-roles-per-function. An open source tool that lets developers easily and quickly define access roles for different serverless functions.
- Thundra. A platform that enables developers to monitor, debug and test their serverless applications.