Хостинг сегодня — это комплекс решений, которые позволяют разместить в сети что угодно — от сайта-визитки, до объёмной инфраструктуры. Чаще всего хостинг предоставляется в виде услуги хостинг-провайдером — вы арендуете у провайдера мощности для размещения своих файлов на его серверах и получаете определенным образом к ним доступ из интернета.
Подробнее о том, что такое хостинг, можете прочитать здесь. А в этой статье пойдет речь о трех основных видах хостинга и их отличиях. Также расскажем, для каких задач каждый из них подходит лучше всего и перечислим главные параметры, на которые вы можете ориентироваться при выборе того или иного типа хостинга.
Выделенный сервер, VDS и облако
Самыми популярными сегодня считаются три вида хостинга — выделенные серверы, виртуальные серверы (VDS) и облака. Попробуем разобраться, чем они отличаются.
Выделенный сервер — сервер сам по себе, физическое «железо», которое размещается в дата-центре. Если в поисковике ввести «дата-центр», можно увидеть стройные ряды серверных стоек в машинном зале: одна «полочка» в такой стойке и есть выделенный сервер. Его еще называют «дедиком» — от английского «dedicated server». Арендуя такой сервер у хостинг-провайдера, вы получаете в своё распоряжение серверное железо, уже подключенное к сети, с предустановленной операционной системой. Остальное программное обеспечение — в зависимости от провайдера и желаний клиента может быть совершенно различным.
Виртуальный сервер, или VDS (virtual dedicated server, VPS, виртуалка, виртуальная машина, ВМ — всё это названия одной и той же услуги) — по своей сути, те же мощности физического сервера, которые программно «поделены» на части и каждая часть изолирована так, что арендованные клиентом ресурсы гарантированно принадлежат только ему. При этом, по сравнению с выделенным сервером, виртуальный отличается большей гибкостью в плане добавления ресурсов, вроде памяти или дискового пространства.
Способ изоляции вычислительных мощностей для каждого отдельного пользователя называется виртуализацией, а программа, которая это делает — гипервизором. Гипервизоры бывают разные и могут использовать разные форматы виртуальных машин, поэтому перенос виртуального сервера целиком от одного провайдера к другому — редкость.
Облако (cloud service) — услуги, связанные с распределенными вычислениями, хранением данным или другими задачами не на определенном оборудовании, а в виртуальном виде. Представьте, что у вас много физических серверов, а на них запущено много виртуальных машин. И при этом ваши файлы могут находиться не на одном виртуальном сервере, как в случае с VDS, а быть распределены по разным виртуальным машинам и при этом иметь копии данных. Конечно, так по умолчанию бывает не всегда и есть множество нюансов, но в целом, такая система больше защищена от потерь данных и еще более гибка в плане изменения ресурсов.
Чтобы было проще сравнить три типа хостинга, разберем на примере.
Выделенный сервер — как отдельный дом. У него один владелец, который устраивает всё так, как ему хочется. Но если захочешь расширить пространство, придется заниматься строительством.
VDS как многоквартирный дом. Клиент — арендатор в отдельно взятой квартире. Хочешь квартиру побольше — можно из однушки переехать в трехкомнатную.
Облачные сервисы — как большое офисное здания. При наличии большого числа посетителей (пользователей на сайте, или вычислений) можно арендовать офис побольше, два рядом, или весь этаж. А потом, при необходимости, ужаться до маленькой каморки.
Теперь, чтобы вам было еще проще выбрать, разберем основные параметры каждого типа хостинга и задачи, для которых они подходят лучше всего.
Выделенный сервер
Производительность.
У выделенного сервера производительность напрямую зависит от
характеристик выбранного оборудования — тактовой частота процессора,
типа и частоты памяти, типа дисков. Например, процессор 5,3 ГГц будет
работать быстрее процессора с 2,4 ГГц, как и NVMe диски будут быстрее,
чем HDD.
Однако если взять три услуги (дедик, VDS, облако) с одинаковыми
параметрами (CPU, RAM, диск) — то на выделенном сервере работать они
будут эффективнее: все компоненты — как вычислительные, так и дисковая
система, на которой хранятся данные — располагаются на одной материнской
плате, данные между компонентами передаются по высокоскоростным шинам.
Можно выбрать процессор, оперативную память и диск — в зависимости от
своих потребностей и задач, в любом случае вы можете получить максимум
от этого оборудования — т.к. будете являться его единственным
пользователем.
Отказоустойчивость.
Обычно современные серверы оборудованы 2-мя блоками питания, 2 или более
линиями питания. Диски — по усмотрению клиента, но также рекомендуется
брать их попарно и формировать raid массив — raid 1 или raid 10. В этом
случае при выходе из строя диска — и данные сохранятся, и сервер
продолжит работу без простоя. Выделенный сервер - одна из наиболее
отказоустойчивых услуг. Проблемы с доступностью могут возникнуть только в
случае неполадок сетевого оборудования дата-центра.
Масштабирование.
Напрямую связано с возможностью установки дополнительного оборудования в
сам сервер. Количество дисков которые можно разместить, максимально
доступное количество ОЗУ и возможность замены процессора — всё это
требуется узнать перед арендой услуги, если вы понимаете, что вам может
потребоваться апгрейд.
Добавить ОЗУ, диск — занимает по времени от 30 минут и более, т. к.
оператору потребуется выключить сервер, демонтировать его из стойки,
разобрать, заменить комплектующие, и затем все собрать и установить.
Период заказа.
Минимальный — как правило, месяц, максимальный — год. У некоторых
провайдеров есть установочный платеж — некая сумма, взимая в начале
использования услуги, она обычно дороже стоимости минимального периода
заказа.
У нас при заказе выделенного сервера установочного платежа нет.
Применение.
Выделенные серверы лучше всего подходят для размещения проектов,
требовательных к высокой производительности со стороны процессора и
дисковой системы, а также для проектов со сложной архитектурой (при
объединении нескольких серверов). Это могут быть:
- высоконагруженные сайты,
- хранение и обработка больших объемов данных (как правило аренда сервера с большим дисковым объёмом дешевле, чем арендовать пространство в облаке),
- вычислительные задачи, расчеты (в том числе распределенные),
- сервисы для видеоконференцсвязи,
- системы виртуализации, оркестрации,
- размещение тестовых и сборочных сред,
- CRM системы, системы управления персоналом, бухгалтерские и деловые программы, рассчитанные на большой объём базы данных и большое число пользователей.
Виртуальный сервер (VDS)
Производительность.
Производительность в этом случае зависит от «родительского» сервера, на
котором размещены все виртуальные машины конкретного тарифа. Провайдерам
выгоднее (с точки зрения закупки оборудования и размещения его в
дата-центре) — когда на одном мощном многоядерном сервере размещается
множество пользователей ВМ.
Производители серверного оборудования пока не научились делать
процессоры, в которых высокая тактовая частота была бы совмещена с
большим числом ядер (30-40 ядер и более), поэтому как правило у
виртуальных серверов средняя производительность. Во-первых — из-за
большого количества «соседей» на родительском сервере. Во-вторых — из-за
низкой тактовой частоты (2,0-2,4 ГГц). Однако сейчас у многих
провайдеров есть решение этой проблемы — тарифы «HighCPU» (у нас,
например, CPU.Турбо 2.0) — с высокой тактовой частотой — от 3.7 до 5.3 ГГц.
Отказоустойчивость.
На уровне родительского сервера — если он по каким-то причинам выходит
из строя — все виртуальные машины на нём перестают работать. Однако
такой сценарий маловероятен, т. к. всё построено на базе выделенных
серверов — про их отказоустойчивость сказано выше.
Масштабирование.
Более гибкое, чем в выделенных серверах, но по-прежнему ограничено
максимальными параметрами родительского сервера. Тем не менее, многие
тарифы позволяют изменять количество выделяемых ядер ВМ и ОЗУ — в
зависимости от необходимости, например если у клиента интернет-магазин с
сезонным товаром. В период пиковой активности и максимальной
посещаемости можно расширить тариф, что позволит серверу обрабатывать
больше запросов. Процесс занимает несколько минут.
Период заказа.
Минимальный период также в подавляющем большинстве случаев — месяц.
Однако почти у всех провайдеров тарификация посуточная — например, чтобы
при изменении параметров сервера, клиент мог использовать уже внесенные
средства.
Применение.
Для размещения простых проектов и проектов, не слишком требовательных к вычислительным ресурсам:
- статичные сайты,
- низко и средне нагруженные интернет-магазины,
- сервисы для совместной работы: мессенджеры, почта, CRM и т.д.,
- хранение средних объемов данных,
- размещение собственных сервисов, ботов.
Облако
Производительность.
Как бы красиво и таинственно ни звучали все термины, связанные с облаком
— нужно понимать, что фактически это еще один уровень абстракции, а все
вычисления, запись и хранение данных всё равно производятся на
выделенных серверах. Только в этом случае множество серверов с помощью
специального программного обеспечения объединены в кластеры. Чаще всего
их два — вычислительный и кластер хранения данных, находящиеся в одной
сети друг с другом.
Такой подход позволяет быстро создать виртуальный сервер с параметрами, превосходящими выделенный сервер (т. е. теперь мы ограничены не вычислительной мощностью одного сервера, а вычислительной мощностью всего кластера). Тот же принцип работает и с дисковой системой. Также нужно понимать что клиент находится не в одиночестве на целом кластере — как и на VDS, вычислительные мощности распределяются между несколькими пользователями и при этом они также изолированы.
Масштабирование.
Наиболее простое среди всех перечисленных услуг. Пользователь может как
увеличивать параметры отдельной виртуальной машины (вертикальное
масштабирование), так и увеличивать их количество (горизонтальное
масштабирование). А также всё сразу =)
Все виртуальные серверы, к тому же, будут находиться в одной
высокоскоростной локальной сети, при этом пользователь может
самостоятельно назначить правила, по которым они могут передавать данные
друг другу (например, добавить балансировщик нагрузки, или перенести
IP-адрес с одного сервера на другой).
Отказоустойчивость.
Максимальная из обозначенных услуг. Данные записаны в нескольких местах
(например, внешние хранилища), равно как и виртуальные машины чаще всего
запускаются на нескольких серверах (в кластере). В случае выхода из
строя одного или нескольких серверов, отказоустойчивость облачного
сервиса позволит продолжить работу без перебоев.
Период заказа.
Облачные решения — наиболее гибкие из представленных, в том числе в
плане оплаты. Минимальное время заказа — 1 час, тарификация
осуществляется только за фактически потреблённые ресурсы.
Применение.
Для размещения проектов со сложной распределенной архитектурой, средне- и
высоконагруженных приложений, проектов, требовательных к быстрому
масштабированию по требованию:
- средне и высоконагруженные сайты и интернет-магазины,
- сервисы для совместной работы: мессенджеры, почта, CRM и т.д.,
- хранение и обработка больших объемов данных,
- размещение собственных сервисов, ботов,
- размещение тестовой и сборочной среды.
В таблице ниже отметили все основные моменты, чтобы было нагляднее.
Основные параметры разных типов хостинга на примере наших проектов