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:
- Django REST framework. Kurs video. Praktyczne wprowadzenie do projektowania interfejsów REST API 99,00 zł, (29,70 zł -70%)
- ASP .NET Core. Kurs video. Rozwijanie dodatkowych funkcjonalności Web API 89,00 zł, (26,70 zł -70%)
- REST API i Symfony. Kurs video. Nowoczesne aplikacje w PHP 144,86 zł, (52,15 zł -64%)
- Spring i Spring Boot. Kurs video. Aplikacje REST API w praktyce 96,25 zł, (34,65 zł -64%)
- Platforma Xamarin. Kurs video. Poziom drugi. Zaawansowane techniki tworzenia aplikacji cross-platform 99,00 zł, (39,60 zł -60%)
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