Выделенный сервер
Выделенный сервер — сервер сам по себе, физическое «железо», которое размещается в дата-центре. Если в поисковике ввести «дата-центр», можно увидеть стройные ряды серверных стоек в машинном зале: одна «полочка» в такой стойке и есть выделенный сервер. Арендуя такой сервер у хостинг-провайдера, вы получаете серверное железо, уже подключённое к сети, с предустановленной операционной системой. Остальное программное обеспечение — в зависимости от провайдера и желаний клиента — может быть разным.
Виртуальный сервер
Виртуальный сервер, или VDS / VPS (virtual dedicated server — VDS, virtual private server — VPS: всё это названия одной и той же услуги), — по своей сути, те же мощности физического сервера, которые программно поделены на части и каждая часть изолирована так, что арендованные клиентом ресурсы гарантированно принадлежат только ему. При этом, по сравнению с выделенным сервером, виртуальный отличается большей гибкостью в плане добавления ресурсов, например памяти или дискового пространства. Способ изоляции вычислительных мощностей для каждого отдельного пользователя называется виртуализацией, а программа, которая это делает, — гипервизором. Гипервизоры бывают разные и могут использовать разные форматы виртуальных машин, поэтому перенос виртуального сервера целиком от одного провайдера к другому — редкость.
Облако
Облачные сервисы — услуги, связанные с распределёнными вычислениями, хранением данных или другими задачами не на определённом оборудовании, а в виртуальном виде. Представьте, что у вас много физических серверов, а на них запущено много виртуальных машин. И при этом ваши файлы могут находиться не на одном виртуальном сервере, как в случае с VDS, а быть распределены по разным виртуальным машинам и при этом иметь копии данных. Конечно, так по умолчанию бывает не всегда и есть множество нюансов, но в целом такая система больше защищена от потерь данных и ещё более гибка в плане изменения ресурсов. Чтобы было проще сравнить три типа хостинга, разберём на примере.
Чем они отличаются
Выделенный сервер — как отдельный дом. У него один владелец, который устраивает всё так, как ему хочется. Но если захочешь расширить пространство, придётся заниматься строительством. VDS — как многоквартирный дом. Клиент — арендатор в отдельно взятой квартире. Хочешь квартиру побольше — можно из однушки переехать в трёхкомнатную. Облачные сервисы — как большое офисное здание. При наличии большого числа посетителей (пользователей на сайте или вычислений) можно арендовать офис побольше, два рядом или весь этаж. А потом при необходимости ужаться до маленькой каморки.
Чтобы вам было проще выбрать, разберём основные параметры каждого типа хостинга и задачи, для которых они подходят лучше всего.
Выделенный сервер | Виртуальный сервер (VDS/VPS) | Облако | |
| Производительность | У выделенного сервера производительность напрямую зависит от характеристик выбранного оборудования — тактовой частоты процессора, типа и частоты памяти, типа дисков. Например, процессор 5,3 ГГц будет работать быстрее процессора с 2,4 ГГц, как и NVMe-диски будут быстрее, чем HDD. Однако если взять три услуги (VDS, облако) с одинаковыми параметрами (CPU, RAM, диск), то на выделенном сервере работать они будут эффективнее: все компоненты — как вычислительные, так и дисковая система, на которой хранятся данные, — располагаются на одной материнской плате, данные между компонентами передаются по высокоскоростным шинам. Можно выбрать процессор, оперативную память и диск — в зависимости от своих потребностей и задач, в любом случае вы можете получить максимум от этого оборудования — т. к. будете его единственным пользователем | Производительность в этом случае зависит от родительского сервера, на котором размещены все виртуальные машины конкретного тарифа. Провайдерам выгоднее (с точки зрения закупки оборудования и размещения его в дата-центре), когда на одном мощном многоядерном сервере размещается множество пользователей c их виртуальными машинами. Как правило, у виртуальных серверов средняя производительность. Во-первых, из-за большого количества «соседей» на родительском сервере. Во-вторых, из-за низкой тактовой частоты (2,0—2,4ГГц). Однако сейчас у многих провайдеров есть решение этой проблемы — тарифы HighCPU — с высокой тактовой частотой — от 3,7 до 5,3 ГГц
| Запись и хранение данных производятся на выделенных серверах. Только в этом случае множество серверов с помощью специального программного обеспечения объединены в кластеры. Чаще всего их два — вычислительный и кластер хранения данных, находящиеся в одной сети друг с другом. Такой подход позволяет быстро создать виртуальный сервер с параметрами, превосходящими выделенный сервер (т. е. теперь мы ограничены не вычислительной мощностью одного сервера, а вычислительной мощностью всего кластера). Тот же принцип работает и с дисковой системой. Также нужно понимать, что клиент находится не в одиночестве на целом кластере — как и на VDS, вычислительные мощности распределяются между несколькими пользователями и при этом они также изолированы.
И здесь важно, как именно они распределяются. У провайдеров есть практика, которая называется переподпиской (она же овербукинг, overcommitment): клиентам суммарно продаётся больше виртуальных ресурсов, чем есть физических — например, на хосте с 64 физическими ядрами раздаётся 128 или 256 vCPU, в расчёте на то, что все машины не нагружают свои ядра одновременно. Это позволяет плотнее размещать клиентов и снижать стоимость услуги, но в пиковые часы виртуальные машины начинают конкурировать за физические ядра: производительность одной и той же конфигурации в спокойное время и под нагрузкой будет разной и зависит она уже не от вас, а от «шумных соседей». Механика распространённая, но подход у провайдеров разный, и это стоит уточнять на этапе выбора: в MWS Cloud Platform, например, от переподписки CPU отказались — ядра закреплены за конкретной виртуальной машиной и две ВМ никогда не делят одно физическое ядро (подробнее — в статье про IaaS в MWS Cloud Platform на Хабре) |
| Отказоустойчивость | Обычно современные серверы оборудованы двумя блоками питания, двумя или более линиями питания. Диски — по усмотрению клиента, но также рекомендуется брать их попарно и формировать raid-массив — raid 1 или raid 10. В этом случае при выходе из строя диска и данные сохранятся, и сервер продолжит работу без простоя. Выделенный сервер — одна из наиболее отказоустойчивых услуг. Проблемы с доступностью могут возникнуть только в случае неполадок сетевого оборудования дата-центра | На уровне отдельных компонентов виртуальная машина наследует резервирование родительского сервера — про него сказано в колонке «Выделенный сервер». На уровне сервера целиком — уже нет: если он по каким-то причинам выходит из строя, все виртуальные машины на нём перестают работать. Автоматического переезда ВМ на исправный сервер в базовой услуге VDS обычно не предусмотрено, и время восстановления зависит от провайдера. Сценарий маловероятен, но исключить его нельзя, поэтому резервные копии здесь остаются зоной ответственности клиента | Максимальная из обозначенных услуг. Данные записаны в нескольких местах (например, во внешних хранилищах), равно как и виртуальные машины, чаще всего запускаются на нескольких серверах (в кластере). В случае выхода из строя одного или нескольких серверов, отказоустойчивость облачного сервиса позволит продолжить работу без перебоев. Обеспечивают её несколько механизмов, которые работают вместе:
При этом облако даёт инструменты, но не выдаёт отказоустойчивость «из коробки»: одна виртуальная машина в одной зоне доступности остаётся единой точкой отказа. Провайдер отвечает за инфраструктуру, клиент — за то, как в ней размещено приложение |
| Масштабирование | Напрямую связано с возможностью установки дополнительного оборудования в сам сервер. Количество дисков, которые можно разместить, максимально доступное количество ОЗУ и возможность замены процессора — всё это требуется узнать перед арендой услуги, если вы понимаете, что вам может потребоваться апгрейд. Добавить ОЗУ, диск — занимает по времени от 30 минут и более, т. к. оператору потребуется выключить сервер, демонтировать его из стойки, разобрать, заменить комплектующие и затем всё собрать и установить | Более гибкое, чем в выделенных серверах, но по-прежнему ограничено максимальными параметрами родительского сервера. Тем не менее, многие тарифы позволяют изменять количество выделяемых ядер ВМ и ОЗУ — в зависимости от необходимости, например, если у клиента интернет-магазин с сезонным товаром. В период пиковой активности и максимальной посещаемости можно расширить тариф, что позволит серверу обрабатывать больше запросов. Процесс занимает несколько минут | Наиболее простое среди всех перечисленных услуг. Пользователь может как увеличивать параметры отдельной виртуальной машины (вертикальное масштабирование), так и увеличивать их количество (горизонтальное масштабирование). Все виртуальные серверы к тому же будут находиться в одной высокоскоростной локальной сети, при этом пользователь может самостоятельно назначить правила, по которым они могут передавать данные друг другу (например, добавить балансировщик нагрузки или перенести IP-адрес с одного сервера на другой) |
| Период заказа | Минимальный — как правило, месяц, максимальный — год. У некоторых провайдеров есть установочный платёж — некая сумма, взимая в начале использования услуги, она обычно дороже стоимости минимального периода заказа | Минимальный период также в подавляющем большинстве случаев — месяц. Однако почти у всех провайдеров тарификация посуточная — например, чтобы при изменении параметров сервера клиент мог использовать уже внесённые средства | Облачные решения — наиболее гибкие из представленных, в том числе в плане оплаты. Минимальное время заказа — 1 час, и обычно тарификация осуществляется только за фактически потреблённые ресурсы. Но это не универсальное правило: конкретная модель зависит от провайдера. Встречаются и предоплата, и резервирование ресурсов на длительный срок, когда мощности закрепляются за клиентом заранее — в пересчёте на час это дешевле, но зарезервированные ресурсы оплачиваются независимо от того, используются они или нет |
| Применение | Выделенные серверы лучше всего подходят для размещения проектов, требовательных к высокой производительности со стороны процессора и дисковой системы, а также для проектов со сложной архитектурой, а также для проектов, которым вряд ли понадобится быстрое масштабирование. Если оно всё-таки может понадобиться, а доступен только этот вариант, ресурсы придётся закупать впрок — и они будут простаивать до момента, когда понадобятся. Это могут быть:
| Для размещения простых проектов и проектов, не слишком требовательных к вычислительным ресурсам:
| Для размещения проектов со сложной распределённой архитектурой, средне- и высоконагруженных приложений, проектов, требовательных к быстрому масштабированию по запросу:
|
| Обслуживание | Нужно всё разворачивать самостоятельно, а также заботиться о масштабировании, резервировании и даже предусматривать аварийные сценарии | Клиенту нужно внимательно выбирать оборудование, потому что миграции в случае чего очень затруднительны | Провайдер заботится о железе и развёртывании, снимая с клиента заботу об этом. Обеспечивает безопасность, резервное копирование, операции занимают минуты. Объём того, что провайдер берёт на себя, зависит от модели потребления:
То есть облака бывают разные — от bare metal до SaaS под ключ, и в одном проекте модели обычно сочетаются
|
В чём преимущество облака
Облачная платформа позволяет быстро управлять ресурсами, например: можно быстро увеличивать/уменьшать ресурсы (CPU/RAM/диски), добавлять новые инстансы, включать автомасштабирование под нагрузку, допустим, в пиковые часы. Ещё в облаке можно поднимать инфраструктуру за минуты: создавать виртуалки, сети, балансировщики, базы, очереди, CDN и прочее. Облачная платформа заботится о безопасности данных пользователей: обеспечивает физическую безопасность ЦОДов, сертифицирует сервисы, использует инструменты IAM, шифрование и аудиты. В итоге облако выигрывает, когда важна скорость, гибкость, масштабирование, отказоустойчивость и управляемые сервисы.






