• 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