Главная | Все статьи | Код

Чем заменить облачный провайдер DigitalOcean: обзор Yandex Cloud

Время чтения статьи ~12 минут
Чем заменить облачный провайдер DigitalOcean: обзор Yandex Cloud главное изображение

С февраля 2022 года многие жители России потеряли возможность использовать зарубежные сервисы: в том числе облачный провайдер DigitalOcean, которым пользовались наши студенты. Рассказываем про Yandex Cloud – альтернативу DigitalOcean, которую мы рекомендуем для прохождения наших курсов, и сравниваем оба сервиса.

Статью подготовил Михаил Краев — наставник Хекслета по DevOps, инженер в крупном российском банке. Михаил проектирует инфраструктуру в облаках для больших и маленьких проектов, работает как с приватными облаками, так и с публичными: AWS, Yandex.Cloud, Selectel.В свободное время помогает волонтерским проектам.

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

Бесплатные курсы по программированию в Хекслете
  • Освойте азы современных языков программирования
  • Изучите работу с Git и командной строкой
  • Выберите себе профессию или улучшите навыки
Выбрать курс

Сейчас наши ученики из РФ не могут привязать к платформе российскую банковскую карту, чтобы подтвердить платежеспособность, и завести аккаунт в DigitalOcean. В качестве альтернативы мы рекомендуем использовать Yandex Cloud — облачный провайдер от Яндекса. В этой статье мы сравниваем, как на этих двух платформах создавать базовые сервисы:

  • Серверы
  • Базы данных
  • Балансировщик
  • Хранилище файлов.

Как создать аккаунт

DigitalOcean

Чтобы создать аккаунт в DigitalOcean, нужно указать полное имя, почту и пароль. При регистрации по реферальной ссылке https://m.do.co/c/e702f9a99145 вам начислят $100. Затем необходимо подтвердить аккаунт — письмо со ссылкой приходит на почту.

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

Yandex Cloud

Здесь создание аккаунта несколько отличается. Вам потребуется Яндекс ID — единый сервис для аутентификации во всех продуктах Яндекса.

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

Разберем каждый этап создания платежного аккаунта.

1) Укажите страну, резидентом которой являетесь. Зарегистрироваться в Yandex Cloud могут резиденты и нерезиденты РФ. При этом нерезиденты могут зарегистрироваться только как юридические лица. Подробные условия читайте в документации сервиса Биллинг.

Заполните название аккаунта. Никаких специальных требований к нему нет, но ресурсам лучше давать осмысленные названия, особенно если речь идет о деньгах. В примере ниже мы выбрали название hexlet-student-account, чтобы обозначить, что этот аккаунт — именно для студентов:

2) Выберите плательщика или создайте нового. Чтобы добавить физическое лицо, укажите ФИО, почту и банковскую карту:

3) Укажите контактные данные: почта и телефон. Нажмите кнопку «Создать»:

Аккаунт готов к работе. Теперь вы можете создавать серверы.

Если вы заводите аккаунт на Yandex Cloud впервые, вам начислят стартовый грант на ознакомление с платформой. Гранты для резидентов разных стран отличаются. Актуальные условия есть на официальном сайте сервиса в разделе «Документация» — «Начало работы».

Грант делится на две части:

  • На использование Compute Cloud — виртуальные машины и облачные серверы
  • На использование остальных сервисов.

Если вы захотите потратить весь грант только на серверы, у вас это не получится.

Как создать серверы

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

DigitalOcean

В DigitalOcean облачный сервер называется Droplet. Он создается через кнопку Get Started with a Droplet:

1) Выберите образ операционной системы для сервера. Например, можно установить чистую ОС, выбрав из списка нужную нам. Еще можно развернуть сервер из docker-образа, выбрать один из готовых образов из магазина, подключить загрузочный диск или развернуть систему из бэкапа:

2) Определитесь с мощностью облачного сервера. Есть варианты для разных задач, но чтобы пройти курс на Хекслете, достаточно пакета Standard. Минимальная цена за сервер — $5 в месяц:

3) Выберите регион, в котором создается сервер, — от этого зависит скорость обмена данными. Лучше создавать сервер в том регионе, к которому вы ближе:

