Serverless vs Traditional Architecture
by Nick Marshall, on February 9, 2017
If you have been following the Cloud news lately you may have heard the buzzword "Serverless" passed around, like it is the next big thing. In order to understand what "Serverless" means, let's start by examining what a traditional Server based system entails.
A traditional server is a (frequently large) computer that is accessed over the internet to provide access to information or services. The machines that host websites and deliver them to your browser are a common example of this.
As you get towards enterprise sized servers they can become increasingly expensive. Not only do they cost between $100,000 to a couple million dollars a piece, you need to have the space to house them, and a staff of engineers to maintain them. In addition, the average life cycle of a given server is about 5 years. Which means that not only do you have to replace your machine every 5 years, but in the interim you are constrained by the limitations of that machine.
For example, if a website's server does not have the capacity to handle it's increased load, the only traditional solutions were either to purchase another server to handle the additional volume, or to replace the existing server with a better model, both of which are exceptionally expensive in both hardware costs and man power.
Serverless Architecture aims to solve these problems. Rather than having one machine to host a job, we can now utilize publicly available services, such as Amazon Web Services (AWS) Lambda functions and cloud hosted databases, to replace the traditional server. This provides us with several key benefits, as shown with AWS:
Rapid set up time
Since AWS offers "Managed Services", you no longer need a full team of system administrators to set up the low level aspects of your system. Amazon takes care of that for you as a core aspect of their platform.
By using a serverless architecture you no longer need to invest a large quantity of money up front on a physical machine. Rather AWS offers a pay-as-you-go model for all of their hosted services.
This is where serverless really shines. As the demand on your hosted service increases, AWS automatically provisions the resources required to meet the demand. You can scale up during high volume periods and scale down during low, all the while only paying for the resources you actually use. This, in effect, gives you unlimited capacity for your service.