Рубрики
Uncategorized

Преимущества обстановки по требованию

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

TL; DR: Тестовые особенности в изоляции. Тестовые релизы в целом.

Вы знаете дрель: это ночь перед выпуском, и ваша команда Dev Scrambling, чтобы удовлетворить в последнюю минуту обратной связи перед развертыванием до производства. Большая часть обратной связи окружает крошечные изменения, которые тривиальными для исправления — но некоторые из обратной связи требуются больше, существенное изменение. Эти длинные петли обратной связи раскрывают более фундаментальную проблему пробоя коммуникации. Это должно было быть обсуждено ранее. Теперь вы оставили интересно, стоит ли задержать выпуск, чтобы помочь обеспечить стабильность сборки.

Звучит знакомо? Я испытал эту первую руку во время работы на небольших (~ 6 инженерам, ~ 2 дизайнерах, 13:00) b2b SaaS Startup. Команда продукта даст обратную связь о последней сборке по постановке только с днем или двумя, оставленными в Sprint, что приведет к последней минуте спешке команды Dev для реализации этих изменений. Уголки были разрезаны, чтобы удовлетворить сроки, и поспешно письменные обходные пути редко редколированы, добавляя в отставание технического долга, поскольку следующий спринт уже ведется.

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

Нам нужен способ получить обратную связь с заинтересованными сторонами ранее в цикле развития — ну до приземления на постановку.

Что такое промежуточная среда?

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

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

Как вы развертываете в промежуточную среду?

Традиционный процесс развертывания в единую обстановку обычно имеет четыре шага:

  1. Разработчик строит и тестирует В местной среде работает на их машине.
  2. Как только они будут удовлетворены своей работой, разработчик подталкивает их изменения в ветви на Git Reppo, где они Откройте запрос на тягу Отказ Непрерывная интеграция запускает автоматизированные тесты — подобно прогибам, проверке, а также тесты на единицу — чтобы поймать любые проблемы. Если проблемы найдены, разработчик возвращается на шаг
  3. После непрерывной интеграции проходит, разработчик сверстники проводят кодовый обзор Отказ Это необходимо для достижения консенсуса среди вашей команды, что предлагаемые изменения Greenlight будут объединены в кодовую базу. Не только рецензенты смотрят на код, но они должны запускать код, чтобы подтвердить, что код работает как предназначен. Разработчик восходит к шагу 1, чтобы устранить любые отзывы, оставленные рецензентами.
  4. После того, как изменения считаются сопоставленными автоматическими тестами и рецензентами, ветви разработчика является готов быть объединенным в главную ветку Отказ Если постоянная доставка включена, то слияние на главную ветвь выступает из автоматизированной задачи в Разверните изменения в запросе на потяжку на внутренний промежуточный сервер вашей компании Отказ

В зависимости от того, как ваша команда DEVOPS настраивает ваши окна Git Reppo, слияние на главную ветвь, может вызвать дополнительные шаги. Если ваш орг следует на практике непрерывного развертывания, объединение мастера может автоматически бросить последние изменения в производстве (надеюсь, что флаг функции). Каждая команда DEVOPS отличается — проверьте со своими, чтобы узнать, какие практики вашей компании следует.

Почему множественные промежуточные среды вместо только один?

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

То, что вы не понимаете, что это поставляется с большим количеством преимуществ, чем просто функции тестирования.

Обзор кода не заблокирует сбора продуктов обратной связи

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

Если какие-либо этапы выше не удаются (красными), вы должны вернуться к квадратному. Это может быть дорогостоящим, если вы уже выполняли обзор кода, трудоемкая операция.

Но дизайнеры UI/UX не заботятся о качестве кода — так почему, почему код должен быть узким местом для сбора отзывов UX? В идеале, вы сможете получить свое мнение, прежде чем просить свои разработчики, чтобы дать ваш код один раз. Таким образом, вы устраните дополнительную скорость при отправке вашей функции.

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

Предотвратить интеграцию Warzone

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

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

Опустить барьер для бегущего кода Peers

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

  1. Остановить то, что вы делаете
  2. Скрыть любые ненужденные изменения
  3. Извлекать от происхождения
  4. Оформить заказ их филиал
  5. Установите зависимости (и потенциально перезапустить свой сервер разработки)
  6. ➡️ На самом деле проверять новую функцию и предоставить отзыв
  7. Оформить заказ вашей оригинальной ветви
  8. Поп-твой Git Stash
  9. Переустановите зависимости (и потенциально перезапустить свой сервер разработки)

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

