Ostatnio skończyłem czytać “Network Programmability & Automation” - książkę, której autorami są specjaliści od automatyzacji sieci: Matt Oswalt, Christian Adell, Scott S. Lowe i Jason Edelman. W tej zajawce spróbuję określić, o czym jest ta 800-stronicowa cegła oraz dlaczego nie byłem jej docelowym czytelnikiem.
Aby wpis miał sens, muszę przedstawić odrobinę kontekstu osobistego. Swoją karierę zawodową wiążę głównie z językiem programowania Python. Tak się złożyło, że pracuję głównie dla firm związanych z szeroko pojętą telekomunikacją. Stąd siłą rzeczy muszę choć trochę rozumieć domenę, w której działam. Dlatego z polecenia kolegi z pracy, specjalisty od sieci, sięgnąłem po omawianą tu książkę.
Ta niszowa publikacja omawia szerokie spektrum zagadnień, zaczynając od opisu trendów w automatyzacji konfiguracji urządzeń sieciowych. Idąc dalej, jest tu mowa o modelowaniu struktur danych (YANG, JSON, YAML), tworzeniu szablonów (Jinja2), komunikacji z API (Netconf, REST, RESTCONF) oraz podstawach programowania (Python, Go). Uzupełnieniem są opisy konkretnych narzędzi i ich użycia w praktyce (Git, Docker, Ansible, Nornir, Terraform). Zwieńczeniem lektury jest przykład architektury oprogramowania, które korzysta z omówionych technik i technologii.