Введение
Облачный хостинг – это метод использования онлайн-виртуальных серверов, которые могут быть созданы, изменены и удалены по требованию. Облачные серверы получают ресурсы, такие как ядра ЦП и память, от физического сервера, на котором они размещены, и могут быть настроены с любой операционной системой и соответствующим программным обеспечением. Облачный хостинг может использоваться для размещения веб-сайтов, распространения веб-приложений или других услуг.
В этом руководстве мы рассмотрим некоторые основные концепции, связанные с облачным хостингом, включая то, как работает виртуализация, компоненты в виртуальной среде и сравнение с другими распространенными методами хостинга.
Что такое “облако”?
“Облако” – это общий термин, который относится к серверам, доступным через интернет для общественного использования, как по платной аренде, так и в рамках услуги программного обеспечения или платформы. Облачная услуга может принимать множество форм, включая веб-хостинг, хостинг и совместное использование файлов и распространение программного обеспечения. “Облако” также может относиться к облачным вычислениям, т. е. прозрачному распределению задачи между несколькими серверами. Вместо выполнения сложного процесса на одном мощном компьютере облачные вычисления распределяют задачу между множеством меньших узлов.
Как работает виртуализация
Облачные хостинговые среды разбиваются на две основные части: виртуальные серверы, на которых могут быть размещены приложения и веб-сайты, и физические узлы, которые управляют виртуальными серверами. Виртуализация делает возможным облачный хостинг: отношения между узлом и виртуальным сервером обеспечивают гибкость и масштабируемость, которые недоступны с использованием других методов хостинга.
Виртуальные серверы
Самая распространенная форма облачного хостинга сегодня – это использование виртуального частного сервера, или VPS. VPS – это виртуальный сервер, который действует как реальный компьютер с собственной операционной системой. Хотя виртуальные серверы делят ресурсы, выделенные им хостом, они практически изолированы, поэтому операции на одном VPS не повлияют на другие.
Виртуальные серверы развертываются и управляются гипервизором физического узла. На каждом виртуальном сервере установлена операционная система, предоставляемая гипервизором, доступная пользователю. Для практических целей виртуальный сервер идентичен в использовании выделенному физическому серверу, хотя ему приходится делить физические аппаратные ресурсы с другими серверами на том же узле.
Хосты
Ресурсы выделяются виртуальному серверу физическим сервером, на котором он размещен. Этот хост использует программный уровень, называемый гипервизором, для развертывания, управления и предоставления ресурсов виртуальным серверам, находящимся под его контролем. Термин “гипервизор” также часто используется для обозначения физических хостов, на которых установлены гипервизоры (и их виртуальные серверы).
Хост отвечает за выделение памяти, ядер ЦП и сетевого подключения виртуальному серверу при его запуске. Одной из постоянных задач гипервизора является планирование процессов между виртуальными ядрами ЦП и физическими, поскольку несколько виртуальных серверов могут использовать одни и те же физические ядра. Гипервизоры различаются между собой в нюансах планирования процессов и распределения ресурсов.
Гипервизоры
Существует несколько распространенных гипервизоров, доступных для облачных хостов сегодня. Эти различные методы виртуализации имеют некоторые ключевые различия, но все они предоставляют инструменты, которые необходимы хосту для развертывания, поддержания, перемещения и уничтожения виртуальных серверов по мере необходимости.
KVM, сокращение от “Kernel-Based Virtual Machine”, является инфраструктурой виртуализации, встроенной в ядро Linux. При активации этого ядра модуль превращает машину с Linux в гипервизор, позволяя ей начать хостинг виртуальных серверов. Этот метод отличается от того, как обычно работают другие гипервизоры, так как KVM не нужно создавать или эмулировать компоненты ядра, используемые для виртуального хостинга.
Xen является одним из наиболее распространенных гипервизоров. В отличие от KVM, Xen использует собственное микроядро, которое предоставляет необходимые инструменты для поддержки виртуальных серверов без модификации ядра хоста. Xen поддерживает два различных метода виртуализации: паравиртуализацию, которая позволяет избежать необходимости эмулировать аппаратное обеспечение, но требует специальных модификаций в операционной системе виртуальных серверов, и аппаратную виртуализацию (или HVM), которая использует специальные аппаратные возможности для эффективного эмулирования виртуального сервера так, чтобы они могли использовать неизмененные операционные системы. HVM стало широко распространенным на потребительских процессорах около 2006 года, позволяя большинству настольных компьютеров и ноутбуков достигать аналогичной производительности при запуске виртуальных машин или контейнеров на микроядре (например, через Docker).
ESXi – это гипервизор корпоративного уровня, предлагаемый компанией VMware. ESXi уникален тем, что не требует наличия базовой операционной системы на хосте. Это называется “гипервизором типа 1” и является чрезвычайно эффективным благодаря отсутствию “посредника” между оборудованием и виртуальными серверами. С гипервизорами типа 1, такими как ESXi, на хосте не нужно загружать операционную систему, потому что сам гипервизор действует как операционная система.
Hyper-V – один из самых популярных методов виртуализации серверов Windows и доступен как служба системы в Windows Server. Это делает Hyper-V обычным выбором для разработчиков, работающих в среде программного обеспечения Windows. Hyper-V включен в современные версии Windows и также доступен как автономный сервер без установленной операционной системы Windows Server. WSL2, подсистема Windows для Linux, реализуется с помощью Hyper-V.
Почему облачный хостинг?
Функции, предлагаемые виртуализацией, хорошо подходят для облачной среды хостинга. Виртуальные серверы могут быть настроены с широким спектром выделения аппаратных ресурсов и часто могут иметь добавленные или удаленные ресурсы по мере изменения потребностей со временем. Некоторые облачные хосты могут перемещать виртуальный сервер с одного гипервизора на другой с минимальным или отсутствующим временем простоя или дублировать сервер для обеспечения отказоустойчивости в случае отказа узла.
Настройка
Разработчики часто предпочитают работать в VPS из-за контроля, который они имеют над виртуальной средой. Большинство виртуальных серверов, работающих под управлением Linux, предлагают доступ к учетной записи root (администратора) или привилегиям sudo
по умолчанию, что дает разработчику возможность устанавливать и изменять любое необходимое программное обеспечение.
Этот выбор начинается с операционной системы. Большинство гипервизоров способны размещать практически любую гостевую операционную систему, от программного обеспечения с открытым исходным кодом, такого как Linux и BSD, до проприетарных систем, таких как Windows. Затем разработчики могут начать установку и настройку строительных блоков, необходимых для работы над проектом. Конфигурации облачного сервера могут включать в себя веб-сервер, базу данных или приложение, которое было разработано и готово к распространению.
Масштабируемость
Облачные серверы очень гибки в своей способности масштабироваться. Методы масштабирования делятся на две основные категории: горизонтальное масштабирование и вертикальное масштабирование. Большинство методов хостинга могут масштабироваться таким или иным образом, но облачный хостинг уникален своей способностью масштабироваться как горизонтально, так и вертикально. Это связано с виртуальной средой, на которой построен облачный сервер: поскольку его ресурсы являются выделенной частью более крупного физического пула, эти ресурсы могут быть настроены или продублированы на другие гипервизоры.
Горизонтальное масштабирование, часто называемое “масштабированием вширь”, – это процесс добавления большего количества узлов кластерной системы. Это может включать в себя добавление дополнительных веб-серверов для более эффективного управления трафиком, добавление новых серверов в регион для снижения задержек или добавление большего количества рабочих баз данных для увеличения скорости передачи данных.
Вертикальное масштабирование, или “масштабирование вверх”, происходит, когда один сервер обновляется с добавлением дополнительных ресурсов. Это может быть увеличение доступной памяти, выделение большего количества ядер ЦП или какое-то другое обновление, которое увеличивает мощность этого сервера. Эти обновления обычно открывают путь для дополнительных программных экземпляров, таких как рабочие баз данных, для работы на этом сервере. До того, как горизонтальное масштабирование стало экономически целесообразным, вертикальное масштабирование было стандартным способом реагирования на увеличение спроса.
С облачным хостингом разработчики могут масштабировать свое приложение в зависимости от его потребностей – они могут увеличивать количество VPS-узлов, масштабировать существующие серверы или делать и то, и другое, когда потребность в серверах значительно возрастает.
Заключение
К настоящему моменту у вас должно быть понимание того, как работает облачный хостинг, включая взаимосвязь гипервизоров и виртуальных серверов, за которые они отвечают, а также то, как облачный хостинг сравнивается с другими распространенными методами хостинга. Имея эту информацию в виду, вы можете выбрать лучший хостинг для своих потребностей.
Для более общего представления о общем пейзаже облачных вычислений вы можете прочитать Общее Введение в Облачные Вычисления.
Source:
https://www.digitalocean.com/community/tutorials/an-introduction-to-cloud-hosting