Рубрика:
Наука и технологии
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
ГАВРИЛОВ А.В., аспирант Национального исследовательского университета «Высшая школа экономики», Москва, Россия, agavrilov@hse.ru
Организация распределенного управления программно-определяемыми центрами обработки данных
В работе рассматриваются и анализируются тенденции развития современных центров обработки данных (ЦОД) и существующие решения по построению распределенных облачных ЦОД, описана иерархическая распределенная архитектура уровня управления на базе агентов, показаны особенности реализации подхода и приведены пять основных use-case применения данного подхода
Введение
В настоящее время происходят серьезные изменения в сфере информационных технологий (ИТ). Подход к построению ИТ Web-scale IT [1, 2, 3, 4] становится эталоном того, как необходимо создавать, эффективно управлять и использовать информационные технологии и системы в компаниях. Под влиянием таких прогрессивных и инновационных компаний, как Uber и Netflix, все больше компаний начинают применять стратегию цифровизации бизнеса (digital transformation)[5, 6], которая подразумевает под собой создание новых бизнес-моделей, процессов, программного обеспечения и систем, которые позволят достичь более высокого уровня доходов, повысят конкурентоспособность и эффективность работы компании.
Для современных крупных компаний и облачных провайдеров с географически распределенной инфраструктурой поддержание отказоустойчивого сервиса и соответствие соглашению об уровне услуги (service level agreement, SLA) является приоритетной задачей. Помимо этого, необходимо не только обеспечить безопасную и надежную передачу данных между центрами обработки данных, но и эффективно управлять такой объединенной ИТ-инфраструктурой. Однако дляпостроения распределенной гетерогенной аппаратно-программной инфраструктуры необходимы большие финансовые и интеллектуальные ресурсы [7].
В настоящее время применяются два архитектурных решения по объединению распределенной облачной инфраструктуры на базе OpenStack, которые используют либо один экземпляр OpenStack [8], либо каскадный OpenStack [9].
В первом случае на каждом сайте (отдельном ЦОД) размещаются основные сервисы OpenStack, кроме Horizon, Keystone и Swift, которые будут общими для всей распределенной инфраструктуры. Преимуществами являются единый сервис аутентификации и использование лишь одного экземпляра OpenStack. Однако при таком подходе могут возникнуть трудности при интеграции сторонних приложений в облачную платформу, так как многие сервисы будут географически распределены и вероятны высокие задержки или сбои и передача служебного трафика (в том числе данные для аутентификации) через глобальные каналы связи.
Каскадный OpenStack (в качестве реализации используются проекты Tricircle [10] и Trio2o [11]) является наиболее предпочтительным решением, так как позволяет использовать несколько экземпляров OpenStack. Причем версии платформы на разных сайтах могут различаться. При этом появляется возможность объединять сайты и управлять ими как единым пулом ресурсов. Однако сейчас простого объединения уже недостаточно – необходима интеллектуальная система управления, поддерживающая как средства аналитики, так и интеграцию сторонних приложений по управлению параметрами ИТ-инфраструктуры.
Для обеспечения высокой конкурентоспособности в условия цифровизации бизнеса современная ИТ-компания должна быстро и эффективно реагировать на требования рынка и бизнеса.
Для решения вышеперечисленных проблем предлагается иерархический распределенный подход к построению уровня управления в современных ЦОД на базе агентов [3, 12, 13].
Архитектура HD-ABCP
Архитектура HD-ABCP (Hierarchical Distributed Agent-Based Control Plane) (см. рис. 1) реализует подход к построению уровня управления в современных ЦОД, при котором вся ИТ-инфраструктура разделяется на множество программно-определяемых доменов (ПОД), находящихся под управлением агентов. Каждый агент может управлять как ПОД, так и некоторым количеством подчиненных специализированных агентов (агентов третьего уровня), которые отвечают завыполнение конкретных операций и задач. Все агенты в пределах одного сайта (ЦОД) находятся под управлением локального представления Local View кластера управления. Задачи глобального характера, такие как размещение потоков работ между доменами и облаками, а также оптимизация маршрутов для передачи данных между ПОД, решает прокси, который находится под управлением глобального представления Global View кластера управления.
Рисунок 1. Архитектура уровня управления на базе агентов
Акцент делается именно на агентах как на интеллектуальных модулях, которые можно легко кастомизировать и дорабатывать. Также использование агентов позволяет легко добавлять новые домены.
Программно-определяемый домен
ПОД (Software-Defined Domain, SDD) – это набор физических и виртуальных компонентов ИТ-инфраструктуры ЦОД, сервисов и приложений, которые находятся под управлением агента.
Все элементы ПОД являются программно-определяемыми или имеют программный интерфейс, позволяющий взаимодействовать с этим элементом и управлять им, а сами ПОД программно изолированы друг от друга. Благодаря этому появляется возможность использовать несколько платформ управления, что позволяет интегрировать новые решения и масштабировать инфраструктуру с меньшими трудозатратами. Более того, можно создавать программные конвергентные структуры, то есть размещать продукты Microsoft на базе гипервизора MS Hyper-V, а базы данных Oracle – на Oracle VM.
В более широком понимании программно-определяемый домен – это множество устройств и программных средств, которые могут быть не связаны с ИТ-инфраструктурой центров обработки данных, и состояние и события которых необходимо отслеживать и анализировать.
Агент
Агент представляет собой локальную платформу управления доменом, которая обеспечивает мониторинг, аналитику, оркестрацию [14] и интеллектуальное управление программно-определяемым доменом. Реализация агента возможна двумя основными способами: «толстый» агент и «тонкий» агент (см. рис. 2). «Толстый» агент реализует весь необходимый стек управления, «тонкий» интегрируется с существующей платформой (OpenStack).
Рисунок 2. «Тонкий» и «толстый» агенты
При построении масштабируемых высокопроизводительных облачных ЦОД или разнородных гибридных облаков возможно применение дополнительного уровня агентов (specific agent). При таком подходе в рамках отдельного ПОД можно выделить специализированные программно-определяемые домены, каждый из которых будет отвечать за выполнение тех или иных функций. Например, ориентация на определенный гипервизор, SDN-контроллер, тип вычислений илипубличное облако. Помимо этого, домены могут быть ориентированы на определенные типы услуг, выполняемые операции и размещаемые приложения.
За счет выделения таких агентов и микросегментации [15] на домены упрощаются управление и поддержка гетерогенной инфраструктуры ЦОД. Агент становится тем необходимым дополнительным уровнем абстракции над облачной платформой, который значительно повышает гибкость и адаптивность ИТ-окружения. Количество агентов и глубина их иерархии напрямую зависит от потребностей в сегментации ИТ-окружения на ПОД и в более детальном и точечном менеджменте сервисами, приложениями, структурой ПОД.
Архитектура агента является открытой и расширяемой. Это позволяет на базе прототипа агента за счет добавления нового функционала расширять возможности управления, а также оптимизировать и кастомизировать агента подконкретные задачи и цели.
Прокси
Прокси выполняет следующие функции: управление агентами; объединение множества доменов в единый пул ресурсов; обработка обобщенной информации (summary), получаемой от агентов, которая впоследствии будет отправлена Global View кластера управления для анализа, ее последующей визуализации и формирования отчетов.
Помимо этого, прокси, взаимодействуя с Global View кластера управления, выполняет размещение рабочих нагрузок, основываясь на показателях загруженности доменов и географического региона клиента, перераспределение нагрузок между доменами, а также эффективное размещение тенантов, чьи ресурсы находятся в нескольких ПОД, и обеспечение корректности работы службы аварийного восстановления между доменами.
Кластер управления
Главной функцией, которую выполняет кластер управления, является аналитика ИТ-операций (IT operations analytics, ITOA) [16]. ITOA предоставляет возможность мониторинга и анализа текущего состояния инфраструктуры, а также поиска и определения потенциальных сбоев, принятия проактивных действий. Gartner отметил [17], что применение средств аналитики ИТ-событий и операций имеет высокий уровень влияния на бизнес, поскольку дает возможности значительно повысить доход и сократить затраты, а также эффективнее вести свой бизнес.
Кластер управления состоит из двух представлений: локальное (Local View) и глобальное (Global View). Локальное представление отвечает за планирование ресурсов домена, поиск «мертвых» виртуальных машин, анализ логов и прочее, аглобальное представление – за WAN-оптимизацию, перемещение нагрузок между ПОД, эффективное размещение рабочих нагрузок для тенантов, чьи ресурсы расположены в нескольких ПОД, добавление и перемещение инфраструктуры между ПОД.
Важно отметить, что количество представлений Local View зависит от количества сайтов в распределенной инфраструктуре, так как локальное представление может содержать специальные региональные политики.
На одном сайте локальное представление кластера управления может поддерживать некоторое количество агентов (если их несколько на одно облако/сайт). Глобальных представлений может быть несколько (для отказоустойчивости), причем как в режим active/active, так и active/standby.
Преимущества и недостатки
Более детальная сегментация на основе агентов позволит, во-первых, эффективно управлять небольшими ИТ-юнитами, например тестовый стенд или окружение разработки, во-вторых, обеспечит полную отчетность по основным метрикам и позволит получать информацию о том, как данные ИТ-юниты используются. На основе этих данных можно не только оценивать эффективность работы, но и качественно обосновывать расходы на ИТ, что является особенно актуальным вусловиях цифровой трансформации.
Помимо единой консоли управления, средств аналитики и ITOA, которые позволяют администратору обнаруживать и устранять ошибки, предиктивные средства предотвращают сбои в работе, что позволяет снизить потенциальные простои и соответствовать заявленному уровню SLA. Также администраторы получают больше свободного времени на решение более важных задач, например планирование ресурсов, балансировка нагрузок и своевременное обновление эталонных образов ВМ/контейнеров.
Однако для достижения перечисленных результатов необходимо обеспечить интеграцию дополнительного уровня с уже существующими средствами управления и разработать management-приложения для агента. При этом трудозатратным является проектирование дополнительного уровня управления на основе архитектуры на базе агентов. На этом этапе необходимо решать задачи, связанные с сегментацией на ПОД и определением количества уровней иерархии агентов.
Варианты использования
Автором были разработаны пять вариантов применения уровня управления на базе агентов: географически распределенный ЦОД (см. рис. 3), гибридное облако (см. рис. 4), hyper-scale [18] ЦОД (см. рис. 5), интернет вещей (см. рис. 6) иContinuous Integration/Continuous Delivery (Blue/Green Deployment) (см. рис. 7).
Рисунок 3. Географически распределенный ЦОД
Рисунок 4. Гибридное облако
Рисунок 5. Hyper-scale ЦОД
Рисунок 6. Cloud-Fog-Dew
Рисунок 7. CI/CD & Blue/Green Deployment
Независимо от того, добавляется ли новый центр обработки данных к текущей инфраструктуре, создается резервный ЦОД для аварийного восстановления или идет слияние нескольких компаний, интеграция должна происходить легко ибыстро, а главное, без крупных затрат и простоев. На каждом сайте должен быть размещен агент: для нового ЦОД следует использовать «толстый» агент, в остальных же случаях – «тонкий». Внутри ЦОД иерархия агентов строится наоснове анализа потребностей и глубины микросегментации. Также должны быть выбраны сайт (либо центральный офис, либо географически центральный по отношению к другим ЦОД), где будут размещены основные экземпляры прокси и Global View, и сайт, где будут размещены их резервные экземпляры (в режим active/standby).
В отличие от крупных ИТ-компаний, которые эксплуатируют созданный своими инженерами парк оборудования в собственных hyperscale ЦОД, многие провайдеры облачных услуг используют гетерогенную аппаратно-программную инфраструктуру. В этих условиях организация вендорориентированных доменов позволит повысить качество предоставления сервиса и увеличить количество предоставляемых услуг.
Интеграция с публичными облаками и, как результат, построение гибридных облаков в рамках концепции позволят быстро и гибко перераспределять нагрузки между собственной (on-premises) инфраструктурой и облачной. Это даст возможность эффективно использовать арендуемые ресурсы и полную видимость об их фактическом использовании. Также интеграция в рамках одного уровня управления позволит использовать услуги множества различных облачных провайдеров и управлять таким гибридным облаком из одной консоли.
В архитектуре интернета вещей [19] выделяется три основных уровня: Cloud (облако), Fog (туман) и Dew (роса или капля). Каждый уровень включает различные устройства от smart-устройств и до edge-шлюзов, состояние которых необходимо контролировать и которыми нужно управлять.
DevOps [20] является гибкой технологией, обеспечивающей постоянное улучшение и новые итерации доработки приложений. Используя автоматизацию процесса CI/CD и технику Blue/Green Deployment [21], можно создать надежную ипрозрачную на всех этапах схему. За счет использования принципа Infrastructure as Code [22] и контейнеров при разработке становится проще и удобнее переносить и воспроизводить программное окружение. Таким образом, и на этапе разработки, и на этапе тестирования, и даже на сайте клиента окружение будет идентичным, что подразумевает значительное снижение вероятности появления багов и ошибок в ходе эксплуатации сервисов и приложений.
Помимо перечисленных вариантов использования, автор исследует Name Data Networking (NDN) [23] и Context-aware networking (CAN) [24], реализующие концепцию Information Centric Network, которая обеспечивает переход с ориентации на конечные узлы к ориентации на данные, хранящиеся на этих узлах, добавив над уровнем приложений еще уровень контекста.
Заключение
Использование описанного подхода к построению уровня управления позволяет повысить эффективность обработки, управления трафиком, оптимизировать использование ресурсов, автоматизировать администрирование сети, вычислительных ресурсов и систем хранения данных. Предлагаемая архитектура легко масштабируется, является отказоустойчивой и самодостаточной, а интеграция со средствами аналитики даст полную видимость по всем ИТ-операциям и позволит улучшить процессы управления и оркестрации.
Возможности применения предлагаемого подхода не ограничиваются облачными центрами обработки данных и описанными областями. Поэтому исследование потенциальных направлений, где подход может быть использован, будет продолжаться. Внедрение такой системы позволит перевести управление ИТ-инфраструктурой ЦОД на новый уровень за счет интеллектуальных агентов и их удобной расширяемой архитектуры.
- Enter Web-scale IT [Электронный ресурс]. URL – http://blogs.gartner.com/cameron_haight/2013/05/16/enter-web-scale-it (дата обращения: 23.01.2018).
- Gartner Says By 2017 Web-Scale IT Will Be an Architectural Approach Found Operating in 50 Percent of Global Enterprises [Электронный ресурс]. URL – http://www.gartner.com/newsroom/id/2675916 (дата обращения: 30.01.2018).
- Гаврилов А.В., Леохин Ю.Л. Web-scale IT, или Почему необходимо следовать практикам Google. // «Системный администратор», № 11, 2016 г. – С.76-80. URL – http://samag.ru/archive/article/3323 (дата обращения: 30.01.2018).
- Web-Scale 101 : Your Guide to Hyper-Converged Datacenters , Nutanix Publication. 2015.
- Digital Business Transformation: Disrupt To Win [Электронный ресурс]. URL – http://www.cisco.com/c/dam/en_us/about/business-insights/docs/digital-business-transformation.pdf (дата обращения: 22.01.2018).
- Цифровая трансформация [Электронный ресурс]. URL – https://www.croc.ru/solution/services/digital/?tab=77789 (дата обращения: 30.04.2017).
- Sustainable data centers: 5 key questions [Электронный ресурс]. URL – http://www.datacenterdynamics.com/content-tracks/design-build/sustainable-data-centers-5-key-questions/97339.fullarticle (дата обращения: 22.01.2018).
- OpenStack Docs: Multi-site [Электронный ресурс]. URL – https://docs.openstack.org/arch-design/multi-site.html (дата обращения: 26.01.2018).
- OpenStack_cascading_solution [Электронный ресурс]. URL – https://wiki.openstack.org/wiki/OpenStack_cascading_solution (дата обращения: 30.01.2018).
- Tricircle [Электронный ресурс]. URL – https://github.com/openstack/tricircle (дата обращения: 30.01.2018).
- Trio2o [Электронный ресурс]. URL – https://wiki.openstack.org/wiki/Trio2o (дата обращения: 30.01.2018).
- Andrey Gavrilov, Yury Leokhin. The Hierarchical Distributed Agent Based Approach to a Modern Data Center Management. ITM Web of Conferences 10, 04003 (2017).
- Гаврилов А.В. Подход к реализации управления программно-определяемых центров обработки данных на базе агентов // В кн.: Межвузовская научно-техническая конференция студентов, аспирантов и молодых специалистов им. Е.В. Арменского / Под общ. ред.: А.Н. Тихонов, С.А. Аксенов, У.В. Аристова, Л.С. Восков, А.А. Елизаров, М.В. Карасев, В.П. Кулагин, Ю.Л. Леохин, А.Б. Лось, И.С. Смирнов, Н.С. Титкова. – М. : МИЭМ НИУ ВШЭ, 2017. – С. 139-140.
- SDDC 101: What is the Orchestration Management Layer, Anyway? [Электронный ресурс]. URL – http://www.channelfutures.com/industry-perspectives/sddc-101-what-orchestration-management-layer-anyway (дата обращения: 30.02.2018).
- Микросегментация сетей в примерах: как эта хитро закрученная штука реагирует на разные атаки [Электронный ресурс]. URL – https://habr.com/company/croc/blog/328958/ (дата обращения: 30.02.2018).
- IT operations analytics: Changing the IT perspective [Электронный ресурс]. URL – http://www.information-age.com/technology/data-centre-and-it-infrastructure/123457805/it-operations-analytics-changing-it-perspective#sthash.qCUlOnyW.dpuf (дата обращения: 04.02.2018).
- Apply IT Operations Analytics to Broader Datasets for Greater Business Insight [Электронный ресурс]. URL – http://www.gartner.com/document/2778217 (дата обращения: 30.02.2018).
- What Is A Hyperscale Data Center? [Электронный ресурс]. URL – http://www.storage-switzerland.com/Articles/Entries/2013/5/20_What_Is_A_Hyperscale_Data_Center.html (дата обращения 09.04.2018).
- Skala K., Davidovic D., Afgan E., Sovic I., Sojat Z. Scalable Distributed Computing Hierarchy: Cloud, Fog and Dew Computing // Open Journal of Cloud Computing. 2015. Vol. 2. Issue 1. P. 16-24.
- What Is DevOps? [Электронный ресурс]. URL – https://theagileadmin.com/what-is-devops (дата обращения: 29.03.2018).
- BlueGreenDeployment [Электронный ресурс]. URL – https://martinfowler.com/bliki/BlueGreenDeployment.html (дата обращения: 09.02.2017).
- Внедрение Infrastructure as Code – путь к оптимизации управления ИТ-инфраструктурой [Электронный ресурс]. URL – https://www.itweek.ru/management/article/detail.php?ID=185150 (дата обращения: 09.05.2018).
- Zhang L. et al. Named data networking // ACM SIGCOMM Comput. Commun. Rev. 2014. Vol. 44. P. 66-73.
- Wu J., Bisio I., Gniady C., Hossain E., Valla M., Li H. Context-aware networking and communications: Part 1 [guest editorial] // IEEE Communications Magazine. 2014. Vol. 52. No. 6. P. 14-15.
Ключевые слова: web-scale ИТ, программно-определяемые центры обработки данных, облачные ЦОД, распределенные ЦОД, иерархическая распределенная плоскость управления на базе агентов, HD-ABCP.
Approach to distributed software-defined data centers management
Gavrilov A.V., post-graduate student of the National Research University "Higher School of Economics", Moscow, Russia, agavrilov@hse.ru
Abstract: Consider and analyze the current state of modern data centers and existing solutions to design distributed cloud data centers. Author presents hierarchical distributed agent-based control plane. Article covers its main features and five main use-cases of this approach.
Keywords: web-scale IT, SDDC, cloud DC, distributed DC, hierarchical distributed agent-based control plane, HD-ABCP.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|