Я пытался обдумать проблему с использованием Terraform (хотя подойдет любой язык инфраструктуры, например CloudFormation, ARM или что-то еще, что использует Google, поскольку, насколько мне известно, это не облачная проблема). Я часто использовал канарейки в разработке программного обеспечения, и это в значительной степени основной продукт, помимо красного / черного (или синего / зеленого, выберите слово яд). Для построения сценария предположим, что у нас уже есть сетевой уровень, и он не будет изменен. Я воспользуюсь AWS, чтобы разбить это на управляемые фрагменты.
Допустим, у нашего VPC есть следующие атрибуты
Довольно стандартно. Итак, у нас есть базовый план, допустим, наше приложение будет использовать определенные сервисы AWS.
Как бы вы это сделали? Допустим, мы хотим протестировать ALB вместо ELB или полностью удалить Redis и заменить его Elasticache. Очевидно, мы не хотим запускать это прямо в производство, это было бы самоубийством.
Могу ли я рассмотреть что-то вроде второго Route53 в сочетании с потоком трафика (версия формирования трафика AWS, насколько мне известно) и набором желаемой инфраструктуры, чтобы постепенно загружать нагрузку, чтобы увидеть, когда и как она сломается? Я считаю, что части R53, в частности, являются политиками взвешивания трафика и аварийного переключения? Пожалуйста, дайте мне знать, что вы думаете, уже несколько месяцев что-то щекотало мой мозг.