Русский
Русский
English
Статистика
Реклама

Private cloud

Kubernetes на собственной инфраструктуре за и против приватных облаков

21.08.2020 18:08:22 | Автор: admin
Уважаемые читатели, доброго дня!

В данной статье Игорь Котенко, главный архитектор компании Неофлекс, делится опытом развертывания платформы контейнеризации на инфраструктуре предприятия.



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

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

Инфраструктура, как сервис (IAAS) железо (как правило, виртуальное);
Софт, как сервис (SAAS), например, DBAS база данных как сервис;
Платформа, как сервис (PAAS);
Приложение, как сервис (AAAS).



При этом, ничего не мешает слоям базироваться друг на друге. Очевидно, что под платформой или софтом обязательно будет инфраструктура.

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

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

Что рассчитывают получить компании при внедрении on premise облаков:

1. Низкую стоимость ресурсов. Потому что платишь только за то, что используешь.
2. Возможность максимально быстро добавлять и отдавать обратно ресурсы.
3. Отказоустойчивость. Сервер упал, вместо него автоматически дали другой.
4. Низкую стоимость поддержки.


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

Рассмотрим эти обещания в разрезе частных облаков.

1. Низкая стоимость ресурсов по сравнению с обычной инфраструктурой.

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

2. Возможность крайне быстро увеличивать и уменьшать ресурсы.

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

3. Отказоустойчивость.

Да, но присутствует много нюансов. Допустим, вышел из строя сервер. Где же взять еще один? Как быстро развернуть и добавить его в кластер? Если вы не Amazon, то у вас нет бесконечных запасов ресурсов.

4. Низкая стоимость поддержки.

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

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

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

Как меняются DevOps процессы.

Обычно, до внедрения собственной PAAS, подход к построению DevOps основывается на использовании систем автоматизации конфигурирования, таких как Ansible или Chef. Они позволяют автоматизировать почти все рутинные процессы IT, часто используя готовые библиотеки скриптов. Однако, платформы контейнеризации продвигают альтернативный подход immutable infrastructure. Его суть не изменять существующую систему, а взять готовый виртуальный образ системы с новыми настройками и подменить старый образ новым. Новый подход не отрицает старый, но вытесняет автоматизацию конфигурирования в слой инфраструктуры. Безусловно, легаси-системы требуют сохранения старого подхода.

Поговорим об инфраструктурном слое.

Стандартом де-факто в IT является использование виртуальной инфраструктуры. Как показывает практика, самый распространенный вариант использование vSphere. Тому есть множество причин, однако существуют и последствия. В нашей практике частые проблемы с оversubscription по ресурсам (попытка сшить семь шапок из одной шкурки) усугублялись практически полным отсутствием контроля и влияния на этот процесс со стороны тех, кто отвечает за производительность решения. Разграничение зон ответственности в подразделениях компании, формализация процедур запросов ресурсов и разные цели руководства подразделений, приводили к проблемам в продуктовой среде и не консистентным нагрузочным тестированиям. В какой-то момент наш отдел разработки даже создал инструмент измерения производительности виртуального ядра, чтобы быстро диагностировать нехватку аппаратных ресурсов.

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

Вопрос, нужна ли для платформы контейнеризации on-premise виртуальная инфраструктура или лучше ставить ее bare-metal (на железные серверы), дискутируется давно и достаточно широко. Лоббируемые производителями систем виртуализации статьи утверждают, что потерь производительности практически нет, а преимущества слишком велики. С другой стороны, есть независимые результаты тестирования, которые говорят о потерях от 10% производительности. Не стоит забывать и о стоимости лицензий vSphere. Например, устанавливать бесплатную версию Kubernetes на недорогое железо именно для экономии и платить за vSphere? Спорное решение.

Нужно упомянуть об open source решении виртуализации инфраструктуры, например, Open Stack. В целом, о нем сложилось мнение как о решении, требующем серьезных инвестиций в команду. В сети есть статистика, по которой размер команды поддержки Open Stack составляет от 20 до 60 человек. И это отдельно от поддержки платформы контейнеризации! На рынке таких специалистов немного что повышает их стоимость. Такие вложения обычно окупаются только на очень больших объемах ресурсов.

