Зарегистрируйтесь, чтобы продолжить обучение

Деплой JS: Веб-разработка

После того, как сайт написан, его нужно выложить в интернет. Стандартный путь включает три пункта:

  1. Покупка домена
  2. Покупка хостинга и его настройка
  3. Деплой

Рассмотрим эти пункты более подробно.

Покупка домена

Чтобы приобрести домен, необходимо обратиться в компании-регистраторы. Домен оплачивается раз в год и закрепляется за определенным человеком или компанией. Иногда хостер и регистратор — одна и та же компания. Тогда домен и сервер связываются одновременно. Иначе нужно производить определенные настройки на стороне сервера и подтверждать свое право владения доменом.

Покупка хостинга и его настройка

Хостинг — это ресурсы для размещения и обслуживания сайта в интернете. Хостинг бывает разным. Он может представлять уже полностью готовую среду, в которую заливается код сайта. Также он может быть просто железными серверами, которыми можно и нужно управлять самостоятельно.

Обычно работа с хостингом выглядит следующим образом:

  1. Производится регистрации на сайте хостинга
  2. Выбирается подходящий тариф и вид хостинга (On-Prem, IaaS, PaaS, SaaS) и привязывается банковская карточка
  3. Предоставляется доступ к ресурсам, например, IP-адрес и пара логин/пароль для ssh- или ftp-доступа
  4. При необходимости производится настройка хостинга и деплой проекта

Деплой

Деплой — процесс выкладки новой версии сайта на сервер. Этот процесс может быть довольно сложным и зависит от используемых технологий. Во время деплоя могут выполняться следующие задачи:

  1. Код проекта скачивается на сервер — обычно через клонирование Git
  2. Ставятся все необходимые зависимости
  3. Выполняется процесс сборки приложения
  4. Выполняются миграции — SQL-скрипты, которые изменяют структуру базы данных
  5. Запускается новая версия кода

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

Несмотря на разнообразие способов деплоя, есть одно важное правило для всех — деплоить можно только вперед. Деплой нельзя откатывать. И в первую очередь это касается миграций. Если после или во время деплоя что-то пошло не так, то правильно деплоить снова

Также деплои можно классифицировать по способу обновления:

  • Последовательное обновление — сервера обновляются по очереди
  • Сине-Зеленый деплой — полное дублирование инфраструктуры с подменой

Отдельно стоит сказать про канареечный релиз — canary release. При таком подходе переключение на использование новой версии происходит постепенно — сначала для небольшого процента пользователей, а затем и для всех.

Способ деплоя зависит от используемого хостинга и способа настройки серверного окружения. Выделяют следующие типы хостингов:

  • Виртуальный хостинг (Shared Hosting) — самый дешевый способ размещать сайт в интернете. Такая услуга включает доступ на сервер с уже настроенным программным обеспечением под конкретный стек, например, Linux + Python + MySQL. Этот способ подходит для самых простых сайтов и требует минимальной настройки
  • VPS/VDS — наиболее сбалансированная услуга, в рамках которой предоставляется виртуальная машина. Плюс в том, что такой вид хостинга позволяет задействовать больше серверных мощностей: ЦПУ, память и диск. Предустановленного ПО нет, все нужно делать самостоятельно. По сравнению с виртуальным хостингом мы не ограничены в правах и можем настраивать сервер как угодно
  • Выделенный сервер (Dedicated Server) — сервер либо свой, либо арендованный. Такой хостинг требует больше всего участия, но зато мы получаем лучшее соотношение производительность/цена
  • IaaS (Infrastructure as a Service) — инфраструктура как сервис. Вид хостинга, при котором большая часть возможностей представляется как сервис, например, Amazon Web Service (AWS)
  • PaaS (Platform as a Service) — платформа как сервис. Наиболее дорогой и самый автоматизированный способ из коробки по размещению сайтов. Выкладка сайта происходит по команде git push. Кроме цены важно учитывать используемые технологии и подходы. PaaS обладает наибольшим числом ограничений по тому, что и как можно делать, но в обмен мы получаем не просто автоматизированный хостинг, но и платформу, которая автоматически масштабируется под нагрузку

Все способы деплоя можно разбить на две большие категории: деплой на PaaS и деплой на все остальное.

Деплой на PaaS

Самый простой способ начать деплоить. Большинство PaaS-хостеров имеют бесплатные планы, достаточные для выкладки учебных проектов. Из плюсов: не придется покупать адрес, домен третьего уровня предоставляется бесплатно.

Одним из таких сервисов является Render. Мы предлагаем использовать этот сервис для деплоя своих учебных проектов. Он поддерживает деплой Github репозиториев. Подробнее о том, как задеплоить JavaScript приложение на render.com, смотрите в нашей статье


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

  1. Зарегистрируйтесь на сервисе render.com
  2. Задеплойте на Render то приложение, которое вы написали в течение этого курса

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

  1. Как деплоить приложение на Render. Гайд для фронтендеров и бэкендеров

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

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

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

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

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

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

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

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