0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>После того как код написан, его нужно выложить на серверы и запустить. Этот процесс называется деплоем и часто скрыт от программистов за кнопками, командами и конкретными людьми. Организация продакшена, деплой, масштабирование, мониторинг, все это часто остается знанием, которое доступно только администраторам или избранным. Попробуем это исправить.</p>
1
<p>После того как код написан, его нужно выложить на серверы и запустить. Этот процесс называется деплоем и часто скрыт от программистов за кнопками, командами и конкретными людьми. Организация продакшена, деплой, масштабирование, мониторинг, все это часто остается знанием, которое доступно только администраторам или избранным. Попробуем это исправить.</p>
2
<p>Хорошо организованный продакшен и деплой работают по принципу одной кнопки. Все настолько автоматизировано, что одной команды достаточно как для полной настройки инфраструктуры, так и для выполнения деплоя. Такой подход называется<a>инфраструктура как код</a>. И здесь мы научимся его применять.</p>
2
<p>Хорошо организованный продакшен и деплой работают по принципу одной кнопки. Все настолько автоматизировано, что одной команды достаточно как для полной настройки инфраструктуры, так и для выполнения деплоя. Такой подход называется<a>инфраструктура как код</a>. И здесь мы научимся его применять.</p>
3
<h2>Структура курса</h2>
3
<h2>Структура курса</h2>
4
<p>Работа с продакшеном состоит из трех больших стадий, которые постоянно повторяются:</p>
4
<p>Работа с продакшеном состоит из трех больших стадий, которые постоянно повторяются:</p>
5
<h3>Подготовка машин</h3>
5
<h3>Подготовка машин</h3>
6
<p>Под подготовкой понимают как создание серверов, так и их настройку. Создание серверов рассматривается в курсе посвященном Terraform, а здесь мы говорим про их настройку. В этом нам поможет<a>Ansible</a>- инструмент, который позволяет с помощью yaml-файлов описать то, что нужно установить на сервер.</p>
6
<p>Под подготовкой понимают как создание серверов, так и их настройку. Создание серверов рассматривается в курсе посвященном Terraform, а здесь мы говорим про их настройку. В этом нам поможет<a>Ansible</a>- инструмент, который позволяет с помощью yaml-файлов описать то, что нужно установить на сервер.</p>
7
<h3>Подготовка деплоя и деплой</h3>
7
<h3>Подготовка деплоя и деплой</h3>
8
<p>Процесс разворачивания кода на сервер зависит от многих факторов, сколько у нас машин, на чем написан проект, какая подключена база данных и так далее. Из-за этого описание деплоя будет меняться от проекта к проекту. Однако принципы, по которым происходит деплой, остаются примерно одними и теми же: сборка проекта, миграции БД, Zero Downtime Deploy и тому подобное.</p>
8
<p>Процесс разворачивания кода на сервер зависит от многих факторов, сколько у нас машин, на чем написан проект, какая подключена база данных и так далее. Из-за этого описание деплоя будет меняться от проекта к проекту. Однако принципы, по которым происходит деплой, остаются примерно одними и теми же: сборка проекта, миграции БД, Zero Downtime Deploy и тому подобное.</p>
9
<h3>Эксплуатация</h3>
9
<h3>Эксплуатация</h3>
10
<p>После того как новая версия сайта заработала, наступает следующий этап - контроль работоспособности. Для этого используются системы мониторинга, которые следят за тем как работает приложение, как распределяется нагрузка и какой у нас запас прочности. На мониторинг настраиваются алерты, которые срабатывают при возникновении ошибок или потенциально опасных ситуациях. В качестве мониторинга мы возьмем сервис<a>DataDog</a>, а для отслеживания ошибок внутри приложения<a>Sentry</a>.</p>
10
<p>После того как новая версия сайта заработала, наступает следующий этап - контроль работоспособности. Для этого используются системы мониторинга, которые следят за тем как работает приложение, как распределяется нагрузка и какой у нас запас прочности. На мониторинг настраиваются алерты, которые срабатывают при возникновении ошибок или потенциально опасных ситуациях. В качестве мониторинга мы возьмем сервис<a>DataDog</a>, а для отслеживания ошибок внутри приложения<a>Sentry</a>.</p>
11
<h2>Подготовка</h2>
11
<h2>Подготовка</h2>
12
<p>Для понимания содержимого курса нужно иметь хотя бы минимальный опыт программирования. В курсе дается не только теоретическая подготовка, но и выполняется реальная настройка машин и выполнение деплоя. Все это делается с помощью Ansible. Еще полезно знать про Github Actions, Docker и Docker Compose. По всем этим технологиям и подходам на Хекслете есть соответствующие курсы.</p>
12
<p>Для понимания содержимого курса нужно иметь хотя бы минимальный опыт программирования. В курсе дается не только теоретическая подготовка, но и выполняется реальная настройка машин и выполнение деплоя. Все это делается с помощью Ansible. Еще полезно знать про Github Actions, Docker и Docker Compose. По всем этим технологиям и подходам на Хекслете есть соответствующие курсы.</p>
13
<p>Для экспериментов в этом курсе мы рекомендуем использовать Яндекс Облако, в<a>статье</a>вы можете прочитать, как зарегистрироваться в сервисе.</p>
13
<p>Для экспериментов в этом курсе мы рекомендуем использовать Яндекс Облако, в<a>статье</a>вы можете прочитать, как зарегистрироваться в сервисе.</p>