Most of the applications will have different environments namely dev, test, staging & production. We can completely turn down all non-production environments during off schedule hours (weekends & 8PM to 8AM during weekdays) and can spin up non-production environment quickly during on schedule hours via Infrastructure as Code (Terraform, Cloudformation etc).
It’s important that we monitor the resource utilization by using monitoring tools such as cloudwatch, prometheus, datadog etc to identify the under utilizing AWS resources and should size it properly.
Make sure we use AWS savings plans by purchasing reserved instances & spot instances. Please note that spot instances are recommended only for stateless service as AWS revokes the resource in a short span of time.
Make sure to use lifecycle policies to the applicable AWS resources. For example, Automating the cleaning up of docker images based on count or age on AWS ECR and move infrequently used data to low tier on AWS S3.
Make sure that we take advantage of auto-scaling whether its EKS, ECS or EC2 instance.