Про доступы в продакшен
·
В очередной раз спорили должны ли иметь разработчики доступ в продакшен (и в целом к серверам/контейнерам). Ситуация продолжает быть парадоксальной, так как [[docker]] и [[12 factor app]] должен был унифицировать среду доставки и конфигурации, а в итоге имеем всё тот же спор.
Итак, разработчику можно дать доступ в продакшен, если:
- это его pet project
- он сам является админом серверов и прикладного софта по проекту
- (нежелательно) иногда в компании могут договориться до доступов, начиная с какого-то уровня компетенций, но для этого нужно учитывать риски обозначенные
Соответственно, как только админство/operations осуществляет другой человек, то мы придерживаемся принципа организации мониторинга.
Плюсы такого подхода:
- Разработчикам и админам приходится совместно работать над инструментами для решения проблем, которые в дальнейшем отходят в руки техподдержки. При прямом доступе разработчики чаще заходят что-то поправить и забивают, что может превратиться в рутину.
- Такая рутина начинает размывать границу в отношение разработки vs поддержки, что приводит к увеличению времени проблем или уменьшению автобусного числа.
- Минимизация рисков серверов-“снежинок”: при наличии доступов, разработчики через какое-то время начинают вставлять костыли, которые ещё больше различают голую установку и рабочий сервер.
- Выполнение требований по безопасности: меньше людей имеют доступ, меньше вероятность каких-то проблем. Сюда же можно и включить требования для прохождения сертификаций.
Есть и минусы:
- Проблемы с падением прода могут лечиться дольше, так как требует вовлечение минимум двух людей. Но здесь может помочь подходы к [[управлению инцидентами]]. То есть мы получаем меньше автономости для разработки.
- Разработчики находятся дальше от прода, что негативно влияет на понимание по нагрузке на свою систему. Опять же, это решается организацией мониторинга.