Programowalność i automatyzacja sieci. Poradnik inżyniera sieci następnej generacji - Helion
Tytuł oryginału: Network Programmability and Automation: Skills for the Next-Generation Network Engineer
Tłumaczenie: Jacek Litka
ISBN: 978-83-283-5053-3
stron: 555, Format: ebook
Data wydania: 2019-04-01
Księgarnia: Helion
Cena książki: 66,75 zł (poprzednio: 89,00 zł)
Oszczędzasz: 25% (-22,25 zł)
Programowalna i zautomatyzowana sieć upraszcza pracę jej administratora. Rozwój technologii radykalnie komplikuje takie zadania jak zarządzanie i operowanie sprzętem sieciowym, topologiami sieci i połączeniami sieciowymi. Trzeba tu mieć na uwadze systemy operacyjne, nowe metodologie oraz narzędzia. W takich warunkach zarządzanie większą czy nieco bardziej złożoną siecią wyłącznie za pomocą działań manualnych jest obarczone sporym ryzykiem. Profesjonalny inżynier sieciowy musi dziś dobrze orientować się w świecie programowalności i automatyzacji sieci. Powinien poznawać nowe protokoły, technologie, modele dostarczania i pojawiające się w związku z nimi potrzeby biznesowe.
W tej książce znajdziesz solidne podstawy pozwalające zapewnić sieci programowalność i zautomatyzowanie jej pracy. Dowiesz się, jakie narzędzia i umiejętności będą potrzebne do dokonania tego kluczowego przekształcenia w sieć nowej generacji. W bardzo przystępny i praktyczny sposób wyjaśniono, jak korzystać z takich technologii jak Linux, Python, JSON i XML, aby programowo zautomatyzować pracę systemu. Opisano koncept modeli danych, podstawy języka YANG oraz najważniejsze technologie związane z API. Sporo miejsca poświęcono narzędziom open source służącym do automatyzacji pracy sieci. Znalazły się tu również informacje o interfejsach macvlan, sieciach wykorzystujących maszyny wirtualne, sieciowych przestrzeniach nazw oraz o bibliotece Pythona NAPALM i jej integracji z narzędziami: Ansible, Salt i StackStorm.
W książce między innymi:
- powstanie sieci sterowanych programowo
 - technologie automatyzacji sieci
 - Linux i Python a technologie sieciowe
 - praca z szablonami konfiguracji sieciowej
 - kontrola źródła w pracy z niektórymi serwisami online
 - prosty przepływ pracy w automatyzacji sieci
 
Sieć zautomatyzowana i programowalna — najlepszy przyjaciel admina!
Osoby które kupowały "Programowalność i automatyzacja sieci. Poradnik inżyniera sieci następnej generacji", wybierały także:
- Platforma Xamarin. Kurs video. Poziom drugi. Zaawansowane techniki tworzenia aplikacji cross-platform 99,00 zł, (39,60 zł -60%)
 - Angular 11. Kurs video. Poznaj moc tworzenia aplikacji typu SPA 129,00 zł, (58,05 zł -55%)
 - OpenGL. Kurs video. Wprowadzenie do programowania grafiki komputerowej 99,00 zł, (44,55 zł -55%)
 - Testowanie i rozw 87,41 zł, (48,95 zł -44%)
 - Postman i SQL. Kurs video. Metody testowania REST API i przeszukiwania baz danych 156,16 zł, (87,45 zł -44%)
 
Spis treści
Programowalność i automatyzacja sieci. Poradnik inżyniera sieci następnej generacji eBook -- spis treści
Wstęp 13
1. Trendy inżynierii sieciowej 19
- Sieci sterowane programowo 	19
- OpenFlow 19
 - Czym są sieci sterowane programowo? 23
 
 - Podsumowanie 34
 
2. Automatyzacja sieci 35
- Po co automatyzować sieci? 	36
- Uproszczone architektury 36
 - Deterministyczny rezultat 37
 - Biznesowa swoboda działania 37
 
 - Typy automatyzacji sieci 	38
- Zaopatrywanie urządzeń 38
 - Zbieranie danych 40
 - Migracje 41
 - Zarządzanie konfiguracją 42
 - Zgodność 43
 - Raportowanie 43
 - Rozwiązywanie problemów 44
 
 - Ewolucja płaszczyzny zarządzania od SNMP do API urządzeń 	45
- Interfejs programowania aplikacji (API) 45
 - Wpływ open networkingu 49
 
 - Automatyzacja sieci w erze SDN 50
 - Podsumowanie 50
 