Важно учитывать наличие в компании специалистов с уникальными компетенциями. К сожалению, установка bare-metal Kubernetes, несмотря на преимущества в прозрачности и снижение расходов на лицензии, часто затруднена, например, отсутствием нормальных инструментов автоматизации установки. Надеемся, что будущее именно за этим подходом.
Еще одним аспектом, влияющим на выбор между виртуальной и bare-metal установкой, является организация железных серверов.

Обычно организация закупает сервера, следуя определенным целям. Можно арендовать сервера в ЦОД (из того, что они предлагают), можно стандартизовать и унифицировать номенклатуру (упрощая резервирование компонент), можно экономить на железе (много недорогих серверов), можно экономить место в стойках. Разные подходы в разных организациях. В целом это либо мощные серверы с большим количеством ядер и памяти, либо сравнительно небольшие по объему, либо сборная солянка. Но, не стоит забывать о потребностях легаси-систем. В этот момент мы опять сталкиваемся с противоречием в концепциях. Идеология Kubernetes много недорогого железа и готовность к его отказам. Упал сервер не беда, ваши сервисы переехали на другой. Данные шардированы (дублированы), не привязаны к контейнеру. Легаси идеология резервирование на уровне железа. RAID-массивы, дисковые стойки, несколько блоков питания на сервере, горячая замена. Упор на максимальную надежность. Ставить на такую инфраструктуру Kubernetes может быть неоправданно дорого.

Мы делили апельсин, много наших полегло



Если в компании есть высокопроизводительные серверы с множеством ядер на борту, может возникнуть необходимость разделять их между разными потребителями. Тут без системы виртуализации будет не обойтись. При этом, нужно учесть возможность выхода сервера из строя или его остановку на обслуживание. Арифметика проста: если у вас два сервера, при выходе из строя одного, нужен 50% резерв мощности на каждом; если 4 сервера, при выходе из строя одного, нужен 25% резерв. На первый взгляд все просто необходимо бесконечное количество серверов, тогда выход из строя одного из них не скажется на общей мощности и ничего резервировать не нужно. Увы, размер ресурсов одного хоста нельзя сильно снижать. Как минимум, на нем должны умещаться все связанные компоненты, которые в терминологии Kubernetes называются pod. И, конечно, при дроблении на мелкие серверы, растут накладные расходы на сервисы самой платформы.

В практических целях, желательно унифицировать параметры хостов под платформу. В приближенных к жизни примерах, присутствует 2 ЦОД (поддержка сценария DR означает, как минимум, 50% резервирование ресурсов по мощности). Далее определяются потребности организации в ресурсах платформы контейнеризации и возможность размещения ее на типовых bare-metal, либо виртуальных хостах. Рекомендации Kubernetes не более 110 pod-ов на одну ноду.
Таким образом, для определения размера ноды, нужно учесть следующее:

Желательно делать ноды равными;
Ноды должны умещаться на вашем железе (для виртуальных машин кратно, N виртуальных на одну железку);
При отказе одной ноды (для варианта с виртуальной инфраструктурой одной железного сервера) у вас должно хватить ресурсов на оставшихся нодах для переезда pod-ов на них;
На одной ноде не может быть слишком много (> 110) pod-ов;
При прочих равных желательно делать ноды крупнее.

Такого рода особенности приходится учитывать в каждом аспекте архитектуры.

Централизованное логирование как выбрать из нескольких вариантов?
Мониторинг возможно ваша существующая система мониторинга не подойдет, держать две или мигрировать на новую?
Обновления платформы на новую версию регулярно или только по крайней необходимости?
Отказоустойчивая балансировка между двумя ЦОД как?

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

Вопросы планирования, распределения и владения ресурсами для публичных и приватных облаков отличаются мало. Основное отличие ограниченный объем ресурсов. Если в публичных облаках можно в любой момент взять дополнительно необходимые ресурсы, например, под нагрузочное тестирование, то on-premise приходится тщательно планировать очередность их использования. Это означает, что у вас могут появится ночные запуски и, соответственно, увеличится работа сотрудников из 2-ой и 3-ей линии в неурочное время. Ничего нового для тех, кто работает на своих ресурсах, но горький вкус разочарования для ожидающих чудес от внедрения частных облаков.

