Рубрики
Uncategorized

Как арсенал делает Spinnaker лучше

Введение Успешные команды часто инновации и часто доставляют. Но потому что они двигаются … с меткой DevOps.

Введение

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

В качестве решения команды DevOps часто смотрят на Spinnaker — Инструмент развертывания с открытым исходным кодом, который помогает командам быстро и последовательно развертываться. Но есть еще более мощное решение. Оружейная -который построен на вершине Spinnaker-Gives команды все преимущества Spinnaker, но добавляет критически важных расширений функций и стабильности предприятия.

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

Приложение развертывание борьбы

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

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

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

  • A Сине-зеленый Развертывание создает полностью созданный клон стека приложений в целевой среде. Во время выпуска балансировщик нагрузки просто перенастроен, чтобы перенаправить весь трафик приложения на эту новую версию. Откат быстрый и простой в сине-зеленом развертывании, так как только балансировщик нагрузки нуждается в реконфигурации.
  • A Развертывание в ролинге Поступит постепенно с автоматической проверкой и проверкой здоровья на каждом шаге. В модели развертывания внедрения новые услуги приложений добавляются к балансировщику общей нагрузки, и трафик начнет использоваться между старыми и новыми приложениями. Автоматизированная проверка в каждой новой копии помогает определить, находится ли релиз на пути или необходим откат.
  • Наконец, в Канарское развертывание Новая копия приложения добавляется в балансировщик нагрузки, а балансировщик нагрузки настроен на то, чтобы передать только определенный процент трафика приложения в новую копию. После настройки выполняется полный анализ объема трафика, времени отклика или активности на реплику. Если анализ является успешным, это развертывание обычно продолжается как развертывание.

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

В целом, однако, инфраструктура и процесс развертывания должны быть:

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

Что такое Spinnaker?

Spinnaker является популярным инструментом с открытым исходным кодом, выделенным непрерывным развертыванием (CD), который может обеспечить быстрое, безопасное и повторяемое развертывание приложений любого размера. Он был создан и открыт Netflix и с тех пор внес вклад, внесенные отраслевыми гигантами, такими как Google.

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

Образец развертывания в Spinnaker

В отличие от инструментов непрерывной интеграции (CI), которые фокусируются на фазе сборки перед развертыванием, Spinnaker фокусируется на возможности развертывания. Он ожидает, что приложение будет уже скомпилировано, протестировано и упаковано в фазу сборки с помощью инструментов CI, таких как Jenkins, Circleci, Bamboo и так далее.

Специалируясь только на этапе развертывания, Spinnaker обеспечивает лучший контроль над этим процессом и обеспечивает лучший результат для сложных развертываний. (Для более подробного сравнения ознакомьтесь с этим анализом Spinnaker над Jenkins X для Enterprise ).

В качестве инструмента развертывания Spinnaker интегрируется в качестве простого шага в вашем конвейере развертывания CI/CD и может быть запускается на основе событий GIT. Сложность фазы сборки, которая включает в себя упаковку и тестирование приложения, оставлена на инструмент CI. Между тем, в центре внимания Spinnaker является предоставление полностью контролируемого процесса развертывания, обеспечивая строгую проверку между каждым этапом развертывания и выпуска заявки.

Наконец, благодаря нативной поддержке многоклетных сред, таких как AWS, GCE, Azure, а также Kubernetes, Spinnaker предлагает простую конфигурацию услуг и этапов развертывания, а также секретное управление для вашего приложения.

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

Ограничения спиннакера

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

Если инфраструктура вашей организации в основном локально и не использует Kubernetes или облачные инструменты, Vanilla Spinnaker может быть Отсутствие инструментов, необходимых для управления развертываниями Анкет В этом случае вам нужно будет создать эти инструменты самостоятельно.

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

И, наконец, хотя Spinnaker имеет сильную функцию управления доступа на основе ролей (RBAC), пользователи Power имеют широкий спектр разрешений и могут писать только конфигурации трубопровода и запускать их без проверки и утверждения. Они могут даже перезаписать чью -то конфигурацию без надзора. Это Отсутствие мелкозернистых разрешений Может быть проблемой для организаций, когда одна команда отвечает за управление безопасностью, а команда приложений отвечает за развертывание.

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

Спиннакер с патрон

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

Поскольку Armory строится на вершине Spinnaker, он уже включает в себя все основные функции Spinnaker, одновременно учитывая некоторые критические ограничения.

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

С помощью Armory вы можете централизованно управлять всеми своими трубопроводами Spinnaker в качестве кода, используя Орм -трубопроводы как код особенность. Эта функция уменьшает время для настройки нового конвейера в Spinnaker и обеспечивает возможность просмотра и изменения самой конфигурации конвейера. Для предприятий, ограниченных отсутствием у продвинутого контроля безопасности Vanilla Spinnaker, управление конфигурацией конвейера, предоставляемое Armory, является богом. Эта функция также интегрируется с GitHub, чтобы позволить вам отслеживать все изменения кода, внесенные в конфигурацию трубопровода. Используя конфигурацию в качестве кода в GitHub, вы получите выгоду от всех шаблонов систем управления версиями, таких как:

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

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

Есть Плагин Terraform Доступно для Armory для управления дополнительным облаком и инфраструктурой в PREM. Плагин Terraform — это просто еще одна задача, которую может выполнить Spinnaker, и Armory использует широкий спектр мест для манифестов Terraform:

Орм -терраформи

Наконец, Armory предоставляет сертифицированные выпуски и оплачиваемую поддержку (от разработки до поддержки на уровне предприятия), чтобы гарантировать, что система всегда стабильной и эксплуатационной.

Реализация Оружейной

Есть три способа, которыми вы можете начать использовать Armory в своей организации:

  1. А на месте модель где вы развертываете арсенал в своей среде и поддерживаете его. Это будет подходит для компаний с строгой безопасности периметра, таких как настройка на объекте, и иметь ресурсы и опыт для ее поддержки.
  2. А Управляемая корпоративная служба на месте Там, где профессиональная техническая команда Armory установит и поддержит для вас установку Spinnaker/Armory. Это было бы подходящим для организаций, желающих получить экспертизу с Оружейной, не желая управлять им в одиночку.
  3. Развертывание Armory (многоклеточное и гибридное) позволяет вам развернуть ваши рабочие нагрузки для крупных облачных поставщиков и центров обработки данных, используя облачные драйверы, которые подключают Spinnaker ко всем вашим целям развертывания.

Вывод

Spinnaker-отличный выбор для компакт-диска, а Armory расширяет и без того изнурительные функции развертывания Spinnaker, чтобы сделать его еще лучше. Чтобы попробовать Armory, вы можете установить Armory Enterprise для Spinnaker в легкой среде Kubernetes, используя инструмент командной строки с открытым исходным кодом, который называется Миннакер Анкет Вы даже можете установить Armory, чтобы получить запустить за 10 минут . Для более авантюрных, вы можете Запросить демонстрацию Анкет

Оригинал: «https://dev.to/mbogan/how-armory-makes-spinnaker-better-189g»