3. Linux 51
- Linux w kontekście automatyzacji sieci 51
 - Krótka historia Linuxa 52
 - Dystrybucje Linuxa 	52
- Red Hat Enterprise Linux, Fedora i CentOS 53
 - Debian, Ubuntu i inne pochodne 54
 - Inne dystrybucje Linuxa 55
 
 - Interakcja z Linuxem 	56
- Nawigacja w systemie plików 57
 - Manipulowanie plikami i katalogami 61
 - Uruchomianie programów 67
 - Praca z demonami 69
 
 - Sieci oparte na Linuxie 	74
- Praca z interfejsami 74
 - Routing jako host końcowy 83
 - Routowanie jako router 87
 - Mostkowanie (przełączanie) 89
 
 - Podsumowanie 94
 
4. Nauka wykorzystania Pythona w sieci 95
- Czy inżynierowie sieciowi powinni nauczyć się programować? 96
 - Korzystanie z interaktywnego interpretera Pythona 98
 - Zrozumienie typów danych w Pythonie 	100
- Nauka użycia typu tekstowego 101
 - Nauka użycia typów liczbowych 109
 - Nauka użycia typów logicznych 111
 - Nauka użycia list Pythona 114
 - Nauka użycia słowników Pythona 119
 - Nauka o zbiorach i krotkach Pythona 123
 
 - Dodawanie logiki warunkowej do Twojego kodu 125
 - Zrozumienie przynależności 127
 - Wykorzystanie pętli w Pythonie 	128
- Zrozumienie pętli while 128
 - Zrozumienie pętli for 129
 
 - Funkcje 132
 - Praca z plikami 	136
- Odczytywanie z pliku 136
 - Zapisywanie do pliku 138
 
 - Tworzenie programów Pythona 	140
- Tworzenie podstawowego skryptu Pythona 140
 - Zrozumienie shebang 141
 - Migrowanie kodu z interpretera Pythona do skryptu Pythona 142
 
 - Praca z modułami Pythona 143
 - Przekazywanie argumentów do skryptu Pythona 145
 - Wykorzystanie pip i instalowanie paczek Pythona 146
 - Dodatkowe rady, sztuczki i informacje dotyczące Pythona 148
 - Podsumowanie 153
 
5. Formaty i modele danych 155
- Wprowadzenie do formatów danych 	155
- Typy danych 157
 
 - YAML 	158
- Omówienie podstaw formatu YAML 158
 - Praca z formatem YAML w Pythonie 161
 - Modele danych w YAML 162
 
 - XML 	163
- Omówienie podstaw formatu XML 163
 - Wykorzystanie XML Schema Definition (XSD) dla modeli danych 164
 - Transformacja XML z XSLT 166
 - Przeszukiwanie XML z wykorzystaniem XQuery 169
 
 - JSON 	170
- Omówienie podstaw formatu JSON 170
 - Praca z formatem JSON w Pythonie 172
 - Wykorzystanie schematu JSON dla modeli danych 173
 
 - Modele danych YANG 	174
- Przegląd YANG 174
 - Zagłębienie się w model YANG 175
 
 - Podsumowanie 178
 
6. Szablony konfiguracji sieciowej 179
- Narodziny współczesnych języków szablonów 	180
- Wykorzystanie szablonów w programowaniu sieciowym 181
 - Więcej o wykorzystaniu szablonów 181
 
 - Przydatność szablonów w automatyzacji sieci 182
 - Jinja dla szablonów konfiguracji sieciowej 	183
- Dlaczego Jinja? 183
 - Dynamiczne wprowadzanie danych do podstawowego szablonu języka Jinja 184
 - Renderowanie pliku szablonu Jinja w Pythonie 185
 - Instrukcje warunkowe i pętle 187
 - Filtry Jinja 192
 - Dziedziczenie szablonów w języku Jinja 195
 - Tworzenie zmiennych w języku Jinja 197
 
 - Podsumowanie 197
 
7. Praca z sieciowymi API 199
- Zrozumienie sieciowych API 	200
- Zapoznanie się z API bazującymi na HTTP 200
 - Zgłębianie NETCONF 203
 
 - Praktyka z sieciowymi API 	211
- Praktyka z API bazującymi na HTTP 211
 - Praktyka z NETCONF 218
 
 - Automatyzacja z wykorzystaniem sieciowych API 	226
- Wykorzystanie biblioteki Pythona requests 226
 - Wykorzystanie biblioteki Pythona ncclient 253
 - Wykorzystanie netmiko 275
 
 - Podsumowanie 280
 