Кадры решают все



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

Например, для работы платформы необходимо выбрать и установить систему хранения данных. Какую бы систему вы не выбрали (CEPH или Portworx), она будет критична для платформы. Всем известно, что для поддержки базы данных требуется администратор. Так и для системы хранения данных нужен отдельный специалист. К сожалению, об этом никто не задумывается до внедрения системы! Отметим, что разница между администраторами для разных продуктов существенна сравнима с разницей между Oracle DBA и MS SQL DBA. Потребуется, минимум, два человека на каждую роль: сотрудники ходят в отпуск, болеют и даже, боже упаси, увольняются. И так на каждую компетенцию, а список необходимых для поддержки решения компетенций внушителен.

Хочется сразу предостеречь от попыток скрестить все компетенции в некоторых универсальных солдатах. Их стоимость, редкость и риски потери превышают все разумные пределы.

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

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

Когда же стоит рассматривать внедрение платформы контейнеризации on-premise?

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

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

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

Спасибо за чтение данной статьи, надеемся, что информация окажется полезной.
Подробнее..

Как MCS и Х5 построили частное облако в энтерпрайзе, чтобы быстро получать готовые сервисы

07.06.2021 12:06:42 | Автор: admin


Castle in the sky by PiotrDura


Публичное и частное облако одного провайдера два разных продукта или одна и та же платформа, просто развернутая на разном оборудовании? На примере решения для Х5 Retail Group я, Илья Болучевский, технический директор Mail.ru Private Cloud, расскажу, в чем отличия и как построен процесс внедрения облака вендора в корпоративную инфраструктуру.


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


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


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

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



Почему Х5 пошли в частное облако и каких результатов достигли


Компания столкнулась с необходимостью обеспечить быстрое выделение ресурсов под внутренние проекты, а также запустить новые процессы: микросервисную разработку в новом формате, CI/CD-пайплайны на базе облака и Managed-сервисов, автоматизацию на уровне IaC.


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


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


Результаты. После внедрения облака значительно улучшились KPI: раньше ресурсы виртуализации выдавались внутренним заказчикам в течение нескольких дней, теперь за минуты. Командам компании стало удобнее запускать пилоты, среды разработки, пересоздавать их.


Также компания интегрировала с платформой собственную разработку, которая автоматизирует доступ к ресурсам для внутренних клиентов. Благодаря ей внутренние клиенты разработчики, тестировщики, проектные менеджеры получили больше прав для самостоятельной работы с сервисами. Раньше с задачами они шли в службу поддержки и заводили там заявку, которая двигалась по очереди между несколькими командами. Сейчас все работает как Self-Service: автоматически, без ручного труда. Внутренние заказчики могут выбирать сервисы, смотреть демо, рассчитывать стоимость инфраструктуры под проект, что значительно ускорило процесс согласования.


Кроме того, выгоднее стала платформа контейнеризации за счет особенностей лицензирования решения: компания внедрила Kubernetes как сервис, который построен на Open-Source-технологии. Он дает возможность внутренним заказчикам получать полноценные кластеры с возможностью автомасштабирования, что помогает гибко управлять ресурсами. Также для ряда задач в качестве платформы контейнеризации продолжают использовать OpenShift и ванильный Kubernetes.


Наше частное облако стало основой для дальнейшей автоматизации: действия на платформе можно совершать не только через UI, но и через API, что позволяет сделать слой инфраструктуры абсолютно прозрачным и работать через любые приложения.


В итоге внедрение частного облака позволило нашему клиенту ускорить Time-to-Market IT-продуктов компании. Однако достичь этого было непросто: ниже разберу, какие проблемы возникают в процессе и как мы их решаем.


Почему так сложно развернуть частное облако


