Как мы на самом деле релизили в Амазоне
В Амазоне инфраструктура разделена на партиции: публичное облако отдельно от правительства и других частных облаков. Каждая партиция разделена на регионы. Каждый регион - на зоны.
Очевидно, что координированных релизов одновременно на всю инфу тупо не может быть (с нюансами) поэтому выкатывали волнами:
Один бокс - много боксов в одной зоне - вся зона - ещё один бокс в соседней зоне - весь регион - ещё одна зона в другом регионе - два региона - все регионы
Кажется все вспомнил, 7-8 волн всего. Я ведь тоже дедоцыга ещё тот, полтора годка в Амазоне проработал а вони на две декады!
Так вот...
На каждом этапе тесты синтетического траффика или канарейки (canary tests) ловят регрессии. Если тесты падают - все откатывается назад.
Некоторые сервисы настолько под нагрузкой, как лямбда, что канареек там нет, пользователи сами создают достаточно тестового траффика, хехе. У нас на новом сервисе было наоборот и канарейки сжигали больше денег чем пользователи 🤣
И тут возникла проблема, что накатить оперативно фикс было невозможно. Потому что он должен был пройти все 8 волн если вы упустили баг в прошлый раз!
Каждые 4 секунды сука.
С тебя 20 тыщ дед.
Post #1960
13.4K
- 😁 126
- 👍 19
- ❤ 6