Как устроено облако?
Что такое облако и кому оно нужно?
Облако — это группа связанных между собой серверов, которые хранят и обрабатывают информацию. Информация в облаке может быть практически любая: от личных фотографий и видео до интернет-ресурсов и мобильных приложений.
В основном белорусский бизнес использует облако для размещения сайтов и программ. На облачной инфраструктуре работают, например, интернет-магазины, новостные сайты, CRM-системы и бухгалтерские программы вроде «1С: Бухгалтерия».
Облака могут использоваться для разных задач, но их объединяет одно: все они могут масштабироваться и распределять ресурсы. Это значит, что в любой момент клиент может увеличить или уменьшить любой из основных параметров: дисковое пространство, оперативную память и количество процессоров. Как на шведском столе, нужные «блюда» добавляются в соответствии с запросами клиента: можно взять больше обычного, когда «аппетит» растет, а можно урезать ресурсы и сократить расходы, когда посетителей на сайте становится меньше.
К тому же все это можно сделать из дома или офиса через визуальный интерфейс в браузере. Это значит, что не нужно ехать в дата-центр и подключаться к серверу через командную строку.
Провайдер, в свою очередь, будет распределять нагрузку так, чтобы у пользователей все работало. А дальше подробнее о том, как именно получается, что у облачных технологий есть такой набор преимуществ.
Из чего физически состоит облако?
Обычно с точки зрения «железа» облако устроено так: в одном или нескольких помещениях — центрах обработки данных — находятся стойки с серверами. На одних из них хранятся данные, на других идут вычисления, на третьих размещаются резервные копии. Все серверы подключены друг к другу и объединены с помощью программного обеспечения.
Так как облако состоит из множества «железных» серверов, в случае отказа одного из них любой проект можно перебросить на другой. Это помогает сохранить доступность сайта или приложения даже в случае аварии. Также в облако можно добавить отдельный диск для записи резервных копий данных. Создание таких копий можно автоматизировать: информация будет сохраняться по расписанию. Как видите, вся система построена так, чтобы минимизировать риски простоя и потери данных.
Все это работает с помощью довольно сложного программного обеспечения. Но мы не боимся сложностей, поэтому дальше расскажем про софт, который стоит за облачными технологиями.
Как устроено облако на программном уровне?
Как мы уже выяснили, с точки зрения «железа» облако работает как несколько связанных воедино мощных серверов и систем хранения данных. Это оборудование, которое не каждый бизнес может себе позволить. Но облако не было бы таким удобным и технологичным без облачного софта.
Чтобы разместить в облаке проекты разных компаний, на серверы устанавливают специализированное программное обеспечение для виртуализации. Сервер с программой для виртуализации обычно называется гипервизором.
Гипервизор как бы нарезает кусочки вычислительных мощностей физического сервера для каждого клиента. Получается, что на одном мощном физическом сервере, грамотно распределив его ресурсы, можно поселить сразу несколько проектов. Каждый из них будет работать отдельно и независимо друг от друга, в своем виртуальном сервере, или, по-другому, на виртуальной машине. Это позволяет клиентам, которые пользуются облаком, иметь все преимущества отдельного сервера, а платить заметно меньше.
Иногда одному клиенту нужно много вычислительных мощностей, в этом случае создают облачный кластер. С его помощью можно запустить любое количество приложений, сайтов или других сервисов, необходимых бизнесу.
Оркестратор: дирижер, который управляет облаком
Чтобы все части облака работали согласованно, у него есть управляющая система — оркестратор. Название говорящее: это программа, которая распределяет нагрузку, управляет созданием и удалением виртуальных серверов, переносит виртуальные серверы с одного гипервизора на другой, считает, сколько ресурсов использует каждый клиент. Она управляет целым оркестром параметров и настроек, чтобы облако работало бесперебойно и выдерживало постоянно меняющиеся нагрузки.
Если на один физический сервер пришло слишком много задач и виртуальным серверам на нем перестает хватать мощностей, оркестратор отправляет часть запросов на другой, менее загруженный гипервизор. Благодаря этой функции каждому проекту в облаке всегда хватает вычислительных ресурсов.
Оркестратор постоянно следит за нагрузкой на виртуальный сервер каждого клиента и выводит подробную информацию в панели управления. Это помогает вовремя увеличивать конфигурации виртуальной машины. Когда клиент отправляет запрос добавить оперативной памяти и процессорных ядер виртуальному серверу, оркестратор проверяет, хватает ли ресурсов на гипервизорах. Если да, дает команду добавить нужные мощности — и настройки меняются в течение нескольких секунд или минут.
Если нагрузка на виртуальный сервер клиента растет постоянно, можно настроить автомасштабирование. Тогда оркестратор будет следить, сколько выделенных ресурсов задействовано. Когда все они будут использованы, он автоматически увеличит конфигурации виртуального сервера.
Еще оркестратор следит за ресурсами, чтобы считать, сколько из них использует каждый отдельный клиент. Это важно, потому что пользователи облака платят только за те мощности, которые зарезервировали — ни больше, ни меньше. Допустим, фармацевтической компании нужно обработать большой объем данных, и у нее нет ресурсов для этого. Она арендует у облачного провайдера оборудование, проводит вычисления, получает результат и платит только за те мощности облака, которые были изначально запланированы.
В каком-то смысле облако — как каршеринг: берете любую, даже очень дорогую машину в аренду, ездите, платите по тарифу и возвращаете, когда автомобиль не нужен. А за его мойку и ремонт отвечает каршеринговая компания.
Подытожим
Если кратко, облако — это группа связанных между собой серверов. Оно состоит из систем обработки, хранения данных и резервного копирования, программы-виртуализации и оркестратора.
Облако легко настраивается под нужды каждого клиента. Пользователи платят только за те мощности, которые им необходимы, и не заботятся об обслуживании оборудования. Облако подойдет как новому, так и развивающемуся онлайн-бизнесу — в общем, всем, кому критически важна масштабируемость, надежность и удобство.