Создание частного облака в существующем IT-ландшафте это как стыковка Союз Аполлон: нужно соединить две совершенно разные системы сложившуюся корпоративную и внешнюю, которую приносит провайдер частного облака. Даже имея готовые компоненты, нельзя взять публичное облако и развернуть такое же во внутреннем контуре компании, ничего не меняя. У каждой компании свои требования, требуются сложные кастомизации, интеграции и доработки.


Например, у нас в Mail.ru Cloud Solutions есть готовый Kubernetes aaS. Для Х5 Retail Group мы полностью переписали его под другую топологию сети не потому, что он чем-то плох, а потому, что корпоративное частное облако иначе работает. Фактически публичное облако приходится каждый раз частично пересоздавать под каждого клиента.


По мере наработки клиентской базы мы стали лучше работать с запросами клиентов. Большинству нужны одни и те же доработки: интеграция с ADFS, кастомизация образов, в том числе для баз данных, свои ролевые модели, SSO-интеграции. Есть уникальные требования вроде RBAC-модели по сетевым портам.


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


Другая сложность взаимодействие команд. Нужно сработать вместе: наша команда обладает компетенцией в своем продукте, Х5 компетенцией в своих системах. Нужно объединить компетенции, договариваться, чтобы достичь результата. В Х5 Retail Group работает квалифицированная команда, которая на равных участвовала в процессе интеграции и выстроила процессы работы изнутри.


На уровне взаимодействия команд могут быть подводные камни. Например, виртуализацию и облачные платформы не стоит путать, но такая путаница встречается в компаниях, которые внедряют частное облако. Любая облачная платформа отличается тем, что есть Self-Service, пулинг ресурсов. Некоторые инженеры пытаются работать с ней как с классической системой виртуализации, а далеко не все принятые в таком случае подходы применимы к облаку.


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


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


Какую инфраструктуру мы построили для Х5


В Х5 Retail Group сейчас развернута облачная инфраструктура с единой консолью администрирования, маркетплейсом приложений и порталом самообслуживания для внутренних заказчиков. Им доступны платформенные сервисы, в которых у компании была потребность в момент внедрения, аналогичные таким же из нашего публичного облака. Компания получила наш Kubernetes как сервис и облачные базы данных, которые прошлые платформы не предоставляли: ранее их запускали в IaaS руками, на внутренней системе виртуализации.


В состав платформы входят следующие наши сервисы:


  • инфраструктурные сервисы (IaaS) виртуальные машины в различных конфигурациях, диски, балансировщики нагрузки, настройки Firewall;
  • PaaS кластеры Kubernetes как базовая платформа контейнеризации, набор баз данных PostgreSQL, Redis, MongoDB, MySQL, чтобы внутренние заказчики могли выбрать СУБД под потребности проекта/продукта. Все сервисы адаптированы под требования информационной безопасности компании;
  • отказоустойчивые хранилища на базе CEPH с тройной репликацией данных и интеграцией с СХД клиента;
  • маркетплейс, который в X5 используют для размещения нужных внутренним заказчикам приложений.

В нашем публичном облаке реализован биллинг потребляемых ресурсов/сервисов по модели pay-as-you-go на базе платформы in-memory вычислений Tarantool. Для Х5 в него внесены изменения: в частном облаке это не биллинг оплаты провайдера, а система внутренней отчетности и планирования ресурсов. Она нужна, чтобы мониторить мощности, которые использует каждый проект, контролировать соблюдение лимитов по квотам ресурсов, формировать финансовую отчетность для точной оценки расходов по каждому проекту. Это в том числе требуется и для финансового планирования на старте проекта: использование внутренней инфраструктуры не бесплатно, подсчет расходов на нее позволяет точнее оценить ROI проекта. В такой форме решение может быть адаптировано и для других клиентов MCS.


Также у нас есть отдельный инструмент маркетплейс, это витрина с SaaS-приложениями, которые можно использовать внутри платформы. Х5 применяют его как витрину приложений для внутренних клиентов: там размещены приложения для разработки и DevOps.


Мы провели обучение для команды компании, как паковать приложения с помощью Git. Теперь специалисты Х5 Retail Group сами его наполняют приложениями, которые нужны внутренним заказчикам. По сути, идут в SaaS-историю, используя платформу как оркестратор и витрину, ориентируясь на востребованность сервисов, добавляя то, что будет использовано продуктовыми командами.