4) Настройте способ подключения к серверу. SSH-ключ — более безопасный и правильный подход, мы предпочитаем ссылаться на него в наших курсах.

DigitalOcean позволяет сохранять ключ, чтобы не копировать его каждый раз, когда вы создаете новый сервер:

5) В конце нужно нажать на кнопку Create и ждать. На создание сервера уходит пара минут. После этого можно подключиться к удаленному серверу, используя логин и SSH-ключ.

Yandex Cloud

В Yandex Cloud облачный сервер называется Compute Cloud. Чтобы создать его, необходимо перейти во вкладку Compute Cloud — «Виртуальные машины» — «Создать ВМ»:

Как создать сервер:

1) Задайте имя сервера. По желанию можно добавить ему описание и указать зону доступности — географическое расположение дата-центра, в котором будет находиться виртуальная машина:

После создания виртуальной машины, переместить ее в другую зону доступности не получится.

2) Выберите образ операционной системы. Здесь доступны те же варианты, что и у DigitalOcean, за исключением бэкапа: чистый образ ОС, docker-образ, готовые образы из магазина и загрузочный диск:

3) Настройте вычислительные мощности виртуальной машины. Можно выбрать минимальную гарантированную долю процессора. Если выбрать 50%, то половина мощностей процессора всегда будет использоваться только для вашей машины (удаленного рабочего места). Также можно сделать машину прерываемой – рабочее место можно будет отключить, тогда вам не придется платить за простой рабочего места. Это полезно в процессе обучения, когда не хочется платить много за машины:

4) Настройте доступ. Здесь можно загрузить SSH-ключ и задать имя пользователя. Ключ расположится в домашней директории пользователя, которого мы укажем в поле «Логин».

Если вы создавали пользователя вручную, необходимо скопировать ключ самостоятельно.

Как создать базы данных

Базы данных — важная часть работы с облачными провайдерами. Вы можете развернуть базу данных и на виртуальной машине. Но такой подход требует более глубокого понимания для грамотной поддержки.

Managed Database позволяет не задумываться о нюансах и сразу использовать нашу базу данных. Рассмотрим процесс создания базы данных PostgreSQL:

DigitalOcean

1) В DigitalOcean на странице проекта нажмите Create и выберите Database:

2) Выберите, какую базу данных хотим создать. Здесь же можно указать нужную нам версию:

3) Выберите мощность кластера с базой. Здесь же можно выбрать Standby nodes — это разные инстансы одной базы. В случае падения каких-то запросов они автоматически перенаправляются на другие ноды:

4) Выберите дата-центр, в котором разворачиваете базу данных, как с дроплетом — отталкивайтесь от ближайшего дата-центра:

5) Укажите название базы и нажмите кнопку «Create a Database Cluster». Далее DigitalOcean начинает разворачивать кластер, а вы продолжите его настраивать:

6) Выберите, откуда будет доступ к базе данных — от вашего IP или от других серверов:

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

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

Yandex Cloud

В облаке от Яндекса разные типы управления базами данных доступны во вкладке «Платформа данных». Рассмотрим пример получения сервиса Managed Service for PostgreSQL:

1) На странице сервиса выберите опцию «Создать кластер»:

2) Задайте имя для вашего кластера. По желанию можно заполнить описание.

Также выберите окружение:

  • PRESTABLE позволяет получать обновления, в которых могут появляться новые функции и исправляться баги.
  • PRODUCTION — для стабильных версий сервисов.

Еще на этом этапе выбираем версию:

3) Настройте класс хоста — это вычислительная мощность базы. Здесь есть готовые варианты. С их помощью можно гибко регулировать мощность базы данных.

Также здесь есть настройка гарантированной доли CPU. Она находится под вкладкой burstable:

4) Настройте размер базы. Здесь же можно выбрать тип диска: SSD или HDD. Они отличаются скоростью чтения и записи:

5) Настройте параметры подключения к базе данных: имя, логин и пароль. Про настройки локали можно подробнее почитать в документации. Их можно оставить по умолчанию:

6) Выберите сеть, в которой будет доступна ваша база данных. Чаще всего в процессе обучения не требуется более одной сети.

Здесь можно поменять зону доступности и сделать базу данных доступной из интернета. Если не сделать этого, то доступ к базе будет только с вашей виртуальной машины:

