Меню
Σ 003. Домен, VPS и стек для CYBERSEED / SIGMA

Кадр из фильма Appleseed Alpha
Возьмем упрощенную метафору для нашего первого цифрового продукта — дом.

Для дома нужна земля, адрес и инструменты с материалами.

Землей будет виртуальный выделенный сервер.
Адресом выступить домен второго уровня, привязанный через IP-адрес к земле.
А инструментарием будет технологический стек.

Аналогия возможна и притянута за уши, но для начала сгодится.

«
Домен
У меня он уже есть, а вам, если таковым не располагаете, нужно его зарегистрировать.
  • 1
    Регистрация домена
    Тут каждый во что горазд. У меня подход един, если возможность такая есть. Арендую домены в зоне .com и .ru. С домена.ru делаю редирект на домен.com.

    Домены в зоне .com регистрирую в namecheap, а в зоне .ru а mastername (чьим партнером являюсь).

    Как вы поступите решать вам, но домен должен быть.

    Для проекта CYBERSEED / SIGMA я буду использовать домены appdevops.ru и appdevops.com
  • 2
    DNS-хостинг
    Чтобы управлять доменом полноценно, нужно иметь возможность работать с его dns-записями.

    Это нужно для: делегирования домена; создания всевозможных записей для подтверждения прав на домен в сторонних сервисах; настройки почтового сервера и т.п.

    Из бесплатного и хорошо работающего могу рекомендовать DNS-хостинг от Яндекса. На него у меня и делегированы домены, также использую Яндекс, как сервер для "корпоративной" почты.

    Хостинг-провайдер, у которого вы арендуете VPS, также может предоставлять бесплатный DNS-хостинг.
  • 3
    Привязка домена к ip-адресу VPS
    Нам на DNS-хостинге нужно прописать в dns-записях ip-адрес VPS.

    Возвращаясь к теме управления dns-записями. Есть три основных варианта: управление на стороне регистратора, на стороне стороннего DNS-сервера или на стороне хостера. Что вы выберите (с учетом возможностей всех трех "игроков") — решать вам. Я стараюсь разделять функции. Т.е. есть: регистратор, DNS-сервер (тоже сторонний сервис), провайдер услуг хостинга и VPS.
VPS
Еще называют VDS — виртуальный выделенный сервер. Нужен обязательно!
  • 1
    Хостинг-провайдер
    Перед написанием этой заметки я провел небольшое исследование на тему где можно арендовать дешевый, но более или менее приличный выделенный сервер.

    Опыт по этому делу у меня есть... для кого-то внушительный, для кого-то наоборот, суть не в этом. Сейчас для работы в рамках проекта CYBERSEED / SIGMA я остановился на msk.host (реф. ссылка).

    Даже предлагаю через меня у них услуги заказать, сегодня вот партнерку оформил. Так что переходите к ним на сайт по этой ссылке: https://msk.host/?from=1614911 или при покупке указывайте промокод "promo_1614911". Тогда я вам, к их и так небольшой цене, смогу, вроде как, скидку сделать (или как-то иначе будет для вас дешевле - чуть позже уточню все подробности).
  • 2
    Тарифный план
    Нужно определиться с конфигурацией виртуального сервера. Для полноценной работы нам конечно же понадобятся VPS на KVM, но дешевле арендовать VPS на OVZ. Если не знаете разницы и не успеете загуглить эту тему, то в следующих заметках прочтете у меня.

    У рекомендуемого мною хостера (пока я его советую заочно, но по формальным признакам и тону общения с тех. поддержкой думаю с ними можно работать) есть два промо-тарифа. Но, это полноценные предложения, не временные и без хитростей особых. Они на OVZ - это минус, но стоят 51р. и 103р. и это несомненный плюс. Для начала они нам подойдут.

    Позже можно будет арендовать VPS-ку на KVM за 259р. Тоже очень хорошая цена. Характеристики и нюансы рассмотрим позже.

    Но, если у вас уже есть любимый/проверенный хостинг-провайдер или уже арендуете VPS, то отлично — используйте! Только, если идти в унисон моему образовательному треку, то нам нужен пустой виртуальный сервер, чтобы с азов всё хорошенько (хоть и в экспресс-режиме) изучить.
  • 3
    SSH
    Если вы знаете, что за зверь это такой, то отлично, если нет, то узнаете. С помощью этого сетевого протокола мы будем управлять своей операционкой и всем что там ещё понаставим, которые крутятся на арендованном VPS.

    Если вы линуксоид — вы на коне, если как я то там, то сям — на муле, а если виндузятник, то сами додумайте ;) Про яблочников ничего сказать не могу — надкусанные проходят мимо моей жизни, может когда-нить в будущем, но пока я использую Ubuntu и Windows.
Стек
Получается мы освоим с вами так называемый full-stack. От бэкенда до фронтенда, вместе с администрированием.
  • 1
    AppDevOps
    Под AppDev-ом я подразумеваю Application Development — разработку приложений в широком смысле, не только мобильных приложений или сервисов, а любого цифрового продукта.

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

    В AppDev-е сидит как Backend-разработка, так и Frontend.

    Если же смотреть на AppDevOps целиком, то это то, что находится под капотом цифрового продукта — его технологическая начинка, со всем инструментарием, навыками и процессами.
  • 2
    Используемые технологии
    Теперь бегло перечислю основные (но далеко не все, да и тут могут быть изменения) элементы:
    • HTML5 и CSS.
    • Язык программирования JavaScript.
    • Vue.js — JavaScript-фреймворк.
    • Node.js — платформа и среда выполнения кода на JavaScript.
    • Express.js — фреймворк веб-приложений для Node.js.
    • MongoDB — NoSQL база данных.
    • Ubuntu — операционная система на базе ядра Linux.
    • Docker — контейнеризация среды и приложения, автоматизация ее развертки/упаковки.
    • И куча других "элементов".
  • 3
    Альтернативы
    Инструментарий может быть совершенно разным, но верхнеуровневые приницпы схожи. Хотя, как сама архитектура, так и конкретные алгоритмы используемые в разработке могут сильно различаться не только от используемого стека, но и от масштабов продукта, не говоря уже об уровне компетенций человека, принимающего те или иные решения в процессе создания цифрового продукта.

    Никто не отменял другие стеки, тот же LAMP, например. Или иные языки программирования: Golang, Python,.. Есть море фреймворков — как для бэкенда, так и для фронтенда. Но, итак мы тут зарываемся на фул-стек, поэтому не можем объять необъятное и должны на чем-то остановиться или с чего-то начать. Свой выбор, в текущей точке, я сделал.
С данной заметки начинаем что-нибудь делать на прикладном/практическом уровне.

Итак, Σ-практикум:

  1. зарегистрировать домен,
  2. делегировать домен на DNS-хостинг,
  3. арендовать VPS (и привязать домен к его ip-шнику).

Как я выполнил эти пункту распишу в следующей заметке.

»