С платформой интегрирована внутренняя разработка X5, созданная инженерами компании и позволяющая автоматизировать доступ к ресурсам для внутренних клиентов. Благодаря ей и возможностям облака разработчики, тестировщики, проектные менеджеры получили больше прав для самостоятельной работы с сервисами. Раньше с задачами они шли в службу поддержки и заводили там заявку, которая двигалась по очереди между несколькими командами. Сейчас все работает как Self-Service: автоматически, без ручного труда. Где-то процессы доступа были упразднены, а где-то согласование осталось, но было автоматизировано. Внутренние заказчики могут выбирать сервисы, смотреть демо, рассчитывать стоимость инфраструктуры под проект, что значительно ускорило процесс согласования.


Чтобы получить готовое к работе частное облако, нужно пройти как минимум 10 шагов.


Какие этапы надо пройти, чтобы внедрить частное облако


Работа над проектом Х5 Retail Group до приема в эксплуатацию заняла у нас около трех месяцев: два месяца на установку и месяц на основные кастомные интеграции. На этом работа еще не закончена, мы делаем дальнейшие кастомизации. Но остальные доработки это уже работа на эксплуатируемой инфраструктуре.


Вот из каких этапов состоит процесс внедрения частного облака:


  1. Определяем бизнес-задачи первый шаг с нашей стороны: понять, что нужно бизнесу от облака, от этого зависят дальнейшие действия.
  2. Определяем ограничения они могут быть по технологиям, которые компания может использовать или нет, по информационной безопасности и по бюджету.
  3. Разрабатываем общую архитектуру решения из каких компонентов будет состоять, какие сервисы будут использованы.
  4. Выясняем специфику реализации сервисов сетевая архитектура, потребность в информационной безопасности.
  5. Прорабатываем интеграции по архитектуре интеграция состоит из двух частей: на стороне облака и на стороне целевой корпоративной системы. Здесь большая часть связана с ролевыми моделями и правами пользователей.
  6. Составляем финансовую модель биллинг, что и как считается, как это учитывать при планировании проектов.
  7. Устанавливаем и настраиваем оборудование подготовка инфраструктуры для облака. В отличие от многих провайдеров мы можем развернуть облако на оборудовании клиента, если оно подходит по параметрам. Это позволяет переиспользовать оборудование, которое освобождается после ухода от традиционной инфраструктуры.
  8. Реализуем кастомные доработки и разворачиваем решение тут, как правило, проявляется все, что не учли на предыдущих этапах, вплоть до возврата назад и переработки архитектуры решения.
  9. Проходим приемо-сдаточные испытания (ПСИ) решения и вводим его в эксплуатацию.
  10. Дорабатываем в процессе использования.

Далее расскажу про некоторые этапы подробнее. Начнем с того, как мы вместе с Х5 готовили инфраструктуру к внедрению нашей облачной платформы.


Как мы с Х5 готовились к внедрению частного облака


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


Когда мы все согласовали и подписали контракт, начинается этап предподготовки инфраструктуры, которым занимаемся мы или клиент по нашим требованиям. В последнем случае мы тесно взаимодействуем с командой компании, как это было на проекте Х5.


Инженеры Х5 Retail Group готовили оборудование, проводили необходимую коммутацию, настраивали сеть, создавали структуры в AD, DNS, предустанавливали операционные системы под гипервизоры, выдавали деплой-ноды, создавали необходимые технические учетные записи, согласовывали доступы, настраивали интеграцию с системами ИБ, проводили кастомизацию портала самообслуживания платформы.


Команда инженеров Х5 очень оперативно сработала и создала окружение, в котором могло работать наше решение. Примерно за две недели они подготовили инфраструктуру для начала деплоя.


Теперь мы могли приступить к развертыванию нашей платформы.


Как происходило развертывание приватного облака


После того как команда Х5 подготовила инфраструктуру, в дело вступили наши инженеры.


