Сначала казалось: 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 — это не про инструменты. Это про процессы. Инструменты вторичны.
Комментарии
Пока нет комментариев. Стань первым!