Меню
Σ 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-шнику).

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

»