In the not too distant future, you'll be able to write an app on your laptop, and make it instantly available worldwide, at any scale, with the press of a button. All this without having to worry about provisioning or scaling the underlying servers, as the cloud service provider will take care of everything.
That's the philosophy of Serverless in a nutshell – it's about creating a seamless experience for the client, where their interaction with anything related to an actual server is all but eliminated. It's the latest frontier in a continued trend of making the cloud more convenient, accessible, and cost-efficient.
Whilst the point where entire apps can be transparently deployed to Serverless is still a way off, major in-roads have been made when it comes to separate functions and other services. Available today is what might be dubbed “Serverless 1.0”, and it's helping companies and organizations eliminate significant overhead and menial work by automating a variety of infrastructure-related tasks.
A case for Serverless
Cloud development over the last 20 years has been about increasing ease of use – allowing businesses to scale up and focus on value-added activities. We've moved from the Bare Metal Age to the Serverless Age; from “do everything yourself” to “let the cloud provider do (almost) everything”. An apt and commonly used comparison that captures the various stages of this evolution is that of making pizza at home versus dining out.
Serverless takes this trend to its logical conclusion because, for the vast majority of companies, server maintenance is little more than a necessary expense – the price to pay for a digital presence. They may need servers, databases, security, and privacy, but that's not necessarily how they make their money.
The reality is that a significant portion of server management is repetitive work and, accordingly, has high potential for automation.
For instance, a great use case for Serverless is a marketplace. Marketplaces all look similar from an infrastructure point of view – they have a front-end website, an API running on some servers, some ETL tools, a database and a data warehouse. They have variable load, so almost all of this infrastructure needs to scale up and down. Serverless computing and storage means that the cloud provider handles everything for them; except, of course, the business logic which makes a particular marketplace unique.
At the end of the day, increasing automation, use of shared resources, and the reduced need for in-house tech people will serve to drive down operating costs for businesses, which is likely to be the chief driving force behind the eventual widespread adoption of Serverless.
Bare metal, insofar as an on-premise company basement server room is concerned, is on its way out. It has been for over a decade, ever since the cloud made the management, cost, and hassle of maintaining your own on-premise servers counterproductive. The cost of running bare metal is higher, not just because you’re paying for dedicated infrastructure, but because you have to pay people to configure and run it for you.
That said, it's not always about the cost. There are two other fundamental factors – privacy and performance – that will ensure the continued relevance of bare metal, even in the age of cloud VMs, databases, and Serverless.
Privacy: who do you trust with your data?
With the cloud, you're putting complete trust in your cloud service provider to safeguard your data. It's a leap of faith some find hard to make and others simply can't do, due to data sensitivity. You'll never hear about Area 51 moving their infrastructure to a public cloud vendor.
The importance of privacy isn't reserved to secretive government organizations. Growing talk of data sovereignty and worries about who actually has jurisdiction over the data sitting in data centers is also pushing companies, particularly those that work with sensitive information, to carefully weigh where they choose to host it. In that regard, Europe, with its local cloud providers subject to stringent data protection regulations, is an increasingly favored option. Though, going forward, many may continue to opt for the perceived safety of their own physical server room.
Physicality plays another less widespread, but still present role. The reality is that some people, particularly the old guard, appreciate being able to physically locate where their data sits and having it 'somewhere in the cloud' is a hard pill to swallow. This may seem quirky to the new cloud-native generation, for whom the cloud is a self-evident part of modern operations, but it highlights an important hurdle for any cloud-based services, including Serverless.
If businesses and organizations are to increasingly relinquish control over their data and infrastructure in favor of convenience and cost efficiency, then trust is of paramount importance. Accordingly, adoption of cloud-based services depends on the ability of service providers to assuage worries, maintain an impeccable track record, and foster trust in their operations.
Beyond privacy, another reason why bare metal will remain in use for decades to come is performance. Cloud computing capacity may be advancing in leaps and bounds, but so is the demand for ever more powerful computers – a demand that is principally met by dedicated bare metal machines.
A typical use case for bare metal is a research organization, developing technologies that require running simulations with huge parallelism and large volumes of data. Researchers in these organizations need dedicated clusters of machines to run their code at huge scale, transferring and processing terabytes of data. This data needs to be shared between bare metal machines on dedicated networking infrastructure, and stored in dedicated databases with dependable performance. Increased performance allows these organizations to move faster, develop products quicker, and with higher predictability.
The marginal improvement offered by dedicated computing clusters comes at a premium, but it's a cost some are willing to bear to gain an advantage and a certain guarantee of reliability. Still, while demand for such machines isn't going anywhere, it's reserved for resource-hungry, performance-focused use-cases, and the overwhelming majority of the world's needs are – and will continue to be – met by simpler, cheaper cloud services.
Serverless is a new frontier and the next logical step in cloud computing that promises to make the cloud simpler and more accessible than ever before. Will it render bare metal obsolete? No – and for the same reasons the preceding frontiers of cloud computing didn't. Both will remain relevant because they cater to different audiences.
Nevertheless, as Serverless develops further, it will likely mark a pivotal shift for consumers and businesses of all sizes, opening hitherto locked doors and ushering in a new era of how the world views and uses servers.
However, don't expect it to sweep the world in one fell swoop. The evolution of Serverless will be gradual, as the level of abstraction will be pushed ever-higher. Along the way, it will have to address privacy and trust concerns, as well as compete with the established way of doing things.
Whatever happens, the 2020s will most certainly be seen as the decade of Serverless, as we see more adoption, wider appeal, and increasingly complex use-cases.