Serverless can be ideal for most web and social media applications - a domain typically defined by quite bursty and unpredictable workloads.
Imagine you are in charge of running a large manufacturing plant - let's say an electric car production facility. After you have placed a large order for solid state batteries, Werner, one of your trusted component suppliers walks your factory floor with you and stops in front of a raft of different CNC machines - some that cut or mould pieces; others assemble these and other parts together.
He points at them and says: "Recently we installed these super machines in our warehouses that can do pretty much anything and we have come up with a really exciting new business model. Would you be interested in hearing more about this?"
Of course, any analogy goes only so far and comparing this setup to cloud computing is no different. But bear with me for a moment and ignore the logistics of raw materials and finished goods. Instead, I’d like you to think about offerings in the digital world that might fit the above description. You might come up with virtualisation, infrastructure as a service (IaaS) or even platform as a service (PaaS) but I am talking about serverless here - the next evolutionary step in cloud computing. Currently, this is taking the world by storm with new articles, talks and books published every day - you can even attend conferences dedicated to that very topic.
So what is serverless and who is in the market?
Serverless is an architectural style that can be used to describe new cloud native applications and internet based systems that take advantage of short-lived compute resources and possibly other third party services.
A word of warning, though: Do not be thrown off by the term itself - there are still servers involved! However, in this outsourcing model you are delegating the responsibility to look after them to someone else. Staying within manufacturing, it becomes now Werner’s job to manage these machines in his warehouses.
He explains it a bit more: "You just give us the part specifications and we will make your components based on that - at a moment's notice and in any quantity you want: If you require many millions, we deliver them all in one go in the time it takes to produce a single one. But you don’t have to commit to anything - there are no quotas. The best part is the pricing model though: You only pay us an incredibly small amount for the time it takes to create each individual piece; there are no standby or machine maintenance costs anymore - you don't pay anything unless you place an order."
Briefly scanning the market, we have Lambda from Amazon Web Services on the serverless provider side: It was the first compute offering of this kind when it was released two years ago.
Nowadays, all of the other major cloud vendors including Microsoft (Azure Functions), Google (Google Cloud Functions) and IBM (Bluemix OpenWhisk) have joined the serverless bandwagon. At the moment these are still in preview, alpha or only available as an experimental offering but that will change.
As for consumers, some companies are still experimenting with these compute platforms while others have already fully embraced the paradigm shift: Retailer Nordstrom, Netflix and iRobot (the makers of Roomba cleaners) - just to name a few - are all heavily invested in serverless computing.
Some others - for example the on-demand training provider A Cloud Guru - have based their complete business model on serverless and use this architecture style for all of their compute needs including production workloads. They are not managing a single server.
Looking a bit closer - what are the benefits?
For many, the granular billing and - as a result of that - the often achieved significant cost savings are at the top of the list: Take for example a recent case study of the US based media website Bustle which cites savings of more than 80 per cent. In another case study from Australia, the shipping and fulfillment provider temando managed to reduce their monthly compute platform bill from about $30,000 to less than $20.
Without the need for server and infrastructure management including its procurement, configuration and servicing, your operational teams can remain small. Your DevOps engineers can focus on more value adding tasks such as automation, building delivery pipelines or providing proactive support.
But there are also reduced development costs that contribute to these savings. Think about buying those specialised batteries for your electric cars versus manufacturing these yourself. The integration of specific third party services in order to address common concerns such as identity and authentication, enterprise search or handling payments - often referred to as backend as a service (BaaS) - is considered by most experts in this field to be part of Serverless Architectures too.
By using this ‘service-full’ approach, i.e. exploiting services which follow the same business model, your developers and engineers are freed up and can focus on building innovative solutions that will truly differentiate your products from your competitors.
Serverless is no silver bullet... It is, for example, not perfectly suited for systems with very low latency requirements.
Hand in hand with that goes the ability to speed up your time to market. Disruption is evident across almost all industries and companies are now being forced to “out-release” others by delivering new features and services at an unprecedented velocity. A Cloud Guru - the aforementioned completely serverless online training provider - went from inception to production in just four weeks.
And as a side effect of its pricing model, cost transparency and with that expenditure awareness is yet another benefit of serverless: Knowing the exact cost of individual business transactions enables product owners to make more informed decisions: If for example all of your most frequently end-user initiated website actions cost about the same except a few outliers that are several magnitudes more expensive, then you are well advised to investigate these further. Optimising them by reducing their execution times by a third translates directly to cost benefits, i.e. your invoice will be 30 per cent less.
Remember the given definition of serverless? Those short-lived compute resources - commonly referred to as functions as a Service (FaaS) - are also inherently scalable: The same code used to deliver A Cloud Guru’s online video training courses to only a few customers initially now caters for more than 60,000 engineers without any changes. Putting zero thought and effort into the ability to scale your code in functions instantly from a few requests to many millions has been unthinkable in the past.
This obviously appeals to startups and more established players alike when entering not quite established markets with new offerings where demand for these is yet unknown.
Okay, that sounds all really good but… Is it for me?
So far we covered the current serverless landscape and discussed some of its promises. No wonder businesses all around the world are looking very closely at serverless - despite its rather recent entry onto the stage of cloud computing. Naturally, and as with any new technical approach, there are still some important lessons to be learned and a few teething issues around tooling, versioning, etc. that need addressing.
However, and some of the most sceptical critics agree on that: The underlying philosophy of “reduced waste” is very convincing. Essentially, there is no “idle” anymore that you have to pay for.
But it is fair to say that serverless is no silver bullet. Not even close. It is for example not perfectly suited for systems with very low latency requirements. You might also not get the desired mileage out of serverless when you are dealing with well known and quite steady traffic patterns.
On the other hand, serverless can be ideal for most web and social media applications - a domain typically defined by quite bursty and unpredictable workloads. Various use cases around analytics, BI and even AI fall also into this category. And then there are data streams of any size data (both big and small) and other event based systems including IoT. All of these and many more are great serverless stomping grounds.
It is important to remember though that one cannot simply buy serverless!
But if you are thinking about modernising your aging monolithic legacy applications or are in the business of developing the next big entertainment system for electric cars, then you should definitely listen to what Werner has to say: Serverless might well be the next disruption in cloud computing that will have more impact on businesses around the world than virtualisation, IaaS and PaaS combined!
Andreas Mueller is the General Manager of API Talent in Auckland. Reach him at Andreas.Mueller@apitalent.co.nz.
Send news tips and comments to firstname.lastname@example.org
Follow CIO New Zealand on Twitter:@cio_nz
Join the CIO New Zealand group on LinkedIn. The group is open to CIOs, IT Directors, COOs, CTOs and senior IT managers.