Рубрики
Uncategorized

Часть-1: Оценка устойчивости с удержанием и литмущай

Эволюция хаоса Инжиниринг: От смены — вправо, чтобы запустить везде, когда Chaos Engineering … Теги от Кубератесов, Литмусчаос, Тестирование, Дежол.

Когда Хаос Инжиниринг начала наградить на получение народы на несколько лет назад в качестве важнейшей практики для обеспечения надежности, она привела к изменению мышления традиционных практикующих программного обеспечения, заставляя их подумать о «смещении права», то есть тестирование в производстве. Хотя это не намеревалось заменить традиционные подходы «сдвигаливающиеся» для тестирования, это было больше о необходимости выяснения поведения приложения среди вариантов, которые могут предложить только среду PROD. И Chaos Engineering, с его научным подходом на основе гипотезы и принципами радиуса доменного взрыва для контроля «степень хаоса», было (есть), как путь к этому. Ведь тестирование в производстве не только о неисправностях. Это помогает раскрыть больше вопросов, чем просто применение плохого поведения — вокруг практики развертывания, механизмы наблюдеемости, инциденты, ответ, практики восстановления и т. Д., Как выросли роль SRE, Engine Engineering также выращивали в качестве интегральной функции. Ускорено ни в одной немальной части из-за таких организаций, как Netflix & Amazon, публично делясь своими историями и технологиями.

Тем не менее, появление облачной нативной парадигмы и постоянно растущее принятие Куберанес привело с ним вызовы повторных архитектурных приложений: для распределения, свободно связаны (читайте: микросервисы) и контейнерные. Он также привел к новым способам борьбы с «оперативными» аспектами, такими как развертывание и обновления, хранение (в случае гостевых компонентов), поддержание га, масштабирования, восстановления и т. Д., Кубернаны, в качестве всеобъемлющей системы оркестрации обеспечивает несколько вариантов и подходы для реализации этих. Все это способствует значительной сложности. И с этим много опасений.

Организации, которые сознательно принимают принципы облачных нативных конструктивных принципов и мигрируют до Кубернаны в качестве платформы развертывания, как правило, сталкиваются с необходимостью проверки различных видов сценариев отказа (включая самих компонентов KUBE ECOSYSTEM) и узнают о своем поведении и практике развертывания приложений. Глубоко, путем гипотезы и повторного эксперимента. И это часто нужно для укрепления доверия до того, как они достигли производства. В последнее время это способствовало вклад в подходу «сдвиг левый» в Хаосе. С более чем больше и больше организаций планируют хаос как часть процесса доставки программного обеспечения. Этим, это означает проверку надежности как практика и конечная цель, и по расширению экспериментов Хаоса, теперь больше не является обязанностью или OPS. Разработчики тоже участвуют (обратите внимание, что это никоим образом не подрывает и не заменить тестирование в продуктах, что все еще является конечной целью CE)

Один из вопросов, который здесь возникает, как он отличается от тестирования с отказом, можно ожидать, что команды QA (или разработчики, носящие QA HA). Различия тонкие, и это зависит от персоны относительно того, как используется инструментарий Chaos. Некоторые видные являются:

  • С Chaos Engineering, многие акценты размещаются на цели «Что», то есть, целям обслуживания (SLOS) по поводу «как», то есть функциональность приложений.

  • Ожидается, что хаос будет сделан против имитирующей производства систем (обычно называемых «постановками») средами. Кубернаны помогают здесь: сегодня это платформа разработки де-факто, так как она представляет собой платформу развертывания выбора, что облегчает достижение некоторой степени сходства с PROD (через правильную смесь масштаба, моделируемого трафика и в случаях Где допустимые — наборы данных клонированы от PROD)

  • Фокус больше о наблюдении и выводе, а не заранее определенной/строгой «проверки». Сказав это, границы немного размыты здесь, и, как правило, «усилия Хаоса» в конечном итоге становятся смесью обоих, причем нюансная практика, которая считается развитой, как организация созревает в своем путешествии.

Одним из непосредственных последствий этой культуры является практика интеграции хаоса в постоянную доставку (CD) трубопроводы, с выделенной стадией для проведения экспериментов против подходящей среды предварительной продукции, а также результаты/выводы из эксперимента, принимающего решение о продвижении Изменение (т. Е. Строительное артефакт — часто контейнерные изображения или спецификация развертывания/ресурсов) в производство. Процесс измерения этих результатов, как правило, вокруг потребляет данные из разных показателей уровня обслуживания (часто метрики из источников, таких как Prometheus), и изучения его против предопределенного SLO.

В этом блоге мы представляем вас средством реализации вышеуказанного, то есть, выполняя хаос в CD-трубопроводах с возможностью «ворота» своих развертываний к производству на основе проверок против SLOS. Это мы достигаем с использованием плоскости контроля облака для CD: Удержание & Литмусчаос Отказ

(Вы можете узнать больше о Litmus здесь)

Condenn — это инструмент оркестографии натурального цикла с открытым исходным кодом. Удовлетворенные Orchestrates Непрерывная доставка и операции ваших приложений и были построены, чтобы помочь создать «автономное облако», что по существу означает, что позволяет вашей организации стать более автономным при развертывании и эксплуатации ваших приложений и услуг на новых многогибочных облачных платформах. Что-то, что называется «NO-OPS» в более широком сообществе. Он может интегрироваться с мониторинговыми и наблюдательными платформами благодаря своей архитектуре, управляемой событиями, причем достигается связь с использованием CloudEvents (сам инкубирующий проект CNCF).

