Как избежать беспорядочного и болезненного процесса ручного выделения ресурсов, обслуживания облачных сред и отслеживания расходов? Для начала нельзя автоматизировать то, что не видно, отмечают опрошенные порталом Enterprisers Project эксперты.
У автоматизации инфраструктуры и одной из ее наиболее современных (и крупных) подкатегорий — инфраструктуры облачных вычислений — есть много общего. И это вполне объяснимо, поскольку многие принципы и подходы к автоматизации облаков не отличаются от таковых для онпремисной инфраструктуры.
«Большая часть автоматизации, которую вы можете внедрить для гибридной облачной инфраструктуры, будет похожа на автоматизацию, или просто будет такой же, как в онпремисной среде, — говорит Гордон Хафф, технологический евангелист Red Hat. — Например, для конвейера CI/CD важны постоянные тестирование и сканирование, где бы ни находилась соответствующая инфраструктура».
Аналогично, многие ключевые концепции автоматизации инфраструктуры, такие как контейнеры, оркестровка, архитектура микросервисов и автоматизированные конвейеры сборки (или CI/CD), широко применимы к автоматизации облачных сред.
При автоматизации все более важным становится вопрос, как избежать беспорядочного и болезненного процесса выделения ресурсов и обслуживания облачных сред вручную. Особенно когда вы задаете его в контексте гибридных или мультиоблачных сред.
1. Обеспечение полной видимости в качестве основы для автоматизации облачных вычислений
Вы не можете автоматизировать то, что не видите, по крайней мере, не таким образом, чтобы это способствовало положительным результатам.
«Первая потребность — это видимость всех сред, — считает Джесси Стокалл, главный архитектор Snow Software. — У вас должна быть возможность инвентаризации всех ресурсов на одном экране». Основные облачные платформы предлагают встроенные возможности обнаружения и визуализации. Стокалл говорит, что они могут удовлетворить ваши потребности, если вы работаете с одним провайдером или одной средой. «Но в гибридных и мультиоблачных средах и даже в средах с несколькими подписками/учетными записями встроенные средства не могут объединить все данные в единое представление», — отметил он.
Это означает, что в таких случаях вам придется вручную управлять этой потребностью видеть все с помощью различных инструментов, а не автоматически собирать все в единое место. Последнее является более эффективным подходом в сложных и разнообразных условиях. Оптимизировать регулярные операции может облачная платформа управления или мониторинга, которая предлагает «единый экран», по сути, автоматически объединяя все необходимые данные в одном месте.
Если вы, например, используете Kubernetes, то вам доступно множество нативных облачных инструментов — встроенных, интегрируемых или существующих в виде опенсорсных дополнений, таких как Prometheus для мониторинга, Jaeger для распределенной трассировки и Grafana для сборки консолей.
2. Использование автоматического масштабирования везде, где это возможно
Одним из общих преимуществ гибридного и мультиоблака облака является возможность быстрого масштабирования без необходимости создания собственной физической инфраструктуры для обработки пиковой рабочей нагрузки. (На самом деле, ранние определения гибридного облака предполагали возможность «расширяться» в публичное облако из локальной инфраструктуры по мере необходимости. Это слишком узко, чтобы охватить современные потенциальные сценарии использования, но остается ключевой возможностью гибридных облачных стратегий.)
Однако если вы все еще добавляете облачные ресурсы вручную, когда они необходимы, вы лишаете себя одного из основных преимуществ автоматизации облачных вычислений — автоматического масштабирования. Фелипе Хименес, менеджер Mission по облачным операциям, рекомендует использовать его везде, где это возможно. «Если вы когда-либо сталкивались с ошибкой „недостаточная емкость“ при попытке запустить приложение, вы, несомненно, уже знаете, какую потерю производительности и какое разочарование может вызвать недостаточное количество экземпляров, — говорит он. — Но клиенты, которые используют ваши приложения для совершения покупок, или сотрудники, которые зависят от критически важного ПО, не могут ждать, пока станет доступно больше экземпляров. Использование средств автоматизации может обеспечить мгновенное масштабирование облачных ресурсов, чтобы привести в соответствие запросы и серверные нагрузки».
Реализация множественных подходов к автоматическому масштабированию ресурсов стала одним из больших достижений Kubernetes. Основные облачные платформы также предлагают соответствующие нативные инструменты.
Хименес добавляет, что автоматическое масштабирование также может помочь контролировать затраты на облачные среды, добавляя ресурсы только тогда, когда они действительно необходимы, независимо от того, используете ли вы одно облако, гибридное облако или мультиоблако. Принятие здесь стратегических решений может зависеть от используемых платформ и инструментов, не говоря уже о ваших целях автоматического масштабирования.
«Вы хотите, чтобы клиенты никогда не испытывали неудобств из-за большого времени отклика, или вы можете позволить себе некоторую медлительность, чтобы снизить расходы? — вопрошает Хименес. — Ответ на этот вопрос поможет определить оптимальную стратегию автоматического масштабирования для вашего бизнеса».
3. Разработка плана мониторинга и оптимизации затрат
Расходы — это еще одна область, где автоматизация может существенно изменить ситуацию. И соображения, применимые к публичному облаку, очень сильно отличаются от таковых для онпремисных сред.
«В одном аспекте публичные облака резко отличаются от инфраструктуры, которая работает в вашем собственном ЦОДе, — говорит Хафф. — Это модель тарификации с оплатой за использованные ресурсы, которая делает обязательным тщательное отслеживание затрат в одном или нескольких публичных облаках».
Здесь не существует универсального решения — скорее сочетание инструментов и тактик, особенно в настройке гибридных и мультиоблаков.
«Понимание всех различных затрат, связанных с публичными облаками, и оптимизация будущих расходов требует гораздо большего ноу-хау, чем просто нажатие кнопки, — говорит Хафф. — Однако опытные администраторы могут использовать комбинацию в основном автоматизированных политик и оповещений, чтобы направлять пользователей к соответствующим типам ресурсов, отключать неактивные ресурсы и информировать их, если потребление ресурса по какой-то причине резко выросло».
Поставщики облачных сред и независимые разработчики предлагают различные инструменты для создания отчетов и планирования. Общая идея здесь: если вы управляете облачными расходами полностью вручную или ситуативно, вы, вероятно, тратите больше, чем необходимо, или просто заставляете людей ждать.
«Нет универсального инструмента для автоматизации контроля затрат на публичное облако, особенно когда задействовано несколько облаков, — говорит Хафф. — Поэтому важно знать и использовать множество доступных вариантов, чтобы справиться с расходами, чтобы они не вышли из-под контроля — и привели к неприятному разговору с вашим финансовым директором».
4. Присвоение (автоматизированное) ресурсам тегов
Стокалл отмечает, что многие из общих целей и/или стратегий оптимизации облачных вычислений, будь то расходы, потребление ресурсов или выделение их в соответствии с рабочей нагрузкой, требуют определенного метода управления классификацией и владением.
Маркировка ресурсов является одним из ключевых методов, а также одним из ключевых способов автоматизации, особенно в гибридных или мультиоблачных средах. «Невозможно принимать обоснованные решения об оптимизации ресурсов, выводе из эксплуатации и распределении затрат, если вы не знаете, кому принадлежат ресурсы», — говорит Стокалл.
5. Создание автоматизированных повторяемых конвейеров
Автоматическое масштабирование может более динамично и эффективно реагировать на запросы пользователей, и тот же принцип может применяться в программном конвейере: автоматизированная и повторяемая инфраструктура и автоматизированное предоставление приложений.
«Это может быть развертывание в режиме самообслуживания из каталога или автоматизированных конвейеров DevOps — говорит Стокалл. — Автоматизированное предоставление обеспечивает соблюдение стандартов и передовых практик, позволяет избежать подверженных ошибкам ручных задач и позволяет рассматривать инфраструктуру как» крупный рогатый скот, а не как домашних животных«".
Как и в случае автоматизации инфраструктуры в целом, идея заключается в стандартизации и автоматизации, где это возможно — не только в производственной среде, но и на всех фазах конвейера (независимо от того, называется ли он CI/CD, или нет), чтобы ваш код и его зависимости перемещались туда, куда нужно. Вы ведь хотите избавиться от так называемых «снежинок», которые требуют внимания и усилий.
Наконец, не забывайте о том, что облачная автоматизация, как и большинство форм ИТ-автоматизации, не является сделкой типа «сделал и забыл». «Полное управление жизненным циклом, включая непрерывную оптимизацию и автоматизированный вывод из эксплуатации, является последним элементом, гарантирующим, что ваши рабочие нагрузки не будут работать вечно и будут постоянно оптимизироваться», — говорит Стокалл.