Serverless computing is rapidly gaining momentum as more business functions transition to the cloud. For the right types of workloads, serverless cloud services can save money on everything from infrastructure to support, simplify your CI/CD pipelines, and shorten your software development lifecycle significantly.
What is Serverless Computing?
Serverless computing applications and services still execute on servers in the cloud. However, with serverless, the cloud host takes care of everything from supplying, maintaining, and patching servers to managing scaling based on demand and monitoring responsiveness. Whether it’s storage technologies, SQL and NO-SQL databases, or application code, serverless options allow you to focus on your design and code while the container manages the everything else. In many instances, the only requirement is to upload your code and your service will be available shortly.
Use Cases for Serverless Computing
While serverless computing can simplify your application development and deployment processes, some applications are better suited than others. Here are some factors that typically indicate an application will perform well in a serverless environment:
Unpredictable or “spikey” loads – When use increases, serverless can quickly and seamlessly scale up to meet that demand. Likewise, when demand drops, the application will scale back, saving you money. Configuring this auto-scaling is quick and easy, and cloud service providers have notifications, dashboards, and reports to allow you to monitor, analyze, and adjust over time.
Pre-production and support environments – Development, test, and support environments are often the targets of cost saving efforts. Serverless computing allows for scaling up (or even spinning up) those environments as needed, reducing overall cost while still providing the necessary rigor and flexibility. Once configured, CI/CD pipelines can handle the transition of code from many serverless applications to more robust application hosts automatically.
Batch Processing – Another excellent use case for serverless is batch processing. Many enterprises rely on hundreds if not thousands of jobs to run on a regular frequency. Rather than expanding infrastructure to handle short lived processes, consider serverless. The cost is virtually $0 when not in use and when run in most Functions as a Service (FaaS) environments, you only pay for the compute and bandwidth used.
Not all applications and workloads are optimal for serverless computing. In fact, some will actually cost more over time and at scale. If your database, application service, or other highly available resource is consistently and predictably under load then you might want to stick with reserved compute (IaaS) or other service in which you set the scaling.
Some applications, coding languages, and architectures are simply are not supported by current serverless offerings. Finally, serverless is not typically a viable option for any service that depends on long-running connections: message queues, chat servers, and similar structures require dedicated infrastructure to function.
Leverage Serverless to Increase Flexibility and Reduce Cost
As the cloud industry evolves and new services are made available, it’s important to learn and understand how they can be applied to our business and technology needs. Using the right tool for the right job not only maximizes service availability and responsiveness but lowers costs. Choosing the right mix of dedicated cloud infrastructure and serverless components is an important step in developing optimized cloud solutions.
Have questions about how serverless computing fits into your infrastructure? Schedule a conversation with one of our experts.
David Pratt is a Senior Architect at RevGen Partners, with years of experience tailoring digital solutions to our clients’ unique needs.
Simplify and Save with Serverless Computing
Serverless computing has advantages, such as saving your organization money, simplifying CI/CD pipelines, and shortening software development lifecycle significantly but it is important to understand when using it makes sense