możemy wirtualizować elementy sieciowe. Na koniec zapoznaliśmuy się
z pojęciem SDN oraz kontrolerami sieci definiowanej programowo.
</p>
+ <h1 id="3.14.networkautomatization">3.14. Automatyzacja sieci</h1>
+ <p>
+ Automatyzacja to każdy proces samoczynnie napędzany, który ogranicza i
+ potencjalnie eliminuje potrzebę interwencji człowieka.
+ </p>
+ <h2 id="3.14.1.dataformats">3.14.1. Formaty danych</h2>
+ <p>
+ Format danych to sposób przechowywania i wymiany danych w
+ ustrukturyzowanym formacie. Jednym z takich formatów jest HTML.
+ </p>
+ <p>
+ Formaty danych mają reguły strukturę podobną do tych, które mamy w
+ przypadku języków programowania i języków pisanych. Każdy format danych
+ będzie miał miał specyficzne cechy:
+ </p>
+ <ul>
+ <li>Składnia, która obejmuje typy używanych nawiasów takich jak
+ <strong>[]</strong>, <strong>()</strong>, <strong>{}</strong>,
+ użycie białych znaków, cudzywsłowów i innych.</li>
+ <li>Sposób reprezentowania obiektów, takich jak znaki, łańcuchy, listy
+ i tablice.</li>
+ <li>Sposób reprezentacji par klucz/wartość. Klucz jest zawsze po
+ lewej stronie identyfikuje lub opisuje dane. Wartości po prawej
+ stronie to same dane i mogą być znakiem, łańcuchem, liczbą, listą lub
+ innym typem danych.</li>
+ </ul>
+ <p>
+ Systemy automatyzacji mogą wykorzystywać następujący typy danych:
+ </p>
+ <ul>
+ <li>JavaScript Object Notation - <strong>JSON</strong></li>
+ <li><strong>YAML</strong></li>
+ <li><strong>XML</strong></li>
+ </ul>
+ <h2 id="3.14.2.apiinterface">3.14.2. Interfejs API</h2>
+ <p>
+ API to oprogramowanie, które umożliwia innym aplikacjom dostęp do jego
+ danych lub usług. Jest to zestaw reguł opisujących, w jaki sposób jedna
+ prosta aplikacja może współdziałać z inną, oraz instrukcje
+ umożliwiające taką interakcje. Użytkownik wysyła żądanie API do serwera
+ z prośbą o podanie określonych informacji i otrzymuje odpowiedź z
+ serwera wraz z żądanymi informacjami.
+ </p>
+ <p>
+ Możemy wyróżnić trzy rodzaje api, patrząc względem dostępności:
+ </p>
+ <ul>
+ <li>Otwarte/publiczne interfejsy API.</li>
+ <li>Wewnętzne/prywatne interfejsy API.</li>
+ <li>API dla partnerów.</li>
+ </ul>
+ <p>
+ Usługa sieci Web to usługa dostęna w Internecie za pośrednictwem sieci
+ WWW. Istnieją cztery rodzaje interfejsów API dla usług internetowych.
+ </p>
+ <ul>
+ <li><em>Simple Object Access Protocol</em> - SOAP</li>
+ <li><em>Representational State Transfer</em> - REST</li>
+ <li><em>eXtensible Markup Language-Remote Procedure Call</em> - XML-RPC</li>
+ <li><em>JavaScript Object Notation-Remote Procedure Call</em> - JSON-RPC</li>
+ </ul>
+ <h2 id="3.14.3.rest">3.14.3. REST</h2>
+ <p>
+ REST to styl achitektury do projektowania aplikacji internetowych.
+ Odnosi się do stylu architektury internetowej, która ma wiele
+ podstawowych cech i reguluje zachowanie klientów i serwerów.
+ Najprościej mówiąc REST API to API, które działa w oparciu o protokół
+ HTTP. Definiuje zestaw funkcji, którego programiści mogą używać do
+ wykonywania żądań i odbierania odpowiedzi za pośrednictwem protokółu
+ HTTP, takich jak GET i POST. Zgodność z ograniczeniami architektury
+ REST jest ogólnie określana jako <em>RESTful</em>. Interfej API można
+ uznać za <em>RESTful</em>, jeśli ma następujące funkcje:
+ <strong>Klient-Serwer</strong>, <strong>Bezstanowość</strong>,
+ <strong>Pamięć podręczna</strong>.
+ </p>
+ <p>
+ Zasoby i usługi internetowe, takie jak interfejsy API <em>RESTful</em>,
+ są identyfikowane za pomocą identyfikatora URI. <strong>URI</strong>
+ to ciąg znaków, który identyfikuje określony zasób sieciowy.
+ </p>
+ <p>
+ Przeanalizujmy sobie poniże żądanie API:
+ </p>
+<pre class="code-block">
+http://www.mapquestapi.com/directions/v2/route?outFormat=json&key=KEY&from=Warsaw,PL&to=Berlin,DE
+</pre>
+ <p>
+ W tym URI występuje: serwer API
+ (<code class="code-inline">http://www.mapquestapi.com/</code>),
+ żądany zasób (<code class="code-inline">directions/v2/route</code>),
+ następnie przechodzimy już do formatu właściwego zapytania. Zapytanie
+ rozpoczyna się podaniem żądanego formatu danych -
+ <code class="code-inline">?outFormat=json</code>, następnie podawany
+ jest klucz (metoda uwierzytelniania, kontroli dostępu do API) -
+ <code class="code-inline">&key=KEY</code>. Na końcu podajemy
+ parametry, o które chcemy zapytać -
+ <code class="code-inline">&from=Warsaw,PL&to=Berlin,DE</code>.
+ </p>
+ <p>
+ Większość serwisów udostępniających API, udostępnia także dokumentację
+ opisując dostępne zasoby oraz w jakis sposób uzyskać do nich dostęp.
+ Natomiast do tworzenia API możemy wykorzystać takie programy jak
+ <strong>Postman</strong> lub języki programowania takie jak Python.
+ </p>
+ <h2 id="3.14.4.toolsforconfigurationmanagement">3.14.4. Narzędzia do zarządzania konfiguracją</h2>
+ <p>
+ Podsiadając wiele urządzeń do skonfigurowania, możemy konfigurować je
+ po kolei i spędzić nad tym trochę czasu. Poźniej możemy kontrolować
+ nasze urządzenia za pomocą protokołu SNMP. Jednak jeśli przyjdzie nam
+ zmienić jedną opcję na 80 przełącznikach? To znów spędzimy nad tym
+ trochę czasu. Takie kolejne konfigurowanie to tradycyjny sposób
+ konfiguracji i zarządzania nią.
+ </p>
+ <p>
+ Jedna jeśli nasz sieć jest dość pokaźnych rozmiarów lub lubimy wyzwania
+ możemy wykorzystać informacje zawarte w tym rozdziale i przygotować
+ jedno z narzędzi automatyzacji. Na codzień takie narzędzia używane są
+ np. do przygotowania środowiska do uruchomienia bądź rozwijania
+ różnego rodzaju aplikacji. Do wyboru mamy:
+ </p>
+ <ul>
+ <li><strong>Ansible</strong></li>
+ <li><strong>Chef</strong></li>
+ <li><strong>Puppet</strong></li>
+ <li><strong>Saltstack</strong></li>
+ </ul>
+ <p>
+ Wykorzystują one żądania RESTful API do automatyzacji zadań i mogą
+ być skalowalne na tysiące urządzeń.
+ </p>
+ <h2 id="3.14.summary">3.14. Podsumowanie</h2>
+ <p>
+ W tym rodziale poruszylimy kwestie automatyzacji oraz jej składników
+ takich jak choćby interfejsy API. Dowiedzieliśmy się również w jaki
+ sposób automatycznie skonfigurować wiele urządzeń. Ten temat kończy
+ 3 moduł oraz cały kurs CCNA. Poniżej znajdują się odnośniki do
+ ostatniego egzaminu cząstkowego, do próbnego egzaminu cząstkowego,
+ i do egzaminy cząstkowego. Poniżej znajdują się opisy zadań
+ przygotowawczych oraz opis samego egzaminu praktycznego.
+ </p>
+ <p>
+ P.S. Jeśli ktoś na podstawie tego materiału uważa, że zda egzamin
+ certyfikacyjny. To jak go zda do niech się do mnie odezwie.
+ </p>
</div>
</body>
</html>