2 weeks ago we ran the first ServerlessConf… a conference dedicated entirely to serverless technologies, architectures & use-cases.

The conference was hugely popular, and was such an incredible mix of bright and talented people. For a couple of days the #serverless hashtag trended on Twitter… and a lot of people in the tech community took notice. There was a lot of curiosity and even a little backlash about the serverless “hype”.

So I want to dig into the question: What’s this #serverless thing anyway?

serverless = compute + patterns

The rise of the term serverless can be attributed to the growing popularity of compute technologies like AWS Lambda that are often described as serverless. There are a couple of parts to this:

there are serverless compute technologies:

like AWS Lambda, IBM OpenWhisk, Azure Functions, Google Cloud Functions and webtask.io

like AWS Lambda, IBM OpenWhisk, Azure Functions, Google Cloud Functions and webtask.io and there are serverless architectural patterns:

patterns for crafting systems without traditional back-end servers… generally this includes integration with 3rd party services, whether they be native cloud services (such as the rich array of services in AWS), or 3rd party web services.

Serverless compute technologies on their own are useful, but the real power comes from integration with other services — hooking lambda functions into AWS services & 3rd party services to orchestrate rich & powerful event driven pipelines.

This has been referred to as a “servicefull” approach — where cloud services are heavily leveraged, and serverless compute technologies are used as “the last mile” to weave the custom components and 3rd party services together.

“In fact, in many serverless platforms, the amount of code residing in a function-level compute service like Lambda is actually very small.”

With a serverless + servicefull approach, you can compose complex applications with a minimal amount of custom back-end code.

Let’s dig into each concept a little more…