Serverless for business

10 February 2024

Italian versionEnglish version

Serverless computing is one of the most modern and innovative expressions of the cloud.

It is a model in which there is no need to manage or provision servers. Seemingly a small detail, this actually brings a series of benefits that go far beyond the purely technical realm. So let’s answer the question:

Why is serverless a benefit for business?

Focus on product

This is my favorite reason.

Serverless is an outsourcing solution because it allows you to delegate everything that isn’t part of the organization’s core business. This means companies can concentrate on the product—that is, what is strategic for success; everything else doesn’t really matter.

It also allows teams to be more cohesive and focused on delivering the product.

Business continuity

Serverless services offer extremely high scalability and reliability. Without going into too much detail, this means that the applications we build can potentially never go down. Whether there are network failures, broken servers, or a few or millions of users connected at the same time, the service remains accessible.

Imagine launching an unmissable Black Friday deal. Users rush to your e-commerce site, and the servers can't handle the load. Money and reputation gone to waste—that would be a shame, right?

Yaeh, life isn’t that simple: incidents can still happen even in serverless applications; there’s no such thing as a perfect cloud. However, the level of prevention serverless offers is extremely high, and it doesn’t impact costs (more on that shortly).

Low Time-to-Market

Public cloud providers offer managed services that operate in serverless mode and allow you to develop products very quickly. For example, I once needed to build a Spark application to process large volumes of data. Normally, it would take weeks just to provision the cluster—the set of servers on which the application runs. Well, with a serverless solution (in my case, AWS Glue), the cluster was configured in just a few hours. Basically, once the script was written (NB: the product, which is what matters to the business), we were already ready to go live.

Agility

With the spread of the Internet, the dot-com bubble, and the rise of the new economy, the business world began evolving at an extremely fast pace. As a result, the IT world today must be able to respond to change just as quickly. Serverless applications are loosely coupled by nature, isolate failures, have very short deployment times, and leverage provider-managed services. This leads to being extremely fast and adaptable to change, accelerating the ability to drive innovation.

We are living in the era of the Digital Transformation, and serverless can be a strategic choice, as it can be easily introduced into legacy systems, enabling a smooth and gradual cloud migration.

Reduced TCO

Total Cost of Ownership refers to the cost of ownership. Whether it’s hardware or software, simply owning something—and therefore being responsible for it—incurs costs: licenses, maintenance, security, and so on. Think about it: what’s the benefit of managing infrastructure, installing security patches, configuring servers, updating system dependencies, or managing runtimes? These are all costs you have to bear in traditional systems, but it’s hard to see any real business advantage.

With serverless, there's also the opportunity to reduce CapEx, that is, the cash flow normally used to purchase hardware, software, and licenses. These are usually large budgeted expenses that require significant capital outlay. On top of that, unexpected purchases may be necessary—due to replacements or to seize market opportunities—which likely limits the ability to benefit from volume discounts. Lastly, purchased hardware tends to depreciate and become obsolete within a few years.

In short, budgeting and cash flow are major concerns for all companies today. Serverless allows us to focus purely on OpEx—that is, only the costs needed to keep things running.

Cost Efficiency

Serverless enables a pay-per-use pricing model, meaning we pay for the resources we actually use—in other words, we only incur necessary costs and avoid any overprovisioning costs. Basically, if there are no users on your e-commerce platform, you have no costs. If there’s one user, we pay cost X; if there are 100 users, we pay 100 * X. This tells us two things. First, serverless helps eliminate fixed costs and focus solely on variable ones. Second, the scalability of serverless costs is linear with respect to workload increase, which economically means that the marginal unit cost is constant.

Sure, we pay for what we use, but if the workload is constant and heavy, it's not guaranteed that the cost will be lower compared to an equivalent non-serverless application. However, cost analysis doesn’t stop at the provider’s monthly invoice, so the topic is much more complex than it appears. A non-serverless application involves many hidden costs related to TCO, slower innovation, and infrastructure management, all of which have a significant long-term impact.

Sustainability

This is a topic that’s very close to my heart, and one I hate to oversimplify. So I’ll clarify that what I’m writing here is purely theoretical, since I don’t really know how providers manage services internally.

The idea I want to convey is that serverless, by minimizing overprovisioning—thanks to allocating only the resources an application needs at any given moment—helps optimize physical infrastructure usage and reduces the provider’s emissions. In practice, if we wanted to run 500 applications, we might need 80 servers instead of 100. As mentioned, this is a major simplification, but I’ll come back to this topic in the future.

In short, organizations that truly value environmental sustainability as part of their mission and business strategy may find in serverless an ideal model.

Conclusions

In this post, I wanted to highlight what I believe are the main business-related advantages of serverless for an organization. If you’d like to explore the topic further, feel free to contact me!