
Комментарии 2
Хм, довольно сложно ожидать надежности и хорошей работы системы, если она не прошла тестирование. А по вашей статье получается, что образы сразу из upstream идут в prod. Или я что--то неправильно понял?
Реплицироваться независимо в каждом регионе, да еще из 3p источников - это большой риск.
Допустим какой-то образ содержит ошибки или обратно-несовместимые изменения, которые роняют вашу систему. Каждый регион подтнянул это изменение и у вас получится каскад проблем мирового масштаба. Чтобы такого не было - нужна pipeline. Все регионы должны получать единый, прошедший тестирование набор образов. Этой "репликацией" и должна заниматься pipeline - последовательно - сначала собрать систему, запустить, протестировать и прогнать весь этот комплект, как единый бандл, через все регионы, один за другим, внимательно следя за метриками и alarms на каждом promotion. У нас это считается лучшими практиками. Поэтому какая-то AZ может отвалиться, и это редко, но случается. Какой-то регион тоже может отвалиться, но уже значительно реже.
реплицируеться уже протестированный образ(релиз). И конечно у него везде одинаковое содержимое и контрольная сумма;
Это не часть CI/CD, это нечто что происходит между CI и CD - просто технический момент. Так сказать кэширование.
Просто вы свой образ ложите возможно в одно место и вам хватает. У нас очень важно время старта подов(их тясячи), потому нам приходиться заморачиваться и копировать их в каждый регион- поближе;
PS конечно у нас не один сервис, но на примере одного проще пояснить
Как мы перестали толкать и начали тянуть (AWS ECR)