The less infrastructure you manage, the less it costs. Seems natural, right? That's one reason for the trend towards serverless computing and Function as a Service (FaaS). Serverless is perhaps the purest implementation of cloud: you have no dedicated resources on standby and capacity is simply available whenever you need it.
You spend absolutely no time managing infrastructure and pay only for the processing time you use. With a free tier to start and paid tier processing costs starting at $0.0000002 per request in the Amazon Web Services (AWS) Lambda implementation of serverless, it seems like switching to FaaS is a sure way to reduce your cloud computing costs.
Calculate Your Serverless Computing Costs
Of course, almost nothing is a sure thing. The costs of serverless computing don't come just from the per-request processing costs. You need to take the full scope of your application into consideration when you evaluate whether serverless computing is right for your business. Be ready to do some math or use an online calculator to help you figure out how the costs tally up.
In addition to processing time, serverless computing costs accumulate from all the other services your application uses, too. These include charges for network traffic, data storage, and calls to APIs and other cloud services. When you estimate the costs of moving an application to serverless, be sure to identify all the services it requires to include them in your assessment. Consider the costs of peak periods or if you need to rerun jobs for some reason, as well as normal processing.
For compute-intensive applications, or applications that run for extended periods of time, all these charges can mount up and make Infrastructure as a Service with a properly sized instance more cost effective.
Assess Other Serverless Computing Impacts
In addition to the direct costs from invoking serverless functions, you may have other costs associated with going serverless. In particular, getting to serverless may require significant rearchitecting and reimplementing applications. Serverless requires applications to be designed around stateless microservices. This architecture isn't used by many legacy applications, so your developer team may need to spend time rewriting applications before they can run serverless. Because each function is a separate, standalone piece of code, your code maintenance costs may change, too.
Also, don't forget that serverless computing doesn't eliminate all permanent resources, just the server. You may still require some services that are provisioned to a fixed capacity and continue to pay for them whether or not they're used.
There's another factor to take into consideration, as well. While it may not be possible to directly tie application performance to financial metrics, it's important to be realize that FaaS doesn't keep applications running. This means that invoking functions has some built-in latency with every call. Understand how this will impact your application's performance and your business operations.
Get Help Going Serverless
Depending on your requirements, serverless may be low-cost way to go, or a properly scaled instance may be the most cost-effective solution. Make sure you make the right decision about going serverless. dcVAST's managed Amazon Web services bring our AWS expertise to implementing, monitoring, and managing your AWS infrastructure. Contact us to talk about whether you should go serverless or build out your cloud in Amazon.