24. Автоматизация сети

Обновлено: 2024-03-12
6 мин

Автоматизация сети

Основы сетевой автоматизации

Основные задачи для сетевой автоматизации

  • Тестирование устройств и проверка конфигурации;
  • Инициализация развернутых физических устройств и сервисов, а также развертывание и инициализация виртуальных устройств;
  • Сбор сетевых данных, относящихся к устройствам, системам, программному обеспечению, топологии сети, трафику и сервисам в реальном времени;
  • Анализ данных, в том числе упреждающая аналитика ИИ и машинного обучения, для обеспечения информации о текущем и будущем поведении сети;
  • Проверка соответствия конфигурации требованиям для обеспечения правильной работы всех сетевых устройств и сервисов;
  • Обновление программного обеспечения, включая откат программного обеспечения при необходимости;
  • Замкнутая коррекция проблем с сетью, включая поиск и устранение неисправностей, а также исправление сложных и трудновыявляемых сбоев;
  • Подробный анализ отчетов, панелей наблюдения, оповещений и предупреждений;
  • Реализация требований безопасности;
  • Мониторинг сети и ее сервисов для поддержания уровня обслуживания и удовлетворенности клиентов

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

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

«Если не знаешь, куда идешь, любая дорога приведет тебя туда».

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

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

Подход к автоматизации сети

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

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

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

  • Команда инфраструктуры/сети получает заявки на изменения на нескольких уровнях для развертывания приложений.
  • На основе сетевых сервисов разделить их на разные области и понять, как они взаимодействуют друг с другом.
    • Оптимизация приложений
    • ADC (контроллер доставки приложений) (Application Delivery Controller)
    • Межсетевой экран
    • DDI (DNS, DHCP, IPAM и т. д.)
    • Маршрутизация
    • Другие
  • Определите различные зависимости, чтобы устранить деловые и культурные различия и обеспечить сотрудничество между командами.

Повторно используемые политики, определение и упрощение повторно используемых сервисных задач, процессов и ввода/вывода.

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

Объедините политики со специфическими для бизнеса действиями. Как внедрение этой политики помогает бизнесу? Экономит время? Экономит деньги? Обеспечивает лучший бизнес-результат?

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

Управляйте политиками и процессами, добавляя и улучшая их, сохраняя при этом доступность и обслуживание.

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

Оркестрируйте сетевой сервис!

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

Инструменты автоматизации сети

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

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

Интегрированная среда разработки (IDE). Опять же, здесь особо нечего сказать, кроме всего прочего, я бы предложил Visual Studio Code в качестве вашей IDE, основываясь на обширных подключаемых модулях, доступных для стольких разных языков.

Управление конфигурацией. Мы еще не добрались до раздела «Управление конфигурацией», но совершенно очевидно, что Ansible является фаворитом в этой области для управления и автоматизации конфигураций. Ansible написан на Python, но вам не нужно знать Python. Link to Ansible Network Modules

Мы также коснемся Ansible Tower в разделе управления конфигурацией, рассматривая его как внешний интерфейс с графическим интерфейсом (GUI) для Ansible.

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

В частности, Jenkins предоставляет или кажется популярным инструментом для сетевой автоматизации.

  • Отслеживает репозиторий git на наличие изменений, а затем инициирует их.

Контроль версий (Version Control). Углубимся в это позже.

  • Git обеспечивает контроль версий вашего кода на локальном устройстве - Кроссплатформенность
  • GitHub, GitLab, BitBucket и т. д. — это онлайн-сайты, на которых вы определяете свои репозитории и загружаете свой код.

Language | Scripting. Что-то, что мы здесь не рассмотрели, это Python как язык, я решил вместо этого погрузиться в Go как язык программирования, исходя из моих обстоятельств, я бы сказал, что это был тесный контакт между Golang и Python и Python, кажется, Победитель в категории «Сетевая автоматизация».

  • Здесь стоит упомянуть Nornir, фреймворк автоматизации, написанный на Python. Кажется, что это берет на себя роль Ansible, но особенно в отношении сетевой автоматизации. Документация Nornir

Анализ API. Postman — отличный инструмент для анализа RESTful API. Помогает создавать, тестировать и изменять API.

  • POST »> Для создания объектов ресурсов.
  • GET »> Для получения ресурсов.
  • PUT »> Для создания или замены ресурсов.
  • PATCH »> Для создания или обновления объекта ресурсов.
  • Delete »> Чтобы удалить ресурс

Postman tool Download

Еще инструменты

Cisco NSO (Network Services Orchestrator)

NetYCE - Simplify Network Automation

Network Test Automation

В течение следующих 3 дней я планирую более подробно изучить некоторые вещи, которые мы рассмотрели, и поработать над Python и сетевой автоматизацией.

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

Ресурсы