Здесь собраны вопросы, которые наиболее часто возникают при чтении книги.
Основных отличий три:
В первую очередь – для автоматизации рутинных задач. Автоматизация даёт несколько преимуществ:
Конечно, не будет такого, что после прочтения книги, Вы "всё автоматизируете и наступит счастье", но это шаг в данном направлении. Я ни в коем случае не агитирую за то, чтобы автоматизация выполнялась кучей самописных скриптов. Если есть софт, который решает нужные Вам задачи, это отлично, используйте его. Но если его нет, или если Вы просто ещё о таком не думали, попробуйте начать с простого – Ansible, например, позволит выполнять многие задачи практически "из коробки".
Зачем тогда учить Python? Дело в том, что тот же Ansible не решит все вопросы. И, возможно, Вам понадобится добавить какой-то функционал самостоятельно. Кроме непосредственной настройки оборудования, есть ежедневные рутинные задачи, которые можно автоматизировать с помощью Python. Скажем так, если Вы не хотите разбираться с Python, но хотите автоматизировать процесс настройки и работы с оборудованием, обратите своё внимание на Ansible. Даже "из коробки" он будет очень полезен. Если же Вы потом войдете во вкус и захотите добавить своё, чего нет в Ansible, возвращайтесь :-)
И ещё, этот курс не только о том, как использовать Python для подключения к оборудованию и его настройке. Он и о том, как решать задачи, которые не касаются подключения к оборудованию, например, изменить что-то в нескольких файлах конфигурации, или обработать log-файл – Python поможет Вам решать в том числе и подобные задачи.
Есть несколько причин:
Если рассказывать на абстрактных примерах "о котиках и зайчиках", это одно. Но когда в примерах есть возможность использовать идеи из предметной области, всё становится проще, рождаются конкретные идеи, как улучшить какую-либо программу, скрипт. А когда человек пытается её улучшить, он начинает разбираться с новым - это очень сильно помогает продвигаться вперёд.
Причины следующие:
И еще один момент – в контексте книги, Python нужно рассматривать не как единственно правильный вариант, и не как "правильный" язык. Нет, Python это просто инструмент, как отвёртка например, и мы учимся им пользоваться для конкретных задач. То есть, никакой идеологической подоплеки здесь нет, никакого "только Python" и никакого поклонения тем более. Странно поклоняться отвертке :-) Всё просто - есть хороший и удобный инструмент, который подойдет к разным задачам. Он не лучший во всём и далеко не единственный язык в принципе. Начните с него, и потом Вы сможете самостоятельно выбрать нечто другое, если захотите – эти знания всё равно не пропадут.
Есть несколько вариантов решения:
Я, конечно же, считаю, что нужно :-) Иначе я бы не писала эту книгу. Совсем не факт, что Вам захочется погружаться во всё это, поэтому для начала попробуйте разобраться с . Возможно, Вам хватит надолго его возможностей. Начните с простых команд show, попробуйте подключиться сначала к тестовому оборудованию (виртуальным машинам), затем попробуйте выполнить команду show на реальной сети, на 2-3 устройствах, потом на большем количестве. Если Вам этого будет достаточно, можно остановиться на этом. Следующим шагом я бы попробовала использование Ansible для генерации шаблонов конфигурации.
На мой взгляд, для сетевого инженера умение программировать очень важно, и не потому, что сейчас все об этом говорят, или пугают SDN, потерей работы или чем-то подобным, а потому, что сетевой инженер постоянно сталкивается с:
На текущий момент большое количество оборудования по-прежнему предлагает нам только интерфейс командной строки и неструктурированный вывод команд. Управляющий софт часто ограничен вендором, дорого стоит и имеет урезанные возможности – в итоге мы вручную снова и снова делаем одно и то же. Даже такие банальные вещи, как отправить одну и ту же команду show на 20 устройств, не всегда просто сделать. Допустим, ваш SSH-клиент поддерживает эту возможность. А если Вам теперь надо проанализировать вывод? Мы ограничены теми средствами, которые нам дали, а знание программирования, даже самое базовое, позволяет нам расширить наши средства и даже создавать новые. Я не считаю, что всем надо торопиться учиться программировать, но для инженера это очень важный навык. Именно для инженера, а не для всех на свете.
Сейчас явно наблюдается тенденция, которую можно описать фразой "все учимся программировать", и это, в целом, хорошо. Но программирование это не что-то элементарное, это сложно, в это нужно вкладывать много времени, особенно если Вы никогда не имели отношения к техническому миру. Может сложиться впечатление, что достаточно пройти "вот эти вот курсы" и через 3 месяца Вы крутой программист с высокой зарплатой. Нет, этот книга не об этом :-) Мы не говорим в ней о программировании как профессии и не ставим такую цель, мы говорим о программировании как инструменте, таком как, например, знание CLI Linux. Дело не в том, что инженеры какие-то особенные, просто, как правило:
Это не значит, что всем остальным "не дано". Просто инженерам это будет проще.
Нет, эта книга всегда будет бесплатной. Я читаю платно , но это не будет влиять на эту книги - она всегда будет бесплатной.