Облачные бизнес-модели: Простыми словами об IaaS, PaaS и SaaS
Об облаках, облачных технологиях и виртуализации говорят уже долго, особенно о трех наиболее популярных моделях обслуживания: программное обеспечение как услуга (SaaS), платформа как услуга (PaaS) и инфраструктура как услуга (IaaS). В сегодняшнем материале мы бы вновь хотели обратиться к этому вопросу и поговорить об особенностях и применимости облачных сервисов.
Стек облачных технологий состоит из трех частей, каждая из которых представляет отдельную категорию сервисов. На верхнем уровне располагается SaaS — по сути, это облачные приложения, доступ к которым предоставляется через веб-интерфейс. За ним следует PaaS — платформа для самостоятельной разработки и развертывания приложений.
На третьем уровне расположился IaaS — серверы, хранилища, сети, вычислительная инфраструктура, которую клиент получает в пользование для запуска своих решений. Описанная структура может быть представлена в виде следующей схемы:
Для демонстрации этих трех типов услуг часто применяется аналогия с пиццей — своеобразная «Pizza as a Service». Когда потребитель заказывает и поедает пиццу в кафе или ресторане, то это SaaS, а если заказывает её себе на дом, то это PaaS. Если же он пошел в магазин, купил ингредиентов и приготовил блюдо самостоятельно, то, можно сказать, что это IaaS.
Теперь слегка углубимся в каждую из этих технологий и начнем с конца стека — IaaS.
Что такое IaaS
При выборе IaaS, вы получите серверы, сетевые ресурсы и хранилища в качестве подключаемой услуги. Получается, что компания приобретает вычислительные ресурсы у поставщика, избегая необходимости закупать собственное железо и поддерживать его. При этом сервис может быть предоставлен по типу публичного облака, частного облака или комбинированного подхода.
Понятие IaaS включает в себя следующие особенности:
Еще один вариант — компания представляет собой стартап, у которого нет средств на приобретение собственного «железа» и его поддержание, или же организация хочет запустить экспериментальное направление бизнеса и закупать оборудование для этого не всегда бывает целесообразно (проект может не взлететь).
Однако несмотря на гибкость и масштабируемость IaaS, технология имеет определенные ограничения. В связи с этим есть ситуации, когда использовать её не рекомендуется. Например, компания является игроком регулируемой отрасли, правила которой не разрешают хранение данных на серверах, не принадлежащих компании.
Здесь хотелось бы добавить, что существует мнение, якобы не стоит использовать облачные решения для бизнес-критичных приложений. Однако отметим, что это не так. Критичное бизнес-приложение может быть развернуто на производительном сервере с 16 ядрами и терабайтами памяти, в котором предусмотрено дублирование ряда компонентов (в том числе и на более высоких уровнях).
Что такое PaaS
Платформа как услуга, или PaaS, упрощает развертку приложений и управление ими, при этом скрывая внутри себя работу с серверами, балансировку нагрузки, DNS и др. Поэтому отпадает необходимость нанимать инженеров для обслуживания инфраструктуры. Это позволяет разработчикам уделять больше внимания разработке и проблемам развертывания.
Здесь следует отметить, поскольку PaaS является вторым уровнем пирамиды облачных услуг, то он строится на основе IaaS, однако еще сильнее уменьшает время с момента генерации идеи до её воплощения. Это достигается за счет большей автоматизации процессов и абстракции от железа.
Чтобы абстрагировать концепцию работы с серверами, было проделано следующее:
Компании используют архитектуры и микросервисы, ориентированные на работу с программным обеспечением, потому что они предлагают возможности по автоматическому развертыванию и тестированию кода, а также масштабирования в зависимости от нагрузки. Этот функционал и реализует PaaS.
К сожалению, такой подход имеет один серьезный недостаток. Вы передаете часть контроля своеобразному черному ящику и попадаете в зависимость от него. Однако в противном случае компании постоянно заново изобретают велосипед или начинают использовать медленные инструменты.
Немного о SaaS
В случае SaaS потребитель приобретает возможность пользоваться приложениями поставщика, выполняемыми в облаке. Приложения доступны с различных клиентских устройств, например через браузер. Как сообщает Gartner, рынок SaaS вырос на 21,7% до 38,9 млрд долларов в 2016 году. В 2017 году темпы роста только увеличатся.
Программное обеспечение как услуга (SaaS) — последний уровень облачных вычислений, который чаще всего дополняет PaaS, как видно из схемы в начале статьи. Это полнофункциональное приложение для пользователя, выполняющее определенные функции — например работу с изображениями или звуком. Наиболее популярной формой оплаты в этом сегменте остается подписка.
В случае SaaS в зону ответственности облачного провайдера передаются вопросы настройки приложений, мониторинга и резервного копирования. Поэтому такая модель работы не требует наличия в команде организации технического специалиста — все делает провайдер.
Таким образом, чем более высокоуровневую модель вы планируете использовать, тем меньший уровень компетенций в ИТ требуется от команды. Справедливо и обратное — чем ниже уровень ИТ-зрелости вашей компании, тем более высокоуровневая модель вам потребуется.
IaaS vs PaaS vs SaaS: Примеры и как отличить
Облачные вычисления являются отличным выбором как для крупных корпораций, так и для небольших предприятий. Они позволяют передать управление частью инфрастуктуры третьей стороне, что значительно сокращает расходы и повышает продуктивность команды, поскольку фокус внимания остается на наиболее важных для бизнеса аспектах. По прогнозам Gartner, к 2022 году размер рынка и рост отрасли облачных услуг почти в три раза превысят общий рост IТ-услуг.
На данный момент существует три самые популярные облачные модели:
В данной статье, мы рассмотрим концепцию каждой модели, особенности, преимущества, недостатки и расскажем об основных различиях между ними, чтобы Вы смогли выбрать наиболее подходящую модель для своего бизнеса.
IaaS, инфраструктура как услуга, предполагает использование облачных сервисов (хранилище данных, виртуальный сервер, операционная система) без необходимости физического обслуживания и управления всей инфраструктурой. Облачные сервисы предоставляются через панель управления или интерфейс прикладного программирования (API).
Кому подходит IaaS
Данная модель будет актуальна для:
PaaS, платформа как услуга, предполагает предоставление разработчикам необходимых инструментов и платформы, которую они могут использовать для создания и развертывания приложений. С помощью данной услуги, программисты могут создавать как несложные мобильные приложения, так и первоклассное программное обеспечение, призванное решать различные бизнес-задачи. Обновление программного обеспечения и обслуживание оборудования обеспечивается сторонним провайдером, а управление приложениями доступно клиентам.
Кому подходит PaaS
Данная модель подходит для группы разработчиков, которые вместе работают над одним проектом или для IT-компаний.
Программное обеспечение как услуга (SaaS) позволяет клиентам использовать настроенное программное обеспечение, установленное на удаленном сервере, с помощью сети Интернет. Для использования приложений, установка дополнительных компонентов не требуется.
Кому подходит PaaS
Каждая из моделей подходит для конкретных бизнес-решений, необходимых компании-клиенту. В зависимости от требований организации, специфики проекта и конечной цели, Вы можете выбрать IaaS, PaaS, SaaS или поочередно несколько облачных моделей.
Просто о корпоративном IaaS: что это, для кого, и как оплачивается
Облачные сервисы за последние несколько лет проникли во многие сферы жизни и бизнеса — в результате появилось много разновидностей подобных ресурсов и соответствующих аббревиатур (SaaS, PaaS, IaaS).
Разобраться во всем этом многообразии вариантов и понять, зачем нужен каждый из них, довольно трудно — даже сотрудники ИТ-компаний зачастую рассматривают облака главным образом в качестве инструмента для хранения информации и не более того.
В сегодняшнем материале мы рассмотрим весь стек облачных технологий и подробнее остановимся на одной его части — корпоративном IaaS.
Как пицца, только облако
Стек облачных технологий состоит из трех частей, каждая из которых представляет отдельную категорию сервисов:
Описанную схему можно изобразить в виде диаграммы:
Наглядно различия между ключевыми видами облачных услуг можно проиллюстрировать с помощью концепта “Pizza as a Service” — в нем «облака» сравниваются с пиццей. Если потребитель хочет прийти в ресторан и заказать пиццу там — это SaaS, если он оплачивает доставку на дом, то это PaaS, а если покупает ингредиенты в магазине и сам готовит себе пиццу — аналогия с IaaS:
Сегодня мы подробнее рассмотрим как раз этот последний вариант.
Что такое IaaS
Инфраструктура как услуга (IaaS) — это схема, при которой различные компоненты облачной инфраструктуры вроде серверов, хранилищ данных, операционных систем и сетевых ресурсов предоставляются в качестве подключаемой услуги. Вместо того, чтобы покупать железо, софт, стойки в дата-центре, компании просто по мере необходимости приобретают эти ресурсы (и в дальнейшем отказываются от них) у сторонних провайдеров.
Существует несколько подкатегорий IaaS — получение услуг может осуществляться с помощью публичного или частного облака, а также комбинации этих подходов («гибридное облако» — о создании такого облака с помощью VMware vCloud Connector мы писали отдельный материал на Хабре).
Характеристики и провайдеры IaaS
В мире существует огромное количество провайдеров IaaS — среди самых известных, к примеру, Amazon Web Services, помимо этого на региональных рынках присутствуют свои сильные игроки. На Хабре был интересный материал с обзором российских провайдеров IaaS-услуг.
| Провайдер IaaS | Сайт | С какого года предоставляет IaaS в статусе VMware Service Provider | Партнерский статус VSPP | |
|---|---|---|---|---|
| 1. | IT-GRAD | http://www.it-grad.ru/ | 2008 | Enterprise |
| 2. | Dataline | http://www.dtln.ru/ | 2009 | Premier |
| 3. | Cloudone | http://www.cloudone.ru/ | 2010 | Professional |
| 4. | ONLANTA | http://www.onlanta.ru/ | 2011 | Enterprise |
| 5. | SafeData | http://www.safedata.ru/ | 2011 | Enterprise |
| 6. | Cloud4Y | http://www.cloud4y.ru/ | 2011 | Professional |
| 7. | Croc | http://www.croc.ru/ | 2012 | Enterprise |
| 8. | I-Teco | http://www.i-teco.ru/ | 2012 | Enterprise |
| 9. | MegaFon | https://server.megafon.ru/ | 2012 | Enterprise |
| 10. | RTComm-Sibir | http://www.rtcomm-sibir.ru/ | 2012 | Professional |
| 11. | SoftLine | http://www.softcloud.ru | 2014 | Enterprise |
| 12. | DEPO Electronics | http://www.depo.ru/ | 2014 | Professional |
Когда стоит использовать IaaS
В том случае, если у специалистов конкретной компании есть опыт создания и администрирования ИТ-инфраструктуры, в определенных условиях использование IaaS будет оптимальным вариантом. Вот несколько наиболее распространенных случаев:
Когда не стоит использовать IaaS
Несмотря на гибкость и масштабируемость IaaS, у этой технологии есть определенные ограничения, и существуют ситуации, когда ее использование проблематично:
Как за все это платить
В том случае, если в аренду берется инфраструктура по модели IaaS, то как правило, существуют два варианта тарификации:
Модель оплаты за потребленные ресурсы, что логично, подходит компаниям с сезонными пиками нагрузки, когда потребность в вычислительных ресурсах резко повышается.
Вторая схема тарификации не столь гибка, но характеризуется большей стабильностью выделения ресурсов — компания всегда имеет зарезервированные для себя мощности. В случае прогнозируемого и стабильного потребления — этот вариант подходит лучше всего.
Заключение
Термин «облачные вычисления» на самом деле является составным и с его помощью нельзя четко описать конкретную ситуацию или технологию. Компании, которые планируют начать использование облаков, должны изучить различные аспекты и разновидности таких услуг, чтобы выбрать те, что лучше всего подходят для удовлетворения их потребностей.
На сегодня все! В наших следующих публикациях мы рассмотрим конкретные случаи переноса корпоративной инфраструктуры в облако, поговорим о возникающих проблемах, распространенных ошибках и лучших практиках использования IaaS.
Спасибо за внимание. Не забывайте подписываться на наш блог!
Что такое IaaS?
Инфраструктура как услуга
Инфраструктура как услуга (IaaS) — это разновидность службы облачных вычислений, предоставляющая основные ресурсы для вычислений, хранения и сетевого подключения по запросу с оплатой по мере использования. IaaS является одним из четырех типов облачных служб, к которым также относятся программное обеспечение как услуга (SaaS), платформа как услуга (PaaS) и бессерверные вычисления.
Миграция инфраструктуры организации в решение IaaS поможет сократить затраты на обслуживание локальных центров обработки данных, сэкономить на оборудовании и получить сведения бизнес-аналитики в реальном времени. Решения IaaS позволяют гибко масштабировать ИТ-ресурсы в соответствии с увеличением и уменьшением спроса. Они также помогают быстро подготавливать новые приложения к работе и повышать надежность базовой инфраструктуры.
IaaS избавляет от затрат и сложностей, связанных с приобретением физических серверов и инфраструктуры центров обработки данных и управлением ими. Каждый ресурс предоставляется как отдельный компонент службы, а вы платите за конкретный ресурс, только пока нуждаетесь в нем. Поставщик служб облачных вычислений, например Azure, управляет инфраструктурой, а вы приобретаете, устанавливаете и настраиваете собственное программное обеспечение (включая операционные системы, ПО промежуточного слоя и приложения), а также управляете им.
Распространенные бизнес-сценарии IaaS
Миграция по методике lift-and-shift
Это самый быстрый и наименее затратный метод переноса приложения или рабочей нагрузки в облако. Не прибегая к рефакторингу базовой архитектуры, можно увеличить масштаб, повысить производительность и уровень безопасности приложения или рабочей нагрузки, а также сократить затраты на их запуск.
Тестирование и разработка
Ваша команда может быстро разворачивать и демонтировать среды тестирования и разработки, быстрее выводя новые приложения на рынок. IaaS позволяет увеличивать и уменьшать масштаб сред тестирования и разработки быстро и экономично.
Хранение, архивация и восстановление данных
Ваша организация избавляется от необходимости делать капитальные вложения и преодолевать трудности, связанные с хранением данных и управлением хранилищем, для чего обычно требуются высококвалифицированные специалисты по управлению данными и обеспечению соответствия нормативным требованиям и требованиям законодательства. IaaS позволяет справляться с непредсказуемым спросом и стабильно растущими потребностями в хранении данных. Она также может упростить планирование систем резервного копирования и восстановления и управление ими.
Веб-приложения
IaaS обеспечивает всю инфраструктуру для поддержки веб-приложений, включая хранилище, веб-серверы и серверы приложений, а также сетевые ресурсы. Ваша организация может быстро развертывать веб-приложения на базе IaaS и легко увеличивать и уменьшать масштаб инфраструктуры, когда спрос на приложения становится непредсказуемым.
Высокопроизводительные вычисления
Высокопроизводительные вычисления на суперкомпьютерах, в компьютерных сетях или кластерах помогают решать сложные задачи, включающие миллионы переменных и большие объемы вычислений. В качестве примеров можно привести моделирование землетрясений и сворачивания белка, прогнозы изменений климата и погоды, финансовое моделирование и оценку проекта продукта.
Преимущества IaaS
Сокращение капиталовложений и оптимизация затрат
IaaS избавляет от затрат на настройку физического центра обработки данных и управление им, благодаря чему является экономичным вариантом миграции в облако. Модели подписки с оплатой по мере использования, применяемые поставщиками IaaS, помогут сократить затраты на оборудование и обслуживание, благодаря чему ваш ИТ-отдел сможет сосредоточиться на основных бизнес-задачах.
Повышение масштаба и производительности рабочих нагрузок ИТ
IaaS позволяет выполнять глобальное масштабирование с учетом пиковых периодов спроса на ресурсы. Таким образом, вы сможете быстрее предоставлять ИТ-ресурсы сотрудникам из любой точки мира и улучшать производительность приложений.
Повышение стабильности и надежности системы, а также возможности поддержки
При использовании IaaS нет необходимости обслуживать и обновлять программное и аппаратное обеспечение или устранять неполадки в работе оборудования. При наличии надлежащего соглашения поставщик служб обеспечивает надежность инфраструктуры и ее соответствие соглашениям об уровне обслуживания.
Улучшение непрерывности бизнес-процессов и аварийного восстановления
Реализация высокого уровня доступности, непрерывности бизнес-процессов и аварийного восстановления требует значительных затрат, так как для этого нужно много единиц оборудования и сотрудников. Но при наличии правильного соглашения об уровне обслуживания IaaS помогает сократить эти затраты. Она также помогает получать доступ к приложениям и данным в обычном режиме во время аварии или сбоя.
Повышение безопасности
При наличии надлежащего соглашения на обслуживание поставщик облачных служб может предлагать лучший уровень безопасности приложений и данных по сравнению с тем, который вы могли бы обеспечить самостоятельно.
Помощь с внедрением инноваций и ускорение доступа пользователей к новым приложениям
При использовании IaaS, как только вы решите запустить новый продукт или инициативу, необходимую вычислительную инфраструктуру можно подготовить за несколько минут или часов, а не дней или недель. А поскольку вам не нужно настраивать базовую инфраструктуру, IaaS позволяет быстрее предоставлять приложения пользователям.
Часто задаваемые вопросы
Платформа как услуга относится к облачным вычислительным службам, которые поставляют среду, доступную по запросу, для разработки, тестирования, доставки приложений программного обеспечения и управления ими. PaaS упрощает разработчикам задачу быстрого создания веб-приложений или мобильных приложений без необходимости иметь дело с базовой инфраструктурой серверов, хранилища, сети и баз данных, необходимых для разработки.
Программное обеспечение как услуга (SaaS) — это метод поставки программных приложений через Интернет по запросу и обычно на основе подписки. При использовании SaaS поставщики облачных служб размещают программное приложение и базовую инфраструктуру, а также управляют ими. Эти поставщики также выполняют все обслуживание, например обновление программного обеспечения и обновление системы безопасности. Пользователи подключаются к приложению по Интернету, обычно с помощью браузера на своем телефоне, планшете или ПК.
Облачные вычисления — это поставка вычислительных служб с помощью сети удаленных серверов, размещенных в Интернете, с целью хранения данных, их анализа и управления ими.
Гибридное облако — это тип облачных вычислений, в которых локальная инфраструктура (или частное облако) сочетается с общедоступным облаком. Гибридные облака позволяют перемещать данные и приложения между двумя средами.
Большинство служб облачных вычислений подразделяются на три общие группы: инфраструктура как услуга (IaaS), платформа как услуга (PaaS) и программное обеспечение как услуга (SaaS). Такие службы иногда называют облачным вычислительным стеком, потому что они накладываются одна на другую.
Начало работы с Microsoft Azure IaaS
Получите максимальный масштаб и производительность своих ИТ-ресурсов при оптимизации затрат. Ознакомьтесь с уникальными решениями инфраструктуры как услуги (IaaS) от Azure, которые позволяют работать из любого расположения, увеличивают эффективность, внедряют инновации в гибридных средах и помогают обеспечивать безопасность.
Публичные облака в российских реалиях. Часть 1. IaaS
Облачные технологии, инфраструктура как сервис и платформенные сервисы из нишевых решений давно перешли в стандарт де-факто для размещения приложений не только стартапов, но и крупных финансовых компаний, госкомпаний, автомобильных гигантов и популярных игровых сервисов. Компании Netflix и Spotify, Dropbox и Instagram начинали свой путь на облачных ресурсах, не инвестируя в собственную инфраструктуру. Совокупная выручка мировых поставщиков облачных услуг в 2019 году превысила бюджет Российской Федерации. В этой статье мы рассмотрим рынок облачных услуг в России. Мы сравним его с мировыми трендами и определим — опережаем мы или отстаём от мировых лидеров в развитии облачных услуг и насколько.
Как все начиналось
Публичные облака в РФ появились как эволюционное развитие собственной инфраструктуры виртуализации. Следуя за трендами в корпоративном сегменте, они были основаны на привычных крупным заказчикам технических решениях, таких как Microsoft Hyper-V и VMware vSphere, c установкой портала самообслуживания (Windows Azure Pack или vCloud Director for SP). Клиенты получали понятный им функционал: знакомые инструменты управления, мониторинга и резервного копирования – всё, с чем клиенты работали каждый день.
Такой подход позволяет в краткие сроки запустить сервис и начать получать прибыль от продажи облачных услуг, но имеет следующие недостатки.
Инфраструктура, обеспечивающая ресурсы платформы виртуализации, должна быть в списке совместимой и поддерживаемой. Для этого чаще всего используются серверы именитых производителей (Dell EMC, HPE, Lenovo, Huawei и др.) и выделенные СХД, подключаемые как блочные устройства по протоколу FС. Приобретение и поддержка такой инфраструктуры – это основная статья затрат в эксплуатации облачной платформы. Функционал и развитие облачной платформы целиком определяется выбранным вендором.
Параллельно стали появляться публичные облака, как эластичная инфраструктура, от нетипичных игроков на рынке из таких индустрий, как retail (Amazon), e-commerce (Alibaba) и интернет (Google).
Используя наработки на базе собственных on-premise технологий, в популярного поставщика облачных услуг превратилась компания Microsoft с их платформой Azure.
Большинство игроков частично использовали решения open-source. Например, Amazon использовал гипервизор Xen, а сейчас переключился на KVM. Кто-то использовал платформу с открытым исходным кодом OpenStack, дорабатывая ее под свои нужды.
Запуск решения на базе готовой платформы с открытым исходным кодом позволяет сократить время выхода на рынок, особенно если нет достаточно зрелых технологий, на базе которых можно построить собственную инфраструктуру. Вокруг популярной платформы обычно довольно зрелая экосистема с необходимым набором утилит для организации DevOps конвейера, мониторинга, автоматизации и оркестрации. Такой платформой можно считать Mail.ru Cloud Solutions (MCS) на базе Openstack.
Яндекс для своей платформы Яндекс.Облако принял решение развивать собственную архитектуру системы управления и оркестрации. Для этого они частично переиспользовали собственные наработки. Из-за этого образовался технический долг на старте запуска платформы, который приходится закрывать семимильными шагами.
Немного о сравнении
Мы сравним эти два подхода к построению облачной инфраструктуры от компаний Mail.ru Group и Яндекс. Остановимся только на ключевых отличиях и посвятим сравнению цикл статей. В первой статье мы начнем с IaaS, во второй статье планируем остановиться на сетевых сервисах и PaaS, в третьей – на SaaS, мониторинге и сервисной поддержке.
Мы ограничили состав участников сравнения указанными платформами, потому что они соответствуют нашему представлению о современном поставщике облачных услуг, которое заключается в следующих критериях:
На каждом этапе сравнения будем брать ориентир на облачную платформу Microsoft Azure. Это поможет нам понять, насколько компании Яндекс и Mail.ru Group приблизились в технологическом аспекте к одному из мировых лидеров в области предоставления облачных услуг.
Вместо Microsoft Azure могла быть любая другая платформа из крупных игроков. Мы предпочли ее по двум причинам:
Обеспечить высокую доступность наших сервисов нам помогает хорошо спроектированная архитектура, способная переживать любые отказы компонент. Однако какой бы не была идеальной наша архитектура, отказ дата-центра сведет все наши старания на нет. Ввиду этого избыточность на уровне ЦОД для приложений с такими требованиями является обязательной.
Рис. 2. Архитектура ЦОД ближайшего к России региона Azure
В рамках платформы Azure существует концепция «зон доступности», каждая из зон доступности представляет собой выделенный дата-центр в пределах некоторого географического региона. Существуют ограничения по репликации данных в пределах региона и между регионами, которые следует учитывать при проектировании архитектуры сервисов. Тем не менее по настоящему отказоустойчивый сервис чаще размещается в нескольких зонах доступности. Непродуктивные среды могут быть размещены в одной зоне, а при необходимости быстро переразвернуты в другой.
Важным преимуществом платформ MCS и Яндекс.Облако по сравнению с Microsoft Azure является наличие дата-центов на территории Российской Федерации. Если ваш сервис должен соответствовать требованиям Федерального закона «О персональных данных» (ФЗ-152), то развертывание его в облаке от зарубежного поставщика потребует внедрения дополнительных технических решений, так как первичная обработка персональных данных (ПДн) должна происходить на территории Российской Федерации и в дальнейшем данные должны передаваться по защищенным каналам связи. Невыполнение требований о защите ПДн может привести к блокировке доступа к сервису Роскомнадзором.
Рис. 3. Архитектура ЦОД платформы MCS
Облачная платформа от Mail.ru Group размещена на территории города Москвы в двух арендованных дата-центрах: DataLine на Коровинском шоссе и DataPro на Авиамоторной улице. Последний имеет сертификацию Uptime Institute. Между дата-центрами организован канал 40 Гбит/с с длиной трассы около 25 км. Это позволяет нам рассматривать оба дата-центра, как площадки для построения высокодоступных (High-Availability) кластеров с узлами в каждом из дата-центров с синхронной репликацией данных между ними, но без так называемой кворум площадки.
Сетевая архитектура облака имеет растянутые L2 сети между площадками. Это дает нам возможность использовать технические средства отказоустойчивости: Keepalived, Veritas Cluster Server, Microsoft Windows Server Failover Cluster и прочие. Такие средства увеличивают наши шансы на миграцию большинства legacy решений в IaaS данного поставщика. При этом мы сохраняем отказоустойчивость архитектуры, которую мы использовали на собственном оборудовании on-premise.
Арендованные ЦОД позволяют MCS предоставить дополнительный сервис для клиентов, когда поставщик облачных услуг предоставляет в аренду различное оборудование для клиента с подключением его к облачной платформе.
При отсуствии официальной сертификации платформы под SAP HANA, компания Mail.ru Group может установить по запросу клиента сертифицированные SAP HANA Appliance и подключить их к клиентскому VPC внутри облака MCS. Это позволит не потерять поддержку на продуктивные среды SAP продуктов и воспользоваться всеми преимуществами облачной инфраструктуры для остальных сред.
Аналогичным примером может быть установка оборудования для организации защищенных каналов связи с помощью национальных стандартов криптографии (например, алгоритмов шифрования ГОСТ Р 34.12-2015).
Стоит отметить, что компоновка оборудования самого облака стандартизирована и проходит все стадии тестирования внутри компании.
С другой стороны приходится усиливать меры по контролю доступа в серверные помещения, организовывать специальные зоны, отгороженные от других арендаторов стойко-мест, вводить дополнительные системы контроля и управления доступом и собственные средства видеонаблюдения.
Рис. 4. Архитектура ЦОД платформы Яндекс.Облако
Облако от компании Яндекс в свою очередь размещено в трех собственных дата-центрах, расположенных в Московской, Владимирской и Рязанской областях. Каждый ЦОД проектировался и строился самостоятельно. Яндекс эксплуатируют их с соблюдением международных и собственных стандартов. Надо отметить, что опыт в построении дата-центов у Яндекса действительно имеется.
Компания следит за энергоэффективностью собственных дата-центров, поэтому все оборудование, установленное в них, соответствует стандартам компании. Клиентское оборудование в ЦОД не устанавливается. Дополнительным преимуществом является отсутствие проблем с контролем доступа в дата-центры.
Три полноценные площадки позволяют разворачивать любые отказоустойчивые архитектуры. Однако большая удаленность, порядка 200 км друг от друга, не позволяет развернуть кластера высокой доступности (High-Availability) с узлами в каждом из дата-центров с возможностью синхронной репликации данных между ними. Также отсутствие L2 между дата-центрами ограничивает нас в возможности развернуть здесь legacy решения.
Архитектура IaaS платформы
Модель обслуживания Infrastructure-as-a-Service (IaaS), как описано в стандарте NIST, это возможность предоставить клиенту вычислительные, сетевые ресурсы и ресурсы хранения данных, на базе которых клиент сам размещает и управляет операционными системами и приложениями. Современная IaaS платформа включает в себя гипервизор, предоставляющий вычислительные ресурсы, программно-определяемую систему хранения данных software-defined storage (SDS) для размещения данных и программно-определяемую сеть software-defined networking (SDN) как средство организации сетевого доступа к ресурсам IaaS.
Референтная платформа нашего сравнения, Azure от компании Microsoft, начинает свою историю еще в далеком 2003-м году с приобретения компании Connetix и их продукта Virtual PC с целью догнать конкурента VMware и их продукт GSX Server, вышедший двумя годами ранее. Спустя время продукт Virtual PC интегрировали в состав платформы Windows Server. Он появился в версии 2008, но только к версии 2012 были реализованы SDS на базе Scale-Out File Server и Storage Spaces и SDN на базе Hyper-V Network Virtualization. Это позволило построить целиком программно-определяемую платформу IaaS без привязки к аппаратным возможностям СХД или оборудования ЛВС.
Платформа Azure поддерживается большинством современных DevOps утилит как для построения конвейера непрерывного развертывания, так и для автоматизации рутинных задач. У Azure функциональный веб-интерфейс и подробно документированный API. Все крупные игроки по разработке платформ автоматизации и управления облачными платформами поддерживают Azure. Утилита командной строки Azure CLI доступна как расширение PowerShell и как отдельная утилита для платформ Windows, Linux и MacOS X.
Компания Mail.ru Group для своего облака взяла наработки платформы OpenStack. К 2020 году компания перешла на полностью собственный дистрибутив, который не связан с open-source версией платформы. В качестве гипервизора используется функция ядра ОС Linux Kernel-based Virtual Machine (KVM), основным разработчиком которого является компания Red Hat, ныне часть IBM. Объем доработок KVM, которые выполнили разработчики MCS, компания не раскрывает. В части SDS для блочных устройств и сервиса NFS используется решение CEPH – его тоже дорабатывала команда MCS. Для объектного хранилища S3 были переиспользованы технологии облачного диска Mail.ru Group. В качестве сетевого решения применяется решение на базе OpenvSwitch, однако механизмы управления Control plane были серьезно переработаны. Это дало жизнь проекту Sprut.
Для управления платформой MCS был реализован отдельный портал, в котором реализованы самые популярные сервисы, а также доступен нативный интерфейс OpenStack Horizon. Для тонкой настройки сервисов предоставляется доступ к OpenStack CLI или OpenStack API. Есть также возможность использовать решение Infrastructure as Code (IaC) которое будет обращаться напрямую к API платформы. Работу с OpenStack поддерживает большинство систем управления конфигурацией, что упрощает встраивание облака MCS в DevOps конвейер и внешние системы управления облачными ресурсами.
Как было у Яндекса? Первую версию своей платформы компания разрабатывала для себя. Яндекс, так же, как и Mail.ru Group ориентировался на архитектуру и компоненты OpenStack. Однако, потом компания отказалась от нее. Было принято решение начать с «чистого листа. Яндекс переиспользовал базовые инфраструктурные компоненты, которые у них уже были. К ним компания дополнительно разработала недостающие модули и платформу управления.
В качестве гипервизора компания Яндекс также использует KVM. В его разработку инвестированы большие ресурсы. Решения SDS и SDN были разработаны компанией самостоятельно. SDS основан на собственной СУБД Yandex Database (YDB) для хранения мета-данных о размещении виртуальных машин и Network Block Storage (NBS) как сервиса предоставления блочных устройств виртуальным машинам, также YDB используется и в S3-совместимом решении в составе платформы. Яндекс, в отличии от MCS и Azure, не предлагает сервис NFS в составе услуг, рекомендуя развернуть его на базе виртуальной машины. В качестве SDN используется переработанная платформа OpenContrail. Её разрабатывали Juniper Networks, которая с недавнего времени входит в Linux Foundation, как платформа TungstenFabric.
Использование собственной платформы управления ограничивает возможности по встраиванию ресурсов Яндекс.Облака в конвейер DevOps или внешние системы управления облачными ресурсами. В настоящий момент заявлена поддержка IaC Terraform с помощью разработанного компанией провайдера. Ещё существует неофициальная поддержка работы с Ansible. Однако, среди популярных систем для управления Гибридными Облаками (Cloud Management Platforms) – таких как Red Hat CloudForms, Morpheus, Scalr, поддержка отсутствует. Компания также разработала и поддерживает свою собственную утилиту YC CLI для работы с платформой из командной строки с собственным набором команд.
Хранение данных
У MCS есть репликация блочных устройств между зонами доступности, что позволяет запустить виртуальную машину с теми же данными на любой из площадок, а также получить высокопроизводительный локальный диск NVMe или общее СХД по протоколу ISCSI. Azure предлагает репликацию объектных хранилищ как внутри зоны доступности, так и между зонами в пределах географического региона, а также сервис Azure Site Recovery для репликации блочных устройств. Обе платформы предоставляют сервис NFS.
В платформе Яндекс.Облако нет синхронной репликации блочных устройств между зонами доступности. Реплицируются только резервные копии и S3-хранилище. Репликация данных для Яндекс.Облака может быть реализована средствами приложения или СУБД. Отсутствие репликации блочных устройств связано с тем, что ЦОДы располагаются достаточно далеко и синхронная репликация будет вносить значительные задержки в дисковый ввод-вывод. Сервис NFS платформой Яндекс.Облако не предоставляется.
Образы виртуальных машин
В отличие от Azure, в MCS отсутствует возможность развернуть ВМ с использованием enterprise-level дистрибутива ОС Linux (RHEL, SLES, OEL). Платформа Яндекс.Облако позволяет развернуть ВМ с ОС RHEL версии 7.8, но подписку клиент должен оформлять самостоятельно через стороннюю организацию.
Оба провайдера поддерживают загрузку собственных образов ОС. Яндекс поддерживает форматы qcow (qemu), vhd (Microsoft Hyper-V/Azure) и vmdk (VMware ESXi), но отсутствует возможность импорта ova/ovf формата. MCS поддерживает загрузку формата RAW, для которого требуется конвертация с помощью стандартной утилиты из пакета Qemu. Ещё он поддерживает конвертацию на лету при загрузке через веб-интерфейс портала. Azure позволяет загружать собственные образы в формате VHD (формат Hyper-V).
Уровни SLA отличаются между платформами. MCS и Azure предоставляют SLA в рамках доступности на каждый из облачных сервисов, а также на отдельные параметры внутри сервиса – например, на IOPS для блочных устройств. Яндекс же оперирует только доступностью сервиса, не включая характеристики отдельных компонент. Все провайдеры компенсируют часть счета на услуги в зависимости от времени простоя сервиса. Яндекс отдельно упоминает о возможности полной компенсации платежей в случае потери данных клиента.
Все платформы предоставляют сервис управления учетными записями и правами Identity and Access Management (IAM).
Яндекс для этого требует наличия учетной записи в сервисе Яндекс.Паспорт или интеграцию с внешним провайдером учетных записей посредством протокола SAML, например, AD FS, и позволяет управлять квотами и правами в контексте облачных услуг.
Компания Mail.ru Group расширила функционал, заложенный в IAM для Openstack в части работы с собственным сервисом S3, и близка по возможностям к сервису платформы Яндекс.Облако.
Обе платформы не предполагают сценариев интеграции IAM для собственных приложений клиента.
Наиболее богатый функционал IAM у Azure. Кроме управления облачной инфраструктурой есть возможность получить Active Directory, как услугу. Есть возможность использовать IAM для интеграции с приложениями в облаке для управления учетными записями клиентов компании. Все платформы поддерживают управление собственными SSH ключами для Linux систем.
Управляемые сервисы VPN и DNS
Для полноценного использования платформы IaaS нам требуются такие сервисы, как Managed VPN и Managed DNS. Azure позволяет управлять внешними и внутренними DNS зонами, обычными или техническими DNS записями, а также автоматически регистрировать новые DNS записи при создании ВМ. В MCS функционал ограничен созданием внутренней DNS зоны и автоматической регистрацией ВМ в ней, с возможностью создания произвольного имени или же привязки DNS-записи к сетевому порту (IP адресу), но без возможности управления техническими записями. В платформе Яндекс.Облако отсутствует возможность управлять записям DNS.
Если говорить об организации защищенного подключения и пиринга, то наиболее полный функционал у Azure. В нём есть поддержка режимов client-to-site, site-to-site и прямого пиринга по протоколу BGP. Пропускная способность VPN-линка к Azure ограничивается оконечным оборудованием клиента. MCS поддерживает только режим site-to-site для протокола IPSec. Яндекс – только технологию прямого соединения (название сервиса — Yandex.Cloud Interconnect) по протоколу BGP. Для организации защищенного канала VPN к платформе Яндекс.Облако потребуется развернуть Cisco CSR, Mikrotik CHR или другое VPN решение из маркетплейса.
On-Premise решение для частного облака
Все поставщики облачных услуг предоставляют возможность развертывания своей платформы на оборудовании заказчика (on-premise). Частное облако может быть интегрировано с публичной платформой от данного поставщика для организации гибридного решения с единым порталом управления, репликацией машин и Disaster Recovery площадкой в публичном облаке. Есть отличие предоставления сервиса и вот в чём оно состоит. Microsoft и Яндекс поставляют собственные решения в виде готового к установке в ЦОД оборудования. Компания Mail.ru Group может поставить свое решение на оборудование клиента, совместимого с их платформой.
Итоги сравнения
Подведём итоги сравнения платформ MCS и Яндекс.Облако в части IaaS. Производители данных решений не до конца реализовали весь функционал, необходимый для полноценного перехода инфраструктуры клиента на их сервисы. Отсутствие или недостаточная реализация функционала таких сервисов, как VPN и DNS, требует от клиента наличия своей собственной команды для их поддержки. Это создаёт технический долг, который компании обещают закрыть.
Основные отличия между платформами кратко:
Сравнивая функционал у обоих игроков, оценим его как почти равный. Разве что MCS выглядит более зрелым игроком. На это две причины: разница в возрасте, около полутора лет с момента запуска, и использование наработок из эко системы Openstack. С другой стороны в мире не так много крупных облачных сервисов, построенных на базе Openstack. Если развитие данной платформы будет приостановлено, то компания Mail.ru Group будет вынуждена продолжать разработку в одиночку, будучи скованной архитектурными паттернами родительской платформы Openstack.
Яндекс же пошел по своему пути. Для реализации недостающего функционала собственными силами ему требуется время. В долгосрочной перспективе разработка собственной платформы позволит максимально быстро откликаться на потребности индустрии.








