Uygulamanı clusterlayıp HA yapmak için failover yapman lazım. 2N redundancy için uygulamanın birebir kopyalarının çalışması gerek. Yani uygulamanın kendi içerisinde state tutmaması yani stateless olması gerekiyor ki kullanıcı diğer örneğe bağlanırsa farklı cevaplar almasın.
App seviyesinde genelde konteynırlar ve orkestrasyon sistemleri kullanılarak yapılıyor dediğin şey. En basiti Docker Swarm ile bir cluster oluşturmak senin için şy an.
Konteynır nedir bilmiyorsan infra ve networking katmanında da yapılır HA ve failover. AWS'nin Route 53 servisi var. Azure'da da IP adresini LB olarak kullanabiliyorsun. Yine Google Cloud'da da aynı olaylar var low level olarak.