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

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

Почему компании выбирают гибридное облако

Гибридное облако — это модель развертывания, в которой приложения, сервисы и системы распределены между публичным, частным облаком и локальной инфраструктурой. Это распространенная схема в отраслях, где высок спрос на масштабируемость, безопасность и конфиденциальность, таких как финансовые услуги, государственное управление и здравоохранение. Согласно недавнему исследованию Everest Group, около 72% респондентов рассматривают свою облачную стратегию как гибридную. Сочетание различных типов инфраструктуры позволяет использовать уникальные преимущества каждой среды, а именно:

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

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

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

1. Облачная платформа не поддерживает ваши рабочие нагрузки

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

2. Вы столкнулись с неожиданными сложностями

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

3. Вы столкнулись с бюджетными ограничениями

Точное бюджетирование облачной инфраструктуры — постоянная проблема. Согласно отчету Flexera «Cloud Computing Trends: 2021 State of the Cloud Report», более половины компаний ежегодно тратит более 1,2 млн. долл. на публичное облако, и главным приоритетом для большинства из них является оптимизация расходов. Даже самая тщательно продуманная среда может привести к неожиданным расходам. Определить окончательную стоимость трудно даже при наличии стратегии экономии. В итоге некоторые компании сталкиваются с повышенными расходами, что может легко остановить миграцию.

4. У вас больше систем для миграции, чем вы думали

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

Как предотвратить инциденты, ведущие к непреднамеренному гибридному облаку

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

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

1. Определите потенциальные режимы отказа до миграции

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

Рассмотрим, например, одну распространенную проблему: обрыв сетевого соединения между двумя службами. Он может быть связан с неисправностью сетевого коммутатора, временным отключением DNS или отказом одной из служб. Эту проблему можно решить, добавив в свои службы такие механизмы, как откат и повторы, тайм-ауты, альтернативные сетевые маршруты или репликацию для каждой службы. Но как узнать, будут ли они работать в производстве? На помощь опять придет хаос-инжиниринг.

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

2. Подготовьтесь к задержкам и сбоям в работе сети

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

Хаос-инжиниринг помогает и здесь. Проводя эксперименты с задержками, вы можете моделировать условия с высокой задержкой и низкой пропускной способностью для любого типа сетевого трафика и контролировать количество дополнительных задержек с точностью до миллисекунды. Это позволяет выявить всевозможные неожиданные проблемы: например, добавление всего 20 мс задержки к базе данных может снизить пропускную способность веб-приложения более чем на 80%.

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

Поиск оптимальной облачной конфигурации

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

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

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

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