Выбор ответа Senior Terraform и IaC обновлено

Workspaces или каталоги

Вопрос

Почему для dev и prod с разными аккаунтами и правами чаще выбирают отдельные каталоги со своим state, а не workspaces?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Свой backend, учётки и версии модулей, ошибка в dev не заденет prod. Workspaces делят один код и один backend, различия задаются через terraform.workspace в условиях, и легко применить не в том workspace.

Варианты ответа

  1. Свой backend, учётки и версии модулей, ошибка в dev не заденет prodправильный ответ
  2. Workspaces объявлены устаревшими и удаляются из Terraform
  3. Workspaces не поддерживают удалённый state в S3 и других бэкендах
  4. Каталоги работают быстрее: plan не перебирает все workspaces

Разбор

Workspaces делят один код и один backend, различия задаются через terraform.workspace в условиях, и легко применить не в том workspace. Отдельные каталоги (обычно с общими модулями) позволяют задать разные учётки и бэкенды, обновлять prod на новую версию модуля отдельно и видеть различия явно. Workspaces никуда не делись и работают с удалёнными бэкендами, скорость тут ни при чём.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.