Serverless computing is a term used by the Cloud Computing industry to enable customers to run programs without having to worry about the underlying resources used to run the program. This blog will explain what “Serverless” really means and the Pro’s and Con’s of this approach.
Let’s face it, “Serverless Computing” is an oxymoron, like “Flameless grilling” or “Waterless bath.” In order to run any program in the cloud, there must be some form of computer resources.
Perhaps a better name would be “Maintenance-free Computing” or “Just In Time Computing.”
Serverless computing is a key Cloud technology where the Cloud Provider manages the computer resources. When used correctly, Serverless computing enables customers to run programs with out having to worry about building and maintaining a server farm.
Server vs. Serverless Compute
Prior to Serverless Computing, every project would require the provisioning of resources. This included the cost of maintaining and monitoring those resources. Serverless introduces the concept of customers renting pre-fabricated compute resources.
In the case of a simple program, you may need to specify a compute instance, the networking to access the compute instance, and the access rights to the instance. Only after provisioning these resources could you load and run your program.
Serverless removes the setup and configuration of the compute instance. Assuming your program will fit into the Serverless model, just load your program into the Cloud and it will execute.
How Servless Technology Works
Cloud Providers have created server farms to cater to “Serverless” requests. When a serverless job is submitted, the program is transferred from your account, executed in this server farm, and the result is returned.
Let’s take the example of AWS Lambda. Let’s assume you load up and configure the Lambda Function. When it is time to run the code, the code is copied into AWS’s Lambda compute farm, configured, and executed. It is important to note that in order for this transaction to occur, there is network connectivity from your AWS Account and the Lambda compute farm.
Advantages of Serverless Computing
- Time Saved: As noted above, compute resources are pre-provisioned and you are submitting your job to those resources. Once submitted, the job runs!
- No Maintenance Overhead: Over time, maintaining and patching servers becomes an operational burden. Serverless removes this burden.
- Efficient and Pre-configured: As with any Cloud Service, there are operational parameters for the service. With the provision that your compute requirements fit within those parameters, e.g., doesn’t run too long, doesn’t require too much storage, etc., Serverless is extremely efficient.
Disadvantages of Serverless Computing
- Cost Premium: Just like any other packaged service, the raw compute cost per job is more expensive than if you provisioned the Server yourself. However, once you factor in the overhead of maintaining your own Server, the cost advantage is greatly diminished.
- Specific Compute Needs: Serverless compute has limitations on the jobs submitted. If your requirements are on the boundary, or occasionally exceed the limits of the service, then Serverless may not be a good option. Examples include the duration of the job, data size, response time or failure modes.
- Specific Security Needs: Remember that the compute job is transferred from your account into a server farm managed by the Cloud Provider. Generally speaking, Cloud Providers do a very good job of ensuring security by using encrypted network connections, encrypted data, etc. However, if your industry requires data separation or full custody of data, Serverless may not be the right choice.
Serverless if Growing and Getting Smarter!
As you can see, there are massive advantages to Serverless!
In general, private enterprise is moving towards serverless when possible. The general consensus is that the frictionless experience is worth the slight cost premium.
The breadth of Serverless is growing as they are becoming more sophisticated.
In fact, there are some core services which are only offered as serverless, e.g., AWS Polly (speech recognition).
Summary
It is clear that Serverless computing is taking more market share of the Cloud, and will continue for the foreseeable future. Serverless compute is applicable to the vast majority of compute jobs.
However, like any technology, Serverless is not a silver bullet. It is important to understand this technology and it’s limitations, depending on your needs.

