try it today for free (no credit card).
In terms of memory AWS Lambda offers from 128 MB up to 3 GB of RAM. Users can select memory on increments of 128 MB.
AWS allocates CPU proportionally to the memory assigned. Above 2 GB of RAM, the function is allocated two vCPU cores, which is useful for parallelizing tasks.
Maximum execution time is 15 minutes.
AWS allows users to implement custom runtimes, being able to support virtually any runtime. A few popular runtimes are provided out of the box, which makes it easier to get started:
Lambda can integrate with the following AWS services (synchronously and/or asynchronously):
AWS offers up to 1,000,000 invocations for free. Above this tier, the pricing is $0.20 per million invocations.
Memory is charged per MB-millisecond consumed. The price does not scale perfectly linear with each level of RAM allocated, but every 128 MB used for 100 milliseconds cost, on average, $0.00000020838. The free tier is 400,000 GB-seconds of compute time per month.
Azure Functions memory allocation availability also starts at 128 MB, going up to 1,536 MB and growing in increments of 128 MB.
CPU power is also allocated in proportion to memory. Azure also offers a premium version of Functions, in which the user can determine the number of vCPUs to be allocated, paying $0.00173 per 100 vCPU-seconds.
Maximum execution time is 10 minutes.
Azure Functions has official support for five runtimes:
Two other runtimes are supported as a preview:
Some other runtimes are supported only in an experimental fashion, not recommended for production usage.
Azure pricing model is very similar to AWS Lambda’s. It offers the exact same free tier levels for both invocations and memory usage.
The price per invocation is the same as Lambda, but the RAM pricing is slightly cheaper (- 4%): $0.0000002 per 128 MB of RAM consumed over 100 milliseconds.
Google offers five tiers of resource allocation (memory and CPU, respectively):
The maximum execution time is 9 minutes, which is lower than the previous contenders.
Google Functions also has a different pricing model in comparison to the ones we’ve already seen above, since it charges for memory and CPU separately - although CPU is still determined in a fixed way by the memory allocated.
Memory costs $0.0000025 per GB-second and computing power is charged at $0.00001 per GHz-second consumed.
It’s twice more expensive than Lambda in terms of invocation count cost ($0.4 per million).
The free tier is more generous than AWS and Azure, offering 2 million invocations for free, 1 million compute-seconds per month.
Memory allocation in IBM Functions is limited in comparison to other cloud services, going from 128 MB to 1,024 MB. CPU is assigned proportionally to the memory.
Execution timeout can go up to 10,000 minutes, which is way higher than other services. This would be a compelling selling point for long-running processing needs, but we would argue that serverless platforms are not well suited for this type of job in the first place.
IBM offers a REST API so that users can implement their own integrations with any other HTTP-compatible services. There are no out-of-the-box integrations offered by the platform, unfortunately.
Memory allocation is slightly more expensive than AWS and Azure, costing $0.0000002125 per 128 MB per 100 milliseconds.
The advantage of IBM in pricing is that invocations are free.
Free tier also includes 400,000 GB-second per month, just as AWS.
Memory availability goes from 128 MB up to 1,536 MB, growing in increments of 128 MB. CPU is proportional to memory allocated.
Execution time duration limit is 10 minutes.
Memory allocation cost is slightly higher than AWS, at $0.0000002085 per 128 MB per 100 milliseconds.
Invocation count price is also priced at $0.2 per million calls, just as AWS.
Alicloud offers the first 400,000 GB-seconds per month free of charge.
Oracle Functions isn’t generally available yet and many of the items we analyzed in this article are still unknown: resource capabilities, pricing, integrations. Nevertheless, we decided to mention it here because we see they’re heading in an interesting direction.
Instead of developing their own proprietary serverless platform, like all other we analyzed above, they went the open source way and adopted the Fn Project, managed by Apache, in their underlying infrastructure.
Two main advantages are:
We wish the best to the Oracle team and that their debut in serverless computing contributes to foster competition, innovation, a healthier market and, ultimately, better and cheaper services for the developer community.
Failure detection, analytics and visibility for serverless applications in under 5 minutes.