Serverless computing allows a true platform-as-a-service environment, letting developers focus on coding rather than back-end operations.
Cloud computing is about to hit its tween years, but spinning up virtual machines to install MySQL, Oracle or SQL Server to launch a new application is starting to seem a bit like yesterday’s technology.
What’s the problem?
From the beginning, public, private and hybrid clouds offered scalability on demand and the quick setup of virtual servers that may be physically a continent away. Nevertheless, maintaining the software stack on those virtual servers has become a complex, time-consuming and expensive chore that developers and system administrators must (painfully) manage.
Enter “serverless computing.” While we will likely have servers for decades to come, serverless computing adds another layer of abstraction on top of existing cloud infrastructure.
Why now? Serverless computing allows developers to upload snippets of code, maintained independently, that are called into action at runtime. This setup allows a true platform-as-a-service environment, letting developers focus on coding rather than back-end operations.
This relatively new terminology, which some call “back end as a service,” may seem like a subtle data center architecture change that only geeks really care about, but the benefits are real. By using serverless architectures, cloud platforms may finally reach the original goal of becoming abstracted and automated enough to deliver on the promise of reducing data center operations staff.
Amazon is generally credited with starting the serverless compute trend with its AWS Lambda offering. “AWS Lambda lets you run code without provisioning or managing servers,” according to the company. “You pay only for the compute time you consume — there is no charge when your code is not running.”
Google, meanwhile, launched an AWS competitor called Cloud Functions. Google describes Cloud Functions as “a fully managed, serverless environment in which we handle the servers, operating systems and runtime environments, and you focus on building great solutions.”
Not to be outdone, IBM developed OpenWhisk, which is described this way on the company’s website: “OpenWhisk is a cloud-first distributed event-based programming service. It represents an event-action platform that allows you to execute code in response to an event. OpenWhisk provides you with a serverless deployment and operations model hiding infrastructural complexity and allowing you to simply provide the code you want us to execute.”
The overall goal of doing more with less with cloud computing has always been just a bit behind the “hands-free” promises. Like our current journey toward autonomous cars, the reality of administering cloud resources continues to bring an array of issues and pragmatic surprises.
While far from our final cloud utopian destination, serverless computing can provide the next generation of tools and support to enable enterprises to do more with less operational staff.
What are the tradeoffs? Serverless computing does bring vendor dependencies and a further loss of control for your internal teams. You will be relying more on your vendor partners for administrative functions, security and more. This reality can be a good thing or irritate some staff. The immaturity of supporting services can also raise concerns for some technology professionals.
Nevertheless, with more data being moved into the cloud every day, I expect to see a growing number of governments migrate to serverless architectures in 2017. I also expect the leading industry partners to further develop their cloud offerings to provide more options and better performance.
Just as the clouds in the sky change shape, most government cloud infrastructures continue to evolve to arrive at the “bleeding edge” over time.