Избегать избыточного кода отзывы

Точка получения обратной связи состоит в том, чтобы внести больше изменений реализации, которые решают проблемы, поднятые в сеансе обратной связи. Проблема в том, что это потребует другого обзора кода! Несмотря на то, что предлагаемые изменения во второй раз во второй раз (надеется) маленькие, ваши рецензенты будут испытывать dejà vu, потому что теперь они переходят на те же линии кода для той же реализации функций.

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

Больше возможностей для тестирования

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

  • Перекрестное тестирование браузера : Убедитесь, что ваш продукт или сайт отлично работает на широком ассортименте браузеров и устройств.
  • Тестирование доступности : Запустите тесты на доступность, чтобы гарантировать, что ваш контент доступен для частных лиц с ограниченными возможностями.
  • Пользователь тестирование : Создайте пул тестовых пользователей или используйте платформу для тестирования толпы, чтобы обнаружить проблемы для использования возможности использования, прежде чем запустить.

Избегать дрейфа окружающей среды

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

Примеры этих дрейфов включают в себя:

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

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

Больше участия заинтересованных сторон

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

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

Увеличение производительности разработчика

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

Сохраните время и деньги вашей компании

Однократные среды, как правило, доступны 24/7 на выделенном сервере или виртуальной машине. Это пустая трата ресурсов, которые могли бы использоваться для производства.

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

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

Одноместный по сравнению с постановкой по требованию

Вместо того, чтобы ослабить окружающую среду, пока она ждет, чтобы кто-то использовал его, Окружающая среда на основе требований создается динамически, вызванная CI/CD-трубопроводом Отказ

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

Разработчик самообслуживания
Низкие эксплуатационные расходы
Предотвращает избыточный код отзывы
Могут тестировать функции в изоляции
Может ссылаться на сборку, пока запрос на тяга все еще открыт
Количество сред 1 Неограниченный
Расходы Предварительно выделенный Выделено по требованию и восстановлена автоматически

Сказав это, У вас все еще должен быть промежуточный сервер, где вы можете сделать QA перед прокасом до производства . Именно здесь вы должны выполнить окончательную точку зрения, чтобы убедиться, что все работает, как ожидалось, прежде чем жить. Разница состоит в том, что целью этого сервера — проверить выпуск в целом, а не каждую функцию самостоятельно. Как новые функции работают вместе? Если есть найденная ошибка, которая потянула запрос и какие строки кода представили ошибку? Эти вопросы намного проще ответить, когда функции проверяются, пока запрос на тяга все еще открыт.

Укороченные кросс-функциональные петли обратной связи с постановкой по требованию

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

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

Если ваша организация борется с функциями доставки (вовремя), что отвечает критериям приемки каждого, решение может лежать в инструментарии. Уведомление, где происходят скорости неровности — обслуживание, разработка, обзор кода и т. Д. — Чтобы помочь идентифицировать узкие места. Спросите себя, является ли ваш единственный промежуточный сервер ограничивающим фактором во время процессов развития вашей команды.

Выучить больше

Самый простой способ настроить среднепроцензируемое постановка на постановке Frontend, с Отличный ProjectPeek создает предварительный просмотр развертывания вашего интерната каждый раз, когда вы открываете запрос на тягу. Наложение ящика добавляется поверх этого Убедитесь, что ваши рецензенты оставили отзыв Позволяя им оставить комментарии, взять скриншоты с аннотациями, записывать записи на экране, создавать билеты на популярных платформах отслеживания ошибок и многое другое.

Функциональные работы работает со статическими участками и сайтами, контейнеризованными с Docker. Лучше всего, вам не нужно мигрировать на новую облачную экосистему. Будет ли веб-сайт вашей компании на AWS, Google Cloud, Heroku, цифровой океан, что угодно — поскольку особенности — это инфраструктура-агностическая, Вы можете использовать FuctPeepeek независимо от того, кто такой провайдер хостинга Отказ

Попробуйте 2-недельная бесплатная пробная версия Чтобы увидеть, как особенность может улучшить производительность вашей команды.

Оригинал: «https://dev.to/featurepeek/the-benefits-of-on-demand-staging-environments-1fjj»