As developers, we are used to being able to play around with dev stuff on our machines. Try a few things. Experiment
with new libraries and code. But when it comes to Serverless and things being deployed into the cloud, don’t we need
to be more careful?

Nope! With just a few minor practices and a little knowledge, Serverless becomes an awesome playground so instead of
having to constantly read what others have done, we can instead just try something ourselves. And if we hit a road block,
or it doesn’t go as intended, we can just start from scratch!

All hail the free tier

Due to the fact that AWS has the best performing Functions as a Service product, Lambda, as well as the most diverse
suite of managed services to use with your functions, it has become the defacto platform for building Serverless
applications. This has another advantage, however.

AWS provides a lot of permanent free tiers for many of the services that you would use when building a Serverless
application. This means that you get a pretty generous amount of resources per month that last beyond the usual 1 year
limit. These include:

  • Lambda: 1M free requests per month and 400,000 GB-seconds of compute time per month
  • DynamoDB: 25 WCUs and 25 RCUs of provisioned capacity, 25 GB of data storage, 2.5 million stream read requests from
    DynamoDB Streams
  • API Gateway: Only for 12 months but is so cheap after for development purposes may as well be free.

Stacks are ephemeral

One of the other advantages we have is that if correctly configured, our Serverless services we configure will deploy
into CloudFormation stacks that can be created and destroyed on a whim. If we build each service to be as autonomous as
possible, it means we have no external dependencies we have to make sure are up and running first.