Сначала казалось: devops — это модное слово для «сисадмин вайлдберриз». Потом пришёл реальный проект, и я поняла, что делала три вещи, которые DevOps-гуру назвали бы капитальными ошибками.

1. Деплой на прод как на прод — почти вручную

Первый сервер, который я держала, был одним. Один VPS, одна база, один сайт. Деплой выглядел так: открываю PuTTY, захожу по FTP, загружаю файлы, перезапускаю nginx. Всё. Звучит как анекдот, но это был мой ежедневный ритуал в течение полугода.

Проблема не в том, что это медленно. Проблема в том, что когда ты деплоишь вручную, ты не можешь воспроизвести процесс. Хорошо, если ты запомнил все шаги. А если коллега спрашивает: «как ты это развернула?» — и ты судорожно листаешь историю терминала?

Что я делаю сейчас: CI/CD с нуля. GitHub Actions, который запускает тесты, собирает образ и пушит на сервер. Один push в master — и через три минуты обновление на проде. Без моего участия. Без PuTTY.

2. «На моей машине работает» — и я этому верила

Была у меня любимая фраза: «у меня локально всё ок». Окей, конечно. А потом выяснялось, что на тесте у заказчика база падает при нагрузке в 50 юзеров. А у меня локально — 3 юзера, идеальные данные, идеальный интернет.

Я игнорировала staging. Просто не видела в нём смысла. Зачем тратить время на отдельное окружение, если можно сразу на прод? Экономия? Да, экономия — но не моего времени, а времени на поиск багов уже в продакшене.

Сейчас у меня staging — это святое. Если баг есть — он должен умереть до того, как его увидит клиент. Это не блажь, это базовый сценарий.

3. Документация? Напишу потом, сейчас горит

«Потом» не наступало никогда. Я откладывала документацию до того момента, пока не забывала половину того, что делала. Сервис A связывается с сервисом B через очередь, но в документации об этом ни слова. А через полгода я смотрю на свой же код и не понимаю, зачем там эта прослойка.

Сейчас я пишу документацию сразу. Не идеальную, не поэтичную — просто фиксирую: что, зачем, как. README в репозитории, схема стека в Notion, описание окружений — всё, что нужно другому разработчику (или мне самой через год) чтобы понять проект за 15 минут.

Что в итоге

Ни одна из этих ошибок не была фатальной. Проекты работали, клиенты платили, сайты крутились. Но масштабировать это невозможно. Когда ты один — ручной деплой терпим. Когда команда — это уже проблема. Когда продукт растёт — это уже катастрофа.

DevOps — это не про инструменты. Это про процессы. Инструменты вторичны.