Serverless Computing: Will Amazon Lambda Be a Game Changer?
Cloud computing (Amazon Lambda) has changed the game for system administrators.
Once upon a time there were physical boxes, one for each sever. Then there was a physical box that hosted many “virtual” servers. Then there were hosted servers in the cloud with no boxes. All the servers, regardless of the server environment, ran the same software and served the same function. They all had to be maintained by experts and kept patched, monitored, and secure.
But now, some of those environments are going away all together. Instead of maintaining a server to use for running your applications, Amazon AWS will take care of all the administrative work for you, and simply allow you to input code. Lambda runs the code for you on an environment they manage. You never have to patch, backup, or monitor the environment. You don’t even have to provision the server beforehand; Lambda does it for you. This has led to a new acronym: FaaS, or Function-as-a-Service.
What’s Amazon Lambda?
AWS Lambda is a serverless computing platform. You give it code, it runs the application for you. This saves countless hours of infrastructure support. But that’s not all. As we will see later, it also utilizes a cost-effective pay-per-use model. You don’t pay for server time when your code isn’t running.
A colleague of ours works for a biotech startup that engineers microbes that make useful molecules. Their approach brings together technology, automation, and biology with the most sophisticated capabilities in each. A common daily task is analyzing the results of thousands of trials.
A typical analysis involves examination of 1,000 trials. The team found that each trial analysis required about 10 seconds of CPU time. A complete analysis of all trials took about 10,000 seconds. This means that after uploading the trials and data samples and triggering the system to run, the results would not be known for almost three hours.
A software engineer had an idea to use AWS Lambda After initial setup of the service, he wrote a few lines of code that detailed the algorithm and sample size. Lambda proceeded to set up 1,000 instances, so that each trial analysis would run in its own instance, in parallel. The same ten seconds was needed for each trial analysis, BUT since they were running the analyses in parallel, the total process time was under a minute.
Do you want to guess how much it cost? … 40 cents!
Not only did it save time, but it saved money. It saved hours of time maintaining the environment and down time for the system. It saved labor costs for programmers, planning, maintaining, upgrading, backing up, duplicating, and securing.
This is one example of how FaaS can benefit any organization running custom applications. While there’s no catch line for Lambda, it could be something like “Upload and run anything in seconds, no headaches, results guaranteed.”
PaaS, or Platform-as-a-Service, is already well established. An organization can go to Amazon, Google, Microsoft, IBM or another platform provider and provision servers; there are fewer compelling reasons to directly maintain servers. Boxes are nearly gone, who thought environments would be next?
The future looks to be cloud-based computing for all your needs. We’ve already seen applications such as CRM and email be supplanted by Software-as-a-Service offerings. Organizations are increasingly using PaaS to quickly provision servers on an as-needed basis. With FaaS, the future seems to be serverless functions for all computing needs. It’s much cheaper, much faster, much easier, much more reliable and much more secure than trying to use systems you control.