How to Evaluate the Hidden Costs of Serverless Architecture

The buzz around the industry is that the enterprise embracing serverless architecutre is as inevitable as joining the cloud, but companies should understand the economics that come with this change, says Amiram Shachar, CEO of Spotinst on Medium. The 24k gold chestnuts — saving time and money — are the driving force behind the interest, but Shachar is cautioning companies, recommending they take a hard look at the actual numbers behind this move. The time savings promised arise from having a third-party manage any application issues, such deployment, scaling, and planning and implementing future innovations. Offloading these worries and the cost savings of using a model where you "pay-per-trigger," and your team is freed from having to write on/off scripts, plan reservations, or plan for spikes, can be a significant benefit, Shachar says. But like any solution, going serverless is associated with its own brand of costs, and these are more than just CPU and RAM — remember the other pay-per-triggers like API requests, storage, and networking. Specifically, Shacher cites the following:

  • Requests: About $0.20 per 1M executions across the board, across all providers.
  • CPU & RAM: $0.000067 per GB-second is a stable figure.

Lesser known costs are:

  • API Requests: about $3.50 per 1M executions, because serverless apps use them often.
  • Storage: $0.02 to $0.10 per GB.
  • Network: $0.05 to $0.09 per GB-out and $0.10 to $0.20 between VPCs/regions on AWS, which can add up very quickly and can be very difficult to estimate.

Most importantly, there are hidden costs that lie in serverless coding and code maintenance — the extent of programming and the time required to do it can balloon quickly. Shatcher lays out the way to evaluate the cost of moving to a serverless architecture, with the caveat that a deep dive building on these points is necessary.

  • Consider the basic pricing differences. For example, compare the cost of an AWS Lamda function with an on-demand server.
  • Project you API requests.
  • Itemize as best you can the data and networking costs.
  • Explore all serverless architecture providers. He mentions IBM OpenWhisk, Amazon AWS Lambda, Microsoft Azure Functions, and Google GCP Functions.
  • Carefully assess the cost of extra code maintenance.
  • Tap free tier services wherever and whenever possible.

With this plan you can avoid most surprises and be ready for any that do visit your company.

Be sure to read the next Application Development article: Why to Build an App With an SDK Instead of an API

Original Article

The Hidden Costs of Serverless