3 ms·
So is the conclusions: use IPs? Or how can you protect your app against those outages?
by XCSme 3y ago
So is the conclusions: use IPs? Or how can you protect your app against those outages?
- toast0 3y agoDisclaimer: I worked at WhatsApp until 2019. We built in resilience against DNS failing because there's a lot of networks in the world, and some of them don't have consistently working DNS. Turns out it also helps a lot when someone hijacks your domain account (grr), or DDoSes your DNS provider (on my birthday too, grr), or you mess up DNS somehow (nobody was willing to tell me what happened yesterday, grr). Doesn't help much with BGP based outages though. The trick is if you bake IPs into your client packages, you need to have most or at least some of those IPs still working until the packages expire, and you need to have a process for server teams and client teams to update the lists for future releases as well as for server teams to know what's in the client builds in the wild. That's not too hard if you're running in bare metal hosting and your hosts are long lived. It's harder if you're running ephemeral cloud stuff (but there's ways to reserve IPs, so it's not _that_ hard). There's some additional difficulty if you're only running ipv4 servers and some of your clients only have NAT64 access to ipv4. But, it's 2023, you can and probably should make ipv6 work on your servers.