- SCALE ON DEMAND
- RIGHT SIZE RESOURCES
- USE ONLY WHEN NEEDED
- BUY SAVING PLAN OR RESERVED INSTANCES
- USE SPOT INSTANCES
- UPGRADE INSTANCES TO LATEST RELEASES
AWS or any cloud service provider gives you option to scale on demand which means you can add more resources like compute, memory, storage etc to your infrastructure as and when needed. There is no need to do capacity planning in advance for 6 months or 1 year of future need and provision the resources. You will end up paying for the resources which you need after 6 months or 1 years in future.
Design your application to be stateless which can scale horizontally. Using Autoscaling feature of EC2 services you can scale on demand. Using containers and container orchestration services like ECS or EKS, Kubernetes makes it simple to scale on demand.
Here is a reference architecture diagram of auto scalable containerized application.
- Don’t overprovision Cloud resources
- Scale horizontal on demand
- Scale Vertically based on usage patterns and when it is indicated by metrics monitor
- Provision right size infrastructure resources for your workload.
- Scale up and down as you grow and add more users.
- Shutdown resources when not needed
- Schedule automatic shutdown and start based on usage pattern.
- Save around 66% of the non-Productions environments cost by scheduling the Stop and Start of the Cloud resources. (Normally resources are used for 8 hours in a day which is only 33% of the time)
- Buy Saving plan for Cloud compute resources
- Reserve RDS Instances for Database
- Use On Spot Instances mix with on-demand instances in cluster