Что такое DevNetOps?

Что такое DevNetOps?

DevNetOps — это приложение философии, принципов и моделей поведения DevOps к сетевым операциям (NetOps). Философия DevOps возникла благодаря культуре разработки программного обеспечения и революции в области экономичного производства, которая происходила в 1980-х — 2000-х годах. Эти принципы обычно известны как CALMS — культура, автоматизация, экономичность, измерение и обмен информацией.

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

Для того чтобы организации быстро достигали своих бизнес-целей, надежность — это ключевое требование. Быстрота без устойчивости приводит к сбоям, а быстрота сбоев приносит компаниям пользу только тогда, когда они могут улучшать системы между итерациями. По стечению обстоятельств, недавней и популярной реализацией DevOps стала роль инженера по надежности объекта (SRE). Аналогичным образом DevNetOps реализуется ролью инженера по надежности сети (NRE).

Что такое конвейер DevNetOps?

Конвейер DevNetOps

Конвейер DevNetOps

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

Использование репозитория кода с контролем версий запускает конвейер постоянной интеграции (CI) с функциями прогрессивного создания и тестирования. Благодаря ряду суждений в автоматическом и ручном режимах полезная информация тестируется в виртуальных средах, симуляциях и лабораториях с целью придать ей состояние заданной надежной передачи. Конвейер непрерывного развертывания (CD) обеспечивает нахождение полезной информации в состоянии, готовом к развертыванию. Непрерывное развертывание — это автоматический стимул для подготовки и последующего производства.

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

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

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

Краткая информация об автоматизированном конвейере DevNetOps

Инструменты

Процесс

Люди

Сеть как код

Репозитории секретной конфигурации, артефактов и gitOps

Ветви кода, проверка, сопряжение, адаптивные техники

Навыки в области написания кода (не обязательно программирование)

Оркестрация конвейера

Инструменты CI/CD для конвейера, тестирование сред

Разработка на основе тестов (TDD), суждения на основе измерений

Навыки создания и отладки, профессионалы в области конвейеров

Микро- и неизменяемая архитектура

Доставка для ZTP, рефракторы поставщиков

Фиксации/развертывание с помощью небольших действий

CLI/TTY в автоматическом режиме

Оркестрированные обновления

ZTD, виртуализация, лаборатории, дренаж трафика

Промежуточное хранение и имитационный анализ предохранителей

Обслуживание в обычное рабочее время, откат или пересылка

Проектирование устойчивости и практическая обработка

Создание трафика, DoS-атаки, хаотическое проектирование

Хаотические окна, ограничение документации

Организация принудительного сбоя для понимания процессов

Непрерывное измерение

Аналитика больших данных, машинное обучение, интеграция ITops

Сборники схем инцидентов, планирование возможностей

Управление на основе статистики, показателей, эффективность

Непрерывное реагирование

Автоматическое исправление, функция как услуга, прогнозная статистика

Контроль за автоматическим управлением

Проектирование телеметрии, индикаторов, самовосстановления

Непрерывное совершенствование

Обновления, функции, исправления, изменения

Извлечение уроков из локальных ошибок и их фиксация в общем уровне знаний

Активный послеаварийный разбор ситуации

Преимущества DevNetOps

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

Как связаны между собой NRE, DevNetOps и DevOps?

DevOps и инженеры DevOps связаны с разработкой и эксплуатацией приложений для бизнеса. Эта роль существует для сетей, особенно для некоторых типов программно-определяемых сетей (SDN) в задействованных кластерах приложений. Однако сети существуют и внутри предприятий, а поставщики услуг отделены от области разработки и эксплуатации программного обеспечения и платформ2. Некоторые примеры сетей NetOps, которые сосредоточены на корпоративных приложениях, включают в себя следующие: магистральные сети WAN, базовые транспортные, транзитные сети и сети центров обработки данных.

DevOps отличается от DevNetOps тем, что DevOps относится к сетям между поставщиками и клиентами, а не между командами одной и той же компании. Некоторые цели DevOps, такие как быстрая итерация функций и экспериментальное использование продуктов, не являются типичными целями для базовой инфраструктуры сетей. Тем не менее принципы и преимущества DevOps в равной степени применимы к сетям.

Хотя DevNetOps, подобно DevOps, представляет собой набор философий, принципов и передовых методов, их реализуют в инженерном обеспечении надежности сетей (NRE). Цели разработки и обеспечения надежности одинаковы. Однако, хотя принципы DevOps поднимают скорость итерации и эволюции в сторону непрерывного обучения, NRE концентрирует внимание на надежности как на главной своей цели. Это взаимодополняющие сдвоенные цели: «что» и «почему».