Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

Введение Продакшен и Деплой

После того как код написан, его нужно выложить на сервера и запустить. Этот процесс называется деплоем и часто скрыт от программистов за кнопками, командами и конкретными людьми. Организация продакшена, деплой, масштабирование, мониторинг, все это часто остается знанием, которое доступно только администраторам или избранным. Попробуем это исправить.

Деплой

Хорошо организованный продакшен и деплой работают по принципу одной кнопки. Всё настолько автоматизировано, что одной команды достаточно как для полной настройки инфраструктуры, так и для выполнения деплоя. Такой подход называется инфраструктура как код. И здесь мы научимся его применять.

Структура курса

Работа с продакшеном состоит из трёх больших стадий, которые постоянно повторяются:

Подготовка машин

Под подготовкой понимают как создание серверов, так и их настройку. Создание серверов рассматривается в курсе посвященном Terraform, а здесь мы говорим про их настройку. В этом нам поможет Ansible – инструмент, который позволяет с помощью yaml-файлов описать то, что нужно установить на сервер.

Подготовка деплоя и деплой

Процесс разворачивания кода на сервер зависит от многих факторов, сколько у нас машин, на чем написан проект, какая подключена база данных и так далее. Из-за этого описание деплоя будет меняться от проекта к проекту. Однако, принципы, по которым происходит деплой - остаются примерно одними и теми же: сборка проекта, миграции БД, Zero Downtime Deploy и тому подобное.

Здесь мы будем рассматривать деплой с помощью Ansible без докера и с докером. Деплой через Kubernetes рассматривается в своем собственном курсе.

Эксплуатация

После того как новая версия сайта заработала, наступает следующий этап – контроль работоспособности. Для этого используются системы мониторинга, которые следят за тем как работает приложение, как распределяется нагрузка и какой у нас запас прочности. На мониторинг настраиваются алерты, которые срабатывают при возникновении ошибок или потенциально опасных ситуациях. В качестве мониторинга мы возьмем сервис DataDog, а для отслеживания ошибок внутри приложения Sentry.

Подготовка

Для понимания содержимого курса нужно иметь хотя бы минимальный опыт программирования. В курсе дается не только теоретическая подготовка, но и выполняется реальная настройка машин и выполнение деплоя. Все это делается с помощью Ansible. Еще полезно знать про Github Actions, Docker и Docker Compose. По всем этим технологиям и подходам на Хекслете есть соответствующие курсы.

Для экспериментов в этом курсе мы рекомендуем Digital Ocean (DO). Зарегистрировавшись по ссылке, вы получите 25$ на счёт, которых должно хватить для экспериментов.

Если сервис для вас не доступен, закончился кредит, воспользуйтесь другими сервисами, например Linode или Yandex Cloud, если вы из РФ.

Домашнее задание

hexlet program download devops-for-programmers production

Самостоятельная работа

  1. Зарегистрируйтесь на Digital Ocean. Если сервис для вас не доступен, закончился кредит, воспользуйтесь другими сервисами, например Linode или Yandex Cloud, если вы из РФ.

  2. Создайте сервер на Ubuntu и установите на него интерпретатор языка, с которым обычно работаете


Дополнительные материалы

  1. Чек-лист хороших инженерных практик

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
900
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.

  • 130 курсов, 2000+ часов теории
  • 900 практических заданий в браузере
  • 360 000 студентов
Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff

Используйте Хекслет по максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Даю согласие на обработку персональных данных, соглашаюсь с «Политикой конфиденциальности» и «Условиями оказания услуг»

Изображение Тото

Задавайте вопросы, если хотите обсудить теорию или упражнения. Команда поддержки Хекслета и опытные участники сообщества помогут найти ответы и решить задачу