Python для мережевих інженерів

Мабуть, кожен мережевий інженер чув про те, що Python для мережевих інженерів — це must have в наші часи. Ледь не в кожній вакансії для мережевих інженерів у вимогах є Python.

Особисто я вже давно пишу скрипти на Python для вирішення тих чи інших мережевих проблем.

Хотів би дізнатися чи багато тут (на dou) мережевих інженерів, чи використовують вони python у своїй роботі і кілька реальних кейсів з використанням Python.

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному1
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Ось тут кажуть шо Го краще лягає
roadmap.sh/devops

Те ж саме про дба.
Одна справа датасаєнс. Але автоматизація?

Чип повершел не догодив?

1. невеликі інтеграційні тести
2. було раз на СI/CD написати скрипт що генерить Exel файл по результатам тестів (% покриття, %fail, %success)
3. допоміжні скрипти для апдейту фірмвара
4. парсінг логів
5. швидкий прототайпінг: написати напр. клієнт чи сервер для mqtt, redis, http, dbus, zmq і тд
6. переписування С++ моноліту на мікросервіси для захоплення відео та рестрімінгу

Про якусь складну бізнес логіку не йшло.

p.s.
не мережевий інженер, а ембеддед

Дякую за відповідь.

Я використовую. Дуже давно. Почав колись ще з опросу конфігурації світчів, роутерів — коли працював у провайдері, треба було автоматично збирати з них дані. Потім вже не тільки про мережу, бо писав плагіни до нагиос, мунін... Зараз, наприклад, збираю інформацію з хмари (знову мережа — список блоків IP, шо використовуються у vnet для перевірки, що вони не перетинаються, наприклад, та при деплої нового оточення воно не «впаде», наприклад.). Робота з різними внутрішніми АПІ, допомога «програмістам» у відповіді на питання «чого це новий код після деплою не працює! Це точно ви щось не так в хмарі налаштували!» — іноді приходиться «тикнути носом» у помилки у коді, версії бібліотек, чи щось таке, чи що не передали що потребують зміни в оточенні («ой, ми тут ще один сервіс додали, а він не працює!» — а сказати девопсам, що треба відкрити порт не треба, ага, ми-ж здогадаємось, всі телепати! :D) Тож, читати чужий код теж звичайна річ.

Ось тільки код показати не можу, це внутрішня кухня...

Для дому є кілька ботів для автоматизації бекапів, керування openvpn та, наприклад, скрипт щоб донька могла включати віртуалку (virtualbox) на моєму комп’ютері (бо для навчання інколи треба вінда), через веб. То-ж, таке. Просто подобається програмувати і подобається Python.

Доречі, також пробував PowerShell — бо хмара Azure, але він якийсь... кривий, а тести (Pester) взагалі страхіття (після unittest, не кадучи вже про pytest). Ну, як на мене. До Python намагався все це робити на Perl, але виявилось, що на Python простіше (хоча до цього програмував на С, тож, Perl був «ближче»), та з зовнішніми бібліотеками теж ситуація (щонайменьше, у моєму випадку) була краще. Все починало працювати без плясок з бубном (як-то підключення до ораклу, та інших БД, мережевого і не тільки обладнання). Ось так і перейшов на Python взагалі...

Якщо є більш конкретні питання ... питайте :)

Дякую за розгорнуту відповідь. Кейсів, де потрібно щось реалізувати на Python було багато. Нещодавні, наприклад, автоматична ідентифікація і додавання на кілька різних серверів по API нового мережевого обладнання. Або створити веб-сайт(на Django), за допомогою якого генеруються vpn сертифікати для користувачів.

У Django є велика перевага у вигляді адмінки :)
Але коли треба зробити просто апі до чогось, мені простіше не тягати джангу, а використати sanic/Flask/Tornado ;)

Велика перевага Python — можливість «залізти у код» якоїсь бібліотеки і подивитись, як працює, коли немає документації, або вона не зрозуміла, як от у Microsoft
docs.microsoft.com/...​ameters?view=azure-python

Прийшло на думку.
А це насправді треба чи тому шо компанія не має бюджету на софт і треба колхозити?

також пробував PowerShell

Ключеве слово пробував. Бо були знання питону раніше.

Ну так, звісно. Але ще були знання з C/Perl/Pascal/Bash — жодна з цих мов не викликає відчуття «схрестили жабу з носорогом». Powershel нібито повноціна мова, але деякі технічні рішення викликають... питання. Хоча це, звісно, приватна думка. Холіварити не хочу.

ну розширена в бік .нет shell/cmd

Дякую за посилання. Проходив Наташи курс самостійно. На мою думку, її курс найкращий.

Підписатись на коментарі