Обеспечение бесперебойного цифрового опыта пользователей является жизненно важным для организаций, и сильные подходы DevOps могут сыграть важную роль в достижении этой цели, пишет на портале Information Age Грег Адамс, региональный вице-президент Dynatrace в Великобритании.

Спрос на цифровые услуги, несомненно, растет, как и ожидания пользователей. Потребители хотят получить беспрепятственный опыт подключения, и, как ожидается, чтобы соответствовать этим требованиям, в 2022 г. организации вложат в цифровую трансформацию 1,78 трлн. долл. по сравнению с 1,31 трлн. в 2020-м.

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

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

Компромисс между качеством и скоростью

Инновационные циклы стали быстрее. Согласно последнему исследованию Dynatrace, организации ожидают, что в 2023 г. частота выпуска ПО увеличится на 58%. Но многим будет трудно идти в ногу со временем, поскольку команды DevOps уже сейчас испытывают трудности с существующими нагрузками. Бесчисленные часы уже сейчас тратятся на разработку обновлений для сотен вариаций устройств, приложений и ОС. По мере роста сложности ИТ-систем временные затраты команд DevOps будут еще больше возрастать.

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

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

Даже небольшие изменения несут риск

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

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

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

Более автоматизированный и интеллектуальный подход

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

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

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

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