Процесс развертывания выглядит так:


  1. Сначала мы создаем деплой-ноду это нода, с которой устанавливается все остальное облако и распределяются роли по всем остальным серверам и серверам хранения.
  2. Затем начинается деплой IaaS-части, которая позволяет запускать виртуальные машины: она включает менеджмент, гипервизоры, подсистемы хранения.
  3. Поверх нее разворачиваем PaaS: Kubernetes, базы данных, большие данные в зависимости от требования клиента по ТЗ какие-то сервисы могут быть не нужны. В Х5 мы разворачивали Kubernetes aaS и облачные СУБД.

Сейчас у нас идет речь о модульном подходе: все компоненты готовы, отработаны на публичном облаке и мы можем их передать клиенту. Такая работа по деплою IaaS и PaaS заняла у нас 45 недель.


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


Как мы дорабатываем PaaS под требования клиента


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


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


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


К Kubernetes как сервису могут быть разные требования со стороны клиентов. Например, заранее прописанный Docker Registry или устаревшая версия Kubernetes: в публичном облаке самая младшая версия 16, можно взять 14, если компания ее использует. Для Х5 мы серьезно переделали KaaS, что было связано с особенностями топологии сети частного облака.


Такие требования к кастомизации PaaS возникают почти всегда. Когда клиент берет сервис в приватное облако, он может попросить добавить любые опции в соответствии с корпоративными требованиями.


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


Какие кастомные интеграции облачной платформы необходимы для On-premises


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


Я уже говорил, что требования корпоративных клиентов редко совпадают с коробочным решением. На этом этапе мы проводим интеграции с существующими ITSM-процессами и технологиями компании: попадание виртуальных машин в DNS, интеграция с AD, кастомная пересборка образов для авторизации через их AD, кастомная сборка образов под базы данных, интеграция с CMDB, S3-хранилищем, настройка резервного копирования на наш менеджмент.


Такие интеграции отличаются у разных клиентов это кастомная работа, автоматизировать ее в большинстве случаев нельзя. В случае Х5 Retail Group также были существующие системы типа AD, CMDB, DNS и так далее, со всем этим пришлось интегрироваться.


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


Интеграцию команда Х5 делала по принципу вызовов через API: на нашей платформе для интеграции делается вызов по определенному формату, дальше обработку вызова и реализацию специалисты компании реализуют самостоятельно, что позволяет им использовать нужные сервисы более гибко.


Эти кастомные доработки стандартные и не слишком сложные, однако на любом проекте возникают настоящие вызовы. В Х5 Retail Group таким вызовом для нас стала переделка всей сетевой топологии, частично затронувшая PaaS.


Самое сложное: переделка сетевой топологии


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


В публичном облаке используется топология сети, позволяющая применять internal-сети внутри проектов и публикации в интернете через external-сеть, используя для этого floating IP (белые адреса).


В приватном облаке сеть выглядит иначе: она плоская, поделена на сегменты, которых нет в публичном облаке, архитектурно реализована по-другому. Любая виртуальная машина сразу попадает во Vlan, нет никаких floating IP и серых адресов, есть только блок плоских адресов.


Из-за этой топологии нам пришлось переделывать половину сервисов и половину фронта. Исчезло такое понятие, как виртуальный роутер, пришлось переделывать логику работы балансировщика как сервиса, исключать некоторые сервисы типа VPN и так далее. То есть такая простая вещь, как переделка топологии сети, повлекла за собой переделку почти половины сервисов внутри облака.


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


С сетевой топологией была связана и самая большая переделка нашего Kubernetes aaS. По дефолту мы создавали его во внутренних сетях с балансировкой через наш балансировщик в публичном облаке MCS, имеющий выход во внешнюю сеть. Пришлось переделать всю логику работы, потому что Kubernetes надо было создавать в плоской сети и завязывать работу балансировщика, находящегося в частной сети.


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


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


Как мы выполнили требования информационной безопасности клиента


Приватное облако в Х5 отчасти выбрали из-за внутренних правил ИБ. Для компании мы выполнили интеграцию с ArcSight. Это SIEM-система: управление информацией о безопасности и событиями о безопасности. Все действия, которые происходят в инфраструктуре, должны регистрироваться в ней.


