Рубрики
Uncategorized

Новый DevOps Workflow: Среды по требованию

Один из неизбежных вопросов при разработке рабочего процесса развития в компании является управление … Теги с DevOps, тестированием.

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

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

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

Статические облачные условия

В компаниях, которые имеют статические облачные среды, разработчики обычно работают на своей машине — то есть локальная среда, а затем создают запрос на тягу/слияние, когда они чувствуют себя готовыми к точке в промежуточную среду. Код обычно должен проходить через CI и быть просмотренным до развертывания для постановки, либо автоматически через CD-трубопровод, либо вручную командой DEVOPS. Количество промежуточных сред варьируется от одной компании в другую, может быть из одной постановки для всей технологической команды до одной команды. В этом втором случае обычно дополнительно представляют собой среду предварительной продукции, которая является последним шагом до выпуска до производства.

В классической организации облачные среды делятся.

Поскольку общие среды поступления, проблемы возникают быстро:

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

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

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

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

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

Динамические облачные условия

Лучшие исполнители в автоматизации развертывания настроили внутренние инструменты, позволяющие разработчикам раскручивать изолированные облачные среды с нуля всего за несколько минут. Участники команды обычно могут развертывать целую среду (контейнеры и зависимости — базы данных, кеш и т. Д.) На Кубернаны пространство имен. Этот подход становится все более популярным. Смотреть, например, это Статья о том, как Dollar Shave Club реализовал его в 2017 году Отказ

Динамические среды имеют много преимуществ:

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

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

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

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

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

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

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

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

Оригинал: «https://dev.to/strio/a-new-devops-workflow-on-demand-environments-10ka»