Работа менеджера заключается в том, чтобы руководить процессом. А чтобы им руководить, нужно понимать, что происходит внутри и с чем работает команда. В нашем случае, все крутится вокруг веба – так что и интересуют нас интернет-технологии: сайты, приложения. Поговорим о том, на чем все это держится и где оно хранится – о хостингах и доменах. Ниже две версии – попроще и посложнее (но не так прямо чтобы совсем).
Версия попроще
Адрес, который ты вводишь в браузере – это доменное имя. То место, где лежит сам сайт, доступный по домену – это хостинг. Они не связаны между собой – одно направляет на другое, домен – всего лишь направление. Домен может работать без хостинга (только не будет ничего показывать). А вот хостинг без домена работать не может – ибо как на него попасть, когда не знаешь, где он находится.
Хостинг
Хостинг – место на удаленном сервере, аренда которого покупается у провайдера. Хостинги бывают разными – есть совсем маленькие, на лендинг-пейдж, а есть целые комбайны – VPS или «железные серверы» (как в фильмах показывают). Стандартных видов хостинга четыре: шаред хостинг, VPS, выделенный хостинг и облачный хостинг. Домен это как табличка на доме, которую можно перевешивать с дома на дом – куда повесишь, туда люди и поедут. Хостинг – сам дом, где все хранится.
Шаред-хостинг (shared) – многоэтажный дом в спальном районе твоего замкадья. В нем живет тысяча человек, и делят общественные коммуникации между собой. Решил сосед с пятого этажа себе зачем-то набрать тысячу литров воды – у всего дома напор в трубах просел. Разлил он случайно эту воду на пол – потекло у всех. То бишь, если на шаред-хостинге у кого-то резко возрасла посещаемость сайта, то у всех остальных сайты будут работать медленно. В таком «доме» есть КСК (сам провайдер) – если кто-то зальет соседей, его накажут.
VPS – следующий уровень, куда съезжают те, потребности которого постоянно ущемляют соседей по шареду. Сравнить его можно с коттеджем, разделенным на несколько хозяев. Здесь вы живете в одном строении (сервере), но если у соседа что-то произойдет – тебе будет все равно. Такое себе уютное изолированное место с гарантированным предоставлением ресурсов. Стоит VPS-коттедж тоже дороже шареда-квартиры. Здесь КСК (техподдержка) присматривает только за коттеджным городком, и если хочешь, чтобы они и у тебя во дворе порядок наводили, надо будет приплатить.
Выделенный сервер – серьезная, железная штуковина. Это – частный особняк за высоким забором. Здесь тебе кардинально плевать, что там у соседей – они на тебя абсолютно никак не влияют. Отрывайся как хочешь – в пределах своих ресурсов. Ресурсов у тебя тут обычно тоже в разы больше, чем на VPS и в тысячи больше, чем были на шареды. Вот только заниматься всеми делами в доме и во дворе придется самому. Нанимаешь свою охрану, свой КСК (может даже целую обслуживающую компанию) и крутишь на нем свой проект икс.
Облачный хостинг. Это – бизнес-центр, в котором ты – растущая компания. Облачный он оттого, что ты можешь оперативно расширять ресурсы или наоборот, сокращать их – под потребности. Снимал офис 20 квадратов, тут клиентуры привалило, взял и соседнее помещение. Потом раз – и по всему этажу бегают ножки тех, кто работает на тебя. Случился кризис, у клиента закончились деньги – переехал обратно в свои 20 квадратов. По применению ближе всего к коттеджу – здесь тоже есть КСК, которое приглядывает за двором.
Кроме доменов и хостингов, есть электронная почта. Ее можно хранить на том же сервере (хостинге), а можно переправлять куда-то еще. Это как отправка по фактическому и юридическому адресу в реальной жизни. Но, коли ты решил остановится на «простой» версии этой статьи – сходи к программисту, расскажи в чем твоя задача, пусть сам разбирается.
Версия посложнее
Ну как, посложнее – скорее, продолжение. Здесь расскажу интересующимся, как оно все устроено изнутри и зачем то или иное нужно. Практические примеры ниже – в пределах моего любимого регистратора и хостинг-провайдера – казахстанского PS.kz. Я видел с десяток разных хостинг-провайдеров, но PS оказался самым удобным, с самыми здравомыслящими сотрудниками. Можете сами попробовать несколько, потом расскажете.
IP-адрес
Самая важная единица связи в интернете – IP-адрес. Именно он является реальным адресом, а не домен, который всего лишь пересылает пользователя на ресурс, который пользователь ищет.
IP-адрес есть у любого сайта, любого приложения, любого компьютера или телефона – это его идентификатор для сети интернет. Только что, если речь идет о приложении или сайте, мы ищем сервер, где лежат их файлы, а в случае клиента (телефон/компьютер) – ты пользуешься айпишником, предоставленным тебе провайдером. Есть еще локальные IP-адреса – их принцип тот же: включить тебя в сеть, только ограниченную локальной же сетью. Например, в офисе стоит принтер, и у него есть IP адрес, но доступ к нему из интернета получить нельзя – только из офиса. Поэтому ты можешь распечатать с него что-то, только будучи подключенным к локальной сети.
Интернет зародился еще в 60-х годах, в виде сети ARPANET. На его основе в восьмидесятые разрабатывали то, что сейчас называют интернетом. Доступ к нему можно было получить с 1991 года, а в 1993 году появился первый браузер – Mosaic. И все это использовало IP-адреса.
В глобальной сети IP бывает две версии: IPv4 и IPv6. Первый вид (IPv4) уже исчерпал доступное количество адресов – всего их 4294967296 штук. Со вторым попроще, у него емкость покруче. IPv4 выглядит так: 192.168.1.1 (это твой локальный адрес, кстати – адрес твоего роутера). Или вот 127.0.0.0 – так называемый localhost, куда нужно отправлять все крякнутые приложения, чтобы они не связались со своим сервером :) А вот IPv6: 2a00:5da0:0:1::194 (это адрес сервера PS.kz). И это все упрощенная запись адресов – под капотом у них единички и нули.
IP-адрес можно купить отдельно (взять в аренду, вернее). Можно взять их пачкой, для собственного сервера. Если покупаешь шаред-хостинг, то этот вопрос тебе не будет волновать – там уже все есть.
Домен
Домен – это то, что ты вводишь в адресной строке, чтобы получить доступ к ресурсу. Например, https://salakhmir.ru/. У каждого работающего домена есть ресурсные записи, которые подсказывают, куда отправлять пользователя при обращении по домену – среди них как раз тот IP-адрес. По сути, ты и переходишь по IP-адресу, но ведь куда удобнее запоминать адреса словами, а не цифрами.
На примере моего домена, при обращении по адресу, тебя пересылает на IP 195.210.46.49. Далее идет процесс нахождения сервера, на котором лежат файлы сайта. IP-адрес работает по принципу индексов на домах. В итоге, ты читаешь вот эту статью.
Уровни доменных имен
Домены имеют уровни – слышал же выражения типа «домен третьего уровня». На примере того же моего сайта, домен первого уровня это .ru – только окончание – еще его называют «доменной зоной» или «домен верхнего уровня – TLD». Доменные зоны бывают национальными – принадлежащими конкретной стране, или созданными по тематическому принципу – COM, INFO, что угодно – гляньте на PS. Самостоятельно создать TLD нельзя – подается заявка (которая, кажется, стоит 200 000 долларов), потом ее рассматривает комиссия и решает, нужна такая зона или нет. Скорее всего нет, и деньги тебе не вернут. Если, теоретически, доменную зону создадут, то нужно будет заниматься ее поддержкой.
Есть домены второго уровня – по сути, почти каждый первый домен. salakhmir.ru – домен второго уровня. Третьего уровня, соответственно, был бы домен типа third.salakhmir.ru, четвертого – fourth.third.salakhmir.ru и так далее. Забегая вперед, домены third.salakhmir.ru и salakhmir.ru могут быть не связаны между собой – абсолютно никак, за исключением внешней похожести. И сайты они могут нести под собой свои собственные.
Провайдеру оплачивается один домен – второго уровня, остальные создаешь бесплатно и сам. Купить домен нельзя физически – в любом случае, ты платишь за аренду. При том, сами домены могут стоить миллионы денег – например, если это очень красивый домен, который требуется большой корпорации. Хотя, скорее всего, ее юристы у тебя его и так отожмут – но это тема, выходящая за рамки этой статьи.
Так как домен сам по себе ничего не значит, и куда-то кого-то ведет, то нам стоит рассмотреть тему, как именно это настраивается. Делается это в ресурсных записях домена.
Ресурсные записи домена (DNS)
После покупки домена на PS.kz, по умолчанию настраиваются записи вида NS1.PS.KZ и NS2.PS.KZ. Когда ты купишь хостинг, работать это будет так: при обращении по домену, браузер будет биться в эти NS-серверы. Когда запрос попадет на один из них, система внутри посмотрит: а есть ли сайт с названием домена на каком-то из серверов PS. Если есть – получишь результат. Если нет – получишь ошибку.
Так тоже можно жить, и это самый простой сценарий. Но не рекомендую: куда приятнее управлять процессом, создавая DNS-зону самому. Делается это сразу после покупки домена, чтобы потом не было больно перенастраивать домен – когда поймешь, к чему нам DNS.
А DNS – это стек записей-настроек домена. DNS рассказывает «клиенту», куда и зачем обращаться при попытке получить сайт по домену, или там почту отправить. Тот же DNS сильно упрощает жизнь при подтверждении прав владения доменом во всяких гугл-вебмастерах, которые мы используем при настройке SEO-оптимизации. Ниже – скриншот с ресурсными записями моего собственного сайта.
- A-запись: к какому серверу обращаться при попытке попасть на сайт
- MX-запись: к какому серверу обращаться при попытке обмена почтой
- CNAME: алиас адреса или подтверждение прав на домен
- TXT-запись: в моем случае, SPF Яндекс.Почты и подтверждение владения в каком-то сервисе гугла
Честно говоря, у меня в DNS бардак. В настройках указаны три А-записи – это все отсылки к серверу. И сервер в нашем случае один. «Обычный» домен (второго уровня) = этот самый сайт, а остальные пункты с A-записью – поддомены (и ни один не работает). Во второй строке снизу указана CNAME-запись c WWW – в этом случае, мы сообщаем, что WWW это не отдельный субдомен (коим он бы стал, если бы мы прописали под него A-запись, а алиас для основного сайта – в «значении» это и написано. В строках есть две записи с Yandex в значениях – в обоих случаях, это почта. MX – ресурсная запись почты Яндекс, а нижний CNAME – подтверждение права владения доменом.
Почта и сайт в моем случае находятся на разных серверах. Можно создать сто субдоменов и отправить их на разные серверы – это все делается через редактирование DNS-зон. Если бы были прописаны дефолтные NS-ы хостинг-провайдера (о которых я писал выше – NS1.PS.KZ), это тоже можно было бы сделать – через панель управления хостингом. Но в этом случае ты «привязан» к A-записи: сменил хостинг – потерял все. В этом кейсе, можно отключить сервер, и останется работать та же почта, что находится на Яндексе.
При перенастройке DNS, ожидание реакции может занять до суток. При том, будешь наблюдать такие приколы: у одного провайдера они уже обновились, а у другого еще нет. Учитывай это, на случай если вдруг пообещал клиенту запуск проекта в 12 часов дня, запланировав себе переписать DNS-адреса домена в 11:55. Связано это с тем, что каждый провайдер кэширует DNS-адреса и обновляет их только периодически. Каждый со своей периодичностью.
Хостинг
Хостинг в чистом виде – это компьютер, который стоит где-то и подключен к интернету. Ты мог бы сделать свой макбук сервером, и хранить свой сайт на нем, если бы заморочился. Только что накрылся бы он очень быстро – в качестве серьезных серверов используются машины с не менее серьезным железом. Иначе как бы они выдерживали гигабайты полезной информации и десятки тысяч интересующейся ею пользователей.
Если ты ставишь свой сервер, то у тебя на ней должна висеть куча дополнительных навесов. Начиная от операционной системы – серверы бывают на Unix (Ubuntu, например) и Windows. Есть на Unix-оидах аббревиатура LAMP – Linux, Apache, MySQL, PHP. Это все основной набор – операционка Linux, обработчик HTTP Apache (или Nginx), сервер баз данных MySQL и обработчик самого PHP – основного исполняемого языка программирования. Конфигурации бывают разными – может, у тебя сайт на Ruby написан, или на Python.
Все, что выше, в равной степени относится к VPS-серверам и к серверам «целиком». Всеми этими настройками занимается специально обученный человек – системный администратор. И после установки этих пакетов ему будет, чем заняться – это только вершина айсберга. Собственно, я не сисадмин, и подробнее рассказать не могу (максимум – LAMP настроить), так что за дальнейшей информацией обращайся к тем дядькам – системным администраторам.
Шаред-хостинг. Он в этом плане идеален – на нем и LAMP настроен, и версия PHP меняется через панель за 3 минуты, и phpMyAdmin стоит, и вообще – рай. Ах да, вот эта панель управления хостингом, которую ты встретишь, когда купишь шаред, тоже можно установить на свой сервер. За лицензию только заплатишь + за поддержку тому же сисадмину. Панелей существует несколько, я сталкивался с cPanel и Plesk. Обе достаточно удобны, ничего сказать не могу. Работаю сейчас преимущественно с Plesk (потому что преимущественно с PS.kz).
На этом, пожалуй, пока что все. В этой теме есть еще много вещей на поверхности, о которых можно рассказать (про SSL, например). Встретимся в какой-нибудь следующей статье.