Python для сетевых инженеров. Автоматизация сети, программирование и DevOps [Эрик Чоу] (pdf) читать постранично, страница - 5

-  Python для сетевых инженеров. Автоматизация сети, программирование и DevOps  [3-е издание] (пер. С. В. Черников) (и.с. Для профессионалов) 9.71 Мб, 528с. скачать: (pdf) - (pdf+fbd)  читать: (полностью) - (постранично) - Эрик Чоу

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]

быть, лучше выучить JavaScript, Go или какой-то другой язык? Возможно, стоит сделать упор на Bash и освоить разработку сценариев на языке
командной оболочки?
Есть две причины, по которым Python отлично подходит для сетевых технологий.
Во-первых, на страницах этой книги Эрик покажет, что для Python написано
множество библиотек (иногда их называют пакетами), предназначенных специально для работы с сетью. Простой поиск на https://pypi.org по слову network дает
более 500 различных библиотек для автоматизации и мониторинга сети. С помощью таких библиотек, как Ansible, вы сможете создавать сложные сетевые
и серверные конфигурации декларативным способом, используя простые конфигурационные файлы.

Предисловие

17

Используя Pexpect или Paramiko, вы сможете управлять устаревшими удаленными системами, как если бы у них был свой API поддержки сценариев. Если
у настраиваемого вами устройства есть свой API, то для работы с ним, скорее
всего, уже существует специальная библиотека на Python. Поэтому данный
язык, несомненно, подходит для таких задач.
Во-вторых, Python занимает особое место среди языков программирования.
Я называю его языком полного спектра и определяю этот термин так: очень простой в освоении язык (print("hello world") — как вам?) и очень мощная технология, лежащая в основе невероятных программных комплексов, таких как
youtube.com.
Это редкое явление. Существуют хорошие языки для начинающих, позволяющие
быстро начать программировать. Сразу вспоминается Visual Basic, а также
MATLAB и другие коммерческие языки. Но у них ограниченные возможности
применения. Можете ли вы себе представить Linux, Firefox или видеоигры, написанные на любом из них? Конечно же нет.
На другом конце спектра находятся очень мощные языки, такие как C++, .NET,
Java и многие другие. C++ используется для создания некоторых модулей ядра
Linux и крупных программных проектов, таких как Firefox. Однако эти языки
не для новичков. Чтобы начать писать код, вам придется разобраться в указателях, компиляторах, компоновщиках, заголовочных файлах, классах, модификаторах доступа (public/private) и т. д.
Python совмещает в себе лучшее из этих двух миров. С одной стороны, на нем
очень легко написать что-то полезное, уложившись в несколько строчек кода
и использовав простые концепции программирования. С другой — его все чаще
применяют в весьма значительных проектах: YouTube, Instagram, Reddit и т. д.
Компания Microsoft реализовала на Python интерфейс командной строки
(Command Line Interface, CLI) для Azure (хотя для работы с ним не нужно знать
или использовать Python).
Итак, подытожим. Умение программировать — это суперсила, способная вывести ваши инженерные навыки на новый уровень. Python — один из самых
быстроразвивающихся и популярных языков программирования в мире. Кроме
того, для Python имеется множество высококачественных сетевых библиотек.
Книга «Python для сетевых инженеров» освещает все вышеперечисленное и изменит ваше представление о работе с сетями. В добрый путь!
Майкл Кеннеди, основатель подкаста Talk Python,
Портленд, штат Орегон, США

Введение
В 2014 году на конференции Cisco Live я провел первый семинар Coding 101 по
Python и REST API для сетевых инженеров в DevNet Zone. В помещении было
полно известных сетевых инженеров и архитекторов, многие из которых в этот
день сделали свой первый API-вызов. После этого мне посчастливилось работать
с сетевыми инженерами со всего мира, которые решили добавить в число своих
навыков программирование.
Отделы информационных технологий и администрирования начинают меняться. Я считаю, что в будущем сетевые инженеры и разработчики ПО будут объединяться в единые команды. Для развертывания современных приложений
необходимы масштабируемые, сложные и безопасные сети. И чтобы сделать
управление этими сетями воспроизводимым, надежным и динамичным, требуется автоматизация.
Сетевые инженеры имеют большой опыт решения всевозможных проблем. Если
в их набор инструментов управления сетями добавить Python, автоматизацию
и умение работать с API, то получится потрясающая комбинация. С помощью
этих дополнительных технологий инженеры смогут по-новому подходить
к ­решению имеющихся проблем и браться за немыслимые ранее задачи. Эта
книга — ценный ресурс как для сетевых инженеров, которые хотят освоить программирование, так и для разработчиков ПО, желающих воспользоваться преимуществами новой программируемой инфраструктуры.
Инженеры часто меня спрашивают: «С чего начать?» Мой совет: начинайте с простого. Выберите «извечные» проблемы, с которыми сталкивается ваша команда,
и попытайтесь автоматизировать диагностику и сбор информации. Затем попробуйте автоматизировать передачу собранного в систему тикетов или в приложение мониторинга. Вскоре у вас начнет вырисовываться рабочий процесс. Такое
постепенное внедрение нововведений поможет укрепить доверие к автоматизации
в команде и позволит ее членам освоиться с новыми инструментами.
Сначала сосредоточьтесь на приобретении базовых