Friday 29th March 2024

Opis

Programowalność i automatyzacja sieci. Poradnik inżyniera sieci następnej generacji

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 programowotechnologie automatyzacji sieciLinux i Python a technologie sieciowepraca z szablonami konfiguracji sieciowejkontrola źródła w pracy z niektórymi serwisami onlineprosty przepływ pracy w automatyzacji sieciSieć zautomatyzowana i programowalna – najlepszy przyjaciel admina!Spis treści:Wstęp 131. Trendy inżynierii sieciowej 19Sieci sterowane programowo 19OpenFlow 19Czym są sieci sterowane programowo? 23Podsumowanie 342. Automatyzacja sieci 35Po co automatyzować sieci? 36Uproszczone architektury 36Deterministyczny rezultat 37Biznesowa swoboda działania 37Typy automatyzacji sieci 38Zaopatrywanie urządzeń 38Zbieranie danych 40Migracje 41Zarządzanie konfiguracją 42Zgodność 43Raportowanie 43Rozwiązywanie problemów 44Ewolucja płaszczyzny zarządzania od SNMP do API urządzeń 45Interfejs programowania aplikacji (API) 45Wpływ open networkingu 49Automatyzacja sieci w erze SDN 50Podsumowanie 503. Linux 51Linux w kontekście automatyzacji sieci 51Krótka historia Linuxa 52Dystrybucje Linuxa 52Red Hat Enterprise Linux, Fedora i CentOS 53Debian, Ubuntu i inne pochodne 54Inne dystrybucje Linuxa 55Interakcja z Linuxem 56Nawigacja w systemie plików 57Manipulowanie plikami i katalogami 61Uruchomianie programów 67Praca z demonami 69Sieci oparte na Linuxie 74Praca z interfejsami 74Routing jako host końcowy 83Routowanie jako router 87Mostkowanie (przełączanie) 89Podsumowanie 944. Nauka wykorzystania Pythona w sieci 95Czy inżynierowie sieciowi powinni nauczyć się programować? 96Korzystanie z interaktywnego interpretera Pythona 98Zrozumienie typów danych w Pythonie 100Nauka użycia typu tekstowego 101Nauka użycia typów liczbowych 109Nauka użycia typów logicznych 111Nauka użycia list Pythona 114Nauka użycia słowników Pythona 119Nauka o zbiorach i krotkach Pythona 123Dodawanie logiki warunkowej do Twojego kodu 125Zrozumienie przynależności 127Wykorzystanie pętli w Pythonie 128Zrozumienie pętli while 128Zrozumienie pętli for 129Funkcje 132Praca z plikami 136Odczytywanie z pliku 136Zapisywanie do pliku 138Tworzenie programów Pythona 140Tworzenie podstawowego skryptu Pythona 140Zrozumienie shebang 141Migrowanie kodu z interpretera Pythona do skryptu Pythona 142Praca z modułami Pythona 143Przekazywanie argumentów do skryptu Pythona 145Wykorzystanie pip i instalowanie paczek Pythona 146Dodatkowe rady, sztuczki i informacje dotyczące Pythona 148Podsumowanie 1535. Formaty i modele danych 155Wprowadzenie do formatów danych 155Typy danych 157YAML 158Omówienie podstaw formatu YAML 158Praca z formatem YAML w Pythonie 161Modele danych w YAML 162XML 163Omówienie podstaw formatu XML 163Wykorzystanie XML Schema Definition (XSD) dla modeli danych 164Transformacja XML z XSLT 166Przeszukiwanie XML z wykorzystaniem XQuery 169JSON 170Omówienie podstaw formatu JSON 170Praca z formatem JSON w Pythonie 172Wykorzystanie schematu JSON dla modeli danych 173Modele danych YANG 174Przegląd YANG 174Zagłębienie się w model YANG 175Podsumowanie 1786. Szablony konfiguracji sieciowej 179Narodziny współczesnych języków szablonów 180Wykorzystanie szablonów w programowaniu sieciowym 181Więcej o wykorzystaniu szablonów 181Przydatność szablonów w automatyzacji sieci 182Jinja dla szablonów konfiguracji sieciowej 183Dlaczego Jinja? 183Dynamiczne wprowadzanie danych do podstawowego szablonu języka Jinja 184Renderowanie pliku szablonu Jinja w Pythonie 185Instrukcje warunkowe i pętle 187Filtry Jinja 192Dziedziczenie szablonów w języku Jinja 195Tworzenie zmiennych w języku Jinja 197Podsumowanie 1977. Praca z sieciowymi API 199Zrozumienie sieciowych API 200Zapoznanie się z API bazującymi na HTTP 200Zgłębianie NETCONF 203Praktyka z sieciowymi API 211Praktyka z API bazującymi na HTTP 211Praktyka z NETCONF 218Automatyzacja z wykorzystaniem sieciowych API 226Wykorzystanie biblioteki Pythona requests 226Wykorzystanie biblioteki Pythona ncclient 253Wykorzystanie netmiko 275Podsumowanie 2808. Kontrola wersji z Git 283Scenariusze użycia systemu kontroli wersji 283Korzyści z zastosowania kontroli wersji 284Śledzenie zmian 284Odpowiedzialność 284Proces i przepływ pracy 284Korzyści z systemu kontroli wersji w środowisku sieciowym 285Poznaj Gita 285Krótka historia systemu Git 286Terminologia Git 287Przegląd architektury systemu Git 287Praca z systemem Git 289Instalacja systemu Git 289Tworzenie repozytorium 289Dodawanie plików do repozytorium 290Zatwierdzanie zmian w repozytorium 291Zmienianie i zatwierdzanie śledzonych plików 294Usuwanie plików z przechowalni 297Wykluczanie plików z repozytorium 299Przeglądanie dodatkowych informacji na temat repozytorium 303Odnajdywanie różnic pomiędzy wersjami plików 307Zarządzanie gałęziami w systemie Git 311Tworzenie gałęzi Git 315Przełączanie się na gałąź 316Scalanie i usuwanie gałęzi 318Wykorzystanie systemu Git do współpracy 322Współpraca pomiędzy wieloma systemami z uruchomionym systemem Git 323Współpraca za pomocą serwisów online bazujących na systemie Git 338Podsumowanie 3439. Narzędzia automatyzacji 345Przegląd narzędzi do automatyzacji 345Wykorzystanie Ansible 347Podstawy działania Ansible 348Konstrukcja pliku inwentarza 349Wykonanie scenariusza Ansible 356Wykorzystanie plików zmiennych 360Tworzenie scenariuszy Ansible do automatyzacji sieci 362Wykorzystanie modułów stron trzecich 379Podsumowanie Ansible 382Automatyzacja za pomocą narzędzia Salt 382Architektura Salt 383Pierwsze kroki z narzędziem Salt 386Zarządzanie konfiguracjami sieci za pomocą narzędzia Salt 401Zdalne wykonywanie funkcji narzędzia Salt 409Salt: infrastruktura sterowana zdarzeniami 411Dodatkowe informacje o narzędziu Salt 416Podsumowanie Salt 419Automatyzacja sterowana zdarzeniami za pomocą narzędzia StackStorm 419Pojęcia związane ze StackStormem 420Architektura StackStorm 422Akcje i przepływy pracy 423Sensory i wyzwalacze 432Reguły 434Podsumowanie StackStorm 437Podsumowanie 43710. Ciągła integracja 439Istotne wymagania wstępne 441Proste jest lepsze 441Ludzie, proces i technologia 441Naucz się programować 442Wprowadzenie do ciągłej integracji 442Podstawy ciągłej integracji 443Ciągłe dostarczanie 444Programowanie sterowane testami 446Po co ciągła integracja w sieciach? 447Potok ciągłej integracji dla sieci 448Ocena przez osoby równorzędne 449Automatyzacja budowy 454Środowisko testowe, rozwojowe i przechowujące 459Narzędzia wdrażania 462Narzędzia testowania i automatyzacja sieci sterowana testami 463Podsumowanie 46511. Budowa kultury dla automatyzacji sieci 467Strategia organizacyjna i swoboda pracy 468Transformowanie skostniałej organizacji 468Uzyskanie zgody najwyższego kierownictwa 469Zbudować czy kupić 470Akceptacja porażki 472Rozwijanie umiejętności i kształcenie się 473Ucz się nowych rzeczy 473Skup się na podstawach 474Certyfikaty? 475Czy automatyzacja odbierze mi pracę?! 476Podsumowanie 476A. Sieci w Linuxie. Zagadnienia zaawansowane 479B. Wykorzystanie biblioteki NAPALM 507Skorowidz 521

małecka katarzyna, james rollins burza piaskowa, bajki z morałem, ktoś z nas kłamie, yvette żółtowska-darska, sun zi sztuka wojny, londyn gra planszowa, torebki anekke, oto jest kaska, 8 2, pierścionki dla dzieci, murska, typy broni i uzbrojenia pdf, ładne kubki, kwiat pustyni waris dirie, zły czarnoksiężnik z oz

yyyyy

Podręczniki szkolne