Chapter 18. Serverless and Functions as a Service

Function as a Service (FaaS) offerings, such as AWS Lambda and Azure Functions, are relatively new software execution environments that have given credibility to the creation of simple microservices without the need for servers. The industry has coined the term serverless to refer to these types of execution environments.1

FaaS offerings provide event-driven compute capabilities without the need to purchase, set up, configure, or maintain servers. FaaS offerings such as AWS Lambda and Azure Functions give you virtually unlimited scalability with the ability to pay at a subsecond-metered level.

Services such as AWS Lambda can scale to almost any rational scaling size necessary, without any actions required to make that happen. This is the true power of FaaS.

Here are some typical use cases for FaaS:

  • Image transformation for newly uploaded images

  • Real-time metric data processing

  • Streaming data validation, filtering, and transformation

It is best suited for any sort of processing where:

  • Operations need to be performed as the result of an event occurring in your application or environment

  • A data stream needs filtering or transformation

  • Edge validation or regulation of inbound data is necessary

There currently is a lot of hype around FaaS. However, FaaS services aren’t for everything. Their real power is useful in specific types of architectures. The following are some specific types of applications that can effectively ...

Get Architecting for Scale, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.