What the hell is Serverless? To be honest, I can give you an answer, but I can’t guarantee it’s the right one. It’s the new buzzword for 2016 from 2012. Either way I’m going to attempt it.

It’s not a market segment, it’s not a product and it’s not a new way of working. It’s all of that and more. To be very mundane and obvious, it’s about doing stuff without servers. It’s what is required to free ourselves of servers, and the behaviour that is driven by operating without servers, is what is going to change the way we meet user needs.

Every user need that is met through software will be addressed with a direct functional requirement, for example “I need the current time”. In addition to the direct requirement there will always be at least three additional implied requirements of performance, availability and security. To extend the example the full requirement looks like this “I need the current time within 300ms of requesting it, whenever I request it 24/7 and need to be trust it is has not been altered”.

An NTP service will meet the user need above, but the difference in engineering required to deliver a simple NTP service you can run on your laptop, to delivering a high-available, performant and secure NTP service is immense.

So what have this to do with being serverless? If you take all 4 requirements required to meet every user need, the direct requirement & the three implied requirements, you will be able to find services out there that you can consume that meet the user & technical needs common across many applications (i.e. authentication, storage, database, etc.). These types of services have been around for a while now.

So what happens when there is a requirement that can’t be met by an external service? This is where cloud function services come in. These services (like AWS Lambda, IBM OpenWhisk, Google Cloud Functions, Azure Functions, webtask.io, etc) all meet the implied requirements of performance, availability and security for the majority of user needs, and give you the ability to write your own code to meet the unique direct requirement of the user need.

It’s the advent of these cloud functions that have been the catalyst for the rise of serverless. To create the functionality unique to your application, now you only need to write code that sits on the thin top layer of the technology stack. It’s the Almost No Stack. You worry about the 2% of the stack that provides all the value, and leave the 98% that doesn’t provide differentiation to organisations that do that better than you can.

When you adopt this approach a few things happen. Firstly, you spend the majority of your time meeting the direct user need that is unique to your users, so you start to move a lot quicker as an organisation.

When public cloud came around, a lot of the value was the agility gained by not having to worry about the physical bits of managing a data centre, from physical provision through to capacity and replenishment. Serverless is just an evolution of that, the value is now not having to worry about managing virtual infrastructure at all, from the operating system to the orchestration and resource scheduling. Serverless is just about consuming services, and letting the service provider worry about those other really hard bits.

Serverless encompasses a new way of working (focus on direct user need only), market segments (cloud functions, static web hosting, cloud etl, cloud automation, single page apps, mobile apps, chat bots, voice services, IoT, API’s, security automation, machine learning, etc…), many new (and old) products (a very very long list) and a bunch of open source frameworks have popped up around all of this making it easier to use.

Is Serverless a NoOps way of working? Not at all, all the disciplines required when looking after a full stack are exactly the same when you need to look after the 2% stack. You’re just applying it to a smaller set of the stack, so spend less time doing it, but you still need to it.

If you start working in a serverless way you’ll meet user needs faster, increase agility and ultimately be more effective. This stuff is new, so it’s not a miracle cure, a lot of things still need to be figured out, but it’s happening, and happening fast.

Serverless is just the next step…

Ant/Stan

PS. I’m organising a little conference in New York covering this stuff called ServerlessConf… Come down to learn more!