November 13, 2017
Serverless Architecture: Never Run a Server Again
Running the right workloads in this compute model offers tremendous management and cost savings.
Like all things that become a buzzword, there is some truth and some sizzle to the concept of serverless architecture. When I broach the subject with clients that are unfamiliar with the technology, the first questions are almost always the same: “What do you mean by ‘serverless’?” How does it run?
To get beyond the buzz, let’s start with a definition. Serverless architecture or computing is an execution model that allows you to design code and build applications, without the need of building or managing any infrastructure. You write the code and load it to a serverless platform. That’s it. It starts and stops there unless you want to add other functions or services.
Comparing Traditional vs. Serverless
Let’s take a more practical approach and look at a use case to better understand what this can look like. A construction company has the need to spin up a new time management system for a geographically diverse group working internationally. This includes only 100 employees. They hire a developer to help with some coding for a web app that employees can utilize to track their work hours simply by calling in to a unique telephone number. No managers tracking, no missed hours — just a phone call. The software works like a charm; now, they just need a backend to run it. There are a couple of ways to pursue this.
Scenario #1: Traditional Architecture
The company buys some server hardware to run the backend. It wants it to be redundant, so they double up on each item. In this example, I’ll show the upfront cost and then the ongoing annual maintenance, in parentheses. The company buys a server ($5,000/$175), a voice connector and voice backend ($6,500/$1,000), virtualization licensing ($600/$60), a network operating system and database ($1400/$120), and the footprint to run it annually ($3,600). If we double that for high availability and redundancy, we’re looking at $27,000 in upfront capital, and about $5,000 in ongoing maintenance. Not bad for a critical application to track employee time. If we look over at a seven-year TCO, that’s only $740/month for that time frame.
Scenario #2: Serverless Architecture
The company chooses not to buy any infrastructure. It looks at a serverless cloud platform service instead. The company takes the code that it wrote and simply drops it into object storage with a provider. Same as you would drop a PowerPoint file into a folder. Supported code can then directly connect to a function platform. The new time management app is ready to execute. This is the beauty of the offer.
The company can then tell it to set up redundantly, with a click of the mouse, in geographically redundant zones. It can tie in a similar backend platform database, that also doesn’t need to be managed. Finally, the company can tie in additional microservices without the need to build or manage them, all through a click of the mouse. These microservices can include authentication, monitoring and metrics, notifications, voice and even email.
The big difference here is not only the ease of use, but the cost. Taking the same pieces as the traditional architecture to serverless, let’s compare costs. For the storage ($0.70), database ($1.42), function service and voice ($26.53), data transfer ($1.18), file system ($1.22), authentication ($1.00), web front end ($0.06), DNS ($0.52) and transaction costs ($0.02), we come in at roughly $40 a month. That’s $40/month for any time frame.
Savings for the Right Workload
When many people speak about the efficiencies of cloud and infrastructure as a service, they often cite 20 percent to 30 percent savings, and those savings have to be squeezed out of soft costs. When looking at serverless architecture through platform as a service, companies are not talking 20 percent to 30 percent, they’re looking at 20x to 30x in savings.