Про доступы в продакшен

·

В очередной раз спорили должны ли иметь разработчики доступ в продакшен (и в целом к серверам/контейнерам). Ситуация продолжает быть парадоксальной, так как [[docker]] и [[12 factor app]] должен был унифицировать среду доставки и конфигурации, а в итоге имеем всё тот же спор.

Итак, разработчику можно дать доступ в продакшен, если:

  1. это его pet project
  2. он сам является админом серверов и прикладного софта по проекту
  3. (нежелательно) иногда в компании могут договориться до доступов, начиная с какого-то уровня компетенций, но для этого нужно учитывать риски обозначенные

Соответственно, как только админство/operations осуществляет другой человек, то мы придерживаемся принципа организации мониторинга.

Плюсы такого подхода:

  • Разработчикам и админам приходится совместно работать над инструментами для решения проблем, которые в дальнейшем отходят в руки техподдержки. При прямом доступе разработчики чаще заходят что-то поправить и забивают, что может превратиться в рутину.
  • Такая рутина начинает размывать границу в отношение разработки vs поддержки, что приводит к увеличению времени проблем или уменьшению автобусного числа.
  • Минимизация рисков серверов-“снежинок”: при наличии доступов, разработчики через какое-то время начинают вставлять костыли, которые ещё больше различают голую установку и рабочий сервер.
  • Выполнение требований по безопасности: меньше людей имеют доступ, меньше вероятность каких-то проблем. Сюда же можно и включить требования для прохождения сертификаций.

Есть и минусы:

  • Проблемы с падением прода могут лечиться дольше, так как требует вовлечение минимум двух людей. Но здесь может помочь подходы к [[управлению инцидентами]]. То есть мы получаем меньше автономости для разработки.
  • Разработчики находятся дальше от прода, что негативно влияет на понимание по нагрузке на свою систему. Опять же, это решается организацией мониторинга.