Основным использованием случая хранения в Kubernetes включает в себя определение конвейера с одним или несколькими этапами для развертывания, тестирования и стратегий восстановления. Последовательность в ухаживании обычно начинается с развертывания приложения в одно из пространств имен Pred-Prod (изображения или спецификация этого развертывания могут быть артефактом процесса CI, с сохранением, встроенным в популярные рамки CI, такие как Дженкинс или Трэвис CI) За ними следуют другие этапы, которые могут вызвать тесты и оценивать операционные характеристики применения, прежде чем подвергать его оценке качества-ворота, в рамках которого предопределенные SLOS (по существу правила, созданные против SLIS, полученные из прометея, динатраса или других источников), проверенный. Успех этого Eval приводит к «содействию» приложению к следующему этапу, скажем, развертывающую в производство. STANN также поддерживает восстановление на основе определенных наблюдений в производстве и обеспечивает гибкость в установке/использовании для конкретного использования (CD/ждет качества) и т. Д.

В ядре философии CANDN — GitOps & Code/Config Generation (она хранит все его конфигурации в внутреннем репозитории GIT, который можно подключить с помощью Github/другой SCM на основе GIT, и применяется изменения от репозитория Git в вашу среду). Все этапы и артефакты удержания (справа от приложений, основных услуг для SLOS). Включение трубопровода — контролируемая Git, и многие сложности оттекаются от пользователей через простые операции CLI (он также обеспечивает API), которые создают спецификации CONFIG.

Мир Litmus свидетельствует о устойчивом увеличении количества случаев использования «Chaos Left-Shift». Это также привело нас к тому, чтобы поделиться способами внедрения экспериментов Litmus Chaos в Gitlab & Spinnaker трубопроводы. Как члены сообщества, работающие над структурой, которая является (а) построенные основания, чтобы быть дружелюбным гитам и (б) имеет совесть, выровненную с «принципами хаоса» Мы были привержены найти средства для привлечения элементов «гипотезы» и «SLO» в хаос «по трубопроводу». Литмские зонды Особенностью была одна из первых результатов этого самоанализ, и сегодня он обеспечивает способ определить «ожидания» из вашей инфраструктуры или применения в рамках хаоса, с разнообразием определений, находящихся от наличия услуг до метрик и ресурсных государств.

Это было в это время, что мы узнали о проекте по удержанию. Мы были сразу впечатлены своими возможностями и особенно его четко определенным прогнозом на «качественно-строение». В то время как зонды ограничены в их объеме для индивидуальных экспериментов, возникла необходимость в оценке SLOS на более широком уровне, в рамках «периодов» хаотической активности. И этим мы подразумеваем период, в котором приложения подвергаются реальная нагрузка и реальные неудачи (один или несколько, беги в последовательности или параллельно). Инфраструктура, управляемая событиями Sastn, дает только что. Он оценивает SLOS (описанные простым и легко понять файл конфигурации) на период времени «тест», в этом случае Real World Load , запускается, в то время как также разрешают инъекции Chaos, чтобы произойти на заднем плане, чтобы имитировать реальные неудачи Отказ Все контрольные данные поддерживаются как CloudEvents, позволяют удобно визуализировать и потребляют — с мостом Condn (Dashboard), предлагающий полезный представление о том, как каждое событие разыграно и отображает результаты оценки.

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

Учитывая все это и с отличной поддержкой из команды Уэндн, мы записали Litmus Service Это может теперь помочь ввести «хаос» на любой этап кондиционера. Функциональность — это действует на «развертывание, законченное« CloudEvent и Triggers Chaos »в CloudEvent и Triggers в приложении, развернутую в пространстве имен предварительного продукта, в то время как в то же время инструменты напряженности вне коробки генерируют пользовательский профиль нагрузки на Это. Ведут нас к пониманию и льготам, обсуждаемым ранее.

Как только у нас была интеграция, мы продемонстрировали его сообществу через вебинар, чтобы поделиться нашими участиями, а также поощрять сообщество в пробуждении! Во время этой презентации мы продемонстрировали простой удержанный трубопровод, который пытается проверить устойчивость «Hello-Service» с использованием Litmus.

Вы можете найти презентацию здесь: https://docs.google.com/presentation/d/1ZFEwXqFIkpicM5-aRkLinWh8AWjombkg1d0Y-Z1DC68/edit#slide=id.p1

В части-2 этого блога серии мы обсудим, как вы можете воспроизводить демо-ступени и по пути Revisit & Concepts, которые мы обсудили в этой статье.

Быть в курсе!!

Вы Sre, Developer или Kubernetes Enthusiast? HAOS Engineering Excite вас? Присоединяйтесь к нашему сообществу на Слабый Для получения подробных обсуждений и регулярных обновлений на Chaos Engineering для Kubernetes.

Проверьте Litmuschaos Github repo И поделитесь своим отзывом. Отправьте запрос на тягу, если вы определите любые необходимые изменения.

Оригинал: «https://dev.to/ksatchit/part-1-evaluating-resiliency-with-keptn-and-litmuschaos-30jo»