Serverless computing has been around for almost a decade, having first being introduced by AWS in 2014 (AWS Lambda remains the market leader to this day). Adoption is rapidly growing, mostly due to the promise of significant time and cost efficiency savings for companies.
But whilst start-ups and smaller businesses are tending to develop serverless-first nowadays, many larger organisations have been slower to adopt the concept, often citing reasons such as infancy, lack of observability, and associated complexity with making the shift.
It's difficult to substantiate the infancy objection nowadays, especially when you consider the nine years AWS has been providing robust serverless capabilities and look at some of the companies successfully using serverless in production - Netflix, Coca Cola, T-Mobile to name a few. And the other major objections have since been resolved by a growing serverless community that works on documenting best-practices.
In this article we'll explore the core benefits of serverless for enterprise, discuss some of the potential trade-offs and mitigations, and also suggest how established/enterprise organisations can begin their serverless journey.
What is serverless computing?
You probably already know that the name 'serverless' is a bit of a contradiction. All data systems need servers to operate. So, just to be absolutely clear serverless computing doesn't mean that servers aren't involved - it just removes the need for businesses to own, lease, or manage their own servers.
The time, effort and cost involved in managing and maintaining traditional servers is significant. And that's before you consider the complexities involved in adding to server space as your needs grow, or security patching as best-practices and regulations change. Another potential issue is the timely access to data, particularly where on-prem servers are concerned, primarily due to lack of APIs and/or response speed to API requests.
In fact, a recent Forbes article reported that 80% of IT architects have had to scale back ambitions for mobile apps and services because of the challenges in accessing and using data.
All of which means the traditional server management methods are creating something of a blocker to your digital transformation ambitions.
With serverless, rather than buying cloud space, or pre-provisioning on-prem hardware, developers can access server memory on demand, and pay only for the time and memory an application's code takes to perform the tasks it needs to. This approach of using what you need when you need it allows developers to design and build serverless applications faster and run them at a lower cost. And from the operational perspective, a move to serverless eliminates IT infrastructure tasks like server provisioning, patching, operating system maintenance and more.
Why do enterprises need to take serverless computing seriously?
Cost Efficiency (Utilisation)
The most basic cost case for serverless is utilisation. Traditional, on-prem data centre servers tend to be 15-30% utilised which, put another way, means 70 to 85% of your server costs are dead money every month. Because serverless services are consumed on demand and often on a pay-as-you-use basis, utilisation is optimal and cost efficiencies maximised, particularly if you have spiky and unpredictable application workloads (for instance Retail, eCommerce, Travel, Insurance, Utilities etc.)
Staying Ahead (Experimentation)
Without putting too fine a point on it, start-ups and challengers tend to be able to move quicker than their more established peers. And whilst there are often several perfectly understandable reasons that this can be the case, technology should no longer be the excuse. Serverless computing enables rapid, cost-effective prototyping and experimenting, enabling you to test and prove new ideas and iterations quickly and safely, without impacting production workloads.
Staff Productivity (Quick deployment)
What if your products could be built and deployed in days instead of months? For successful early-stage companies this is imperative - as most would fail within a few months were it not for pace of delivery and iteration. Serverless offers fast prototyping and implementation without making sacrifices in scalability, operability, and reliability. Per AWS & Deloitte, on average, a serverless environment takes 68% less time to provision as compared to an instance-based environment, which can equate to hundreds of pounds in savings per month, per application.
Operational Resilience (Easy scalability)
Gone are the days of employing engineers to capacity manage your servers. The building blocks for serverless can be scaled infinitely. When there's not much activity, the services simply wait for the traffic to come. But, once traffic spikes, the load, latency, internal resources, and other metrics respond accordingly. It's up to the service itself rather than the developer, to decide how many servers, processes, instances to start or stop. And all of this happens seamlessly.
Happier Customers (Better UX)
As much as your architects and developers will be proud of what they've built at the backend (and rightly so) your users really don't care about your application's infrastructure. Serverless dramatically reduces developer load when it comes to backend code and server management, so much more time can be devoted to improving the user experience (UX), often leading to better product outcomes and happier customers.
Happier FD (CapEx --> OpEx)
Another key aspect of cloud computing and transformation is the shift from Capital Expenditure to Operational Expenditure. With no upfront costs for physical tin, server-room space, or provisioning cabling/effort, you can shift your infrastructure costs to an on demand, PAYG cost model.
So, are we suggesting you immediately start moving your entire infrastructure to serverless?
Probably not. There are certainly some cases where it still makes sense to use dedicated servers that are either self-managed or offered as a service. For example, large applications with a constant and predictable workload may be more suited to a traditional setup. And, as with most things in life, serverless computing does come with a handful of trade-offs, which do need to be considered, but are easily mitigated.
Third party dependency
When you go serverless, you will be reliant on your service provider. Changes which affect your services can happen at any time and without your notice. Working with an experienced and qualified serverless technology partner can help to mitigate this risk. At Acceleraate we have strong relationships with the ubiquitous cloud vendors, ensuring that we're forewarned and forearmed should service-impacting changes be planned.
Vendor lock-in
Serverless computing is provided by a third party (e.g., AWS). Serverless applications and software are therefore by default tied to a single cloud service provider. As a result, serverless can provide some challenges if migrating. However, we would recommend concentrating on switching cost, rather than avoiding lock-in. Ask yourself how easy is a solution to adopt now; and migrate away from later?
Harder to hire
A lot of developers don't know what serverless is, and even if they do it's a hazy concept. On the flip side, to a smaller group of fast-paced environment lovers, up-and-coming technology stacks are a huge recruitment selling point. In addition, Acceleraate can help to upskill your existing workforce through our hands-on client enablement and knowledge transfer services.
Understood! But we currently run a monolithic infrastructure, so where do we even start?
That's a great question, and you're not alone. In fact, many larger businesses present us with the very same challenge. How do you start moving from a monolith, to microservices?
Your serverless journey need not be a complete lift and shift exercise. At Acceleraate our approach focuses on solving targeted and discrete problems, tackling the parts of your infrastructure where the problems are the most painful.
Which part of your infrastructure do you need to keep changing regularly?
Which part isn't scaling properly, or suffering outages/capacity challenges?
Which part keeps you awake at night?
More simply, what is causing you the most pain?
Once you've identified the most painful problems, you can zoom-in on the parts of your infrastructure that need the attention, and then PoC the solutions quickly and cost-effectively using serverless tools.
About the author
Latest insights,
news & events
Part of Founded Group Limited