- Have a way of deploying your entire infrastructure as you deploy code.
- Build a CI/CD pipeline.
- Configure a load balancer.
- Use unique identifiers that allow you to trace a request through its lifecycle, and allows someone to see the entire path of the request in the logs. This is highly useful when things go down.
- Have a log collection and build searchability in it. This comes in handy when searching for one unexpected log.
- Have monitoring agents to check if your service is up.
- Automatic autoscaling based on load is great for being elastic under load.
- Create a way to test out things with 1% of your users for an hour. It is a good way to deploy changes safely.
Full post here, 7 mins read