С февраля 2022 года многие жители России потеряли возможность использовать зарубежные сервисы: в том числе облачный провайдер DigitalOcean, которым пользовались наши студенты. Рассказываем про Yandex Cloud – альтернативу DigitalOcean, которую мы рекомендуем для прохождения наших курсов, и сравниваем оба сервиса.
Статью подготовил Михаил Краев — наставник Хекслета по DevOps, инженер в крупном российском банке. Михаил проектирует инфраструктуру в облаках для больших и маленьких проектов, работает как с приватными облаками, так и с публичными: AWS, Yandex.Cloud, Selectel.В свободное время помогает волонтерским проектам.
Облачный провайдер DigitalOcean был стандартом для Хекслета, с его помощью студенты выполняли задания на курсах. В нем просто и удобно регистрироваться и создавать сервисы, что позволяет без проблем взаимодействовать с облаком даже тем пользователям, которые прежде не работали с подобными хостингами.
Сейчас наши ученики из РФ не могут привязать к платформе российскую банковскую карту, чтобы подтвердить платежеспособность, и завести аккаунт в DigitalOcean. В качестве альтернативы мы рекомендуем использовать Yandex Cloud — облачный провайдер от Яндекса. В этой статье мы сравниваем, как на этих двух платформах создавать базовые сервисы:
- Серверы
- Базы данных
- Балансировщик
- Хранилище файлов.
Содержание
Как создать аккаунт
DigitalOcean
Чтобы создать аккаунт в DigitalOcean, нужно указать полное имя, почту и пароль. При регистрации по реферальной ссылке https://m.do.co/c/e702f9a99145 вам начислят $100. Затем необходимо подтвердить аккаунт — письмо со ссылкой приходит на почту.
Дальше добавьте способ оплаты: банковскую карту или PayPal. После этого вы попадете в проект, где можно создавать необходимые ресурсы. Реферальный бонус будет зачислен на счет, когда регистрация завершена. Их можно использовать в течение 60 дней с момента регистрации.
Yandex Cloud
Здесь создание аккаунта несколько отличается. Вам потребуется Яндекс ID — единый сервис для аутентификации во всех продуктах Яндекса.
Пройдя форму логина, вы попадете в консоль, где нужно создать платежный аккаунт. Во время регистрации платежного аккаунта с вас могут списать небольшую сумму. Не волнуйтесь, Яндекс тут же вернет ее. Это нужно для проверки вашей карты. Когда зарегистрируете аккаунт, вам начислят вступительную квоту, о ней немного позже.
Разберем каждый этап создания платежного аккаунта.
- Укажите страну, резидентом которой являетесь. Зарегистрироваться в Yandex Cloud могут резиденты и нерезиденты РФ. При этом нерезиденты могут зарегистрироваться только как юридические лица. Подробные условия читайте в документации сервиса Биллинг.
Заполните название аккаунта. Никаких специальных требований к нему нет, но ресурсам лучше давать осмысленные названия, особенно если речь идет о деньгах. В примере ниже мы выбрали название hexlet-student-account, чтобы обозначить, что этот аккаунт — именно для студентов:
- Выберите плательщика или создайте нового. Чтобы добавить физическое лицо, укажите ФИО, почту и банковскую карту:
- Укажите контактные данные: почта и телефон. Нажмите кнопку «Создать»:
Аккаунт готов к работе. Теперь вы можете создавать серверы.
Если вы заводите аккаунт на Yandex Cloud впервые, вам начислят стартовый грант на ознакомление с платформой. Гранты для резидентов разных стран отличаются. Актуальные условия есть на официальном сайте сервиса в разделе «Документация» — «Начало работы».
Грант делится на две части:
- На использование Compute Cloud — виртуальные машины и облачные серверы
- На использование остальных сервисов.
Если вы захотите потратить весь грант только на серверы, у вас это не получится.
Как создать серверы
Облачный сервер — самый часто используемый сервис в работе с облачными провайдерами. Иногда серверы создаются без вашего участия при заказе других продуктов. А когда вы будете учиться, вам потребуется создавать их самостоятельно.
DigitalOcean
В DigitalOcean облачный сервер называется Droplet. Он создается через кнопку Get Started with a Droplet:
- Выберите образ операционной системы для сервера. Например, можно установить чистую ОС, выбрав из списка нужную нам. Еще можно развернуть сервер из docker-образа, выбрать один из готовых образов из магазина, подключить загрузочный диск или развернуть систему из бэкапа:
- Определитесь с мощностью облачного сервера. Есть варианты для разных задач, но чтобы пройти курс на Хекслете, достаточно пакета Standard. Минимальная цена за сервер — $5 в месяц:
- Выберите регион, в котором создается сервер, — от этого зависит скорость обмена данными. Лучше создавать сервер в том регионе, к которому вы ближе:
- Настройте способ подключения к серверу. SSH-ключ — более безопасный и правильный подход, мы предпочитаем ссылаться на него в наших курсах.
DigitalOcean позволяет сохранять ключ, чтобы не копировать его каждый раз, когда вы создаете новый сервер:
- В конце нужно нажать на кнопку Create и ждать. На создание сервера уходит пара минут. После этого можно подключиться к удаленному серверу, используя логин и SSH-ключ.
Yandex Cloud
В Yandex Cloud облачный сервер называется Compute Cloud. Чтобы создать его, необходимо перейти во вкладку Compute Cloud — «Виртуальные машины» — «Создать ВМ»:
Как создать сервер:
- Задайте имя сервера. По желанию можно добавить ему описание и указать зону доступности — географическое расположение дата-центра, в котором будет находиться виртуальная машина:
После создания виртуальной машины, переместить ее в другую зону доступности не получится.
- Выберите образ операционной системы. Здесь доступны те же варианты, что и у DigitalOcean, за исключением бэкапа: чистый образ ОС, docker-образ, готовые образы из магазина и загрузочный диск:
- Настройте вычислительные мощности виртуальной машины. Можно выбрать минимальную гарантированную долю процессора. Если выбрать 50%, то половина мощностей процессора всегда будет использоваться только для вашей машины (удаленного рабочего места). Также можно сделать машину прерываемой – рабочее место можно будет отключить, тогда вам не придется платить за простой рабочего места. Это полезно в процессе обучения, когда не хочется платить много за машины:
- Настройте доступ. Здесь можно загрузить SSH-ключ и задать имя пользователя. Ключ расположится в домашней директории пользователя, которого мы укажем в поле «Логин».
Если вы создавали пользователя вручную, необходимо скопировать ключ самостоятельно.
Как создать базы данных
Базы данных — важная часть работы с облачными провайдерами. Вы можете развернуть базу данных и на виртуальной машине. Но такой подход требует более глубокого понимания для грамотной поддержки.
Managed Database позволяет не задумываться о нюансах и сразу использовать нашу базу данных. Рассмотрим процесс создания базы данных PostgreSQL:
DigitalOcean
- В DigitalOcean на странице проекта нажмите Create и выберите Database:
- Выберите, какую базу данных хотим создать. Здесь же можно указать нужную нам версию:
- Выберите мощность кластера с базой. Здесь же можно выбрать Standby nodes — это разные инстансы одной базы. В случае падения каких-то запросов они автоматически перенаправляются на другие ноды:
- Выберите дата-центр, в котором разворачиваете базу данных, как с дроплетом — отталкивайтесь от ближайшего дата-центра:
- Укажите название базы и нажмите кнопку «Create a Database Cluster». Далее DigitalOcean начинает разворачивать кластер, а вы продолжите его настраивать:
- Выберите, откуда будет доступ к базе данных — от вашего IP или от других серверов:
На следующем шаге система показывает данные для подключения к базе данных. Сохранять их на этом этапе не обязательно, эти данные всегда можно получить на вкладке с продуктом.
Здесь создание базы данных со стороны пользователя заканчивается. На создание кластера у системы уходит еще немного времени:
Yandex Cloud
В облаке от Яндекса разные типы управления базами данных доступны во вкладке «Платформа данных». Рассмотрим пример получения сервиса Managed Service for PostgreSQL:
- На странице сервиса выберите опцию «Создать кластер»:
- Задайте имя для вашего кластера. По желанию можно заполнить описание.
Также выберите окружение:
- PRESTABLE позволяет получать обновления, в которых могут появляться новые функции и исправляться баги.
- PRODUCTION — для стабильных версий сервисов.
Еще на этом этапе выбираем версию:
- Настройте класс хоста — это вычислительная мощность базы. Здесь есть готовые варианты. С их помощью можно гибко регулировать мощность базы данных.
Также здесь есть настройка гарантированной доли CPU. Она находится под вкладкой burstable:
- Настройте размер базы. Здесь же можно выбрать тип диска: SSD или HDD. Они отличаются скоростью чтения и записи:
- Настройте параметры подключения к базе данных: имя, логин и пароль. Про настройки локали можно подробнее почитать в [документации] (https://cloud.yandex.ru/docs/managed-postgresql/operations/databases). Их можно оставить по умолчанию:
- Выберите сеть, в которой будет доступна ваша база данных. Чаще всего в процессе обучения не требуется более одной сети.
Здесь можно поменять зону доступности и сделать базу данных доступной из интернета. Если не сделать этого, то доступ к базе будет только с вашей виртуальной машины:
- Выберите время начала резервного копирования, срок хранения резервных копий и окна обслуживания. Это важные настройки, если ваш кластер нужен для реального приложения.
Для обучения выбирайте время, когда вы обычно не занимаетесь. Обязательно воспользуйтесь опцией «Защита от удаления» — позволяет не удалить случайно кластер с базы данных.
Здесь есть и другие настройки, но в большинстве курсов они не понадобятся, поэтому не будем на них останавливаться.
Как создать балансировщик
Балансировщик распределяет трафик между виртуальными машинами в одной группе. Это важный элемент современных инфраструктур, который позволяет масштабировать приложение и выполнять zero-downtime deploy.
DigitalOcean
- На DigitalOcean балансировщик создается во вкладках Network — Load Balancers:
- Укажите название балансировщика:
- Выберите серверы, с которых собираетесь перенаправлять трафик. В DigitalOcean можно использовать отдельные дроплеты, группы и лейблы:
- В конце настройте правила перенаправления трафика — протоколы и порты:
При необходимости выставите расширенные настройки и нажмите «Create Load Balancer»:
Yandex Cloud
Балансировщик находится на вкладках «Инфраструктура и сеть» — Network Load Balancer:
- Нажмите на кнопку «Создать сетевой балансировщик»:
- Задайте имя и описание. При необходимости выберите зарезервированный адрес из списка и защиту от DDoS:
- Добавьте обработчик — аналог правил в DigitalOcean:
- Выберите группу машин. Если еще не создали, это можно сделать здесь же. После нажмите кнопку «Создать»:
Как создать хранилище файлов
Разберем, как создается хранилище файлов — виртуальная файловая система, которую можно подключать к нескольким виртуальным машинам из одной зоны доступности.
DigitalOcean
- Для создания хранилища нам понадобится сервис Spaces для хранения файлов в DigitalOcean. Переходим на вкладку Manage — Spaces:
- Выберите регион:
- Задайте поддомен для хранилища. Здесь можно получить SSL-сертификат от DigitalOcean, либо загрузить свой при наличии:
- Выберите политику просмотра файлов: разрешить всем или запретить. Доступ на скачивание и просмотры файлов можно задавать индивидуально при загрузке:
- Задайте имя для вашего Space. Оно отображается в ссылке на хранилище:
Yandex Cloud
- Перейдите на вкладку «Инфраструктура и сеть» и выберите Object Storage:
- Нажмите кнопку «Создать бакет»:
- Задайте имя, выберите лимит и настройте политики доступа. Также настройте «Класс хранилища»:
- Стандартное хранилище — предназначено для активной работы с объектами
- Холодное хранилище — предназначено для длительного хранения объектов с редкими запросами на чтение.
Чем еще можно заменить DigitalOcean
Облачные провайдеры активно развиваются в России, поэтому есть другие подходящие альтернативы DigitalOcean. Например, среди столь же мощных и простых сервисов можно отметить Selectel. Он уже обладает большим комьюнити и хорошей документацией.
А вот еще несколько отличных аналогов для российских пользователей:
На данный момент некоторые из них совершенно не подходят для прохождения курсов на Хекслете, но со временем это может измениться — рынок облачных провайдеров быстро развивается.
Выводы
Мы советуем пользоваться DigitalOcean, если есть возможность оплатить его не российской картой. Он давно используется в Хекслете, а простота и удобство работы позволяют пользователям без проблем с ним взаимодействовать.
Yandex Cloud — отличная альтернатива. Он ни в чем не проигрывает DigitalOcean, доступен всем пользователям в РФ и покроет ваши потребности при прохождении наших курсов.
Если вы выберете третью альтернативу, можете обратиться за помощью в Хекслет Коммьюнити.
<!DOCTYPE html>
<html class="h-100" data-bs-theme="light" data-mantine-color-scheme="light" lang="ru" prefix="og: https://ogp.me/ns#">
<head>
<meta content="width=device-width, initial-scale=1.0" name="viewport">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<link crossorigin="true" href="https://cdn.hexlet.io" rel="preconnect">
<link href="https://mc.yandex.ru" rel="preconnect">
<meta content="aa2vrdtq64dub8knuf83lwywit311w" name="facebook-domain-verification">
<link href="/favicon.ico" rel="icon" sizes="any">
<link href="/favicon.svg" rel="icon" type="image/svg+xml">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/manifest.webmanifest" rel="manifest">
<script>
//<![CDATA[
window.gon={};gon.ym_counter="25559621";gon.is_bot=true;gon.applications={};gon.current_user={"id":null,"last_viewed_notification_id":null,"email":null,"state":null,"first_name":"","last_name":"","created_at":"2026-02-26 15:09:41 UTC","current_program":null,"current_team":null,"full_name":"","guest":true,"can_use_paid_features":false,"is_hexlet_employee":false,"sanitized_phone_number":"","can_subscribe":true,"can_renew_education":false};gon.token="pnG2H-UrgSy9cDPFY3dECIMhYuYWufep-NBuQmSmT5pJoH0oF1UsTAszF11veLR_QyhPTB6OCQtFMPQWNqGo9A";gon.locale="ru";gon.language="ru";gon.theme="light";gon.rails_env="production";gon.mobile=false;gon.google={"analytics_key":"UA-1360700-51","optimize_key":"GTM-5QDVFPF"};gon.captcha={"google_v3_site_key":"6LenGbgZAAAAAM7HbrDbn5JlizCSzPcS767c9vaY","yandex_site_key":"ysc1_Vyob5ZPPUdPBsu0ykt8bVFdzsfpoVjQChLGl2b4g19647a89","verification_failed":null};gon.social_signin=false;gon.typoreporter_google_form_id="1FAIpQLSeibfGq-KvWQ2Fyru-zkFFRVTLBuzXAHAoEyN1p49FtDmNoNA";
//]]>
</script>
<meta charset="utf-8">
<title>Чем заменить облачный провайдер DigitalOcean: обзор Yandex Cloud</title>
<meta name="description" content="С февраля 2022 года многие жители России потеряли возможность использовать зарубежные сервисы: в том числе облачный провайдер DigitalOcean, которым пользовались наши студенты. Рассказываем про Yandex Cloud – альтернативу DigitalOcean, которую мы рекомендуем для прохождения наших курсов, и сравниваем">
<link rel="canonical" href="https://ru.hexlet.io/blog/posts/chem-zamenit-oblachnyy-provayder-digitalocean-obzor-yandex-cloud">
<meta property="og:title" content="Чем заменить облачный провайдер DigitalOcean: обзор Yandex Cloud">
<meta property="og:description" content="С февраля 2022 года многие жители России потеряли возможность использовать зарубежные сервисы: в том числе облачный провайдер DigitalOcean, которым пользовались наши студенты. Рассказываем про Yandex Cloud – альтернативу DigitalOcean, которую мы рекомендуем для прохождения наших курсов, и сравниваем оба сервиса.">
<meta property="og:image" content="https://ru.hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTUzMSwicHVyIjoiYmxvYl9pZCJ9fQ==--60874d20abd3cbbc6f604b17627e8f29b798df66/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOlsxNDU2LDcyOF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--b2ecf6121248a24883cda19469732b47b57f4e80/%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D1%8B%D0%B8%CC%86%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B8%CC%86%D0%BB%D0%B5%D1%80-01.png">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="KKsqjGRjvmB6e2Xt0YTP_F-jr_vAvIrF76uN10uJjpvHeuG7lh0TAMw4QXXdiz-Ln6qCUciLdGdSSxeDGY5p9Q" />
<script src="/vite/assets/inertia-INZxX8jp.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/preload-helper-BJ4cLWpC.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/init-nkZBEvfU.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ahoy-DrlRQ-1D.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/analytics-6pOtQ3OW.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ErrorFallbackBlock-naDSYSy9.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Surface-DL2bpZA-.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/gon-D3e4yh1x.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/mantine-CGMYrt2Y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/utils-DRqSHbQE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/extends-C-EagtpE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/inheritsLoose-BBd-DCVI.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/objectWithoutPropertiesLoose-DRHXDhjp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/index.esm-DAqKOkZ0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Button-CGPUux8l.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/CloseButton-D1euiPao.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Group-BX48WcuU.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Loader-BQEY8g6v.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Modal-Cy3HByv7.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/OptionalPortal-1Hza5P2w.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Stack-CtjJzfw4.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Textarea-Ck64llAy.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Box-B5-OOzBf.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/DirectionProvider-Dc9zdUke.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/events-DJQOhap0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-reduced-motion-D2owz4wa.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-disclosure-zKtK5W1r.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/use-hotkeys-Cnc_Rwkb.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/random-id-DOQyszCZ.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/notifications.store-C-3AFSMn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/exports-C_MrNx_T.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/axios-BEvgo0ym.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dayjs.min-BkKovM-s.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/i18next-BlSq9s7B.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/client-U9M77rxp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-dom-DaLxUz_h.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useTranslation-Bx1Cdrkz.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/compiler-runtime-6XxiPFnt.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/jsx-runtime-CwjcCKJi.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-CkL4ZRHB.js" as="script" crossorigin="anonymous">
<link rel="stylesheet" href="/vite/assets/application-BqhCP46M.js" />
<script src="/vite/assets/application-Df9RExpe.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/autocomplete-VMNbxKGl.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/createPopper-C3aM9r1M.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/js.cookie-D1-O8zkX.js" as="script" crossorigin="anonymous"><link rel="stylesheet" href="/vite/assets/application-C8HjmMaq.css" media="screen" />
<script>
window.ym = function(){(ym.a=ym.a||[]).push(arguments)};
window.addEventListener('load', function() {
setTimeout(function() {
ym.l = 1*new Date();
ym(window.gon.ym_counter, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true
});
// Загружаем скрипт
var k = document.createElement('script');
k.async = 1;
k.src = 'https://mc.yandex.ru/metrika/tag.js';
document.head.appendChild(k);
ym(window.gon.ym_counter, 'getClientID', function(clientID) {
window.ymClientId = clientID;
});
}, 1500);
});
</script>
<!-- Google Tag Manager - deferred -->
<script>
// dataLayer stub сразу — пуши работают до загрузки скрипта
window.dataLayer = window.dataLayer || [];
// Сам скрипт — отложенно после load
window.addEventListener('load', function() {
setTimeout(function() {
dataLayer.push({'gtm.start': new Date().getTime(), event: 'gtm.js'});
var j = document.createElement('script');
j.async = true;
j.src = 'https://www.googletagmanager.com/gtm.js?id=GTM-WK88TH';
document.head.appendChild(j);
}, 1500);
});
</script>
<!-- End Google Tag Manager -->
</head>
<body>
<noscript>
<div>
<img alt="" src="https://mc.yandex.ru/watch/25559621" style="position:absolute; left:-9999px;">
</div>
</noscript>
<header class="sticky-top bg-body">
<nav class="navbar navbar-expand-lg">
<div class="container-xxl">
<a class="navbar-brand" href="/"><img alt="Логотип Хекслета" height="24" src="https://ru.hexlet.io/vite/assets/logo_ru_light-BpiEA1LT.svg" width="96">
</a><button aria-controls="collapsable" aria-expanded="false" aria-label="Меню" class="navbar-toggler border-0 mb-0 mt-1" data-bs-target="#collapsable" data-bs-toggle="collapse">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="collapsable">
<ul class="navbar-nav mb-lg-0 mt-lg-1">
<li class="nav-item dropdown">
<button aria-haspopup class="btn nav-link" data-bs-toggle="dropdown" type="button">
Все курсы
<span class="bi bi-chevron-down align-middle ms-1"></span>
</button>
<ul class="dropdown-menu">
<li>
<a class="dropdown-item d-flex py-2" href="/courses"><div class="fw-bold me-auto">Все что есть</div>
<div class="text-muted">117</div>
</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li class="dropdown-item">
<b>Популярные категории</b>
</li>
<li>
<a class="dropdown-item py-2" href="/courses_devops">Курсы по DevOps
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_data_analytics">Курсы по аналитике данных
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_programming">Курсы по программированию
</a></li>
<li>
<a class="dropdown-item py-2" href="/courses_testing">Курсы по тестированию
</a></li>
<li>
<hr class="dropdown-divider">
</li>
<li class="dropdown-item">
<b>Популярные курсы</b>
</li>
<li>
<a class="dropdown-item py-2" href="/programs/devops-engineer-from-scratch">DevOps-инженер с нуля
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/go">Go-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/java">Java-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/python">Python-разработчик
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/qa-auto-engineer-java">Автоматизатор тестирования на Java
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/data-analytics">Аналитик данных
</a></li>
<li>
<a class="dropdown-item py-2" href="/programs/frontend">Фронтенд-разработчик
</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<button aria-haspopup class="btn nav-link" data-bs-toggle="dropdown" type="button">
О Хекслете
<span class="bi bi-chevron-down align-middle"></span>
</button>
<ul class="dropdown-menu bg-body">
<li>
<a class="dropdown-item py-2" href="/pages/about">О нас
</a></li>
<li>
<a class="dropdown-item py-2" href="/blog">Блог
</a></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/hse-research" role="button">Результаты (Исследование)
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://career.hexlet.io" role="button">Хекслет Карьера
</span></li>
<li>
<a class="dropdown-item py-2" href="/testimonials">Отзывы студентов
</a></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://t.me/hexlet_help_bot" role="button">Поддержка (В ТГ)
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/referal-program/?promo_creative=priglasite-druzei&promo_name=referal-program&promo_position=promo_position&promo_start=010724&promo_type=link" role="button">Реферальная программа
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://special.hexlet.io/certificate" role="button">Подарочные сертификаты
</span></li>
<li>
<span class="dropdown-item py-2 external-link" data-href="https://hh.ru/employer/4307094" role="button">Вакансии
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://b2b.hexlet.io" data-target="_blank" role="button">Компаниям
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://hexly.ru/" data-target="_blank" role="button">Колледж
</span></li>
<li>
<span class="dropdown-item d-flex external-link" rel="noopener noreferrer nofollow" data-href="https://hexlyschool.ru/" data-target="_blank" role="button">Частная школа
</span></li>
</ul>
</li>
<li><a class="nav-link" href="/subscription/new">Подписка</a></li>
</ul>
<ul class="navbar-nav flex-lg-row align-items-lg-center gap-2 ms-auto">
<li>
<a class="nav-link" aria-label="Переключить тему" href="/theme/switch?new_theme=dark"><span aria-hidden="true" class="bi bi-moon"></span>
</a></li>
<li>
<span data-target="_self" class="nav-link external-link" data-href="/u/new" role="button"><span>Регистрация</span>
</span></li>
<li>
<span data-target="_self" class="nav-link external-link" data-href="https://ru.hexlet.io/session/new" role="button"><span>Вход</span>
</span></li>
</ul>
</div>
</div>
</nav>
</header>
<div class="x-container-xxxl">
</div>
<main class="mb-6 min-vh-100 h-100">
<link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTUzMSwicHVyIjoiYmxvYl9pZCJ9fQ==--60874d20abd3cbbc6f604b17627e8f29b798df66/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOlsxNDU2LDcyOF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--b2ecf6121248a24883cda19469732b47b57f4e80/%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D1%8B%D0%B8%CC%86%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B8%CC%86%D0%BB%D0%B5%D1%80-01.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk2NSwicHVyIjoiYmxvYl9pZCJ9fQ==--84278a1852c9c6fb13b80a69f395bac6e47a422e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Cloud%20sync-bro.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY0MywicHVyIjoiYmxvYl9pZCJ9fQ==--74611367ca7524225d6b8670846088b4aa9fa1d2/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Server-bro.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk3NywicHVyIjoiYmxvYl9pZCJ9fQ==--bc5ef27286509b0ecf2f8ae6cbdce2376db3d394/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/500%20Internal%20Server%20Error-cuate.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY0NSwicHVyIjoiYmxvYl9pZCJ9fQ==--f34b449529f04fd8689092f66f9653c47c7e1f58/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Server%20status-amico.png"/><link rel="preload" as="image" href="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk2MiwicHVyIjoiYmxvYl9pZCJ9fQ==--c18877cf9396039142efbbbe6b2ab4dc6b09f18b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Cloud%20hosting-cuate.png"/><link rel="preload" as="image" href="/vite/assets/development-BVihs_d5.png"/><div id="app" data-page="{"component":"web/blog/posts/show","props":{"errors":{},"locale":"ru","language":"ru","httpsHost":"https://ru.hexlet.io","host":"ru.hexlet.io","colorScheme":"light","auth":{"user":{"id":null,"last_viewed_notification_id":null,"email":null,"state":null,"first_name":"","last_name":"","created_at":"2026-02-26T15:09:41.305Z","current_program":null,"current_team":null,"full_name":"","guest":true,"can_use_paid_features":false,"is_hexlet_employee":false,"sanitized_phone_number":"","can_subscribe":true,"can_renew_education":false}},"cloudflareTurnstileSiteKey":"0x4AAAAAAA15KmeFXzd2H0Xo","vkIdClientId":"51586979","yandexIdClientId":"88d071f1d3384eb4bd1deb37910235c7","formAuthToken":"NVICjLx1R-wiK1h9vaAg0-WYBJiS7zNfrt2uLB7RQlLag8m7TgvqjJRofOWxr9CkJZEpMprYzf0TPTR4TNalPA","post":{"model_name":"BlogPost","category":{"id":4,"name":"Код","slug":"code","state":"published","created_at":"2016-08-23T13:33:44.258Z"},"creator":{"public_name":"Михаил Краев","id":424576,"is_tutor":false},"tags":[{"id":1119,"slug":"bez-steka","name":"Без стека"}],"id":1992,"title":"Чем заменить облачный провайдер DigitalOcean: обзор Yandex Cloud","slug":"chem-zamenit-oblachnyy-provayder-digitalocean-obzor-yandex-cloud","state":"published","summary":"С февраля 2022 года многие жители России потеряли возможность использовать зарубежные сервисы: в том числе облачный провайдер DigitalOcean, которым пользовались наши студенты. Рассказываем про Yandex Cloud – альтернативу DigitalOcean, которую мы рекомендуем для прохождения наших курсов, и сравниваем оба сервиса.","votes_count":9,"created_at":"2022-09-02T09:31:20.574Z","published_at":"2022-09-02T12:06:51.952Z","body":"**С февраля 2022 года многие жители России потеряли возможность использовать зарубежные сервисы: в том числе облачный провайдер DigitalOcean, которым пользовались наши студенты. Рассказываем про Yandex Cloud – альтернативу DigitalOcean, которую мы рекомендуем для прохождения наших курсов, и сравниваем оба сервиса.**\r\n\r\n\r\n> *Статью подготовил Михаил Краев — наставник Хекслета по DevOps, инженер в крупном российском банке. Михаил проектирует инфраструктуру в облаках для больших и маленьких проектов, работает как с приватными облаками, так и с публичными: AWS, Yandex.Cloud, Selectel.В свободное время помогает волонтерским проектам.*\r\n\r\nОблачный провайдер DigitalOcean был стандартом для Хекслета, с его помощью студенты выполняли задания на курсах. В нем просто и удобно регистрироваться и создавать сервисы, что позволяет без проблем взаимодействовать с облаком даже тем пользователям, которые прежде не работали с подобными хостингами.\r\n\r\n::programs\r\n\r\nСейчас наши ученики из РФ не могут привязать к платформе российскую банковскую карту, чтобы подтвердить платежеспособность, и завести аккаунт в DigitalOcean. В качестве альтернативы мы рекомендуем использовать Yandex Cloud — облачный провайдер от Яндекса. В этой статье мы сравниваем, как на этих двух платформах создавать базовые сервисы:\r\n\r\n- Серверы\r\n- Базы данных\r\n- Балансировщик\r\n- Хранилище файлов.\r\n\r\n## Содержание\n\n## Как создать аккаунт\r\n\r\n### DigitalOcean\r\n\r\nЧтобы создать аккаунт в DigitalOcean, нужно указать полное имя, почту и пароль. При регистрации по реферальной ссылке https://m.do.co/c/e702f9a99145 вам начислят $100. Затем необходимо подтвердить аккаунт — письмо со ссылкой приходит на почту. \r\n\r\nДальше добавьте способ оплаты: банковскую карту или PayPal. После этого вы попадете в проект, где можно создавать необходимые ресурсы. Реферальный бонус будет зачислен на счет, когда регистрация завершена. Их можно использовать в течение 60 дней с момента регистрации.\r\n\r\n### Yandex Cloud\r\n\r\nЗдесь создание аккаунта несколько отличается. Вам потребуется [Яндекс ID](https://yandex.ru/id/about) — единый сервис для аутентификации во всех продуктах Яндекса.\r\n\r\nПройдя форму логина, вы попадете в консоль, где нужно создать платежный аккаунт. Во время регистрации платежного аккаунта с вас могут списать небольшую сумму. Не волнуйтесь, Яндекс тут же вернет ее. Это нужно для проверки вашей карты. Когда зарегистрируете аккаунт, вам начислят вступительную квоту, о ней немного позже.\r\n\r\nРазберем каждый этап создания платежного аккаунта.\r\n\r\n1) Укажите страну, резидентом которой являетесь. Зарегистрироваться в Yandex Cloud могут резиденты и нерезиденты РФ. При этом нерезиденты могут зарегистрироваться только как юридические лица. Подробные условия читайте в [документации сервиса Биллинг](https://cloud.yandex.ru/docs/billing/).\r\n\r\nЗаполните название аккаунта. Никаких специальных требований к нему нет, но ресурсам лучше давать осмысленные названия, особенно если речь идет о деньгах. В примере ниже мы выбрали название hexlet-student-account, чтобы обозначить, что этот аккаунт — именно для студентов:\r\n\r\n\r\n\r\n2) Выберите плательщика или создайте нового. Чтобы добавить физическое лицо, укажите ФИО, почту и банковскую карту:\r\n\r\n\r\n\r\n3) Укажите контактные данные: почта и телефон. Нажмите кнопку «Создать»:\r\n\r\n\r\n\r\nАккаунт готов к работе. Теперь вы можете создавать серверы.\r\n\r\nЕсли вы заводите аккаунт на Yandex Cloud впервые, вам начислят стартовый грант на ознакомление с платформой. Гранты для резидентов разных стран отличаются. Актуальные условия есть на официальном сайте сервиса в разделе [«Документация» — «Начало работы»](https://cloud.yandex.ru/docs/getting-started/usage-grant).\r\n\r\nГрант делится на две части:\r\n\r\n- На использование Compute Cloud — виртуальные машины и облачные серверы\r\n- На использование остальных сервисов.\r\n\r\nЕсли вы захотите потратить весь грант только на серверы, у вас это не получится.\r\n\r\n::posts\r\n\r\n## Как создать серверы\r\n\r\nОблачный сервер — самый часто используемый сервис в работе с облачными провайдерами. Иногда серверы создаются без вашего участия при заказе других продуктов. А когда вы будете учиться, вам потребуется создавать их самостоятельно.\r\n\r\n### DigitalOcean\r\n\r\nВ DigitalOcean облачный сервер называется Droplet. Он создается через кнопку Get Started with a Droplet:\r\n\r\n\r\n\r\n1) Выберите образ операционной системы для сервера. Например, можно установить чистую ОС, выбрав из списка нужную нам. Еще можно развернуть сервер из docker-образа, выбрать один из готовых образов из магазина, подключить загрузочный диск или развернуть систему из бэкапа:\r\n\r\n\r\n\r\n2) Определитесь с мощностью облачного сервера. Есть варианты для разных задач, но чтобы пройти курс на Хекслете, достаточно пакета Standard. Минимальная цена за сервер — $5 в месяц:\r\n\r\n\r\n\r\n3) Выберите регион, в котором создается сервер, — от этого зависит скорость обмена данными. Лучше создавать сервер в том регионе, к которому вы ближе:\r\n\r\n\r\n\r\n4) Настройте способ подключения к серверу. SSH-ключ — более безопасный и правильный подход, мы предпочитаем ссылаться на него [в наших курсах](https://guides.hexlet.io/ru/ssh/#%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9).\r\n\r\nDigitalOcean позволяет сохранять ключ, чтобы не копировать его каждый раз, когда вы создаете новый сервер:\r\n\r\n\r\n\r\n5) В конце нужно нажать на кнопку Create и ждать. На создание сервера уходит пара минут. После этого можно подключиться к удаленному серверу, используя логин и SSH-ключ.\r\n\r\n### Yandex Cloud\r\n\r\nВ Yandex Cloud облачный сервер называется Compute Cloud. Чтобы создать его, необходимо перейти во вкладку Compute Cloud — «Виртуальные машины» — «Создать ВМ»:\r\n\r\n\r\n\r\nКак создать сервер:\r\n\r\n1) Задайте имя сервера. По желанию можно добавить ему описание и указать зону доступности — географическое расположение дата-центра, в котором будет находиться виртуальная машина:\r\n\r\n\r\n\r\nПосле создания виртуальной машины, переместить ее в другую зону доступности не получится.\r\n\r\n2) Выберите образ операционной системы. Здесь доступны те же варианты, что и у DigitalOcean, за исключением бэкапа: чистый образ ОС, docker-образ, готовые образы из магазина и загрузочный диск:\r\n\r\n\r\n\r\n3) Настройте вычислительные мощности виртуальной машины. Можно выбрать минимальную гарантированную долю процессора. Если выбрать 50%, то половина мощностей процессора всегда будет использоваться только для вашей машины (удаленного рабочего места). Также можно сделать машину прерываемой – рабочее место можно будет отключить, тогда вам не придется платить за простой рабочего места. Это полезно в процессе обучения, когда не хочется платить много за машины:\r\n\r\n\r\n\r\n4) Настройте доступ. Здесь можно загрузить SSH-ключ и задать имя пользователя. Ключ расположится в домашней директории пользователя, которого мы укажем в поле «Логин».\r\n\r\nЕсли вы создавали пользователя вручную, необходимо скопировать ключ самостоятельно.\r\n\r\n\r\n\r\n## Как создать базы данных\r\n\r\nБазы данных — важная часть работы с облачными провайдерами. Вы можете развернуть базу данных и на виртуальной машине. Но такой подход требует более глубокого понимания для грамотной поддержки.\r\n\r\nManaged Database позволяет не задумываться о нюансах и сразу использовать нашу базу данных. Рассмотрим процесс создания базы данных PostgreSQL:\r\n\r\n### DigitalOcean\r\n\r\n1) В DigitalOcean на странице проекта нажмите Create и выберите Database:\r\n\r\n\r\n\r\n2) Выберите, какую базу данных хотим создать. Здесь же можно указать нужную нам версию:\r\n\r\n\r\n\r\n3) Выберите мощность кластера с базой. Здесь же можно выбрать Standby nodes — это разные инстансы одной базы. В случае падения каких-то запросов они автоматически перенаправляются на другие ноды:\r\n\r\n\r\n\r\n4) Выберите дата-центр, в котором разворачиваете базу данных, как с дроплетом — отталкивайтесь от ближайшего дата-центра:\r\n\r\n\r\n\r\n5) Укажите название базы и нажмите кнопку «Create a Database Cluster». Далее DigitalOcean начинает разворачивать кластер, а вы продолжите его настраивать:\r\n\r\n\r\n\r\n6) Выберите, откуда будет доступ к базе данных — от вашего IP или от других серверов:\r\n\r\n\r\n\r\nНа следующем шаге система показывает данные для подключения к базе данных. Сохранять их на этом этапе не обязательно, эти данные всегда можно получить на вкладке с продуктом.\r\n\r\n\r\n\r\nЗдесь создание базы данных со стороны пользователя заканчивается. На создание кластера у системы уходит еще немного времени:\r\n\r\n\r\n\r\n### Yandex Cloud\r\n\r\nВ облаке от Яндекса разные типы управления базами данных доступны во вкладке «Платформа данных». Рассмотрим пример получения сервиса Managed Service for PostgreSQL: \r\n\r\n\r\n\r\n1) На странице сервиса выберите опцию «Создать кластер»:\r\n\r\n\r\n\r\n2) Задайте имя для вашего кластера. По желанию можно заполнить описание.\r\n\r\nТакже выберите окружение:\r\n\r\n- PRESTABLE позволяет получать обновления, в которых могут появляться новые функции и исправляться баги.\r\n- PRODUCTION — для стабильных версий сервисов.\r\n\r\nЕще на этом этапе выбираем версию:\r\n\r\n\r\n\r\n3) Настройте класс хоста — это вычислительная мощность базы. Здесь есть готовые варианты. С их помощью можно гибко регулировать мощность базы данных. \r\n\r\nТакже здесь есть настройка гарантированной доли CPU. Она находится под вкладкой burstable:\r\n\r\n\r\n\r\n4) Настройте размер базы. Здесь же можно выбрать тип диска: SSD или HDD. Они отличаются скоростью чтения и записи:\r\n\r\n\r\n\r\n5) Настройте параметры подключения к базе данных: имя, логин и пароль. Про настройки локали можно подробнее почитать в [документации] (https://cloud.yandex.ru/docs/managed-postgresql/operations/databases). Их можно оставить по умолчанию:\r\n\r\n\r\n\r\n6) Выберите сеть, в которой будет доступна ваша база данных. Чаще всего в процессе обучения не требуется более одной сети. \r\n\r\nЗдесь можно поменять зону доступности и сделать базу данных доступной из интернета. Если не сделать этого, то доступ к базе будет только с вашей виртуальной машины:\r\n\r\n\r\n\r\n7) Выберите время начала резервного копирования, срок хранения резервных копий и окна обслуживания. Это важные настройки, если ваш кластер нужен для реального приложения. \r\n\r\nДля обучения выбирайте время, когда вы обычно не занимаетесь. Обязательно воспользуйтесь опцией «Защита от удаления» — позволяет не удалить случайно кластер с базы данных. \r\n\r\nЗдесь есть и другие настройки, но в большинстве курсов они не понадобятся, поэтому не будем на них останавливаться.\r\n\r\n\r\n\r\n\r\n\r\n## Как создать балансировщик\r\n\r\nБалансировщик распределяет трафик между виртуальными машинами в одной группе. Это важный элемент современных инфраструктур, который позволяет масштабировать приложение и [выполнять zero-downtime deploy](https://guides.hexlet.io/ru/deploy/).\r\n\r\n### DigitalOcean\r\n\r\n1) На DigitalOcean балансировщик создается во вкладках Network — Load Balancers:\r\n\r\n\r\n\r\n2) Укажите название балансировщика: \r\n\r\n\r\n\r\n3) Выберите серверы, с которых собираетесь перенаправлять трафик. В DigitalOcean можно использовать отдельные дроплеты, группы и лейблы:\r\n\r\n\r\n\r\n4) В конце настройте правила перенаправления трафика — протоколы и порты: \r\n\r\n\r\n\r\nПри необходимости выставите расширенные настройки и нажмите «Create Load Balancer»: \r\n\r\n\r\n\r\n### Yandex Cloud\r\n\r\nБалансировщик находится на вкладках «Инфраструктура и сеть» — Network Load Balancer:\r\n\r\n\r\n\r\n1) Нажмите на кнопку «Создать сетевой балансировщик»:\r\n\r\n\r\n\r\n2) Задайте имя и описание. При необходимости выберите зарезервированный адрес из списка и защиту от DDoS:\r\n\r\n\r\n\r\n3) Добавьте обработчик — аналог правил в DigitalOcean:\r\n\r\n\r\n\r\n4) Выберите группу машин. Если еще не создали, это можно сделать здесь же. После нажмите кнопку «Создать»:\r\n\r\n\r\n\r\n## Как создать хранилище файлов\r\n\r\nРазберем, как создается хранилище файлов — виртуальная файловая система, которую можно подключать к нескольким виртуальным машинам из одной зоны доступности.\r\n\r\n\r\n\r\n### DigitalOcean\r\n\r\n1) Для создания хранилища нам понадобится сервис Spaces для хранения файлов в DigitalOcean. Переходим на вкладку Manage — Spaces:\r\n\r\n\r\n\r\n2) Выберите регион:\r\n\r\n\r\n\r\n3) Задайте поддомен для хранилища. Здесь можно получить SSL-сертификат от DigitalOcean, либо загрузить свой при наличии:\r\n\r\n\r\n\r\n4) Выберите политику просмотра файлов: разрешить всем или запретить. Доступ на скачивание и просмотры файлов можно задавать индивидуально при загрузке:\r\n\r\n\r\n\r\n5) Задайте имя для вашего Space. Оно отображается в ссылке на хранилище:\r\n\r\n\r\n\r\n### Yandex Cloud\r\n\r\n1) Перейдите на вкладку «Инфраструктура и сеть» и выберите Object Storage:\r\n\r\n\r\n\r\n2) Нажмите кнопку «Создать бакет»:\r\n\r\n\r\n\r\n3) Задайте имя, выберите лимит и настройте политики доступа. Также настройте «Класс хранилища»:\r\n\r\n- Стандартное хранилище — предназначено для активной работы с объектами\r\n- Холодное хранилище — предназначено для длительного хранения объектов с редкими запросами на чтение.\r\n\r\n\r\n\r\n## Чем еще можно заменить DigitalOcean\r\n\r\nОблачные провайдеры активно развиваются в России, поэтому есть другие подходящие альтернативы DigitalOcean. Например, среди столь же мощных и простых сервисов можно отметить [Selectel](https://selectel.ru/). Он уже обладает большим комьюнити и хорошей документацией.\r\n\r\nА вот еще несколько отличных аналогов для российских пользователей:\r\n\r\n- [timeweb](https://cloud.timeweb.com/)\r\n- [vk.cloud](https://mcs.mail.ru/)\r\n- [sber](https://sbercloud.ru/ru)\r\n- [mts](https://cloud.mts.ru/)\r\n- [megafon](https://cloud.megafon.ru/)\r\n- [1cloud](https://1cloud.ru/)\r\n\r\nНа данный момент некоторые из них совершенно не подходят для прохождения курсов на Хекслете, но со временем это может измениться — рынок облачных провайдеров быстро развивается.\r\n\r\n## Выводы\r\n\r\nМы советуем пользоваться DigitalOcean, если есть возможность оплатить его не российской картой. Он давно используется в Хекслете, а простота и удобство работы позволяют пользователям без проблем с ним взаимодействовать.\r\n\r\nYandex Cloud — отличная альтернатива. Он ни в чем не проигрывает DigitalOcean, доступен всем пользователям в РФ и покроет ваши потребности при прохождении наших курсов.\r\n\r\nЕсли вы выберете третью альтернативу, можете обратиться за помощью в [Хекслет Коммьюнити](https://t.me/hexletcommunity).","reading_time":7,"url":"https://ru.hexlet.io/blog/posts/chem-zamenit-oblachnyy-provayder-digitalocean-obzor-yandex-cloud","cover_thumb_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTUzMSwicHVyIjoiYmxvYl9pZCJ9fQ==--60874d20abd3cbbc6f604b17627e8f29b798df66/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbMTAwLDUwXSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--f0d4342fcdbdffa15c37fb02bfb423ac88d5c0c9/%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D1%8B%D0%B8%CC%86%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B8%CC%86%D0%BB%D0%B5%D1%80-01.png","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTUzMSwicHVyIjoiYmxvYl9pZCJ9fQ==--60874d20abd3cbbc6f604b17627e8f29b798df66/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D1%8B%D0%B8%CC%86%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B8%CC%86%D0%BB%D0%B5%D1%80-01.png","cover_main_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTUzMSwicHVyIjoiYmxvYl9pZCJ9fQ==--60874d20abd3cbbc6f604b17627e8f29b798df66/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOlsxNDU2LDcyOF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--b2ecf6121248a24883cda19469732b47b57f4e80/%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D1%8B%D0%B8%CC%86%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B8%CC%86%D0%BB%D0%B5%D1%80-01.png","related_stacks_count":5},"relatedPosts":[{"model_name":"BlogPost","id":926,"title":"Библиотека React: особенности, перспективы, ситуация на рынке труда","slug":"biblioteka-react-review-article","summary":"В объявлениях о поиске программистов часто встречается требование уметь работать с React. Иногда работодатели ожидают знания React не только от фронтендеров, но и от бэкенд-разработчиков. Почему эта библиотека настолько популярная, стоит ли изучать её сегодня, каковы её перспективы по мнению опытных программистов? Ответы на эти и другие вопросы читайте в обзорной статье.","created_at":"2020-07-08T15:15:00.191Z","published_at":"2024-02-29T07:46:44.876Z","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTYyOCwicHVyIjoiYmxvYl9pZCJ9fQ==--6bac7610f325471938a0e33f58eaa4c52527d66f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/%D1%87%D1%82%D0%BE%D1%82%D0%B0%D0%BA%D0%BE%D0%B5react-01.png"},{"model_name":"BlogPost","id":1656,"title":"Язык программирования PHP: почему его выбирают разработчики и с чего начать изучение","slug":"php-start","summary":"Рассказываем, в чем особенности языка PHP, его преимущества и недостатки, почему он до сих пор не теряет актуальности, что нужно знать, чтобы программировать на РHP и где тренировать свои навыки.","created_at":"2021-12-21T14:04:04.654Z","published_at":"2023-12-01T10:10:59.665Z","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTU5MSwicHVyIjoiYmxvYl9pZCJ9fQ==--01d293c2c32c364fb419ce05e3336d3b96061b52/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/PHPc%D1%87%D0%B5%D0%B3%D0%BE%D0%BD%D0%B0%D1%87%D0%B0%D1%82%D1%8C-01.png"},{"model_name":"BlogPost","id":416,"title":"Язык программирования JavaScript: где его используют и почему он популярен","slug":"stoit-li-uchit-javascript-perspektivy-situatsiya-na-rynke-truda-mneniya-ekspertov","summary":"Рассказываем, что это за язык программирования — JavaScript, где его используют, насколько он популярен и с чего начать изучение JavaScript.","created_at":"2019-07-26T08:17:06.287Z","published_at":"2023-10-04T08:41:58.734Z","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTcwMywicHVyIjoiYmxvYl9pZCJ9fQ==--aa69869c906a992728ba7c26886fa1b715024424/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/%D1%8F%D0%B7%D1%8B%D0%BA%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8Fjavascript-01.png"}],"category":{"id":4,"name":"Код","slug":"code","state":"published","created_at":"2016-08-23T13:33:44.258Z"},"mainStackCategory":{"id":7,"name":"Курсы по DevOps","slug":"devops","short_name":"DevOps","order":4,"state":"published","category_slug":"courses_devops"},"categories":[{"id":6,"name":"Мотивация","slug":"motivation","state":"published","created_at":"2016-10-06T18:31:38.903Z"},{"id":3,"name":"Истории успеха","slug":"success","state":"published","created_at":"2016-07-30T12:57:18.308Z"},{"id":14,"name":"Дневник студента","slug":"student-diary","state":"published","created_at":"2019-02-25T13:27:09.471Z"},{"id":4,"name":"Код","slug":"code","state":"published","created_at":"2016-08-23T13:33:44.258Z"},{"id":12,"name":"Карьера","slug":"career","state":"published","created_at":"2017-07-21T15:42:21.481Z"}],"relatedLandings":[{"stack":{"id":225,"slug":"devops-engineer-from-scratch","title":"DevOps-инженер с нуля","audience":"for_beginners","start_type":"weekly","pricing_model":"purchase","priority":"high","kind":"profession","state":"published","stack_state":"not_finished","order":50,"duration_in_months":14},"id":355,"slug":"devops-engineer-from-scratch","title":"DevOps-инженер с нуля","subtitle":"Полное погружение в DevOps: весь стек от Linux до Kubernetes","subtitle_for_lists":"Полное погружение в DevOps: весь стек от Linux до Kubernetes","locale":"ru","current":true,"duration_in_months_text":"14 месяцев","stack_slug":"devops-engineer-from-scratch","price_text":"от 6 792 ₽","duration_text":"14 месяцев","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk2NSwicHVyIjoiYmxvYl9pZCJ9fQ==--84278a1852c9c6fb13b80a69f395bac6e47a422e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Cloud%20sync-bro.png"},{"stack":{"id":303,"slug":"devops-for-developers","title":"DevOps для разработчиков","audience":"for_programmers","start_type":"weekly","pricing_model":"purchase","priority":"medium","kind":"profession","state":"published","stack_state":"not_finished","order":150,"duration_in_months":3},"id":444,"slug":"devops-for-developers","title":"DevOps для разработчиков","subtitle":"Изучите деплой, автоматизацию, GitHub Actions, Docker, Ansible, Terraform, IaC","subtitle_for_lists":"Изучите деплой, автоматизацию, GitHub Actions, Docker, Ansible, Terraform, IaC","locale":"ru","current":true,"duration_in_months_text":"3 месяца","stack_slug":"devops-for-developers","price_text":"от 2 797 ₽","duration_text":"3 месяца","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY0MywicHVyIjoiYmxvYl9pZCJ9fQ==--74611367ca7524225d6b8670846088b4aa9fa1d2/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Server-bro.png"},{"stack":{"id":45,"slug":"infrastructure-automation","title":"Автоматизация IT-инфраструктуры","audience":"for_programmers","start_type":"anytime","pricing_model":"subscription","priority":"medium","kind":"track","state":"published","stack_state":"finished","order":1850,"duration_in_months":1},"id":78,"slug":"infrastructure-automation","title":"Автоматизация инфраструктуры","subtitle":"Навык, позволяющий автоматизировать развертывание и управление серверной инфраструктурой с Terraform","subtitle_for_lists":"Навык управления инфраструктурой с Terraform","locale":"ru","current":true,"duration_in_months_text":"1 месяц","stack_slug":"infrastructure-automation","price_text":"от 3 900 ₽","duration_text":"1 месяц","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk3NywicHVyIjoiYmxvYl9pZCJ9fQ==--bc5ef27286509b0ecf2f8ae6cbdce2376db3d394/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/500%20Internal%20Server%20Error-cuate.png"},{"stack":{"id":44,"slug":"ansible-deploy","title":"Автоматизация деплоя","audience":"for_programmers","start_type":"anytime","pricing_model":"subscription","priority":"medium","kind":"track","state":"published","stack_state":"finished","order":1950,"duration_in_months":1},"id":76,"slug":"ansible-deploy","title":"Автоматизация деплоя","subtitle":"Навык автоматизации деплоя приложений, сокращающий время развертывания и снижающий количество ошибок в продакшене","subtitle_for_lists":"Изучите CI/CD и автоматизацию развёртывания","locale":"ru","current":true,"duration_in_months_text":"1 месяц","stack_slug":"ansible-deploy","price_text":"от 3 900 ₽","duration_text":"1 месяц","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY0NSwicHVyIjoiYmxvYl9pZCJ9fQ==--f34b449529f04fd8689092f66f9653c47c7e1f58/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Server%20status-amico.png"},{"stack":{"id":129,"slug":"docker","title":"Docker","audience":"for_programmers","start_type":"anytime","pricing_model":"subscription","priority":"medium","kind":"track","state":"published","stack_state":"finished","order":150,"duration_in_months":1},"id":217,"slug":"docker","title":"Docker","subtitle":"Навык работы с контейнерами, позволяющий оптимизировать разработку и ускорить развертывание приложений","subtitle_for_lists":"Навык работы с контейнеризацией, оптимизацией разработки и деплой","locale":"ru","current":true,"duration_in_months_text":"1 месяц","stack_slug":"docker","price_text":"от 3 900 ₽","duration_text":"1 месяц","cover_list_variant":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk2MiwicHVyIjoiYmxvYl9pZCJ9fQ==--c18877cf9396039142efbbbe6b2ab4dc6b09f18b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Cloud%20hosting-cuate.png"}]},"url":"/blog/posts/chem-zamenit-oblachnyy-provayder-digitalocean-obzor-yandex-cloud","version":"0b0c6d4ebbd40fd58630a0dd89cc25544ccdf24e","encryptHistory":false,"clearHistory":false}"><style data-mantine-styles="true">:root, :host{--mantine-font-family: Arial, sans-serif;--mantine-font-family-headings: Arial, sans-serif;--mantine-heading-font-weight: normal;--mantine-radius-default: 0rem;--mantine-primary-color-filled: var(--mantine-color-indigo-filled);--mantine-primary-color-filled-hover: var(--mantine-color-indigo-filled-hover);--mantine-primary-color-light: var(--mantine-color-indigo-light);--mantine-primary-color-light-hover: var(--mantine-color-indigo-light-hover);--mantine-primary-color-light-color: var(--mantine-color-indigo-light-color);--mantine-spacing-xxl: calc(4rem * var(--mantine-scale));--mantine-font-size-xs: 12px;--mantine-font-size-sm: 14px;--mantine-font-size-md: 16px;--mantine-font-size-lg: clamp(16.0000px, calc(15.2727px + 0.2273vw), 18.0000px);--mantine-font-size-xl: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-font-size-display-3: clamp(32.0000px, calc(26.1818px + 1.8182vw), 48.0000px);--mantine-font-size-display-2: clamp(36.0000px, calc(25.8182px + 3.1818vw), 64.0000px);--mantine-font-size-display-1: clamp(40.0000px, calc(25.4545px + 4.5455vw), 80.0000px);--mantine-font-size-h1: clamp(28.0000px, calc(23.6364px + 1.3636vw), 40.0000px);--mantine-font-size-h2: clamp(24.0000px, calc(21.0909px + 0.9091vw), 32.0000px);--mantine-font-size-h3: clamp(20.0000px, calc(17.0909px + 0.9091vw), 28.0000px);--mantine-font-size-h4: clamp(16.0000px, calc(13.0909px + 0.9091vw), 24.0000px);--mantine-font-size-h5: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-font-size-h6: 1rem;--mantine-primary-color-0: var(--mantine-color-indigo-0);--mantine-primary-color-1: var(--mantine-color-indigo-1);--mantine-primary-color-2: var(--mantine-color-indigo-2);--mantine-primary-color-3: var(--mantine-color-indigo-3);--mantine-primary-color-4: var(--mantine-color-indigo-4);--mantine-primary-color-5: var(--mantine-color-indigo-5);--mantine-primary-color-6: var(--mantine-color-indigo-6);--mantine-primary-color-7: var(--mantine-color-indigo-7);--mantine-primary-color-8: var(--mantine-color-indigo-8);--mantine-primary-color-9: var(--mantine-color-indigo-9);--mantine-color-red-0: #ffeaea;--mantine-color-red-1: #fed4d4;--mantine-color-red-2: #f4a7a8;--mantine-color-red-3: #ec7878;--mantine-color-red-4: #e55050;--mantine-color-red-5: #e03131;--mantine-color-red-6: #e02829;--mantine-color-red-7: #c71a1c;--mantine-color-red-8: #b21218;--mantine-color-red-9: #9c0411;--mantine-color-violet-0: #fce9ff;--mantine-color-violet-1: #f1cfff;--mantine-color-violet-2: #e09bff;--mantine-color-violet-3: #d16fff;--mantine-color-violet-4: #be37fe;--mantine-color-violet-5: #b51afe;--mantine-color-violet-6: #b009ff;--mantine-color-violet-7: #9b00e4;--mantine-color-violet-8: #8a00cc;--mantine-color-violet-9: #7800b3;--mantine-color-indigo-0: #edecff;--mantine-color-indigo-1: #d6d5fe;--mantine-color-indigo-2: #aaa9f4;--mantine-color-indigo-3: #7b79eb;--mantine-color-indigo-4: #5451e4;--mantine-color-indigo-5: #3b37e0;--mantine-color-indigo-6: #2d2adf;--mantine-color-indigo-7: #1f1ec7;--mantine-color-indigo-8: #1819b2;--mantine-color-indigo-9: #0c149e;--mantine-color-cyan-0: #dffdff;--mantine-color-cyan-1: #caf5ff;--mantine-color-cyan-2: #99e8ff;--mantine-color-cyan-3: #64daff;--mantine-color-cyan-4: #3ccffe;--mantine-color-cyan-5: #24c8fe;--mantine-color-cyan-6: #00c2ff;--mantine-color-cyan-7: #00ade4;--mantine-color-cyan-8: #009acd;--mantine-color-cyan-9: #0085b5;--mantine-color-green-0: #e9fdec;--mantine-color-green-1: #d7f6dc;--mantine-color-green-2: #b0eab9;--mantine-color-green-3: #86df94;--mantine-color-green-4: #62d574;--mantine-color-green-5: #4ccf5f;--mantine-color-green-6: #3fcc54;--mantine-color-green-7: #2fb344;--mantine-color-green-8: #25a03b;--mantine-color-green-9: #138a2e;--mantine-color-yellow-0: #fff7e2;--mantine-color-yellow-1: #ffeecd;--mantine-color-yellow-2: #ffdc9c;--mantine-color-yellow-3: #ffc966;--mantine-color-yellow-4: #feb93a;--mantine-color-yellow-5: #feae1e;--mantine-color-yellow-6: #ffa90f;--mantine-color-yellow-8: #ca8200;--mantine-color-yellow-9: #af7000;--mantine-h1-font-size: clamp(28.0000px, calc(23.6364px + 1.3636vw), 40.0000px);--mantine-h1-font-weight: normal;--mantine-h2-font-size: clamp(24.0000px, calc(21.0909px + 0.9091vw), 32.0000px);--mantine-h2-font-weight: normal;--mantine-h3-font-size: clamp(20.0000px, calc(17.0909px + 0.9091vw), 28.0000px);--mantine-h3-font-weight: normal;--mantine-h4-font-size: clamp(16.0000px, calc(13.0909px + 0.9091vw), 24.0000px);--mantine-h4-font-weight: normal;--mantine-h5-font-size: clamp(16.0000px, calc(14.5455px + 0.4545vw), 20.0000px);--mantine-h5-font-weight: normal;--mantine-h6-font-size: 1rem;--mantine-h6-font-weight: normal;}
:root[data-mantine-color-scheme="dark"], :host([data-mantine-color-scheme="dark"]){--mantine-color-anchor: var(--mantine-color-text);--mantine-color-dimmed: #495057;--mantine-color-dark-filled: var(--mantine-color-dark-5);--mantine-color-dark-filled-hover: var(--mantine-color-dark-6);--mantine-color-dark-light: rgba(105, 105, 105, 0.15);--mantine-color-dark-light-hover: rgba(105, 105, 105, 0.2);--mantine-color-dark-light-color: var(--mantine-color-dark-0);--mantine-color-dark-outline: var(--mantine-color-dark-1);--mantine-color-dark-outline-hover: rgba(184, 184, 184, 0.05);--mantine-color-gray-filled: var(--mantine-color-gray-5);--mantine-color-gray-filled-hover: var(--mantine-color-gray-6);--mantine-color-gray-light: rgba(222, 226, 230, 0.15);--mantine-color-gray-light-hover: rgba(222, 226, 230, 0.2);--mantine-color-gray-light-color: var(--mantine-color-gray-0);--mantine-color-gray-outline: var(--mantine-color-gray-1);--mantine-color-gray-outline-hover: rgba(241, 243, 245, 0.05);--mantine-color-red-filled: var(--mantine-color-red-5);--mantine-color-red-filled-hover: var(--mantine-color-red-6);--mantine-color-red-light: rgba(236, 120, 120, 0.15);--mantine-color-red-light-hover: rgba(236, 120, 120, 0.2);--mantine-color-red-light-color: var(--mantine-color-red-0);--mantine-color-red-outline: var(--mantine-color-red-1);--mantine-color-red-outline-hover: rgba(254, 212, 212, 0.05);--mantine-color-pink-filled: var(--mantine-color-pink-5);--mantine-color-pink-filled-hover: var(--mantine-color-pink-6);--mantine-color-pink-light: rgba(250, 162, 193, 0.15);--mantine-color-pink-light-hover: rgba(250, 162, 193, 0.2);--mantine-color-pink-light-color: var(--mantine-color-pink-0);--mantine-color-pink-outline: var(--mantine-color-pink-1);--mantine-color-pink-outline-hover: rgba(255, 222, 235, 0.05);--mantine-color-grape-filled: var(--mantine-color-grape-5);--mantine-color-grape-filled-hover: var(--mantine-color-grape-6);--mantine-color-grape-light: rgba(229, 153, 247, 0.15);--mantine-color-grape-light-hover: rgba(229, 153, 247, 0.2);--mantine-color-grape-light-color: var(--mantine-color-grape-0);--mantine-color-grape-outline: var(--mantine-color-grape-1);--mantine-color-grape-outline-hover: rgba(243, 217, 250, 0.05);--mantine-color-violet-filled: var(--mantine-color-violet-5);--mantine-color-violet-filled-hover: var(--mantine-color-violet-6);--mantine-color-violet-light: rgba(209, 111, 255, 0.15);--mantine-color-violet-light-hover: rgba(209, 111, 255, 0.2);--mantine-color-violet-light-color: var(--mantine-color-violet-0);--mantine-color-violet-outline: var(--mantine-color-violet-1);--mantine-color-violet-outline-hover: rgba(241, 207, 255, 0.05);--mantine-color-indigo-filled: var(--mantine-color-indigo-5);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-6);--mantine-color-indigo-light: rgba(123, 121, 235, 0.15);--mantine-color-indigo-light-hover: rgba(123, 121, 235, 0.2);--mantine-color-indigo-light-color: var(--mantine-color-indigo-0);--mantine-color-indigo-outline: var(--mantine-color-indigo-1);--mantine-color-indigo-outline-hover: rgba(214, 213, 254, 0.05);--mantine-color-blue-filled: var(--mantine-color-blue-5);--mantine-color-blue-filled-hover: var(--mantine-color-blue-6);--mantine-color-blue-light: rgba(116, 192, 252, 0.15);--mantine-color-blue-light-hover: rgba(116, 192, 252, 0.2);--mantine-color-blue-light-color: var(--mantine-color-blue-0);--mantine-color-blue-outline: var(--mantine-color-blue-1);--mantine-color-blue-outline-hover: rgba(208, 235, 255, 0.05);--mantine-color-cyan-filled: var(--mantine-color-cyan-5);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-6);--mantine-color-cyan-light: rgba(100, 218, 255, 0.15);--mantine-color-cyan-light-hover: rgba(100, 218, 255, 0.2);--mantine-color-cyan-light-color: var(--mantine-color-cyan-0);--mantine-color-cyan-outline: var(--mantine-color-cyan-1);--mantine-color-cyan-outline-hover: rgba(202, 245, 255, 0.05);--mantine-color-teal-filled: var(--mantine-color-teal-5);--mantine-color-teal-filled-hover: var(--mantine-color-teal-6);--mantine-color-teal-light: rgba(99, 230, 190, 0.15);--mantine-color-teal-light-hover: rgba(99, 230, 190, 0.2);--mantine-color-teal-light-color: var(--mantine-color-teal-0);--mantine-color-teal-outline: var(--mantine-color-teal-1);--mantine-color-teal-outline-hover: rgba(195, 250, 232, 0.05);--mantine-color-green-filled: var(--mantine-color-green-5);--mantine-color-green-filled-hover: var(--mantine-color-green-6);--mantine-color-green-light: rgba(134, 223, 148, 0.15);--mantine-color-green-light-hover: rgba(134, 223, 148, 0.2);--mantine-color-green-light-color: var(--mantine-color-green-0);--mantine-color-green-outline: var(--mantine-color-green-1);--mantine-color-green-outline-hover: rgba(215, 246, 220, 0.05);--mantine-color-lime-filled: var(--mantine-color-lime-5);--mantine-color-lime-filled-hover: var(--mantine-color-lime-6);--mantine-color-lime-light: rgba(192, 235, 117, 0.15);--mantine-color-lime-light-hover: rgba(192, 235, 117, 0.2);--mantine-color-lime-light-color: var(--mantine-color-lime-0);--mantine-color-lime-outline: var(--mantine-color-lime-1);--mantine-color-lime-outline-hover: rgba(233, 250, 200, 0.05);--mantine-color-yellow-filled: var(--mantine-color-yellow-5);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-6);--mantine-color-yellow-light: rgba(255, 201, 102, 0.15);--mantine-color-yellow-light-hover: rgba(255, 201, 102, 0.2);--mantine-color-yellow-light-color: var(--mantine-color-yellow-0);--mantine-color-yellow-outline: var(--mantine-color-yellow-1);--mantine-color-yellow-outline-hover: rgba(255, 238, 205, 0.05);--mantine-color-orange-filled: var(--mantine-color-orange-5);--mantine-color-orange-filled-hover: var(--mantine-color-orange-6);--mantine-color-orange-light: rgba(255, 192, 120, 0.15);--mantine-color-orange-light-hover: rgba(255, 192, 120, 0.2);--mantine-color-orange-light-color: var(--mantine-color-orange-0);--mantine-color-orange-outline: var(--mantine-color-orange-1);--mantine-color-orange-outline-hover: rgba(255, 232, 204, 0.05);--app-cta-gradient: linear-gradient(90deg, var(--mantine-color-blue-9) 0%, var(--mantine-color-cyan-7) 100%);--app-color-surface: #2e2e2e;}
:root[data-mantine-color-scheme="light"], :host([data-mantine-color-scheme="light"]){--mantine-color-anchor: var(--mantine-color-text);--mantine-color-dimmed: #495057;--mantine-color-red-light: rgba(224, 40, 41, 0.1);--mantine-color-red-light-hover: rgba(224, 40, 41, 0.12);--mantine-color-red-outline-hover: rgba(224, 40, 41, 0.05);--mantine-color-violet-light: rgba(176, 9, 255, 0.1);--mantine-color-violet-light-hover: rgba(176, 9, 255, 0.12);--mantine-color-violet-outline-hover: rgba(176, 9, 255, 0.05);--mantine-color-indigo-light: rgba(45, 42, 223, 0.1);--mantine-color-indigo-light-hover: rgba(45, 42, 223, 0.12);--mantine-color-indigo-outline-hover: rgba(45, 42, 223, 0.05);--mantine-color-cyan-light: rgba(0, 194, 255, 0.1);--mantine-color-cyan-light-hover: rgba(0, 194, 255, 0.12);--mantine-color-cyan-outline-hover: rgba(0, 194, 255, 0.05);--mantine-color-green-light: rgba(63, 204, 84, 0.1);--mantine-color-green-light-hover: rgba(63, 204, 84, 0.12);--mantine-color-green-outline-hover: rgba(63, 204, 84, 0.05);--mantine-color-yellow-light: rgba(255, 169, 15, 0.1);--mantine-color-yellow-light-hover: rgba(255, 169, 15, 0.12);--mantine-color-yellow-outline-hover: rgba(255, 169, 15, 0.05);--app-color-surface: #f1f3f5;--app-cta-gradient: linear-gradient(90deg, var(--mantine-color-blue-filled) 0%, var(--mantine-color-cyan-5) 100%);}</style><style data-mantine-styles="classes">@media (max-width: 35.99375em) {.mantine-visible-from-xs {display: none !important;}}@media (min-width: 36em) {.mantine-hidden-from-xs {display: none !important;}}@media (max-width: 47.99375em) {.mantine-visible-from-sm {display: none !important;}}@media (min-width: 48em) {.mantine-hidden-from-sm {display: none !important;}}@media (max-width: 61.99375em) {.mantine-visible-from-md {display: none !important;}}@media (min-width: 62em) {.mantine-hidden-from-md {display: none !important;}}@media (max-width: 74.99375em) {.mantine-visible-from-lg {display: none !important;}}@media (min-width: 75em) {.mantine-hidden-from-lg {display: none !important;}}@media (max-width: 87.99375em) {.mantine-visible-from-xl {display: none !important;}}@media (min-width: 88em) {.mantine-hidden-from-xl {display: none !important;}}</style><script type="application/ld+json">{"@context":"https://schema.org","@type":"Article","author":"Михаил Краев","name":"Чем заменить облачный провайдер DigitalOcean: обзор Yandex Cloud","datePublished":"2022-09-02T12:06:51.952Z","headline":"С февраля 2022 года многие жители России потеряли возможность использовать зарубежные сервисы: в том числе облачный провайдер DigitalOcean, которым пользовались наши студенты. Рассказываем про Yandex Cloud – альтернативу DigitalOcean, которую мы рекомендуем для прохождения наших курсов, и сравниваем оба сервиса.","image":"https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTUzMSwicHVyIjoiYmxvYl9pZCJ9fQ==--60874d20abd3cbbc6f604b17627e8f29b798df66/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOlsxNDU2LDcyOF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--b2ecf6121248a24883cda19469732b47b57f4e80/%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D1%8B%D0%B8%CC%86%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B8%CC%86%D0%BB%D0%B5%D1%80-01.png","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":9}]}</script><div style="--container-size:var(--container-size-lg);margin-top:var(--mantine-spacing-xl);height:100%" class="m_7485cace mantine-Container-root" data-size="lg" data-strategy="block"><script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"position":1,"@type":"ListItem","item":{"@id":"/blog","name":"Блог Хекслета"}},{"position":2,"@type":"ListItem","item":{"@id":"/blog/categories/code","name":"Код"}},{"position":3,"@type":"ListItem","item":{"@id":"/blog/posts/chem-zamenit-oblachnyy-provayder-digitalocean-obzor-yandex-cloud","name":"Чем заменить облачный провайдер DigitalOcean: обзор Yandex Cloud"}}]}</script><div style="margin-bottom:var(--mantine-spacing-xs)" class="m_8b3717df mantine-Breadcrumbs-root"><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/"><div style="color:inherit" class="m_4451eb3a mantine-Center-root"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-home-link "><path d="M20.085 11.085l-8.085 -8.085l-9 9h2v7a2 2 0 0 0 2 2h4.5"></path><path d="M9 21v-6a2 2 0 0 1 2 -2h2a2 2 0 0 1 1.807 1.143"></path><path d="M20 21a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M20 16a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M15 19a1 1 0 1 0 2 0a1 1 0 1 0 -2 0"></path><path d="M21 16l-5 3l5 2"></path></svg></div></a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/blog">Блог Хекслета</a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><a style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:inherit" class="mantine-focus-auto m_849cf0da m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-size="sm" data-underline="hover" href="/blog/categories/code">Код</a><div class="m_3b8f2208 mantine-Breadcrumbs-separator">/</div><p style="--text-fz:var(--mantine-font-size-sm);--text-lh:var(--mantine-line-height-sm);white-space:normal;color:var(--mantine-color-dimmed)" class="mantine-focus-auto m_f678d540 mantine-Breadcrumbs-breadcrumb m_b6d8b162 mantine-Text-root" data-size="sm">Чем заменить облачный провайдер DigitalOcean: обзор Yandex Cloud</p></div><style data-mantine-styles="inline">.__m__-_R_eub_{margin-bottom:var(--mantine-spacing-xs);}@media(min-width: 36em){.__m__-_R_eub_{margin-bottom:var(--mantine-spacing-xs);}}</style><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root __m__-_R_eub_"><style data-mantine-styles="inline">.__m__-_R_deub_{width:100%;}@media(min-width: 36em){.__m__-_R_deub_{width:70%;}}@media(min-width: 75em){.__m__-_R_deub_{width:75%;}}</style><div class="__m__-_R_deub_"><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><h1 style="--title-fw:var(--mantine-h1-font-weight);--title-lh:var(--mantine-h1-line-height);--title-fz:var(--mantine-h1-font-size)" class="m_8a5d1357 mantine-Title-root" data-order="1">Чем заменить облачный провайдер DigitalOcean: обзор Yandex Cloud</h1></div></div></div><div style="position:absolute;top:calc(18.75rem * var(--mantine-scale))" class=""></div><style data-mantine-styles="inline">.__m__-_R_2iub_{--grid-gutter:var(--mantine-spacing-xl);}</style><div class="m_410352e9 mantine-Grid-root __m__-_R_2iub_"><div class="m_dee7bd2f mantine-Grid-inner"><style data-mantine-styles="inline">.__m__-_R_dmiub_{--col-flex-grow:auto;--col-flex-basis:100%;--col-max-width:100%;}@media(min-width: 48em){.__m__-_R_dmiub_{--col-flex-grow:auto;--col-flex-basis:83.33333333333334%;--col-max-width:83.33333333333334%;}}@media(min-width: 62em){.__m__-_R_dmiub_{--col-flex-grow:auto;--col-flex-basis:66.66666666666667%;--col-max-width:66.66666666666667%;}}</style><div class="m_96bdd299 mantine-Grid-col __m__-_R_dmiub_"><div style="--stack-gap:var(--mantine-spacing-md);--stack-align:stretch;--stack-justify:flex-start;margin-bottom:var(--mantine-spacing-xl)" class="m_6d731127 mantine-Stack-root"><div class=""><div style="--group-gap:var(--mantine-spacing-xs);--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-bottom:var(--mantine-spacing-xl)" class="m_4081bf90 mantine-Group-root"><button style="--badge-height:var(--badge-height-sm);--badge-padding-x:var(--badge-padding-x-sm);--badge-fz:var(--badge-fz-sm);--badge-bg:var(--mantine-color-default);--badge-color:var(--mantine-color-default-color);--badge-bd:calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-default-border);cursor:pointer;color:inherit" class="m_347db0ec mantine-Badge-root" data-variant="default" data-size="sm" type="button" aria-label="Без стека"><span class="m_5add502a mantine-Badge-label">Без стека</span></button></div><div style="--group-gap:calc(0.625rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-bottom:var(--mantine-spacing-sm);color:var(--mantine-color-gray-text)" class="m_4081bf90 mantine-Group-root"><div style="--group-gap:calc(0.1875rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap;margin-inline-end:var(--mantine-spacing-lg)" class="m_4081bf90 mantine-Group-root">2 сентября 2022 г.</div><div style="--group-gap:calc(0.1875rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-clock "><path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0"></path><path d="M12 7v5l3 3"></path></svg></div>7 минут</div><div style="--group-gap:calc(0.1875rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-thumb-up "><path d="M7 11v8a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-7a1 1 0 0 1 1 -1h3a4 4 0 0 0 4 -4v-1a2 2 0 0 1 4 0v5h3a2 2 0 0 1 2 2l-1 5a2 3 0 0 1 -2 2h-7a3 3 0 0 1 -3 -3"></path></svg></div>9</div></div><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img style="--image-radius:var(--mantine-radius-md);--image-object-fit:cover;width:100%;height:100%" class="m_9e117634 mantine-Image-root" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTUzMSwicHVyIjoiYmxvYl9pZCJ9fQ==--60874d20abd3cbbc6f604b17627e8f29b798df66/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOlsxNDU2LDcyOF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--b2ecf6121248a24883cda19469732b47b57f4e80/%D0%BE%D0%B1%D0%BB%D0%B0%D1%87%D0%BD%D1%8B%D0%B8%CC%86%D0%BF%D1%80%D0%BE%D0%B2%D0%B0%D0%B8%CC%86%D0%BB%D0%B5%D1%80-01.png" alt="Чем заменить облачный провайдер DigitalOcean: обзор Yandex Cloud"/></div></div><div role="link" tabindex="0" style="cursor:pointer"><button style="display:block;width:100%" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Присоединяйтесь к нашему Telegram-сообществу"><div style="background-color:light-dark(var(--mantine-color-gray-1), var(--mantine-color-dark-6))" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:flex-start;--group-wrap:wrap" class="m_4081bf90 mantine-Group-root"><div style="--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:auto;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-brand-telegram "><path d="M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4"></path></svg></div>Присоединяйтесь к нашему Telegram-сообществу</div></div></button></div><div style="margin-bottom:var(--mantine-spacing-xl)" class="m_d08caa0 mantine-Typography-root"><p><strong>С февраля 2022 года многие жители России потеряли возможность использовать зарубежные сервисы: в том числе облачный провайдер DigitalOcean, которым пользовались наши студенты. Рассказываем про Yandex Cloud – альтернативу DigitalOcean, которую мы рекомендуем для прохождения наших курсов, и сравниваем оба сервиса.</strong></p>
<blockquote>
<p><em>Статью подготовил Михаил Краев — наставник Хекслета по DevOps, инженер в крупном российском банке. Михаил проектирует инфраструктуру в облаках для больших и маленьких проектов, работает как с приватными облаками, так и с публичными: AWS, Yandex.Cloud, Selectel.В свободное время помогает волонтерским проектам.</em></p>
</blockquote>
<p>Облачный провайдер DigitalOcean был стандартом для Хекслета, с его помощью студенты выполняли задания на курсах. В нем просто и удобно регистрироваться и создавать сервисы, что позволяет без проблем взаимодействовать с облаком даже тем пользователям, которые прежде не работали с подобными хостингами.</p>
<style data-mantine-styles="inline">.__m__-_R_7derddmiub_{--carousel-slide-gap:var(--mantine-spacing-xs);--carousel-slide-size:70%;}@media(min-width: 36em){.__m__-_R_7derddmiub_{--carousel-slide-gap:var(--mantine-spacing-xl);--carousel-slide-size:50%;}}</style><div style="--carousel-control-size:calc(2.5rem * var(--mantine-scale));--carousel-controls-offset:var(--mantine-spacing-sm);margin-bottom:var(--mantine-spacing-lg);padding-block:var(--mantine-spacing-sm);background:var(--app-color-surface)" class="m_17884d0f mantine-Carousel-root responsiveClassName" data-orientation="horizontal" data-include-gap-in-size="true"><div class="m_39bc3463 mantine-Carousel-controls" data-orientation="horizontal"><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="previous" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="next" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(-90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></div><div class="m_a2dae653 mantine-Carousel-viewport" data-type="media"><div class="m_fcd81474 mantine-Carousel-container __m__-_R_7derddmiub_" data-orientation="horizontal"><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/devops-engineer-from-scratch?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">14 месяцев</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">С нуля</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">DevOps-инженер с нуля</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Полное погружение в DevOps: весь стек от Linux до Kubernetes</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk2NSwicHVyIjoiYmxvYl9pZCJ9fQ==--84278a1852c9c6fb13b80a69f395bac6e47a422e/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Cloud%20sync-bro.png" alt="DevOps-инженер с нуля" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 6 792 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/devops-for-developers?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">3 месяца</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Для продвинутых</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">DevOps для разработчиков</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Изучите деплой, автоматизацию, GitHub Actions, Docker, Ansible, Terraform, IaC</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY0MywicHVyIjoiYmxvYl9pZCJ9fQ==--74611367ca7524225d6b8670846088b4aa9fa1d2/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Server-bro.png" alt="DevOps для разработчиков" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 2 797 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/infrastructure-automation?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">1 месяц</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Для продвинутых</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Автоматизация инфраструктуры</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Навык управления инфраструктурой с Terraform</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk3NywicHVyIjoiYmxvYl9pZCJ9fQ==--bc5ef27286509b0ecf2f8ae6cbdce2376db3d394/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/500%20Internal%20Server%20Error-cuate.png" alt="Автоматизация инфраструктуры" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 3 900 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/ansible-deploy?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">1 месяц</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Для продвинутых</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Автоматизация деплоя</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Изучите CI/CD и автоматизацию развёртывания</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MzY0NSwicHVyIjoiYmxvYl9pZCJ9fQ==--f34b449529f04fd8689092f66f9653c47c7e1f58/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Server%20status-amico.png" alt="Автоматизация деплоя" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 3 900 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/programs/docker?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card" target="_blank"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="--group-gap:calc(0.25rem * var(--mantine-scale));--group-align:center;--group-justify:flex-start;--group-wrap:nowrap" class="m_4081bf90 mantine-Group-root"><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">1 месяц</span><span class="mantine-focus-auto m_b6d8b162 mantine-Text-root">·</span><span style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Для продвинутых</span></div><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h5);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Docker</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Навык работы с контейнеризацией, оптимизацией разработки и деплой</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6Mzk2MiwicHVyIjoiYmxvYl9pZCJ9fQ==--c18877cf9396039142efbbbe6b2ab4dc6b09f18b/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX3RvX2xpbWl0IjpbNDAwLDQwMF0sInNhdmVyIjp7InF1YWxpdHkiOjg1fX0sInB1ciI6InZhcmlhdGlvbiJ9fQ==--5b6f46dacd1af664f27558553a58076185091823/Cloud%20hosting-cuate.png" alt="Docker" loading="eager"/></div><div style="--group-gap:var(--mantine-spacing-md);--group-align:end;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-xs)" class="m_4081bf90 mantine-Group-root"><p style="font-size:var(--mantine-font-size-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">от 3 900 ₽</p><p style="font-size:var(--mantine-font-size-sm)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/courses?promo_name=programs_list&promo_position=blog_post&promo_creative=catalog_card&promo_type=card"><div style="height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><h2 style="--title-fw:var(--mantine-h2-font-weight);--title-lh:var(--mantine-h2-line-height);--title-fz:var(--mantine-h2-font-size);margin-bottom:var(--mantine-spacing-md);font-size:var(--mantine-font-size-h3)" class="m_8a5d1357 mantine-Title-root" data-order="2" data-responsive="true">Каталог</h2><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Полный список доступных курсов по разным направлениям</p><div style="margin-top:auto" class=""><div class="m_4451eb3a mantine-Center-root"><img style="opacity:0.8;width:70%" class="m_9e117634 mantine-Image-root mantine-visible-from-xs" src="/vite/assets/development-BVihs_d5.png" alt="Orientation"/></div></div></div></a></div></div></div></div></div>
<p>Сейчас наши ученики из РФ не могут привязать к платформе российскую банковскую карту, чтобы подтвердить платежеспособность, и завести аккаунт в DigitalOcean. В качестве альтернативы мы рекомендуем использовать Yandex Cloud — облачный провайдер от Яндекса. В этой статье мы сравниваем, как на этих двух платформах создавать базовые сервисы:</p>
<ul>
<li>Серверы</li>
<li>Базы данных</li>
<li>Балансировщик</li>
<li>Хранилище файлов.</li>
</ul>
<h2 id="heading-2-1">Содержание</h2>
<ul>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-2">Как создать аккаунт</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-5">Как создать серверы</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-8">Как создать базы данных</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-11">Как создать балансировщик</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-14">Как создать хранилище файлов</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-17">Чем еще можно заменить DigitalOcean</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="#heading-2-18">Выводы</a></li>
</ul>
<h2 id="heading-2-2">Как создать аккаунт</h2>
<h3 id="heading-3-3">DigitalOcean</h3>
<p>Чтобы создать аккаунт в DigitalOcean, нужно указать полное имя, почту и пароль. При регистрации по реферальной ссылке <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://m.do.co/c/e702f9a99145" rel="noopener noreferrer" target="_blank">https://m.do.co/c/e702f9a99145</a> вам начислят $100. Затем необходимо подтвердить аккаунт — письмо со ссылкой приходит на почту.</p>
<p>Дальше добавьте способ оплаты: банковскую карту или PayPal. После этого вы попадете в проект, где можно создавать необходимые ресурсы. Реферальный бонус будет зачислен на счет, когда регистрация завершена. Их можно использовать в течение 60 дней с момента регистрации.</p>
<h3 id="heading-3-4">Yandex Cloud</h3>
<p>Здесь создание аккаунта несколько отличается. Вам потребуется <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://yandex.ru/id/about" rel="noopener noreferrer" target="_blank">Яндекс ID</a> — единый сервис для аутентификации во всех продуктах Яндекса.</p>
<p>Пройдя форму логина, вы попадете в консоль, где нужно создать платежный аккаунт. Во время регистрации платежного аккаунта с вас могут списать небольшую сумму. Не волнуйтесь, Яндекс тут же вернет ее. Это нужно для проверки вашей карты. Когда зарегистрируете аккаунт, вам начислят вступительную квоту, о ней немного позже.</p>
<p>Разберем каждый этап создания платежного аккаунта.</p>
<ol>
<li>Укажите страну, резидентом которой являетесь. Зарегистрироваться в Yandex Cloud могут резиденты и нерезиденты РФ. При этом нерезиденты могут зарегистрироваться только как юридические лица. Подробные условия читайте в <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://cloud.yandex.ru/docs/billing/" rel="noopener noreferrer" target="_blank">документации сервиса Биллинг</a>.</li>
</ol>
<p>Заполните название аккаунта. Никаких специальных требований к нему нет, но ресурсам лучше давать осмысленные названия, особенно если речь идет о деньгах. В примере ниже мы выбрали название hexlet-student-account, чтобы обозначить, что этот аккаунт — именно для студентов:</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/hYgmz6z.png" alt="" loading="lazy"/></p>
<ol start="2">
<li>Выберите плательщика или создайте нового. Чтобы добавить физическое лицо, укажите ФИО, почту и банковскую карту:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/y6yrObk.png" alt="" loading="lazy"/></p>
<ol start="3">
<li>Укажите контактные данные: почта и телефон. Нажмите кнопку «Создать»:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/DJPcZwT.png" alt="" loading="lazy"/></p>
<p>Аккаунт готов к работе. Теперь вы можете создавать серверы.</p>
<p>Если вы заводите аккаунт на Yandex Cloud впервые, вам начислят стартовый грант на ознакомление с платформой. Гранты для резидентов разных стран отличаются. Актуальные условия есть на официальном сайте сервиса в разделе <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://cloud.yandex.ru/docs/getting-started/usage-grant" rel="noopener noreferrer" target="_blank">«Документация» — «Начало работы»</a>.</p>
<p>Грант делится на две части:</p>
<ul>
<li>На использование Compute Cloud — виртуальные машины и облачные серверы</li>
<li>На использование остальных сервисов.</li>
</ul>
<p>Если вы захотите потратить весь грант только на серверы, у вас это не получится.</p>
<style data-mantine-styles="inline">.__m__-_R_1pderddmiub_{--carousel-slide-gap:var(--mantine-spacing-xs);--carousel-slide-size:80%;}@media(min-width: 36em){.__m__-_R_1pderddmiub_{--carousel-slide-gap:var(--mantine-spacing-xl);--carousel-slide-size:50%;}}</style><div style="--carousel-control-size:calc(2.5rem * var(--mantine-scale));--carousel-controls-offset:var(--mantine-spacing-sm);margin-bottom:var(--mantine-spacing-lg);padding-block:var(--mantine-spacing-sm);background:var(--app-color-surface)" class="m_17884d0f mantine-Carousel-root responsiveClassName" data-orientation="horizontal" data-include-gap-in-size="true"><div class="m_39bc3463 mantine-Carousel-controls" data-orientation="horizontal"><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="previous" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button><button class="mantine-focus-auto m_64f58e10 mantine-Carousel-control m_87cf2631 mantine-UnstyledButton-root" type="button" data-inactive="true" data-type="next" tabindex="-1"><svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" style="transform:rotate(-90deg);width:calc(1rem * var(--mantine-scale));height:calc(1rem * var(--mantine-scale));display:block"><path d="M3.13523 6.15803C3.3241 5.95657 3.64052 5.94637 3.84197 6.13523L7.5 9.56464L11.158 6.13523C11.3595 5.94637 11.6759 5.95657 11.8648 6.15803C12.0536 6.35949 12.0434 6.67591 11.842 6.86477L7.84197 10.6148C7.64964 10.7951 7.35036 10.7951 7.15803 10.6148L3.15803 6.86477C2.95657 6.67591 2.94637 6.35949 3.13523 6.15803Z" fill="currentColor" fill-rule="evenodd" clip-rule="evenodd"></path></svg></button></div><div class="m_a2dae653 mantine-Carousel-viewport" data-type="media"><div class="m_fcd81474 mantine-Carousel-container __m__-_R_1pderddmiub_" data-orientation="horizontal"><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/biblioteka-react-review-article"><div style="padding-top:0rem;height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="margin-bottom:var(--mantine-spacing-sm)" class="m_599a2148 mantine-Card-section" data-first-section="true"><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img class="m_9e117634 mantine-Image-root" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTYyOCwicHVyIjoiYmxvYl9pZCJ9fQ==--6bac7610f325471938a0e33f58eaa4c52527d66f/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/%D1%87%D1%82%D0%BE%D1%82%D0%B0%D0%BA%D0%BE%D0%B5react-01.png" loading="lazy" alt="Библиотека React: особенности, перспективы, ситуация на рынке труда"/></div></div><p style="margin-bottom:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-lg);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Библиотека React: особенности, перспективы, ситуация на рынке труда</p><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">В объявлениях о поиске программистов часто встречается требование уметь работать с React. Иногда ...</p><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-lg);font-size:var(--mantine-font-size-sm)" class="m_4081bf90 mantine-Group-root">29 февраля 2024 г.<p style="font-size:inherit" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/php-start"><div style="padding-top:0rem;height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="margin-bottom:var(--mantine-spacing-sm)" class="m_599a2148 mantine-Card-section" data-first-section="true"><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img class="m_9e117634 mantine-Image-root" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTU5MSwicHVyIjoiYmxvYl9pZCJ9fQ==--01d293c2c32c364fb419ce05e3336d3b96061b52/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/PHPc%D1%87%D0%B5%D0%B3%D0%BE%D0%BD%D0%B0%D1%87%D0%B0%D1%82%D1%8C-01.png" loading="lazy" alt="Язык программирования PHP: почему его выбирают разработчики и с чего начать изучение"/></div></div><p style="margin-bottom:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-lg);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Язык программирования PHP: почему его выбирают разработчики и с чего начать изучение</p><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Рассказываем, в чем особенности языка PHP, его преимущества и недостатки, почему он до сих пор не...</p><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-lg);font-size:var(--mantine-font-size-sm)" class="m_4081bf90 mantine-Group-root">1 декабря 2023 г.<p style="font-size:inherit" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></a></div></div><div class="m_d98df724 mantine-Carousel-slide" data-orientation="horizontal"><div tabindex="0" style="cursor:pointer;height:100%"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/stoit-li-uchit-javascript-perspektivy-situatsiya-na-rynke-truda-mneniya-ekspertov"><div style="padding-top:0rem;height:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root" data-with-border="true"><div style="margin-bottom:var(--mantine-spacing-sm)" class="m_599a2148 mantine-Card-section" data-first-section="true"><div style="--ar-ratio:2" class="m_71ac47fc mantine-AspectRatio-root"><img class="m_9e117634 mantine-Image-root" src="https://hexlet.io/rails/active_storage/representations/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MTcwMywicHVyIjoiYmxvYl9pZCJ9fQ==--aa69869c906a992728ba7c26886fa1b715024424/eyJfcmFpbHMiOnsiZGF0YSI6eyJmb3JtYXQiOiJ3ZWJwIiwicmVzaXplX2FuZF9wYWQiOls3MDgsMzU0XSwic2F2ZXIiOnsicXVhbGl0eSI6ODV9fSwicHVyIjoidmFyaWF0aW9uIn19--324dc52aa55ebe818c2a887ebcb832b9ad1c0381/%D1%8F%D0%B7%D1%8B%D0%BA%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8Fjavascript-01.png" loading="lazy" alt="Язык программирования JavaScript: где его используют и почему он популярен"/></div></div><p style="margin-bottom:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-lg);font-weight:bold" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Язык программирования JavaScript: где его используют и почему он популярен</p><p style="margin-bottom:auto" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Рассказываем, что это за язык программирования — JavaScript, где его используют, насколько он поп...</p><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-top:var(--mantine-spacing-lg);font-size:var(--mantine-font-size-sm)" class="m_4081bf90 mantine-Group-root">4 октября 2023 г.<p style="font-size:inherit" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></div></a></div></div></div></div></div>
<h2 id="heading-2-5">Как создать серверы</h2>
<p>Облачный сервер — самый часто используемый сервис в работе с облачными провайдерами. Иногда серверы создаются без вашего участия при заказе других продуктов. А когда вы будете учиться, вам потребуется создавать их самостоятельно.</p>
<h3 id="heading-3-6">DigitalOcean</h3>
<p>В DigitalOcean облачный сервер называется Droplet. Он создается через кнопку Get Started with a Droplet:</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/eAlyVhl.png" alt="" loading="lazy"/></p>
<ol>
<li>Выберите образ операционной системы для сервера. Например, можно установить чистую ОС, выбрав из списка нужную нам. Еще можно развернуть сервер из docker-образа, выбрать один из готовых образов из магазина, подключить загрузочный диск или развернуть систему из бэкапа:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/gTw8QEd.png" alt="" loading="lazy"/></p>
<ol start="2">
<li>Определитесь с мощностью облачного сервера. Есть варианты для разных задач, но чтобы пройти курс на Хекслете, достаточно пакета Standard. Минимальная цена за сервер — $5 в месяц:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/tYyZDxC.png" alt="" loading="lazy"/></p>
<ol start="3">
<li>Выберите регион, в котором создается сервер, — от этого зависит скорость обмена данными. Лучше создавать сервер в том регионе, к которому вы ближе:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/LmRREYN.png" alt="" loading="lazy"/></p>
<ol start="4">
<li>Настройте способ подключения к серверу. SSH-ключ — более безопасный и правильный подход, мы предпочитаем ссылаться на него <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://guides.hexlet.io/ru/ssh/#%D0%B3%D0%B5%D0%BD%D0%B5%D1%80%D0%B0%D1%86%D0%B8%D1%8F-%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B9" rel="noopener noreferrer" target="_blank">в наших курсах</a>.</li>
</ol>
<p>DigitalOcean позволяет сохранять ключ, чтобы не копировать его каждый раз, когда вы создаете новый сервер:</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/FqFmtB3.png" alt="" loading="lazy"/></p>
<ol start="5">
<li>В конце нужно нажать на кнопку Create и ждать. На создание сервера уходит пара минут. После этого можно подключиться к удаленному серверу, используя логин и SSH-ключ.</li>
</ol>
<h3 id="heading-3-7">Yandex Cloud</h3>
<p>В Yandex Cloud облачный сервер называется Compute Cloud. Чтобы создать его, необходимо перейти во вкладку Compute Cloud — «Виртуальные машины» — «Создать ВМ»:</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/iRgGmMw.png" alt="" loading="lazy"/></p>
<p>Как создать сервер:</p>
<ol>
<li>Задайте имя сервера. По желанию можно добавить ему описание и указать зону доступности — географическое расположение дата-центра, в котором будет находиться виртуальная машина:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/QC0B7Qm.png" alt="" loading="lazy"/></p>
<p>После создания виртуальной машины, переместить ее в другую зону доступности не получится.</p>
<ol start="2">
<li>Выберите образ операционной системы. Здесь доступны те же варианты, что и у DigitalOcean, за исключением бэкапа: чистый образ ОС, docker-образ, готовые образы из магазина и загрузочный диск:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/WcFiOkp.png" alt="" loading="lazy"/></p>
<ol start="3">
<li>Настройте вычислительные мощности виртуальной машины. Можно выбрать минимальную гарантированную долю процессора. Если выбрать 50%, то половина мощностей процессора всегда будет использоваться только для вашей машины (удаленного рабочего места). Также можно сделать машину прерываемой – рабочее место можно будет отключить, тогда вам не придется платить за простой рабочего места. Это полезно в процессе обучения, когда не хочется платить много за машины:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/sAr0Txw.png" alt="" loading="lazy"/></p>
<ol start="4">
<li>Настройте доступ. Здесь можно загрузить SSH-ключ и задать имя пользователя. Ключ расположится в домашней директории пользователя, которого мы укажем в поле «Логин».</li>
</ol>
<p>Если вы создавали пользователя вручную, необходимо скопировать ключ самостоятельно.</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/DHBmRq9.png" alt="" loading="lazy"/></p>
<h2 id="heading-2-8">Как создать базы данных</h2>
<p>Базы данных — важная часть работы с облачными провайдерами. Вы можете развернуть базу данных и на виртуальной машине. Но такой подход требует более глубокого понимания для грамотной поддержки.</p>
<p>Managed Database позволяет не задумываться о нюансах и сразу использовать нашу базу данных. Рассмотрим процесс создания базы данных PostgreSQL:</p>
<h3 id="heading-3-9">DigitalOcean</h3>
<ol>
<li>В DigitalOcean на странице проекта нажмите Create и выберите Database:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/2mJjVQj.png" alt="" loading="lazy"/></p>
<ol start="2">
<li>Выберите, какую базу данных хотим создать. Здесь же можно указать нужную нам версию:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/JXT7fcT.png" alt="" loading="lazy"/></p>
<ol start="3">
<li>Выберите мощность кластера с базой. Здесь же можно выбрать Standby nodes — это разные инстансы одной базы. В случае падения каких-то запросов они автоматически перенаправляются на другие ноды:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/nF9LahX.png" alt="" loading="lazy"/></p>
<ol start="4">
<li>Выберите дата-центр, в котором разворачиваете базу данных, как с дроплетом — отталкивайтесь от ближайшего дата-центра:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/t7EkG1Q.png" alt="" loading="lazy"/></p>
<ol start="5">
<li>Укажите название базы и нажмите кнопку «Create a Database Cluster». Далее DigitalOcean начинает разворачивать кластер, а вы продолжите его настраивать:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/KzIV7C8.png" alt="" loading="lazy"/></p>
<ol start="6">
<li>Выберите, откуда будет доступ к базе данных — от вашего IP или от других серверов:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/8Mp3caO.png" alt="" loading="lazy"/></p>
<p>На следующем шаге система показывает данные для подключения к базе данных. Сохранять их на этом этапе не обязательно, эти данные всегда можно получить на вкладке с продуктом.</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/ikWL80a.png" alt="" loading="lazy"/></p>
<p>Здесь создание базы данных со стороны пользователя заканчивается. На создание кластера у системы уходит еще немного времени:</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/SwO3Wof.png" alt="" loading="lazy"/></p>
<h3 id="heading-3-10">Yandex Cloud</h3>
<p>В облаке от Яндекса разные типы управления базами данных доступны во вкладке «Платформа данных». Рассмотрим пример получения сервиса Managed Service for PostgreSQL:</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/MKrvCTo.png" alt="" loading="lazy"/></p>
<ol>
<li>На странице сервиса выберите опцию «Создать кластер»:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/w4XDesM.png" alt="" loading="lazy"/></p>
<ol start="2">
<li>Задайте имя для вашего кластера. По желанию можно заполнить описание.</li>
</ol>
<p>Также выберите окружение:</p>
<ul>
<li>PRESTABLE позволяет получать обновления, в которых могут появляться новые функции и исправляться баги.</li>
<li>PRODUCTION — для стабильных версий сервисов.</li>
</ul>
<p>Еще на этом этапе выбираем версию:</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/d5E4V6E.png" alt="" loading="lazy"/></p>
<ol start="3">
<li>Настройте класс хоста — это вычислительная мощность базы. Здесь есть готовые варианты. С их помощью можно гибко регулировать мощность базы данных.</li>
</ol>
<p>Также здесь есть настройка гарантированной доли CPU. Она находится под вкладкой burstable:</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/qADNmcr.png" alt="" loading="lazy"/></p>
<ol start="4">
<li>Настройте размер базы. Здесь же можно выбрать тип диска: SSD или HDD. Они отличаются скоростью чтения и записи:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/pvohl17.png" alt="" loading="lazy"/></p>
<ol start="5">
<li>Настройте параметры подключения к базе данных: имя, логин и пароль. Про настройки локали можно подробнее почитать в [документации] (<a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://cloud.yandex.ru/docs/managed-postgresql/operations/databases" rel="noopener noreferrer" target="_blank">https://cloud.yandex.ru/docs/managed-postgresql/operations/databases</a>). Их можно оставить по умолчанию:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/3v02pGD.png" alt="" loading="lazy"/></p>
<ol start="6">
<li>Выберите сеть, в которой будет доступна ваша база данных. Чаще всего в процессе обучения не требуется более одной сети.</li>
</ol>
<p>Здесь можно поменять зону доступности и сделать базу данных доступной из интернета. Если не сделать этого, то доступ к базе будет только с вашей виртуальной машины:</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/IOJqP6f.png" alt="" loading="lazy"/></p>
<ol start="7">
<li>Выберите время начала резервного копирования, срок хранения резервных копий и окна обслуживания. Это важные настройки, если ваш кластер нужен для реального приложения.</li>
</ol>
<p>Для обучения выбирайте время, когда вы обычно не занимаетесь. Обязательно воспользуйтесь опцией «Защита от удаления» — позволяет не удалить случайно кластер с базы данных.</p>
<p>Здесь есть и другие настройки, но в большинстве курсов они не понадобятся, поэтому не будем на них останавливаться.</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/5GoQxX3.png" alt="" loading="lazy"/></p>
<h2 id="heading-2-11">Как создать балансировщик</h2>
<p>Балансировщик распределяет трафик между виртуальными машинами в одной группе. Это важный элемент современных инфраструктур, который позволяет масштабировать приложение и <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://guides.hexlet.io/ru/deploy/" rel="noopener noreferrer" target="_blank">выполнять zero-downtime deploy</a>.</p>
<h3 id="heading-3-12">DigitalOcean</h3>
<ol>
<li>На DigitalOcean балансировщик создается во вкладках Network — Load Balancers:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/kiP8j9k.png" alt="" loading="lazy"/></p>
<ol start="2">
<li>Укажите название балансировщика:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/PypRWC4.png" alt="" loading="lazy"/></p>
<ol start="3">
<li>Выберите серверы, с которых собираетесь перенаправлять трафик. В DigitalOcean можно использовать отдельные дроплеты, группы и лейблы:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/F0m9q1Y.png" alt="" loading="lazy"/></p>
<ol start="4">
<li>В конце настройте правила перенаправления трафика — протоколы и порты:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/cs1qUBv.png" alt="" loading="lazy"/></p>
<p>При необходимости выставите расширенные настройки и нажмите «Create Load Balancer»:</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/FMfeMId.png" alt="" loading="lazy"/></p>
<h3 id="heading-3-13">Yandex Cloud</h3>
<p>Балансировщик находится на вкладках «Инфраструктура и сеть» — Network Load Balancer:</p>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/27QQQKz.png" alt="" loading="lazy"/></p>
<ol>
<li>Нажмите на кнопку «Создать сетевой балансировщик»:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/IHPRhNc.png" alt="" loading="lazy"/></p>
<ol start="2">
<li>Задайте имя и описание. При необходимости выберите зарезервированный адрес из списка и защиту от DDoS:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/O2mAkgw.png" alt="" loading="lazy"/></p>
<ol start="3">
<li>Добавьте обработчик — аналог правил в DigitalOcean:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/mbnWCcq.png" alt="" loading="lazy"/></p>
<ol start="4">
<li>Выберите группу машин. Если еще не создали, это можно сделать здесь же. После нажмите кнопку «Создать»:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/qXRtAAB.png" alt="" loading="lazy"/></p>
<h2 id="heading-2-14">Как создать хранилище файлов</h2>
<p>Разберем, как создается хранилище файлов — виртуальная файловая система, которую можно подключать к нескольким виртуальным машинам из одной зоны доступности.</p>
<h3 id="heading-3-15">DigitalOcean</h3>
<ol>
<li>Для создания хранилища нам понадобится сервис Spaces для хранения файлов в DigitalOcean. Переходим на вкладку Manage — Spaces:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/SGyP5zd.png" alt="" loading="lazy"/></p>
<ol start="2">
<li>Выберите регион:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/SdpRv8z.png" alt="" loading="lazy"/></p>
<ol start="3">
<li>Задайте поддомен для хранилища. Здесь можно получить SSL-сертификат от DigitalOcean, либо загрузить свой при наличии:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/7Fu06qY.png" alt="" loading="lazy"/></p>
<ol start="4">
<li>Выберите политику просмотра файлов: разрешить всем или запретить. Доступ на скачивание и просмотры файлов можно задавать индивидуально при загрузке:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/5FhdzjK.png" alt="" loading="lazy"/></p>
<ol start="5">
<li>Задайте имя для вашего Space. Оно отображается в ссылке на хранилище:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/BKSEd9K.png" alt="" loading="lazy"/></p>
<h3 id="heading-3-16">Yandex Cloud</h3>
<ol>
<li>Перейдите на вкладку «Инфраструктура и сеть» и выберите Object Storage:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/JPzbruH.png" alt="" loading="lazy"/></p>
<ol start="2">
<li>Нажмите кнопку «Создать бакет»:</li>
</ol>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/BQlZdJt.png" alt="" loading="lazy"/></p>
<ol start="3">
<li>Задайте имя, выберите лимит и настройте политики доступа. Также настройте «Класс хранилища»:</li>
</ol>
<ul>
<li>Стандартное хранилище — предназначено для активной работы с объектами</li>
<li>Холодное хранилище — предназначено для длительного хранения объектов с редкими запросами на чтение.</li>
</ul>
<p><img style="--image-object-fit:contain;width:auto" class="m_9e117634 mantine-Image-root" src="https://imgur.com/XhZT3L7.png" alt="" loading="lazy"/></p>
<h2 id="heading-2-17">Чем еще можно заменить DigitalOcean</h2>
<p>Облачные провайдеры активно развиваются в России, поэтому есть другие подходящие альтернативы DigitalOcean. Например, среди столь же мощных и простых сервисов можно отметить <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://selectel.ru/" rel="noopener noreferrer" target="_blank">Selectel</a>. Он уже обладает большим комьюнити и хорошей документацией.</p>
<p>А вот еще несколько отличных аналогов для российских пользователей:</p>
<ul>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://cloud.timeweb.com/" rel="noopener noreferrer" target="_blank">timeweb</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://mcs.mail.ru/" rel="noopener noreferrer" target="_blank">vk.cloud</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://sbercloud.ru/ru" rel="noopener noreferrer" target="_blank">sber</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://cloud.mts.ru/" rel="noopener noreferrer" target="_blank">mts</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://cloud.megafon.ru/" rel="noopener noreferrer" target="_blank">megafon</a></li>
<li><a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://1cloud.ru/" rel="noopener noreferrer" target="_blank">1cloud</a></li>
</ul>
<p>На данный момент некоторые из них совершенно не подходят для прохождения курсов на Хекслете, но со временем это может измениться — рынок облачных провайдеров быстро развивается.</p>
<h2 id="heading-2-18">Выводы</h2>
<p>Мы советуем пользоваться DigitalOcean, если есть возможность оплатить его не российской картой. Он давно используется в Хекслете, а простота и удобство работы позволяют пользователям без проблем с ним взаимодействовать.</p>
<p>Yandex Cloud — отличная альтернатива. Он ни в чем не проигрывает DigitalOcean, доступен всем пользователям в РФ и покроет ваши потребности при прохождении наших курсов.</p>
<p>Если вы выберете третью альтернативу, можете обратиться за помощью в <a style="text-decoration:underline" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="https://t.me/hexletcommunity" rel="noopener noreferrer" target="_blank">Хекслет Коммьюнити</a>.</p></div><div class=""><div style="--group-gap:var(--mantine-spacing-md);--group-align:center;--group-justify:space-between;--group-wrap:wrap;margin-bottom:var(--mantine-spacing-lg)" class="m_4081bf90 mantine-Group-root"><div class="m_4451eb3a mantine-Center-root" data-inline="true"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:var(--mantine-spacing-xs);color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-user "><path d="M8 7a4 4 0 1 0 8 0a4 4 0 0 0 -8 0"></path><path d="M6 21v-2a4 4 0 0 1 4 -4h4a4 4 0 0 1 4 4v2"></path></svg></div><p style="margin-inline-end:var(--mantine-spacing-xl)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Михаил Краев</p><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">3 года назад</p></div><div style="align-items:center" class="m_8bffd616 mantine-Flex-root __m__-_R_5dirddmiub_"><a style="display:inline-flex" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/chem-zamenit-oblachnyy-provayder-digitalocean-obzor-yandex-cloud/votes"><div style="--ti-size:var(--ti-size-sm);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-inline-end:var(--mantine-spacing-xs);color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="sm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-thumb-up "><path d="M7 11v8a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1v-7a1 1 0 0 1 1 -1h3a4 4 0 0 0 4 -4v-1a2 2 0 0 1 4 0v5h3a2 2 0 0 1 2 2l-1 5a2 3 0 0 1 -2 2h-7a3 3 0 0 1 -3 -3"></path></svg></div></a><p class="mantine-focus-auto m_b6d8b162 mantine-Text-root">9</p></div></div></div><div style="background-color:var(--mantine-color-indigo-light);border:calc(0.0625rem * var(--mantine-scale)) solid transparent;padding:var(--mantine-spacing-xl)" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><p style="margin-bottom:var(--mantine-spacing-sm);font-size:var(--mantine-font-size-h4)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Читайте также:</p><ul style="margin-inline-start:var(--mantine-spacing-lg)" class="m_abbac491 mantine-List-root"><li style="margin-bottom:var(--mantine-spacing-sm)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a style="color:inherit" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/biblioteka-react-review-article">Библиотека React: особенности, перспективы, ситуация на рынке труда</a></span></div></li><li style="margin-bottom:var(--mantine-spacing-sm)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a style="color:inherit" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/php-start">Язык программирования PHP: почему его выбирают разработчики и с чего начать изучение</a></span></div></li><li style="margin-bottom:var(--mantine-spacing-sm)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><a style="color:inherit" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/blog/posts/stoit-li-uchit-javascript-perspektivy-situatsiya-na-rynke-truda-mneniya-ekspertov">Язык программирования JavaScript: где его используют и почему он популярен</a></span></div></li></ul></div><div style="margin-block:var(--mantine-spacing-xl)" class="m_3eebeb36 mantine-Divider-root" data-orientation="horizontal" role="separator"></div></div><div></div></div><style data-mantine-styles="inline">.__m__-_R_lmiub_{--col-flex-grow:auto;--col-flex-basis:100%;--col-max-width:100%;}@media(min-width: 48em){.__m__-_R_lmiub_{--col-flex-grow:auto;--col-flex-basis:16.666666666666668%;--col-max-width:16.666666666666668%;}}@media(min-width: 62em){.__m__-_R_lmiub_{--col-flex-grow:auto;--col-flex-basis:33.333333333333336%;--col-max-width:33.333333333333336%;}}</style><div class="m_96bdd299 mantine-Grid-col __m__-_R_lmiub_ mantine-visible-from-md"><div style="background-color:var(--mantine-color-indigo-light);border:calc(0.0625rem * var(--mantine-scale)) solid transparent;margin-bottom:var(--mantine-spacing-xl);padding:var(--mantine-spacing-xl);width:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><div style="margin-bottom:var(--mantine-spacing-md)" class="m_4451eb3a mantine-Center-root" data-inline="true"><p style="font-size:var(--mantine-font-size-h4)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Категории</p></div><ul class="m_abbac491 mantine-List-root"><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Мотивация">Мотивация</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Истории успеха">Истории успеха</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Дневник студента">Дневник студента</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Код">Код</button></span></div></li><li style="margin-bottom:var(--mantine-spacing-xs)" class="m_abb6bec2 mantine-List-item" data-with-icon="true"><div class="m_75cd9f71 mantine-List-itemWrapper"><span class="m_60f83e5b mantine-List-itemIcon"><div class="m_4451eb3a mantine-Center-root"><div style="--ti-size:var(--ti-size-xs);--ti-bg:transparent;--ti-color:var(--mantine-color-indigo-light-color);--ti-bd:calc(0.0625rem * var(--mantine-scale)) solid transparent;color:inherit" class="m_7341320d mantine-ThemeIcon-root" data-variant="transparent" data-size="xs"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" class="tabler-icon tabler-icon-chevron-compact-right "><path d="M11 4l3 8l-3 8"></path></svg></div></div></span><span class="mantine-List-itemLabel"><button style="color:inherit;text-decoration:underline" class="mantine-focus-auto m_87cf2631 mantine-UnstyledButton-root" type="button" aria-label="Карьера">Карьера</button></span></div></li></ul></div><div style="justify-content:end;margin-top:0rem;position:sticky;top:calc(5rem * var(--mantine-scale))" class="m_8bffd616 mantine-Flex-root __m__-_R_5dlmiub_"><div tabindex="0" style="cursor:pointer"><a style="text-decoration:none" class="mantine-focus-auto m_849cf0da m_b6d8b162 mantine-Text-root mantine-Anchor-root" data-underline="hover" href="/courses_devops?promo_name=program_category&promo_position=blog_post&promo_creative=card&promo_type=card"><div style="background-color:var(--mantine-color-default);border:calc(0.0625rem * var(--mantine-scale)) solid var(--mantine-color-default-border);padding-inline:var(--mantine-spacing-xl);padding-top:var(--mantine-spacing-xl);padding-bottom:var(--mantine-spacing-xs);width:100%" class="m_e615b15f mantine-Card-root m_1b7284a3 mantine-Paper-root"><div class="m_4451eb3a mantine-Center-root" data-inline="true"><p style="font-size:var(--mantine-font-size-h4)" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Курсы по DevOps</p></div><img class="m_9e117634 mantine-Image-root" src="/vite/assets/development-BVihs_d5.png"/><p style="margin-bottom:var(--mantine-spacing-xs);text-align:right" class="mantine-focus-auto m_b6d8b162 mantine-Text-root">Посмотреть →</p></div></a></div></div></div></div></div></div></div>
</main>
<footer class="bg-dark fw-light text-light px-3 py-5">
<div class="row small">
<div class="col-12 col-sm-6 col-md-3">
<div class="h5 mb-3">Хекслет</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/about">О нас</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/testimonials">Отзывы</a>
</li>
<li>
<span class="nav-link link-light py-1 ps-0 external-link" data-href="https://b2b.hexlet.io" role="button">Корпоративное обучение</span>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/blog">Блог</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/qna">Вопросы и ответы</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/glossary">Глоссарий</a>
</li>
<li>
<span class="nav-link link-light py-1 ps-0 external-link" data-href="https://help.hexlet.io" data-target="_blank" role="button">Справка</span>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" target="_blank" rel="noopener noreferrer" href="/map">Карта сайта</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5 fw-normal mb-3">Направления</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_devops">DevOps
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_data_analytics">Аналитика
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_backend_development">Бэкенд
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_programming">Программирование
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_testing">Тестирование
</a></li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/courses_front_end_dev">Фронтенд
</a></li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5">Профессии</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/devops-engineer-from-scratch">DevOps-инженер с нуля</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/go">Go-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/java">Java-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/python">Python-разработчик </a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/data-analytics">Аналитик данных</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/qa-engineer">Инженер по ручному тестированию</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/php">РНР-разработчик</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/frontend">Фронтенд-разработчик</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-6 col-md-3">
<div class="h5">Навыки</div>
<ul class="list-unstyled">
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/python-django-developer">Django</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/docker">Docker</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/php-laravel-developer">Laravel</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/postman">Postman</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/js-react-developer">React</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/js-rest-api">REST API в Node.js</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/spring-boot">Spring Boot</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/programs/typescript">Typescript</a>
</li>
</ul>
</div>
</div>
<hr>
<div class="row">
<div class="col-12 col-sm-4 col-md-2">
<div class="fs-4">
<ul class="list-unstyled d-flex">
<li class="me-3">
<a aria-label="Telegram" target="_blank" class="link-light" rel="noopener noreferrer nofollow" href="https://t.me/hexlet_ru"><span class="bi bi-telegram"></span>
</a></li>
<li>
<a aria-label="Youtube" target="_blank" class="link-light" rel="noopener noreferrer nofollow" href="https://www.youtube.com/user/HexletUniversity"><span class="bi bi-youtube"></span>
</a></li>
</ul>
</div>
<div class="mb-2 d-flex flex-column">
<a class="link-light text-decoration-none" rel="nofollow" href="mailto:support@hexlet.io">support@hexlet.io</a>
<a class="link-light text-decoration-none py-2" target="_blank" href="https://t.me/hexlet_help_bot">t.me/hexlet_help_bot</a>
</div>
<ul class="list-unstyled d-flex">
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 external-link" rel="nofollow" data-href="https://hexlet.io/locale/switch?new_locale=en" data-target="_self" role="button"><span class="my-auto">EN</span>
</span></li>
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 opacity-100 external-link" rel="nofollow" data-href="https://ru.hexlet.io/locale/switch?new_locale=ru" data-target="_self" role="button"><span class="my-auto">RU</span>
</span></li>
<li class="me-3">
<span class="link-light text-decoration-none opacity-50 x-font-size-18 external-link" rel="nofollow" data-href="https://kz.hexlet.io/locale/switch?new_locale=kz" data-target="_self" role="button"><span class="my-auto">KZ</span>
</span></li>
</ul>
</div>
<div class="col-12 col-sm-4 col-md-3">
<ul class="list-unstyled fs-4">
<li class="mb-3">
<a class="link-light text-decoration-none" href="tel:8%20800%20100%2022%2047">8 800 100 22 47</a>
<span class="d-block opacity-50 small">бесплатно по РФ</span>
</li>
<li>
<a class="link-light text-decoration-none" href="tel:%2B7%20495%20085%2021%2062">+7 495 085 21 62</a>
<span class="d-block opacity-50 small">бесплатно по Москве</span>
</li>
</ul>
</div>
<div class="col-12 col-sm-4 col-md-3">
<div class="small mb-3">Образовательные услуги оказываются на основании Л035-01298-77/01989008 от 14.03.2025</div>
<ul class="list-unstyled small">
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/legal">Правовая информация</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/offer">Оферта</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/license">Лицензия</a>
</li>
<li>
<a class="nav-link link-light py-1 ps-0" href="/pages/contacts">Контакты</a>
</li>
</ul>
</div>
<div class="col-12 col-sm-12 col-md-4 small">
<div class="mb-2">
<div>ООО «<a href="/" class="text-decoration-none link-light">Хекслет Рус</a>»</div>
<div>108813 г. Москва, вн.тер.г. поселение Московский,</div>
<div>г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3</div>
<div>ОГРН 1217300010476</div>
<div>ИНН 7325174845</div>
</div>
<hr>
<div>АНО ДПО «<a href="/" class="text-decoration-none link-light">Учебный центр «Хекслет</a>»</div>
<div>119331 г. Москва, вн. тер. г. муниципальный округ</div>
<div>Ломоносовский, пр-кт Вернадского, д. 29</div>
<div>ОГРН 1247700712390</div>
<div>ИНН 7736364948</div>
</div>
</div>
</footer>
<div id="root-assistant-offcanvas"></div>
<script src="/vite/assets/assistant-CdBlNCiQ.js" crossorigin="anonymous" type="module"></script><link rel="modulepreload" href="/vite/assets/chunk-DsPFFUou.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/init-nkZBEvfU.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/ErrorFallbackBlock-naDSYSy9.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/MarkdownBlock-DbyKWoR_.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/gon-D3e4yh1x.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/mantine-CGMYrt2Y.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/shiki-V011pkdv.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/utils-DRqSHbQE.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/routes-CCH8ilKF.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/lib-XR8Qr8kR.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dist-GCHh59xr.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/Box-B5-OOzBf.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/notifications.store-C-3AFSMn.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useIsomorphicEffect-HJ6VK0D3.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/lib-KSp6QbZ0.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/axios-BEvgo0ym.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/classnames-l6ipYlLR.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/dayjs.min-BkKovM-s.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/debounce-jMQ_Cf4f.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/i18next-BlSq9s7B.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/client-U9M77rxp.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-dom-DaLxUz_h.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/useTranslation-Bx1Cdrkz.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/compiler-runtime-6XxiPFnt.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/jsx-runtime-CwjcCKJi.js" as="script" crossorigin="anonymous">
<link rel="modulepreload" href="/vite/assets/react-CkL4ZRHB.js" as="script" crossorigin="anonymous">
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v67327c56f0bb4ef8b305cae61679db8f1769101564043" integrity="sha512-rdcWY47ByXd76cbCFzznIcEaCN71jqkWBBqlwhF1SY7KubdLKZiEGeP7AyieKZlGP9hbY/MhGrwXzJC/HulNyg==" data-cf-beacon='{"version":"2024.11.0","token":"d11015b65d11429ea6b4a2ef37dd7e0b","server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>