Антон Суминов | Tony pro IT
Антон Суминов, Руководитель студии Adinadin · 27.01
"Это база": минимальный набор для успешной разработки Вот вам пятничная история из разряда: как такое вообще возможно в 2024/2025 году?
В конце 2024 года к нам пришёл клиент. Интернет-магазин, не очень большой, но и не очень маленький: 10 000 посетителей в сутки, порядка 200–300 заказов в день. Клиент пришел по рекомендации, так как предыдущий подрядчик его не устраивал: задачи делались долго, а сайт периодически «падал» в самый неподходящий момент.
Мы зашли на проект и… мягко говоря, были в шоке. Сайт вроде как разрабатывали не студенты, а весьма солидная студия. А на проекте ни гита, ни тестового сервера, ни настроенного резервного копирования.Чего уж говорить про логирование и статический анализ кода – вообще ничего. Все работы делались сразу на бою, на рабочем сайте.
В 2024/2025 году увидеть проект без этих базовых вещей — это, честно говоря, шок.
Поэтому сегодня напишу базу, без которой никуда. :)
❗️База, без которой никуда Вот обязательный минимум, который должен быть на любом проекте, чтобы избежать таких проблем. Мы обязательно на каждом проекте используем:
1️⃣ Git.Без него в современных реалиях никуда. Это основа для хранения истории изменений и безопасного отката. Мы используем Bitbucket, можно также использовать GitLab, GitHub.
2️⃣ Тестовый сервер. Нужен для проверки изменений перед релизом без риска для продакшна. Мы дополнительно используем Docker и Kubernetes для управления окружением и масштабирования.
3️⃣ Dev-сервер. Песочница для разработчиков, где каждый может тестировать свои изменения, не влияя на общий тестовый сервер. Дополнительно также можно использовать Docker и Kubernetes.
4️⃣ CI/CD. Автоматизация сборки, тестирования и релизов. Ускоряет обновления и снижает риски ошибок. Мы используем Bitbucket Pipelines и Jenkins, можно также использовать GitLab CI, GitHub Actions, TeamCity.
5️⃣ Автоматический анализ кода. Необходим для выявления ошибок, уязвимостей и повышения стандартов разработки. Мы всегда используем SonarQube, а в зависимости от проекта можем подключать и другие анализаторы кода. Их легко интегрировать с CI/CD для автоматической проверки изменений.
6️⃣ Документация. Нужна для фиксирования процессов, решений и настроек, чтобы облегчить работу команды и упорядочить знания. Мы используем Confluence, но подойдут и другие инструменты, такие как Notion или Битрикс24 (База знаний). Главное — чтобы информация была легко доступна и структурирована.
7️⃣ Резервное копирование.Защищает данные и настройки от потерь. Мы используем встроенные возможности Linux для автоматического создания бэкапов.
8️⃣ Логирование и мониторинг.Помогают отслеживать работу системы и быстро устранять проблемы. Мы используем ELK Stack (Elasticsearch, Logstash, Kibana), Grafana, Prometheus.
Эти инструменты и процессы — это база. Без них проект неизбежно столкнётся с проблемами.
А у вас точно все хорошо на проекте? Делитесь в комментариях! 🚀
Антон Суминов
· 27.01
Увы, это не так. Мы заходили на проект, когда аудировали и видели, как они месяц вели работы…
ответить
Павел Фатеев
· 27.01
Всё намного проще. У прошлых разработчиков было всё что им нужно для работы. Но когда их скинули с проекта, они забрали это с собой. Оставили только минимально жизнеспособный продукт.
Заказчик теперь повесит на вас наработку необходимой инфраструктуры. Главное не продешевить.
ответить
еще контент автора
еще контент автора
Антон Суминов | Tony pro IT
Антон Суминов, Руководитель студии Adinadin · 27.01
войдите, чтобы увидеть
и подписаться на интересных профи