8. Kontrola wersji z Git 283
- Scenariusze użycia systemu kontroli wersji 283
 - Korzyści z zastosowania kontroli wersji 	284
- Śledzenie zmian 284
 - Odpowiedzialność 284
 - Proces i przepływ pracy 284
 
 - Korzyści z systemu kontroli wersji w środowisku sieciowym 285
 - Poznaj Gita 	285
- Krótka historia systemu Git 286
 - Terminologia Git 287
 - Przegląd architektury systemu Git 287
 
 - Praca z systemem Git 	289
- Instalacja systemu Git 289
 - Tworzenie repozytorium 289
 - Dodawanie plików do repozytorium 290
 - Zatwierdzanie zmian w repozytorium 291
 - Zmienianie i zatwierdzanie śledzonych plików 294
 - Usuwanie plików z przechowalni 297
 - Wykluczanie plików z repozytorium 299
 - Przeglądanie dodatkowych informacji na temat repozytorium 303
 - Odnajdywanie różnic pomiędzy wersjami plików 307
 
 - Zarządzanie gałęziami w systemie Git 	311
- Tworzenie gałęzi Git 315
 - Przełączanie się na gałąź 316
 - Scalanie i usuwanie gałęzi 318
 
 - Wykorzystanie systemu Git do współpracy 	322
- Współpraca pomiędzy wieloma systemami z uruchomionym systemem Git 323
 - Współpraca za pomocą serwisów online bazujących na systemie Git 338
 
 - Podsumowanie 343
 
9. Narzędzia automatyzacji 345
- Przegląd narzędzi do automatyzacji 345
 - Wykorzystanie Ansible 	347
- Podstawy działania Ansible 348
 - Konstrukcja pliku inwentarza 349
 - Wykonanie scenariusza Ansible 356
 - Wykorzystanie plików zmiennych 360
 - Tworzenie scenariuszy Ansible do automatyzacji sieci 362
 - Wykorzystanie modułów stron trzecich 379
 - Podsumowanie Ansible 382
 
 - Automatyzacja za pomocą narzędzia Salt 	382
- Architektura Salt 383
 - Pierwsze kroki z narzędziem Salt 386
 - Zarządzanie konfiguracjami sieci za pomocą narzędzia Salt 401
 - Zdalne wykonywanie funkcji narzędzia Salt 409
 - Salt: infrastruktura sterowana zdarzeniami 411
 - Dodatkowe informacje o narzędziu Salt 416
 - Podsumowanie Salt 419
 
 - Automatyzacja sterowana zdarzeniami za pomocą narzędzia StackStorm 	419
- Pojęcia związane ze StackStormem 420
 - Architektura StackStorm 422
 - Akcje i przepływy pracy 423
 - Sensory i wyzwalacze 432
 - Reguły 434
 - Podsumowanie StackStorm 437
 
 - Podsumowanie 437
 
10. Ciągła integracja 439
- Istotne wymagania wstępne 	441
- Proste jest lepsze 441
 - Ludzie, proces i technologia 441
 - Naucz się programować 442
 
 - Wprowadzenie do ciągłej integracji 	442
- Podstawy ciągłej integracji 443
 - Ciągłe dostarczanie 444
 - Programowanie sterowane testami 446
 - Po co ciągła integracja w sieciach? 447
 
 - Potok ciągłej integracji dla sieci 	448
- Ocena przez osoby równorzędne 449
 - Automatyzacja budowy 454
 - Środowisko testowe, rozwojowe i przechowujące 459
 - Narzędzia wdrażania 462
 - Narzędzia testowania i automatyzacja sieci sterowana testami 463
 
 - Podsumowanie 465
 
11. Budowa kultury dla automatyzacji sieci 467
- Strategia organizacyjna i swoboda pracy 	468
- Transformowanie skostniałej organizacji 468
 - Uzyskanie zgody najwyższego kierownictwa 469
 - Zbudować czy kupić 470
 
 - Akceptacja porażki 472
 - Rozwijanie umiejętności i kształcenie się 	473
- Ucz się nowych rzeczy 473
 - Skup się na podstawach 474
 - Certyfikaty? 475
 - Czy automatyzacja odbierze mi pracę?! 476
 
 - Podsumowanie 476
 
A. Sieci w Linuxie. Zagadnienia zaawansowane 479
B. Wykorzystanie biblioteki NAPALM 507
Skorowidz 521





