Сегодня компании массово переносят свои приложения в облако, и этот процесс не всегда протекает гладко, не говоря уже об их бессбойной работе после переноса. Старший директор по облачной архитектуре New Relic Ли Атчисон рассказывает на портале Information Age о создании современной облачной инфраструктуры приложений после осуществления миграции.
В этом году многие организации приступили к той или иной форме миграции в облака в рамках своих более широких стратегий цифровой трансформации, включающей также внедрение DevOps и современных программных технологий. Чтобы соответствовать растущим ожиданиям клиентов и развеять сомнения по поводу надежности, масштабируемости и функциональности приложений, компаниям нужно подготовить современную облачную архитектуру, которая бы удовлетворяла требованиям бизнеса. Как показали данные недавнего опроса, проведенного New Relic среди 750 ИТ-лидеров, большинство из них в качестве основы для цифровой трансформации рассматривают миграцию в публичные облачные службы, такие как AWS, Azure и GCP. С точки зрения региональной принадлежности респондентов, которые разделяют это мнение, большинство представляют США (82%), затем идут Великобритания и Австралия (75%), далее Франция (66%).
Учитывая проявленный компаниями интерес к облаку, становится очевидным, что в ближайшей перспективе им нужно научиться использовать все его возможности для успешной реализации цифровых инициатив. 46% респондентов отметили, что хотя миграция в облако прошла у них довольно гладко, они не могут провести калькуляцию ежемесячных расходов на хостинг приложений. Более половины опрошенных (54%) пришло к выводу, что несмотря на то, что облачные сервисы позволяют более эффективно распоряжаться ресурсами, их беспокоит утрата контроля над своими инфраструктурами.
Создание современной инфраструктуры
Принимая во внимание эти соображения, ИТ-командам нужно найти путь для обустройства современной облачной инфраструктуру с нуля. Сделать это можно двумя способами: либо под управлением организационной группой, либо путем внедрения алгоритмов, используемых для организованного развертывания ПО с привлечением персонала и организацией процессов. Часто команды делают упор на качество кода, но это не так важно. Что действительно важно — создать сервисную архитектуру в качестве ядра и сосредоточить усилия команд вокруг ПО. Это должны быть команды с вертикальным подчинением, которые отвечают за работоспособность небольших, но четко определенных фрагментов приложения, и этим круг их обязанностей ограничивается.
Как правило, эти команды небольшие и несут единоличную ответственность за работу отдельных частей или функций приложения начиная от входа в систему и заканчивая страницей профиля. Аудит работоспособности функций должен касаться таких аспектов, как сборка, тестирование, развертывание, мониторинг и отладку фрагментов кода. Идя этим путем, компании получают преимущество в виде точечной подотчетности, что неминуемо отражается на повышении качества ПО. Четкая подотчетность повышает оперативность руководителей в плане решения проблем, потому что они точно знают, кому звонить, когда они возникают. Некоторые эксперты называют подход к организации и управления вертикальными командами STOSA (Single Team Service Oriented Architecture). По мере модернизации приложения растут риски и это довольно частое явление. Применение модели STOSA упрощает масштабирование приложений и облегчает устранение проблем.
Основные проблемы, связанные с миграцией в облако
Облачная миграция — это длительный процесс, связанный с рядом проблем, поэтому ИТ-командам, скорее всего, придется столкнутся со снижением производительности бизнеса. Одна из самых больших сложностей связана с доступностью приложений: специалистам нужно поддерживать их функционирование, избегая при этом простоев, в том числе плановых, особенно если они продолжительны. Следует также остерегаться возможных сбоев. Поскольку пользователи все теснее срастаются с приложениями, обеспечение их доступности после миграции играет особую роль в жизни ИТ-команд. Например, если Facebook отключить даже на 30 с, люди очень быстро это заметят. Это также относится и к бизнес-приложениям, поэтому командам нужно сосредоточиться на поддержании работоспособности крупномасштабных приложений и отсутствии простоев. Перенос инфраструктуры в облако исключает плановое техническое обслуживание, вместо этого компаниям необходимо внедрять обновления и проводить развертывания в режиме реального времени.
Что дальше?
Чтобы оптимизировать производительность облачных приложений, ИТ-командам нужно вооружиться несколькими тактиками. Одна из основных проблем, с которой им придется столкнуться, — необходимость поддерживать работоспособность софта и решать другие вопросы по мере их накопления, но ввиду небольшой численности команд сделать это не так просто. Решить ее поможет прозрачность. Обзорность всего приложения и ИТ-инфраструктуры имеет первостепенное значение, позволяя уменьшить среднее время обнаружения проблемы (Mean Time To Detection, MTTD) и среднее время ее устранения (Mean Time To Resolution, MTTR).
Это позволит командам распределять текущие ресурсы и соответственно масштабироваться. Например, они могут обнаружить избыточные ресурсы сервера, назначенные их приложению, которые лучше перераспределить для безопасного запуска других приложений. Кроме того, они получат представление о том, как работают облачные ресурсы (в каком объеме они используются, работают ли они с надлежащим объемом дискового пространства, памяти и т. д.) и могут легко увидеть, что используется и что не используется.
Наглядность работы облачной инфраструктуры позволит командам заметить изменения, которые происходят в рамках всего бизнеса, как они влияют на ключевые показатели эффективности, к чему приложили руки и они, например, проводя тщательное A/B-тестирование. Приложенные ими усилия, в свою очередь, улучшат пользовательский опыт и удовлетворенность клиентов.
Нельзя сбрасывать со счетов и то, насколько это может мотивировать ИТ-персонал. Командная работа повышает моральный дух, привносит новые идеи и способствует повышению общей ответственности. Без сомнения, команды DevOps и технологические лидеры полны решимости улучшить свою работу и удовлетворить постоянно растущие потребности клиентов, однако им не следует слишком разочаровываться, если цифровая трансформация проходит не всегда гладко — переход на современные программные практики в мире постоянных изменений и ограниченных ресурсов по умолчанию не может быть простым.