7) Выберите время начала резервного копирования, срок хранения резервных копий и окна обслуживания. Это важные настройки, если ваш кластер нужен для реального приложения.

Для обучения выбирайте время, когда вы обычно не занимаетесь. Обязательно воспользуйтесь опцией «Защита от удаления» — позволяет не удалить случайно кластер с базы данных.

Здесь есть и другие настройки, но в большинстве курсов они не понадобятся, поэтому не будем на них останавливаться.

Как создать балансировщик

Балансировщик распределяет трафик между виртуальными машинами в одной группе. Это важный элемент современных инфраструктур, который позволяет масштабировать приложение и выполнять zero-downtime deploy.

DigitalOcean

1) На DigitalOcean балансировщик создается во вкладках Network — Load Balancers:

2) Укажите название балансировщика:

3) Выберите серверы, с которых собираетесь перенаправлять трафик. В DigitalOcean можно использовать отдельные дроплеты, группы и лейблы:

4) В конце настройте правила перенаправления трафика — протоколы и порты:

При необходимости выставите расширенные настройки и нажмите «Create Load Balancer»:

Yandex Cloud

Балансировщик находится на вкладках «Инфраструктура и сеть» — Network Load Balancer:

1) Нажмите на кнопку «Создать сетевой балансировщик»:

2) Задайте имя и описание. При необходимости выберите зарезервированный адрес из списка и защиту от DDoS:

3) Добавьте обработчик — аналог правил в DigitalOcean:

4) Выберите группу машин. Если еще не создали, это можно сделать здесь же. После нажмите кнопку «Создать»:

Как создать хранилище файлов

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

DigitalOcean

1) Для создания хранилища нам понадобится сервис Spaces для хранения файлов в DigitalOcean. Переходим на вкладку Manage — Spaces:

2) Выберите регион:

3) Задайте поддомен для хранилища. Здесь можно получить SSL-сертификат от DigitalOcean, либо загрузить свой при наличии:

4) Выберите политику просмотра файлов: разрешить всем или запретить. Доступ на скачивание и просмотры файлов можно задавать индивидуально при загрузке:

5) Задайте имя для вашего Space. Оно отображается в ссылке на хранилище:

Yandex Cloud

1) Перейдите на вкладку «Инфраструктура и сеть» и выберите Object Storage:

2) Нажмите кнопку «Создать бакет»:

3) Задайте имя, выберите лимит и настройте политики доступа. Также настройте «Класс хранилища»:

  • Стандартное хранилище — предназначено для активной работы с объектами
  • Холодное хранилище — предназначено для длительного хранения объектов с редкими запросами на чтение.

Чем еще можно заменить DigitalOcean

Облачные провайдеры активно развиваются в России, поэтому есть другие подходящие альтернативы DigitalOcean. Например, среди столь же мощных и простых сервисов можно отметить Selectel. Он уже обладает большим комьюнити и хорошей документацией.

А вот еще несколько отличных аналогов для российских пользователей:

  • timeweb
  • vk.cloud
  • sber
  • mts
  • megafon
  • 1cloud

На данный момент некоторые из них совершенно не подходят для прохождения курсов на Хекслете, но со временем это может измениться — рынок облачных провайдеров быстро развивается.

Выводы

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

Yandex Cloud — отличная альтернатива. Он ни в чем не проигрывает DigitalOcean, доступен всем пользователям в РФ и покроет ваши потребности при прохождении наших курсов.

Если вы выберете третью альтернативу, можете обратиться за помощью в Хекслет Коммьюнити.

Бесплатные курсы по программированию в Хекслете
  • Освойте азы современных языков программирования
  • Изучите работу с Git и командной строкой
  • Выберите себе профессию или улучшите навыки
Выбрать курс

Аватар пользователя Михаил Краев
Михаил Краев 02 сентября 2022
9
Рекомендуемые программы
профессия
от 6 300 ₽ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 25 апреля
профессия
от 6 183 ₽ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 25 апреля
профессия
от 5 025 ₽ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 25 апреля
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 25 апреля
профессия
от 9 900 ₽ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 25 апреля
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
в разработке
Старт 25 апреля
профессия
Верстка с использованием последних стандартов CSS
5 месяцев
с нуля
Старт в любое время