25.08.2020

Что такое мультиоблачность?

Статистика может рассказать целую историю. Организации по всему миру развиваются в соответствие с планами и проектами цифровой трансформации. Почти все из них (94%) в настоящее время используют облачные ресурсы.

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

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

Как это работает

Мультиоблачная система может сочетать и компоновать облачные сервисы от различных провайдеров. Некоторые реализации мультиоблачной системы позволяют объединять ресурсы облаков без оркестрации. Такая мультиоблачная структура строится на базе гиперскейлеров, таких как Amazon AWS, Microsoft Azure, Google Cloud Platform и прочих. Гиперскейлеры создают фабрики данных (data fabric) – распределенные сети для хранения данных. Эффективность работы такой системы зависит от правильного управления данными. Следить за работой мультиоблачной системы можно через брокер облачных сервисов (cloud services broker, CSB ) или через специальную платформу (cloud management platforms), которая связывает ресурсы независимых провайдеров в единый пул. В этом случае управлять данными можно через единую консоль.

Другие реализации мультиоблачных систем требуют оркестрации. Если приложение, размещаемое в мультиоблачной среде, приспособлено для работы в облаке (cloud-native), то чтобы обеспечить работу во множестве облаков, используются технологии контейнеризации. Операционная система виртуализуется с помощью контейнера и в этот контейнер помещается необходимое приложение. Контейнер объединяет в себе все необходимые файлы приложения, конфигурационные файлы и зависимое программное обеспечение. Существует множество технологий для такого подхода, включающие Docker, rkt, PouchContainer и другие подобные инструменты. Для эффективного разворачивания приложений и применения централизованных политик управления используются платформы оркестрации контейнеров. Сегодня наибольшей известностью пользуются kubernetes и решения на его основе (например, OpenShift, Docker Swarm и Apache Mesos).

Если приложение не приспособлено для работы в облаке, и требует частых изменений(например, веб-приложение, требующее обновление кода), используется автоматизация управления инфраструктурой при помощи таких фреймворков, как Ansible, SaltStack, Chef и т.д.

Типы инструментов, применяемых для управления или оркестровки облачных сервисов

Облачная платформа управления

41,2%

Другое (например, AWS Cloudformation и OpenStack Heat)

29,4%

Инструменты собственной разработки

6,9%

Оркестровка сети

4,4%

Управление конфигурациями и инфраструктурой

10,7%

PaaS

1,3%

Контейнерные решения

6,1%

Яркий пример мультиоблачной системы – это сервис потокового вещания Netflix.

Netflix работает в двух облаках — AWS и Open Connect. Сам сервис можно разделить на три части: клиент, бэкэнд и сеть доставки контента (CDN).

Клиент – это пользовательский интерфейс, работающий на любом устройстве, используемого для воспроизведения. Это может быть приложение на смартфоне или планшете, или «умный» телевизор.

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

AWS разбиты на три региона: в Северной Виргинии, в Портленде, Орегон и в Дублине, Ирландия. Преимущество работы в трёх регионах состоит в том, что один из них может упасть, а два других встанут на его место и будут обслуживать клиентов из пострадавшего региона. Ещё одно преимущество работы из трёх этих регионов состоит в том, что Netflix может покрывать весь мир.

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

У Netflix есть три различных стратегии для воспроизведения потокового видео — хранилища S3, сторонние CDN и Open Connect.

Центральное место хранения файлов – это S3. Видеофайлы копируются из центрального места хранения по сети и хранятся на серверах, распределенных по всему миру. Каждое местоположение сервера, хранящего видео, называется точкой присутствия (PoP, point of presence). Каждая PoP — это физическое местоположение с доступом в интернет. Там находятся сервера, роутеры и другое телекоммуникационное оборудование.

Файлы хранятся в собственной CDN – OpenConnect. Netflix разработала собственную компьютерную систему для хранения видео. Netflix называет её устройствами Open Connect Appliances, (OCA).

OCA группируются в кластеры из нескольких серверов. Каждый OCA — это быстрый сервер, оптимизированный на выдачу крупных файлов, со множеством жёстких дисков или флэш-накопителей, хранящих видео.

Количество ОСА на местах зависит от надёжности, которую Netflix хочет достичь в определённом месте, объём трафика, который оно обслуживает и процент трафика, которую этот центр может отправлять в виде потока.

Netflix раздаёт огромные объёмы видео с тысяч серверов, расположенных в более чем 1000 дата-центров по всему миру.

Карта расположения серверов Netfilx

В отличие от YouTube, Netflix не строила свои сети и свои дата-центры. Вместо этого интернет-провайдеры (ISP) соглашаются размещать у себя ОСА. Netflix бесплатно предлагает провайдерам встраивать свои сервера в их сеть, кроме того, она размещает ОСА близ точек обмена трафиком (internet exchange location, IXP).

В случае аварий или перегрузки сетей Netflix использует CDN сервисы различных поставщиков - Akamai, Limelight и Level 3.

Преимущества мультиоблачности

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

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

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

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

Перечислим некоторые рекомендации, которые дают отраслевые эксперты.

Комплексная оценка

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

Отдельная структура для облачной инженерии

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

Приоритет интеграции

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

Управление доступом и защита данных

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

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

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

Данные необходимо защитить от несанкционированного доступа при помощи шифрования.

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

Контроль расходов

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