It’s a funny old business working in tech – no sooner have we all settled down after making a hot fuss about the latest addition to our digital arsenal, than we start getting all twitchy about something else that’s going to ‘revolutionise’, ‘rewrite’ or ‘reimagine’ how we do business. I’ll confess, these circles within circles, those wheels within wheels (isn’t there a song in somewhere?) are what gets me out of bed in the morning. And for the past 500 mornings, it’s got to be these growing whispers around Serverless computing. Before you start rolling your eyes and wondering how deep you’re going to have to delve into your pockets this time, hang fire – if something’s on the Waracle Watchlist this long, it usually means it’s worth paying attention to …
The difference between serverless and cloud
What do Netflix, AKQA and Coca-cola and Airbnb have in common? No, not creative vision, future focus or secret recipes – it’s that they’re all working with ‘serverless’, along with thousands of other businesses looking to digitally transform and operate more efficiently, cost-effectively, and innovatively. Sounds good, right? Sounds … cloud-y, even. But if there’s one thing a lot of folks get muddled about when it comes to serverless, it’s the ways in which it’s different from the (very similar) cloud computing. But different it is! Says Microsoft about cloud:
“Cloud computing is the delivery of computing services—servers, storage, databases, networking, software, analytics, intelligence and more—over the Internet (“the cloud”) to offer faster innovation, flexible resources, and economies of scale. You typically pay only for cloud services you use, helping lower your operating costs, run your infrastructure more efficiently, and scale as your business needs change.”
… or to put it more succinctly, cloud computing is delivered over the internet, but perhaps more significantly it’s usually via a ‘pay for what you use’ model. We all know cloud computing has been literally revolutionary in terms of how we do business, and we all know we like it; it generates billions in revenues every year, providing enterprise (and consumers) with quick, easy access to multiple technologies and at the same time minimising barriers to entry (technical know-how and costs). As if that’s not enough, it’s cost-effective, it’s efficient, and perhaps most importantly, it’s cloud computing that scales.
So far so good? OK. So you’re thinking, what’s serverless going to bring to that already impressive spread that cloud offers? As far as serverless computing goes, there are a few key elements that set it apart from cloud which are bringing it to the attention of the brands and businesses looking for even more efficiency, even more cost-savings, even more … innovation.
But before we get into these, let’s quickly address the elephant in the room: serverless is not serverless. Somewhere in the world, there will be a server powering your serverless operations – it’s just that you don’t have to think about it. When it comes to serverless, you can forget about those pains-in-the-proverbials – like server setup, capacity planning, and management operations – because they’ll be managed by the cloud provider. In other words, you can forget about servers full-stop, and start reaping the benefits your newfound serverless freedom brings, which happens to be a lot more than you think …
“Coca-Cola’s Michael Connor, at AWS Re-invent, talked about how several case studies they made highlighted that by using serverless they would cut costs by up to 65%”
The myriad benefits of serverless computing
So what gives – what is it about serverless that has everyone from the big brands to small businesses rewriting (I told you!) their plans for future growth and world domination? Here’s our take on the biggest benefits:
For starters, it’s highly cost-effective – enterprise using cloud services are almost always forking out for unused space or idle CPU time. With serverless, this isn’t an issue – your cloud provider takes care of it, handing the scaling when needed so you’re never under – or over-using space. You’ll only pay only for the resources you use when you use them. And if you don’t use? You don’t pay – so you can forget all the usual hassle of pre-provisioning or over-provisioning for storage or computing.
Serverless means ‘always on’ – with servers automatically deployed where they’re needed, when they’re needed. So if it’s 7am on a Sunday morning and there’s a pressing need, you can go back to bed and finish your dream.
Serverless allows instant scaling – up, down, sideways, just a little or a whole lot, scaling with serverless takes no time at all. Whenever function load increases, the provider’s infrastructure immediately creates thousands of copies of the function and scales up instantly to accommodate the increase.
It’s your developer team’s dream – they get to “just push code” – without having to think about the more pesky elements of the development process that have traditionally been (ridiculously) time-consuming and annoyingly resource-heavy – think containers, scaling and service discovery for starters. The result? The freedom to ship optimum, feature-rich products.
You get take advantage of rapid release cycles – Serverless means not only can your team ship their apps much faster, they can also deploy app updates in record time – updates that will be reflected far quicker than they were able to before serverless.
With serverless, concerns around policies to scale up code are non-existent because the vendor manages the scaling at their side, taking the pressure off at yours. And now that your team has some additional flexibility, they can focus on launching awesome digital products far quicker than they’ll be used to. Serverless frees up the time developers and operations teams usually spend time on maintaining builds and sorting out problems.
Being able to make decisions quickly – and act on them – thanks to serverless, means a kind of ‘new agility’ across development processes. This in itself is huge; agile build, test and release cycles foster a culture of ‘continuous improvement’ that drives an enterprise towards optimum outcomes – aka ‘success’. It’s a win-win.
Serverless computing provides dev teams with the flexibility and the liberty to refine their code, leaving the usual issues of infrastructure, provision and scaling to the provider. Code changes can be automatically deployed on a continuous basis.
OK, I’m hooked – tell me more!
Specifically relevant to software development, we understand the excitement around serverless – we’re hooked too. And we’re not alone – in last year’s Cloud Foundry survey, 46% of businesses asked are using or looking at using serverless computing. It makes good business sense – providing a serverless environment for development teams means that not only do they get to focus on what they most love (writing code), it also means your business can operate with more agility, greater creative freedom and optimum production cycles, which set the foundations for a far leaner, meaner, effective business model. Those big brands we mentioned earlier? They’re not merely mucking around with serverless, they’re strategically placing it at the beating heart of enterprise dev-ops to speed up time to market (one of the big serverless benefits) and to underpin previously complex scaling activities that – given their success – are now seeing them blow the competition out of the water.
What to do next
The verdict is in – serverless is well on its way to becoming the choice for smart enterprises looking to scale ops at speed. If you’d like to learn more about how companies are using serverless to drive big business benefits then join us at our next virtual event – Serverless Architecture for Enterprise Scalability and Cost Control. We’ll be partnering with Amazon to take a deep dive into serverless use-cases and helping you to plan your next steps if you’ve been bitten by the serverless bug. Head here to bag your place.