AWS price cuts: is serverless gaining momentum?
A serverless platform is an abstracted cloud computing service that executes a user’s code without the user needing to provision the underlying server or operating environment. The physical server, resources and operating environment used to execute the user’s code are managed by the cloud provider and are not accessible to the user (hence “serverless”). In July, Amazon Web Services (AWS) announced a price cut to its serverless platform, Lambda, but only for high levels of consumption.
Why would AWS make this price cut? In a serverless computing service, developers upload code via a graphical user interface or application programming interface (API). The user defines a trigger that executes this code, such as an API call sent from an application, a timer or an event on another cloud service. When triggered, the serverless platform assigns resources to the code, executes it and returns any result.
What differentiates serverless from platform as a service is that the user is only billed for the precise period the platform runs the algorithm. Aside from the cost of using persistent cloud storage, there is no ongoing expense for a serverless application when dormant, making it economically attractive for “bursty” workloads that exist for short periods of time when demand necessitates.
Serverless computing is a relatively recent innovation in IT. AWS pioneered the serverless cloud model (also called function as a service) with the launch of Lambda in 2014. Usage of Lambda is billed to the user using two metrics: the number of transactions and the total amount of memory consumed by code execution for the period executed, expressed in gigabyte (GB)-seconds.
AWS has announced a 10% to 20% discount for monthly consumption of Lambda of over six billion GB-seconds. To achieve this discount, users would have to consume a substantial amount in practice. No price cuts have been announced below the six billion GB-second threshold.
The price cut is unlikely to be related to market price pressure or internal cost reductions. The driver is likely to be that some organizations have grown their serverless consumption to a cost-prohibitive point. To reduce this barrier, AWS has opted to take a hit on gross margins for larger consumers in the belief that their sales volume will increase to offset the loss.
An organization’s cloud consumption is more likely to rise than fall over time. Most would prefer that their cloud applications grow to meet demand, rather than lock down scalability to save costs. Cost efficiency is rarely at the forefront of application development and operations teams. Many Lambda users will likely see increased usage and increased bills but this isn’t necessarily a problem if it translates into business benefits.
Analysis of the price cuts suggests that some users are consuming significant amounts. AWS has announced a 10% discount on the monthly execution costs of consumption between six billion and 15 billion GB-seconds and 20% for greater than 20 billion GB-seconds. Six billion GB-seconds is a considerable capacity: a user would have to consume the equivalent a of 2.3 terabytes (TB) of memory for an entire month to obtain a 10% discount and 5.7 TB to receive a 20% discount. The latter is the equivalent of 178 regular cloud instances, each configured with 32 GB of memory.
These figures demonstrate the significant scale of serverless being adopted by some organizations. Considering AWS has rebuilt its pricing model to reduce costs for these users, the number of organizations consuming such large amounts cannot be trivial. This price drop matters because it makes the serverless model more economical and attractive for use at larger scale, beyond just simple functionality. It signals wider adoption of serverless computing to the market, validating the emerging computing model’s viability. Highly bursty workloads architected to take advantage of serverless platforms are also likely to be more resource-efficient than even modern, containerised software, let alone traditional, nonscalable applications.