Например, произошел ресайз или удаление виртуальной машины SIEM фиксирует, во сколько была удалена ВМ и каким пользователем. Такую интеграцию с ArcSight используют многие клиенты. Некоторые используют другие SIEM-системы, но у всех крупных компаний они есть.


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


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


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


В проверки ПМИ входят тесты: высокая доступность (High Availability, HA), тесты отказоустойчивости, стресс-тесты выхода той или иной ноды или группы узлов, при которых все должно сохранить рабочее состояние. HA достаточно капризная, ее нам приходится долго и тонко настраивать с учетом всех кастомизаций.


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


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


Технологические ограничения, которые пришлось учесть в процессе внедрения


Технологические ограничения в проекте для Х5 Retail Group были разнообразные, расскажу про пару примеров.


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


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


Такие некритичные ограничения достаточно легко преодолеваются, но требуют времени, экспертности и совместной работы команд.


Итоги


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


Что еще почитать:


  1. Как реализуется отказоустойчивая веб-архитектура в платформе Mail.ru Cloud Solutions.
  2. Как выбрать облачную систему хранения данных, чтобы получить лучшую производительность и оптимизировать стоимость.
  3. Наш телеграм-канал об IT-бизнесе и цифровой трансформации.
Подробнее..

Какой вид облаков выбирают компании сегодня. Российская и зарубежная практика

06.11.2020 14:12:14 | Автор: admin
Приватные облака становятся все более популярным решением для построения ИТ-инфраструктуры. Это глобальная тенденция. Тем не менее, публичные облака вряд ли станут менее популярными они подходят для многих задач, от разработки ПО до хранения бэкапов. Конкретный выбор зависит от ваших задач и возможностей.




Опыт Hewlett Packard Enterprise


Руководитель линейки продуктов GreenLake от Hewlett Packard Enterprise Кит Уайт утверждает, что в ближайшем будущем 70% рабочих процессов будут выполняться на локальной инфраструктуре. Я могу посчитать на пальцах одной руки количество клиентов, которые планировали пользоваться только публичным облаком, говорит он. Уайт рассказывает, что когда компания переносит много сложных рабочих процессов в общедоступную облачную инфраструктуру, расходы резко возрастают.

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

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

Доводы в пользу публичности


Сторонники публичных облаков выделяют три основных плюса.

  • Это оптимальный выбор для разработки с помощью такого облака можно отделить среду тестирования продукта от рабочей и избежать сбоев.
  • Это хороший выбор для корпоративной электронной почты. Обеспечить нужный уровень безопасности силами штатных специалистов компании долго и дорого. А провайдеры публичных облаков уже накопили достаточное количество экспертизы, чтобы размещение почтового сервиса там было надежным.
  • Желающих взломать публичные сервера хватает, поэтому такие компании тратят серьезные усилия и ресурсы на безопасность. Если вы будете пользоваться услугами крупного провайдера публичного облака, беспокоиться, скорее всего, не придется.

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

Облачные тенденции в России


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

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

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

  • Быстрый доступ к нужным ИТ-ресурсам. При этом гибко контролируется соблюдение нормативных требований и уровень безопасности. Благодаря этому снижается вероятность ошибок.
  • Быстрый запуск ИТ-инфраструктуры в облаке и объединение ресурсов в пулы.
  • Гибкое масштабирование облака. Можно оперативно реагировать на изменения в потребностях.
  • Безопасность. Можно дать доступ только авторизованным пользователям и устройствам.
  • Быстрый запуск виртуальных машин.


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

Еще один признак хорошего провайдера он не боится предлагать разместиться в сторонних публичных облаках наподобие Amazon Web Services, Microsoft Azure и Google Cloud. Там, где другие могут видеть конкуренцию, он видит возможность для совместной работы. Также опытный сервис-провайдер возьмет на себя администрирование, мониторинг и первую линию поддержки инфраструктуры.

Резюме


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



Блог ITGLOBAL.COM Managed IT, частные облака, IaaS, услуги ИБ для бизнеса:



Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru