Введение в облачный хостинг

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

Что и такое облако?

Термин облако применяется к серверам, которые подключены к сети интернет и доступны для публичного использования за небольшую плату или в качестве услуги по использованию некоторого программного обеспечения.

Существует много разновидностей облачных услуг, включая веб хостинг, файл хостинг и распределенное программное обеспечение. Так же этот термин используется, когда говорится об облачном вычислении. В таком случае несколько серверов объединяются в одну сеть и используются для работы над общей задачей, распределяя нагрузку между друг другом.

Другие варианты хостинга

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

Общий хостинг — это один из самых часто встречающихся и доступных типов хостинга, который используются для размещения проекта в сети интернет. При таком подходе сотни, а иногда и тысячи сайтов используют ресурсы одного блока серверов, будь то память или CPU. Такой хостинг даст вам только основные возможности для размещения проекта. Как правило, в настройках вы сможете изменить совсем немного в силу ограничений, накладываемых природой самого метода хостинга.

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

Принцип работы виртуализации

Облачный хостинг делится на две основные составляющие:

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

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

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

На данный момент чаще всего используются частные виртуальные сервера (VPS). VPS выступает в роли полноценной серверной машины. Хотя несколько VPS, как правило, делят ресурсы одного хоста, все процессы полностью разделены между собой и никаким образом не влияют друг на друга.

Виртуальные сервера размещаются и работают под управлением специального ПО на хосте. На каждом сервере будет установлена необходимая операционная система, а конечный пользователь сможет добавлять ПО на него исходя из своих требований. Виртуальный сервер полностью повторяет работу физического сервера, но иногда он может немного отставать в производительности, так как ему приходится использовать общие ресурсы с другими VPS.

Хосты

Хост — физический сервер, расположенный, который выделяет ресурсы виртуальному серверу. Он использует так называемое управляющее ПО для размещения и управления виртуальными серверами. Термин “гипервизор” часто применяется к физическим серверам, на которых установлено необходимое ПО для работы с VPS.

Именно хост отвечает за память, ядра CPU и сетевые соединения доступные VPS. Основная задача гипервизора — распределение процессов между виртуальными и физическими ядрами CPU. Метод распределения процессов обуславливает разницу между различными гипервизорами.

Гипервизоры

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

KVM (виртуальная машина на базе ядра) — способ виртуализации по-умолчанию встроенный в ядро Linux. После его включения Linux машина становится гипервизором и позволяет размещать виртуальные сервера. Этот метод заметно отличается от других, так как ему не нужно создавать или эмитировать компоненты ядра для виртуального хостинга.

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

ESXi — корпоративный гипервизор VMware. Выделяется среди других тем, что для работы ему не нужна операционная система. Его часто называют “тип 1”, так как он исключает всех посредников в работе между ПО и оборудованием. Так как ESXi не требуется ОС, то для его загрузки не надо устанавливать ничего на ваш хост. ESXi сам выступает в роли ОС.

Hyper-V — самый распространенный способ виртуализации для серверов на базе Windows. Он доступен на windows серверах в качестве системной службы. Именно поэтому Hyper-V — наиболее частый выбор среди пользователей Windows. Он включен в Windows Server 2008 и 2012. Так же он доступен в качестве отдельного ПО, работающего без установленной версии Windows Server.

Почему следует выбирать облачный хостинг?

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

Настройка

Разработчики часто выбирают для работы VPS, так как таким образом вы имеете полный контроль над сервером. Большинство VPS на базе Linux по-умолчанию предлагают администраторский (sudo) доступ, таким образом разработчик получает возможность устанавливать и удалять абсолютно любое ПО на сервере.

Свобода выбора начинается с выбора операционной системы. Почти все гипервизоры позволяют вам устанавливать любую ОС от свободных Linux и BSD до платных Windows. После чего разработчики могут собирать свой сервер по-необходимости. Такая сборка может включать в себя установку веб-сервера, сервера БД, почтовой службы или специально разработанного приложения.

Масштабируемость

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

Горизонтальное масштабирование — добавление узлов в существующую кластерную систему. Оно может включать в себе подключении новых веб-серверов для лучшего распределения трафика, добавление новых серверов в работу одного региона для повышения быстродействия или добавления обработчиков БД для ускорения обработки данных. Многие современные веб утилиты, как CoreOS, Docker и Couchebase построены на основе эфективного горизонтального масштабирования.

Вертикальное масштабирование — добавление новых ресурсов одному серверу. Оно может включать в себя расширение доступной памяти, выделения большего числа CPU ядер или другое обновления, увеличивающие ресурсы сервера. Такое обновление, как правило, открывает новые возможности для установки дополнительного ПО, как пример, добавление обработчиков БД. Вертикальное масштабирование было очень распространено до тех пор, пока горизонтальное масштабирование не доказало своё финансовое превосходство.

При работе с облачным хостингом разработчики могут масштабировать свои сервера в зависимости от потребностей. Они могут добавлять новые VPS, обновлять существующие или использовать оба подхода, если им нужно сильно увеличить производительность сервера.

Заключение

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