The New “Serverless Computing” Paradigm for Government Proposal Contractors
Administrator | March 28, 2019
Ben Bartine —
Note: Here is the argument when you find yourself working a proposal including serverless computing.
Serverless computing is both a misnomer and a new paradigm that proposal personnel need to understand. It can save development time and leverage your development and admin resources. Serverless computing is a fancy way of saying that you don’t have to worry about the servers when you want to execute code. This is often referred to as a Function-as-a-Service (FaaS). The fact is, even though it’s called serverless, servers are still involved, but as a fully managed service, you — as the end user – don’t have to deal with any infrastructure pieces. The setup, capacity planning, and server management are invisible to you because they’re handled by the cloud provider. Think of Serverless Computing as a logical progression of cloud-based services that can make your IT team more effective.
Do you want to automate checking the logs on your Microsoft servers and perform standard maintenance and patching? There is a Serverless Applet for that. Do you want to stand up an application development environment to write your code in? There is an app for that. Do you want to write a web app that captures user data and automatically puts it into a database for later analysis? Perform IBM based data analysis automatically? Grab data from an Internet of Things (IOT) device like a security camera and push it to a web page? Yes – there is a Serverless Computing App for all of that.
The three Major Providers
All three of the major cloud providers have a flavor of Serverless Computing that they offer. All have consistent benefits: The services only turn on when you need to use them, so you only pay for what you use. The services are fully scalable, adding compute power when required. Designed interfaces allow developers to instantly call a function, and then grab the resulting data and use it without managing the underlying infrastructure.
- Google’s Google Cloud Platform provides functions that a developer can tie into using an API interface. For instance, the Google Vision API allows leveraging their powerful graphics engine – a developer could utilize it to provide face recognition in an application’s security system.
- AWS provides their Lambda application hosting platform. With Lambda, you can run code for virtually any type of application or backend service — all with zero administration. Just upload your code and Lambda takes care of everything required to run and scale your code with high availability. You can set up your code to automatically trigger from other AWS services or call it directly from any web or mobile app.
- Microsoft Azure provides Serverless Computing solutions for application hosting and functions, as well as providing specialized functions for third party applications such as SaaS integration.
For example – your development team needs to build an interface for your new home security device. You could use Serverless Computing to build facial recognition or respond to access requests. Or – you want to build a wireless app so that your customers can pull their invoices and make payments. You could use SaaS event services to build invoices and trigger an event in a database, and even receive and process payments.
So – this all sounds great – what are the drawbacks? All cloud based vendors build hooks into your hosted data and applications that make it difficult and expensive to move your applications to another host. Serverless Computing applications have similar barriers to making changes in your cloud hosting provider. And – there are no standardsin Serverless Computing. While each vendor may provide a Java development environment, none of them will provide that environment in the same way. Thus moving code between cloud providers would require that you make significant changes.
In conclusion – leveraging Serverless Computing functions can dramatically reduce the time required to build applications and can provide automation for common administrative functions. Just make sure to investigate full lifecycle support costs for utilizing the services that each Cloud vendor provides prior to making any long-term decisions.