medium

Какие бывают хостинги

Выделенный сервер, VPS, KVM, VDS и прочие умные слова.

Каждый сайт в интернете хранит свои основные файлы на хостинге — специальном хранилище для веб-страниц. Настало время рассказать об этой технологии во всех деталях. Будет полезно тем, кто хочет делать много разных сайтов.

Чем хостинги отличаются друг от друга

Любой сайт нужно где-то хранить — все файлы, картинки, CSS-стили и код на JavaScript. Причём это нужно делать так, чтобы все используемые на страницах технологии работали правильно.

Допустим, у вас есть сайт со своей базой данных, где хранится информация о пользователях. Значит, вам нужен такой хостинг, который умеет работать с этой базой. А ещё на этом сайте крутится форум, где все общаются, — значит, нужна поддержка php, чтобы форум мог нормально работать. Получается, что одно из требований к хостингу — поддержка нужных технологий.

Часто бывает так, что на старте сайт целиком занимает не очень много места — 200–300 мегабайт. Но через пару лет он вырастет до 2–3 гигабайт — это в 10 раз больше, чем в начале. Нагрузка тоже вырастает: чем больше посетителей — тем сильнее нагрузка на хостинг. Если вычислительной или дисковой мощности не хватает, сайт будет тормозить.

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

Получается, что хостинги отличаются:

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

Виртуальный хостинг

Чтобы было понятнее, давайте проведём аналогию между хостингом и едой.

Виртуальный хостинг — это кафе. Меню составлено заранее, есть определённый выбор блюд. Если что — повар может положить в бургер побольше зелени или заменить сыр на ветчину, но это всё равно останется бургером. Если вы пришли в суши-бар, вам вряд ли подадут там тарелку борща, потому что этого нет в меню.

С виртуальным хостингом всё то же самое: есть набор сервисов, которые даёт хостинг, выделяется часть места на диске и немного процессорного времени. Всё это упаковывается в одно целое и получается тарифное предложение. Разные тарифы — разный набор сервисов и ресурсов. Нужен простенький личный сайт — покупаешь тариф «Простенький». Захочешь вырасти — покупаешь тариф «Большой» и растёшь. Но если потребуется что-то больше, чем тариф «Большой», — ну, простите.

Обычно виртуальные хостинги берут под простые сайты, лендинги и те корпоративные сайты, которые не требуют особенных технологий для работы. Стандартное меню современного виртуального хостинга: домены, множественные сайты, php, база данных, почта, сертификаты безопасности.

Есть большой настоящий мощный сервер — с настоящим жёстким диском и процессором. На нём хранятся файлы десятков, сотен или тысяч клиентов.

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

Дело в том, что процессорное время на работу каждого хостинга на сервере — общее. Если за этим не следить, то один человек может вычерпать весь ресурс, и тогда сайты остальных клиентов начнут тормозить. Программа за этим следит и ограничивает процессорное время. Нужно справляться с нагрузками побольше? Бери тариф выше или покупай виртуальный сервер.

Это как если бы в коммунальной квартире был диспетчер общих ресурсов: ванны, туалета и кухни. Петров, время вышло, освобождай общественное помещение!

Виртуальный сервер

Виртуальный сервер, выделенный сервер, VDS, VPS — это всё практически одна и та же технология. Смысл её в том, что под такой сервер гарантированно выделяются определённые ресурсы, которые клиент может нагружать как хочет. Снова поясним на еде.

Если виртуальный хостинг — это кафе, то виртуальный сервер — это вас пускают на кухню того же кафе и дают в распоряжение одного повара. Он может приготовить, что скажете, из продуктов, которые есть на кухне или которые вы принесёте с собой. Отдельный повар будет готовить быстрее, особенно когда на остальной кухне много заказов.

Виртуальный сервер устроен точно так же — есть реальный сервер, ресурсы которого равномерно поделили между участниками. Грубо говоря, если на сервере стоит процессор на 16 ядер, а всего виртуальных серверов на нём крутится четыре, то каждый получает в распоряжение по 4 ядра. Их можно загружать как угодно, на работоспособность остальных ядер это не повлияет. Хостер гарантирует, что какой бы ни была нагрузка на соседних виртуальных серверах, вашему виртуальному «повару» всегда будет выделен оговорённый объём ресурсов.

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

Минусы: стоимость выше, чем у виртуального хостинга, и нужно разбираться в администрировании серверов. У виртуального хостинга есть панель управления: хочешь новый сайт — тык! — он создался. Хочешь новую базу данных — тык! — она завелась. В виртуальном сервере есть только командная строка, которой нужно уметь пользоваться. Можно, конечно, установить и панель управления, но это требует знаний. Покупая виртуальный сервер, задумайтесь, кто и за какие деньги будет его администрировать, без этого никак.

Виртуальный сервер нужен тем проектам, где есть большие нагрузки и должен быть гарантированный ресурс по железу. Ещё их выбирают те, кому для сайта нужен нестандартный софт: например, особая версия PHP, интерпретатор NodeJS или особая база данных.

Обычный сервер

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

Реальный сервер даёт вам полную свободу — это ваше железо, оно всё работает на вас и ограничено только тем, насколько навороченную железку вы ставите. Не хватает памяти — вставляете новую планку памяти в сервер. Не хватает процессорной мощности — объединили два сервера в кластер. Мало места на диске — добавляете ещё один диск или запускаете RAID-массив.

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

Ещё один минус — сервер нужно где-то содержать, ему нужна услуга co-location в дата-центре. А если сервер стоит у вас дома, нужно следить, чтобы Барсик на него не нагадил, а интернет-провайдер не выдал ему новый IP-адрес.

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

Ещё важен вопрос законодательства: если вы храните персданные россиян, железки с вашими сайтами должны физически располагаться в России, чтобы господа полицейские смогли в случае чего заехать в дата-центр с масками и красиво их извлечь (а заморские господа, соответственно, не смогли).

Специализированные хостинги

И есть ещё одна ниша — специализированные сервисы: хранилища файлов, сети дистрибуции контента, облачные базы данных, долгосрочные архивы.

Например, если у вас онлайн-школа и вы хотите крутить на сайте много разных видео, то имеет смысл хранить их в CDN — content distribution network. Загружаете свои видеоролики на сервер, а система оптимизирует хранение так, чтобы давать высокую скорость отдачи во все регионы.

Или у вас огромный архив данных по старым транзакциям клиентов. Они вам не нужны каждый день, но хранить их вы обязаны. Хранить эти данные на основном сервере нецелесообразно: вы ими не пользуетесь, а за место на диске платите. Тогда вам нужен сервис долгосрочного хранения типа Amazon Glacier: закидываете в него данные, и Амазон уже беспокоится о том, чтобы они уцелели в случае глобальной катастрофы. Извлечение данных из таких сервисов занимает много времени, но и хранение стоит недорого.

Что выбрать

Если вы начинающий сайтостроитель, берите виртуальный хостинг. В интернете их тысячи, выбирайте тот, который подходит вам по параметрам и цене (подсказка: они почти одинаковые, для старта подойдёт любой). Как только освоитесь — переходите на выделенный сервер, он даст больше возможностей. Заодно освоите новую профессию системного администратора.

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
medium