Part 1 - Cost effective dev environment

Part 1

This is the first part of a series of posts about how to setup a cost-effective dev environment in AWS.

The goal is to have a setup that is as close as possible to production, but without the cost of running a full production environment.

One key way of reducing costs is to shutdown and scale down resources when they are not needed. In most cases a fully functional dev environment is only needed during working hours.

Also at the setup of the VPC we can make decisions that will reduce costs. For example,

  • Usually we don’t need a NAT gateway in a dev environment for every AZ. We can use a single NAT gateway in a single AZ and route all traffic through that one.
  • Flowlogs are not needed in a dev environment. So we can disable them.
  • AWS Config can become quite expensive when ECS containers or lots of changes happen each deployment.
  • Make sure no unassigned Elastic IP are floating around

In part 2 we have a look at RDS and how we can stop and start these instances when they are actually needed.