О стратегиях, с помощью которых можно уменьшить сложность и получить ценность от переноса приложений в гибридную облачную модель, на портале The New Stack рассказывает Сильвия Дэвис, управляющая продуктами и решениями DevOps и ИИ-аналитики компании Digital.ai.

Привлекательность переноса приложений в гибридную облачную модель подпитывается растущими преимуществами для бизнеса: экономией средств, согласованностью и быстрым развертыванием. По прогнозам Gartner, в 2023 г. расходы на публичные облака вырастут на 21,7%, что в значительной степени объясняется этими преимуществами. Тем не менее, путь к успешному внедрению гибридного облака сложен и часто сопряжен с трудностями — от сбоев в работе приложений до разочарования разработчиков и упущенных рыночных возможностей. Эти проблемы возникают, когда в облачных инициативах по трансформации, которые, как правило, сосредоточены на миграции инфраструктуры, не уделяется должного внимания разработке политики управления для непрерывной доставки приложений.

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

Проблемы переноса и доставки приложений в гибридных облачных моделях

Несмотря на неоспоримые преимущества облачной трансформации, гибридные облачные модели создают целый ряд проблем. Среди них выделяется одна главная — сложность. Как говорит Дэвид Линтикум, директор Deloitte Consulting по облачным стратегиям, «... гибридные облачные среды часто превращаются в изолированные облака, работающие автономно. Когда это происходит, для каждой облачной среды требуются специальные операционные команды и процедуры, что создает дополнительные сложности, неоднородность, непоследовательность операций и проблемы безопасности».

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

  • Больше микросервисов, больше конвейеров. По мере того как приложения разбиваются на микросервисы для оптимального использования облака и ускорения доставки, появляется множество конвейеров и инструментов. Это приводит к несогласованности, избыточности и повышенным требованиям к инфраструктуре. Это может увеличить риск неудачных изменений и создать дополнительную нагрузку на разработчиков.
  • Обслуживание устаревших приложений. Запуск интегрированных в облако унаследованных приложений требует значительно больше ресурсов и совместной работы команды, чем можно было бы предположить. Это все равно что перестраивать старый город в современный, но при этом обеспечивать, чтобы все работало без сбоев и ничего не ломалось. Вам придется заниматься и тем, и этим.
  • Нехватка квалифицированных кадров. Управление гибридными средами требует специальных знаний, поэтому сложно найти людей с нужными навыками и предотвратить выгорание персонала. Снизить текучесть кадров и устранить потребность в специальных знаниях, а также повысить производительность поможет повышение квалификации разработчиков, не требующее от них знания всего на свете, с предоставлением им эффективных инструментов для минимизации ручных задач.
  • Недостатки безопасности и соответствия нормативным требованиям. Разрастание инструментария, нарушения безопасности и требования к аудиту создают новые проблемы и повышают вероятность сбоев, простоев и штрафов. Развертывание приложений в гибридных средах создает новые проблемы безопасности, такие как эксплуатация киберпреступниками уязвимостей на уровне приложений, кодовые инъекции или несанкционированные проникновения, а также необходимость соблюдения различных нормативных требований. Все эти соображения должны учитываться в процессе доставки ПО.
  • Повышение совокупной стоимости владения (TCO). Управление частой сменой публичных облачных провайдеров, расходы на устранение сбоев при внесении изменений и перебоев в работе — вот некоторые примеры скрытых затрат, которые увеличивают TCO. Чем больше смен, тем больше потенциальных мест для сбоев, особенно если не координировать сотни задач и не автоматизировать переход между облачными провайдерами.

Как выйти из затруднительного положения

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

Проверка текущих бизнес-предположений. Соответствуют ли ожидания, сформулированные до перехода в облако, текущим тенденциям и реалиям бизнеса? Чтобы поддерживать конвейер CI/CD в рабочем состоянии, важно взаимодействовать с межфункциональными командами для выявления необходимых улучшений, новых навыков и других требований к развертыванию. Согласно отчету DORA и Google Cloud «Accelerate State of DevOps 2023», просто «использование облака» дает неоднозначные результаты. Чтобы избежать такой участи, подумайте, насколько приоритетным для вас является преобразование приложений, чтобы они были готовы к работе в облаке, а не просто использование подхода «lift-and-shift» (перенос без модификации). Анализируете ли вы при переносе приложений бизнес-результаты или оцениваете только затраты на инфраструктуру? Постоянно пересматривая свой подход к облачной трансформации, вы сможете избежать просто установки галки напротив позиции «облако» в списке дел, а также определить приоритетность его долгосрочных преимуществ.

Подключение инструментов для интегрированной оркестровки и автоматизированных процессов. Есть ли у вашей организации четкое понимание того, какие усилия и ресурсы необходимы для перевода приложений в облако? Как вы определяете приоритетность своих облачных инициатив по отношению ко всему остальному? Можете ли вы гарантировать, что ваш конвейер CI/CD, средства обеспечения безопасности и инструменты управления облаком готовы к развертыванию и мониторингу гибридных приложений с помощью хорошо отлаженной оркестровки и автоматизированных процессов? Сотни задач, необходимых для развертывания приложений в производстве, создают множество потенциальных точек отказа. Создание возможностей самообслуживания для разработчиков, облегчающих установку новых приложений, автоматизацию процессов выпуска и развертывания новых облачных сред, поможет облегчить жизнь разработчиков и одновременно минимизировать риск сбоев в производстве.

«Если вы делаете что-то трижды, у вас есть веские аргументы в пользу автоматизации. Мы делаем какие-то вещи тысячи раз, и каждый раз нам нужен надежный, детерминированный результат», — говорит Нил Фоулдс, менеджер по релизам и ИТ-изменениям National Broadband Ireland.

Всегда спрашивайте себя: «Что можно сделать, чтобы свести к минимуму ручное управление, написание скриптов и уменьшить количество отказов при внесении изменений в производство?».

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

Использование аналитики на основе ИИ для измерения, оценки и прогнозирования рисков. Аналитика в конечном итоге является ключевым фактором, обеспечивающим постоянное согласование с бизнес-ценностями. «Работа по улучшению никогда не заканчивается. Найдите узкое место в вашей системе, устраните его и повторите процесс», — говорится в отчете «Accelerate State of DevOps 2023».

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

Заключение

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