Концепция «инфраструктура как каталог» (Infrastructure as Catalog, InCa) ориентирована на точное декларирование компонентов инфраструктуры, при этом детали реализации отделены и управляются независимо, пишет на портале The New Stack Аншул Сао, технический директор и соучредитель компании Facets.cloud.

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

Когда на сцене появилась DevOps, она обещала стать спасителем. Технологическое сообщество с восторгом приняло эту методологию, особенно за то, что она была ориентирована на три основные области: создание единого процесса работы с облачной инфраструктурой и базами данных, оптимизация конвейеров развертывания и доставки и первоклассный мониторинг среды. И сперва это помогло, но, как и во всем, что касается технологий, всегда появляется «следующая вещь». В данном случае это была «инфраструктура как код» (IaC).

Появление IaC

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

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

Что такое «инфраструктура как каталог»

InCa — это концептуальная схема, ориентированная на точное декларирование компонентов инфраструктуры, в то время как детали реализации отделены и управляются независимо. Компоненты архитектуры, такие как сеть, Kubernetes, сервисы и базы данных, моделируются как «интенты» («намерения»), каждый из которых характеризуется определенной схемой, определяющей его тип и структуру. InCa берет все лучшее из IaC и упорядочивает это, делая все более прозрачным и гораздо более простым в управлении.

Возможности InCa

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

Итак, что же может дать InCa для решения трех основных проблем DevOps?

Инфраструктура и базы данных на облачных платформах

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

Создание конвейеров сборки и развертывания для кода и конфигураций

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

Настройка мониторинга и инструментария для среды выполнения

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

Сообщество и инновации

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

Заключение

Развитие управления инфраструктурой — это непрерывная эволюция: от этапа интеграции различных сценариев до появления IaC и концептуализации InCa. Цель последней — обеспечить необходимый уровень абстракции и способствовать более четкому пониманию архитектуры через представление каталога. Эта инновационная модель будет способствовать сотрудничеству между сообществами, быстрому внедрению инноваций и прозрачным, проверяемым операциям, она обещает будущее, в котором управление инфраструктурой будет более эффективным, надежным и всеобъемлющим.