Whether you call it serverless computing, function as a service or runtime as a service, the concept is taking pay-as-you-go cloud to a new level.
Runtime as a service (RaaS) is essentially what's provided by AWS Lambda, Google Cloud Functions, Microsoft Azure Functions and other public cloud vendors. RaaS allows IT pros to avoid paying for idle compute, instead paying for cloud resources when their function, or runtime, is invoked. While runtime as a service gives companies less control over the total cloud bill from a provider, it also means that they only pay for actual usage.
If there are zero users that come into your application for a month, that bill would be zero thanks to serverless computing. If, however, a sudden flood of users comes in without warning, that cloud bill would skyrocket.
The main advantage beyond flexible billing is that these types of applications automatically scale for you, since each request simply executes an additional runtime.
How does runtime as a service differ from its peers?
RaaS differs from platform as a service (PaaS) because the environment is long-running in many PaaS systems, but they automatically scale the application up or down like RaaS does. Additionally, a traditional PaaS deployment limits developers to a specific application framework. With many RaaS concepts, developers essentially deploy code in a container that starts on-demand. The major thing to focus on when building an application using RaaS is minimal bootstrapping, so the runtime can start up, execute and close down quickly.
Infrastructure as a service (IaaS) is a traditional cloud computing service where companies pay by the hour for compute environments, whether they're actively used or idle. While it's the least efficient form of cloud computing, IaaS is still the go-to for most companies, primarily because it's the most similar to traditional programming and doesn't require as much rewriting of existing code to work.
Organizations can migrate an existing application to RaaS, in the sense of rewriting it entirely to use the new framework, but this is a pretty extensive process for most apps. There is no direct migration opportunity, as there is with IaaS or even with some PaaS systems, that allows for easy set up on the same type of workflow used on a regular web app right in the platform.
Containers, microservices evolve PaaS offerings
Pros and cons of replacing the data center with IaaS
Cloud pricing models explained
See how your cloud transformation efforts stack up
Will serverless impact your cloud IT teams?
Dig Deeper on Managing Cloud-Native Applications
Related Q&A from Chris Moyer
Can an application have Python as a container, run SQL queries on an external Microsoft SQL database and publish the results on an Apache web server ... Continue Reading
The wait is over, as you can now trigger Lambda functions with SQS messages. Follow these steps to get up and running with this new capability. Continue Reading
Event-driven computing means no IaaS provisioning and no data center to run. Can I migrate all enterprise apps to be event-driven? Continue Reading