5 способов, которыми эфемерные среды преобразуют тестирование микросервиса

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

«Постановка снова вниз».

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

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

Математика жестока: чем больше микросервисов вы добавляете, тем больше команд вы на борту, тем хуже становятся ваши проблемы с постановкой. Традиционные решения — например, раскручивание большего количества сред, быстро становятся чрезмерно дорогими и трудно поддерживать по мере роста вашей архитектуры.

Решение песочницы: обучение у гигантов

Ведущие технологические компании, такие как Uber, Lyft и Airbnb, признали эту проблему на ранних стадиях и впервые выделили решение: Sandbox Environments. Вместо того, чтобы дублировать целые среды для каждого разработчика, что становится чрезмерно дорогим в масштабе, эти компании внедрили изоляцию приложений с помощью интеллектуального маршрутизации запросов.

Песочники инкапсулируют версии услуг и компонентов «недооцененный», которые общаются со стабильными версиями услуг.

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

Этот подход предлагает значительные преимущества:

  • Эффективность ресурсов: Снижение затрат на инфраструктуру путем совместного использования компонентов
  • Скорость: Среда вращается за считанные секунды, а не часы
  • Производственная версия: Тестирование на реальные зависимости вместо насмешек
  • Шкала: Поддержка сотен параллельных средств тестирования

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

Разблокированные варианты использования

Мгновенные превью для отзывов заинтересованных сторон

Традиционные циклы развития часто приводят к таким болезненным моментам, как это:

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

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

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

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

Тестирование тени и проверка контракта

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

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

Смена левого тестирования производительности

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

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

Непрерывное сканирование безопасности времени выполнения

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

Организационная трансформация

Влияние тестирования на песочницу выходит за рамки технических возможностей; это принципиально трансформирует инженерную культуру. «Вы строите его, вы тестируете его» становится практической реальностью, с переходом тестирования от специализированной деятельности к неотъемлемой части рабочего процесса каждого разработчика. Циклы обратной связи сокращаются от нескольких дней до минут, и тестирующая пирамида естественным образом перебалансию в направлении более доступной проверки AP-level.

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

Последнее воздействие

Влияние бизнеса на эту трансформацию является существенным.

Источник: Signadot

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

Двигаясь вперед

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

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

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

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

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