Читать книгу «Цифровая трансформация. Анализ, тренды, мировой опыт» онлайн полностью📖 — Александра Прохорова — MyBook.
image

Облачные вычисления и виртуализация

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

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

Реализация виртуализации зависит от конкретного производителя. Фактически у каждого крупного вендора имеется своя реализация гипервизора, то есть того приложения, с помощью которого возможно изолировать виртуальные машины друг относительно друга.

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

Рис. 2.6. Виртуализация серверов с помощью гипервизора


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

Для введения понятия облака напомним читателю концепции вертикального и горизонтального масштабирования.

Вычислительные ресурсы можно наращивать за счет приобретения все более мощного сервера с большими ресурсами (см. верхний вариант на рис. 2.7) – этот метод называют вертикальным масштабированием (Scale Up), а можно объединить в единый пул группу серверов и предоставлять их ресурсы по требованию – такое масштабирование называют горизонтальным или Scale Out (см. нижний вариант на рис. 2.7). Можно сказать, что второй метод и является основой облачных технологий.

Можно провести аналогию с автобусами и поездами. Если вам не хватает возможностей обычного автобуса, можно купить более вместительный, например, двухъярусный (аналог вертикального масштабирования), другой подход – соединить в цепочку несколько автобусов: по сути, именно эта идея и используется в железнодорожных перевозках – поезд по требованию может наращивать возможности грузоперевозок, а в случае отсутствия такой необходимости, – уменьшать, передавая свободные вагоны другим поездам.


Рис. 2.7. Вертикальное и горизонтальное масштабирование


Таким образом, горизонтальное масштабирование (Scale Out) – это метод, который позволяет объединять вычислительные мощности под управлением разных типов гипервизоров и реализовать технологию облачных вычислений (см. рис. 2.8).


Рис. 2.8. Схема, поясняющая принцип работы облачных вычислений


Реализация облачной операционной системы может быть разной, например, OpenStack, VMware vCloud, Microsoft Azure и другие.

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

Технология облачных вычислений формирует рынок облачных услуг. Следует различать термины «облачные услуги» и собственно облачные вычисления, которые можно определить как технологическую основу для предоставления облачных услуг. Согласно IDC, облачные сервисы – это стандартизованные услуги, потребляемые в режиме совместного использования, позволяющие производить более быстрое развертывание и апгрейд системы по сравнению с традиционной моделью доставки, а также освобождающие пользователя от забот по поддержке ИТ-инфраструктуры. Для того чтобы отнести услуги провайдера к облачным, необходимо выполнение следующих условий:

• эластичное масштабирование – по мере необходимости дополнительных вычислительных ресурсов или памяти, они выделяются динамически в широких пределах;

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

• оплата по мере потребления – система оплаты основана на измерении объема потребленного ресурса;

• сервисы доступны через интернет и опираются на стандартные технологии, такие как SSL, IP VPN, CDN и т. п.;

• в рамках сервиса осуществляется поддержка технологий, которые де-юро и де-факто стали стандартами интернета, таких как Dynamic HTML, XML, Flash, HTML, JavaScript, SVG и пр.;

• открытость API, что позволяет комбинировать сервисы, а также интегрировать их с уже установленными в организации системами. IDC различает облачные ИТ-сервисы и бизнес-сервисы, построенные на их основе (последние определяются как облачные бизнес-сервисы или Business process as a service). На базе облачных ИТ-сервисов могут быть реализованы любые бизнес-сервисы в форме услуги – развлекательные (например, игры), финансовые (платежные системы) медицинские и многие другие.

IDC выделяет разные схемы доставки услуг:

• Public Cloud (публичное облако) – это вид услуг, при котором ИТ-сервисы предоставляются посредством сети интернет заранее неизвестному набору пользователей;

• Private Cloud (частное облако), реализованное внутри предприятия для его корпоративных нужд;

• Virtual Private Cloud (виртуальное частное облако), которое реализовано внутри публичного облака;

• Hybrid Cloud (гибридное облако) – интегрированное предоставление услуг на базе публичных и частных облаков.

На базе перечисленных моделей возможны самые разные варианты предоставления облачных услуг (рис. 2.9).


Рис. 2.9. Варианты доставки облачных услуг. Источник IDC


Помимо того, что облако может быть публичным и частным, оно может быть реализовано на площадке у заказчика или предоставляться из дата-центра провайдера. Внутри публичного облака возможен более безопасный премиум вариант доставки – так называемое виртуальное частное облако. Возможен вариант, когда облако построено неким облачным провайдером на площадке у заказчика и управляется этим провайдером, в этом случае – это управляемое частное облако. Возможен также вариант, когда интегратор построил облако на площадке клиента и на этом закончил свои услуги, и после этого облако управляется внутренними ИТ-службами заказчика.

Облачные сервисы, с точки зрения модели предоставления, также делят на программное обеспечение как услуга (Software-as-aService, SaaS), платформа как услуга (Platform-as-a-Service, PaaS) и инфраструктура как услуга (Infrastructure-as-a-Service, IaaS).

Если при использовании традиционной ИТ-инфраструктуры ее обслуживание полностью ложится на плечи пользователя, то в случае с SaaS за управление всеми элементами инфраструктуры отвечает провайдер. Провайдер SaaS-сервиса контролирует все элементы комплексной системы (рис. 2.10), инфраструктуру облака, в том числе сети, серверы, операционные системы, ПО промежуточного слоя и т. д. Провайдер владеет инфраструктурой, а также самим приложением, и дает его в аренду пользователю.

Модель PaaS востребована в большей степени разработчиками, которые в рамках платформы получают инструменты для создания, тестирования и выполнения прикладного программного обеспечения. В этой схеме (см. рис. 2.10) пользователь (клиент) контролирует уровень приложений и данных. В случае IaaS заказчик покупает только «инфраструктуру из облака».


Рис. 2.10. Ответственность провайдера и потребителя в разных моделях доставки облачных услуг. Источник: Microsoft


Облачные технологии появились как ответ на запросы бизнеса в уменьшении сроков развертывания и масштабирования ИТ (рис. 2.11) и открыли перед бизнесом целый ряд новых возможностей. Во-первых, модель облачных сервисов – это возможность «дотянуться» до новых быстрорастущих рынков как географически (возможность предоставлять сервисы удаленным клиентам в тех частях планеты, где есть на них спрос), так и с позиций более полного охвата новых сегментов потребителей, таких как малый/средний бизнес, а также с точки зрения выхода на новые быстрорастущие вертикальные рынки.

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


Рис. 2.11. Факторы, стимулирующие переход в облако. Источник IDC

Облачные сервисы и экономика масштаба

Построение «облаков» в крупных ЦОДах обеспечивает меньшую стоимость аренды в расчете на сервер. Учитывая, что стоимость электроэнергии постоянно растет, становясь одним из основных элементов стоимости владения инфраструктурой, экономия электроэнергии в крупных дата-центрах позволяет существенно сократить расходы. Крупные ЦОДы, расположенные в областях с низкой стоимостью электроэнергии, получают дополнительную экономию. В крупных дата-центрах расходы будут меньше еще и потому, что оператор обслуживает большее количество серверов в единицу времени. Единая система безопасности, рассчитанная на большой парк серверов, также оказывается более экономичной и эффективной. Кроме того, владельцы крупных дата-центров могут получать большую скидку при массовой закупке аппаратного обеспечения. Не случайно в мире создаются все более крупные ЦОДы.

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

Преимущество облачной технологии состоит в том, что она позволяет повысить коэффициент загруженности (утилизации) при объединении в единое пространство большого набора серверов и оптимально распределить нагрузки, нивелируя неравномерность потребления ресурсов в различных задачах разных пользователей (рис. 2.12).

Рис. 2.12. Схема утилизации ресурсов при работе с выделенным сервером (вверху) и утилизация серверов в «облаке».

Примечание: прямоугольники различного тона схематично отображают необходимые ресурсы для конкретного приложения. Источник: Dan Sullivan. The Definitive Guide to Cloud Computing


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

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

Еще одна проблема неравномерности потребления ресурсов связана со сложностью предсказания потребности в ИТ-ресурсах по мере роста бизнеса. Особенно для стартапов сложно спрогнозировать, какие вычислительные ресурсы потребуются через год, причем у одной компании ошибка в прогнозе может быть в большую сторону, а у другой – в меньшую. Если бы эти две компании размещали ресурсы в одном «облаке», перераспределение ресурсов могло бы решить их проблемы. Это справедливо для всех вышеописанных неравномерностей потребления ИТ.

Основное преимущество облачных технологий – это именно возможность удовлетворять непредсказуемую неравномерность в потреблении ресурсов, оптимизируя при этом загрузку инфраструктуры. За счет объединения серверов в облако индивидуальные характеры потребления от разных пользователей взаимно уравновешиваются, и загрузка мощностей оптимизируется. Чем больше пул объединенных ресурсов, тем более равномерно можно организовать их загрузку. Сегодня одной из ключевых проблем в области ИТ во всем мире является дефицит квалифицированного персонала. Это касается не только развивающихся, но и развитых стран. Данная проблема особенно остро стоит в России, где демографическая ситуация весьма неблагоприятна. Стоимость специалистов неуклонно растет, а усложняющиеся ИТ требуют все больше квалифицированных специалистов. ИТ-рынок не может развиваться за счет постоянного привлечения все большего количества специалистов. Одна из особенностей облачных вычислений состоит в том, что они позволяют снизить потребность в ИТ-специалистах: часть работы выполняется небольшим количеством высококвалифицированных специалистов, которые работают в дата-центре провайдера и обслуживают большое число клиентов, а операции, не требующие высокой квалификации сотрудников, переносятся на уровень самообслуживания.

Таким образом, масштабирование, которое облака делают возможным, позволяет повысить коэффициент утилизации не только серверов, но и персонала, – при сохранении или улучшении качества сервиса.

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


Рис. 2.13. Экономия на масштабе при использовании облачных технологий. Источник: Microsoft


Традиционные виртуализованные дата-центры обычно позволяют объединять ресурсы в рамках организации: корпоративный ИТ-отдел на базе виртуализации снижает неравномерность потребления ресурсов, например, связанную с нагрузкой в дневное и ночное время, особенно если речь идет о корпорации, у которой филиалы расположены в разных часовых поясах. Однако размер объединенных ресурсов и проблемы с перемещением нагрузки с одной виртуальной машины на другую (в особенности, когда наблюдается недостаточная гомогенность в аппаратном обеспечении) снижают степень оптимизации эффективности ИТ-инфраструктуры. Этим объясняется то, что даже виртуализованные дата-центры утилизируют вычислительные ресурсы в недостаточной степени.