Ваш трубопровод CI/CD не был построен для микросервисов

Signadot спонсировал этот пост.

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

Это не инструменты. Дженкинс, Гитлаб, Действия GitHub и Circleci являются мощными инженерными частями. Проблема заключается в устаревшей монолитной философии, которую мы навязываем им. Мы были обусловлены для того, чтобы рассматривать трубопровод как окончательный, всевидный качественный привратник. Мы обременяем его массовой многоступенчатой фазой «тестирования интеграции», которая пытается проверить каждое изменение в отношении всей распределенной системы.

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

Узкое на миллион долларов

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

Это не просто разочаровывает; Это прямой удар по итоге. Недавний отчет Forrester по опыту разработчиков показал, что 74% респондентов считают, что улучшение Devex может стимулировать производительность. Когда ваш самый дорогой талант тратит часы, борясь со сломанной тестовой средой, это не просто проблема морального духа-это проблема производительности в миллион долларов.

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

Переопределить работу, не просто оптимизируйте инструмент

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

Это создает новое, более эффективное разделение труда. Конвейер освобожден. Его роль сжимается до того, что он делает лучше всего: молниеносная, местная проверка. Он должен запускать модульные тесты, выполнять статический анализ, проверять контракты API и создавать развертываемый артефакт. Вся его работа должна быть выполнена за считанные минуты. Он больше не отвечает на сложный вопрос: «Работает ли это изменение с остальной частью нашей системы?» Это просто отвечает: «Это хорошо сформированный высококачественный компонент, готов к проверке?»

Критический вопрос общенациональной валидации теперь имеет новый дом. Именно здесь проходит «Канарское тестирование разработчика». Он является современным преемником сломанной стадии «тест интеграции», предназначенной для реалий распределенных систем.

Разработчик канарский тестирование в многопользовательской среде

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

Рабочий процесс представляет собой эволюцию, которая нам нужна. Lean CI -конвейер разработчика успешно создает новую версию сервиса из филиала. Чтобы подтвердить его, «Канарская разработка» этой услуги внедряется в среду с высокой точки зрения. Он работает вместе со стабильными, базовыми версиями всех других услуг.

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

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

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

Выплата: уверенность и скорость, воссоединенные

Приняв эту модель, вы исправляете сломанную парадигму. Трубопровод CI/CD становится худым, быстрым двигателем для интеграции кода, в то время как сложная задача интеграционного тестирования перемещается в структуру, созданную для распределенных систем.

Сообщение ясно: перестаньте обвинять ваши инструменты CI/CD в том, что он медленно. Вместо этого измените их работу. Позвольте вашему трубопроводу сосредоточиться на проверке на уровне компонентов и перенесите общесистемные тестирование на канарейскую тестирование разработчика. Вот как вы сломаете узкое место и разблокируете истинное обещание микросервисов.

Такие решения, как Signadot, делают этот подход доступным для команд всех размеров. Если вы готовы вырваться на свободу от узкого места постановки, вы можете попробовать его бесплатно в

Signadot-это платформа для тестирования Kubernetes для микросервисов. Используя Signadot, инженерные команды «сдвигаются налево», чтобы выяснить проблемы раньше и повысить доверие. Узнайте больше новейших из Signadot Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Арджун Айер, генеральный директор Signadot, является опытным экспертом в облачной местной области с глубокой страстью к улучшению опыта разработчика. У Арджуна хвастается более чем 25-летним опытом работы в отрасли, есть богатая история разработки программного обеспечения для интернет-масштаба и … Подробнее от Arjun Iyer

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *