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

«Что такое CI / CD, зачем ему конвейер и какое отношение он имеет к моей сети?»

«Что означает IaC или SoT?»

Или даже: «Что такое NetDevOps и почему меня это должно волновать?»

Что такое NetDevOps?

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

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

  • Непрерывная интеграция / непрерывное развертывание (CI / CD)
  • Инфраструктура как код (IaC)
  • Источник истины (SoT)
  • Минимально жизнеспособный продукт (MVP)
  • ChatOps

Что касается этих концепций в действии, предположим, что вам необходимо развернуть новый сайт в корпоративной VPN. Без подхода NetDevOps к управлению вашей сетью вы могли бы потратить неделю на борьбу вручную за создание правильных настроек IKE / ISAKMP для туннеля и документирование сайта в ваших системах, применение изменений, а затем тестирование, чтобы убедиться, что все работает.

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

  • Сообщение новый VPN — сайт, чтобы 

@my_netdevops_bot в вашем чате приложения (люфт / MS Команда / WebEx команда)

  • Введите имя сайта, тип оборудования и другие метаданные по запросу бота.
  • @my_netdevops_bot использует эту информацию для:
    • Создайте сайт в своем Источнике истины (SoT)
    • Объедините шаблон Jinja с соответствующими данными из вашей SoT
    • Представляем вам визуализированную конфигурацию в приложении чата
  • После утверждения изменения

 @my_netdevops_bot подключится к устройствам и развернет эти изменения конфигурации.

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

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

«Но…»

Обычно по этому поводу в разговоре за кулисами прячется «Но…». Вот некоторые из лучших хитов: «Но моя сеть слишком старая» или «Но моя сеть слишком уникальна». Мои личные фавориты: «Но моя сеть слишком велика / слишком мала!» как будто существует мифическая зона Златовласки, где применяются эти концепции. Этот список можно продолжить, но почти для каждого возникшего исключения есть ответ. На большинство из них можно ответить двумя основными ответами.

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

Во-вторых, никакая сеть не является слишком особенной, чтобы воспользоваться этими концепциями. Ваша сеть очень большая и сложная? Буквально каждый компонент уникален? Выберите одно место в вашей сети, чтобы начать реализацию Источника истины (например, NetBox). Наличие данных в легкодоступном API и / или графическом интерфейсе и в известном стандартном формате немедленно покажет ценность для любых других концепций, которые вы хотите применить. В вашей сети отсутствуют согласованные стандарты? Начните применять их в одном элементе конфигурации, таком как конфигурация AAA, через Инфраструктуру как участников кода. Обеспечение постоянного / ожидаемого значения конфигурации AAA на всех устройствах чрезвычайно важно с точки зрения эксплуатации и безопасности. Ваши комплаенс-аудиторы будут вам благодарны!

Каждая из вышеперечисленных стратегий основана на концепции минимально жизнеспособного продукта. Когда вы начинаете осваивать концепции NetDevOps для управления своей сетью, не ожидайте, что вы решите все свои проблемы с первого раза. Выберите одну простую проблему, которую нужно решить. Создайте свои решения и инструменты для решения этой проблемы, а затем начните использовать их в своей повседневной работе. В случае успеха попробуйте адаптировать свои инструменты для решения дополнительных проблем. Как описано выше, возможно, вы сначала займетесь только конфигурацией AAA. Когда это полностью управляется в Источнике истины и в виде кода вместо исходной конфигурации устройства, вы также можете перейти к управлению конфигурацией SNMP на всех ваших устройствах. Затем вы можете заняться управлением ACL для ваших устройств или настройками NTP и DNS, на самом деле это зависит от того, что имеет смысл в вашей сети.