Menu

Region US

Grandmetric LLC
Brookfield Place Office
200 Vesey Street
New York, NY 10281
EIN: 98-1615498
+1 302 691 94 10
info@grandmetric.com

Region EMEA

GRANDMETRIC Sp. z o.o.
ul. Metalowa 5, 60-118 Poznań, Poland
NIP 7792433527
+48 61 271 04 43
info@grandmetric.com

UK

Grandmetric LTD
Office 584b
182-184 High Street North
London
E6 2JA
+44 20 3321 5276
info@grandmetric.com

  • en
  • pl
  • Case Study

    Automatyzacja konfiguracji urządzeń sieciowych na bazie playbooków Ansible

    Automatyzacja konfiguracji z Ansible skraca czas reakcji na zgłoszenie o 80%

    Ręczna konfiguracja sieci oraz realizacja powtarzalnych zgłoszeń zajmowała dwuosobowemu działowi IT wiele godzin. Automatyzacja konfiguracji urządzeń, a konkretnie stworzenie narzędzia do obsługi tych zadań pozwoliło na uproszczenie części pracy i przeniesienie jej do działu Help Desk. Teraz nie potrzeba inżyniera sieci, żeby podłączyć drukarkę na odpowiednim porcie switcha lub szybko odszukać w sieci pożądane urządzenie. Wykwalifikowani inżynierowie zyskali czas na rozwiązywanie zaawansowanych problemów.

    Automatyzacja konfiguracji z architekturą opartą o Ansible w naturalny sposób dzieli złożoną automatyzację na mniejsze i bardziej zrozumiale zadania. 

    Budowa kolejnych modułów pozwoli klientowi szybko adaptować się do zmieniających się wyzwań i sprostać dodatkowym oczekiwaniom.

    Jacek Ozga, Senior Automation Engineer, Grandmetric

    Klient

    • Producent w branży budowlanej
    • 1100+ pracowników, 60 lokalizacji 

    Usługi

    Technologie

    • Ansible
    • Docker
    • Python
    • React
    • CI / CD

    Rezultaty wdrożenia

    5-krotny wzrost szybkości rozwiązania pojedynczego zgłoszenia 

    Automatyzacja konfiguracji i przekazanie prostych zadań do Help Desku (np. podłączenie drukarki na wolnym porcie, sprawdzenie statusu portów na urządzeniu)  

    Inwentaryzacja sieci z jednego miejsca i ułatwione zarządzania 

    Możliwość rozbudowy narzędzia o kolejne funkcjonalności, np. automatyczne rysowanie diagramów sieciowych 

    Wyzwanie – niewielki zespół IT i ręczne przeszukiwanie urządzeń końcowych 

    Producent kruszywa posiadający fabryki w całej Polsce miał problem z zarządzaniem siecią w skali całej firmy. Brak odpowiedniej widoczności wolnych portów na urządzeniach czy konieczność konfiguracji z poziomu linii komend sprawiały, że nawet proste i powtarzalne zadania jak włączenie/wyłączenie portu były przekazywane do działu IT. Ponadto po zgłoszeniu problemu z urządzeniem inżynier musiał ręcznie przeszukiwać bazę urządzeń sieciowych w poszukiwaniu problemu, co przy skali przedsiębiorstwa okazywało się nie lada wyzwaniem. 

    Rozwiązanie – automatyzacja konfiguracji sieci i urządzeń dzięki nowemu narzędziu

    Odpowiedzią na narastające niezadowolenie działu IT oraz potrzebę skalowania zarządzania siecią było narzędzie (aplikacja), które zautomatyzuje konfiguracje urządzeń i pozwoli wykonywać proste zlecenia osobom, które nie są inżynierami sieci

    Podstawowe funkcjonalności budowanej aplikacji: 

    1. Prosty i przejrzysty interfejs, który pozwoli się odnaleźć nietechnicznym pracownikom. 
    1. Możliwość wgrania szablonów konfiguracyjnych przez pracowników działu IT. 
    1. Konfigurowanie poszczególnych portów urządzeń sieciowych na podstawie wgranego wcześniej szablonu. 
    1. Konfigurowanie globalne urządzeń w danej lokalizacji na podstawie wgranych szablonów. 
    1. Wyszukiwanie urządzenia o zadanym adresie MAC. 
    1. Sygnalizacja niedziałających portów. 
    1. Możliwość sprawdzenia zgodności konfiguracji na poszczególnych urządzeniach z wzorcem. 

    Jak podeszliśmy do tematu?

    Analiza potrzeb i koncepcja narzędzia 

    Po spotkaniu z klientem zrozumieliśmy, że brak działania spowoduje nie tylko trudności w zarządzaniu siecią, ale nasili rosnące już niezadowolenie obciążonych pracowników działu IT. 

    Dlatego nadrzędnym celem projektu było zaprojektowanie systemu tak, żeby dział IT mógł wgrać konfigurację raz, a dział HelpDesk mógł ją uruchamiać na wielu urządzeniach. Takie podejście eliminowało konieczność korzystania z linii komend, znajomość komend konfiguracyjnych i zapewniało skalowanie. 

    Na tym etapie powstała koncepcja aplikacji oraz jej wstępny szkic (makieta). Poniżej przedstawiamy kilka wybranych ekranów z makiety.  

    Automatyzacja konfiguracji pojedynczego przełącznika - ustawienie portu jako portu drukarki 
    Rys. 1 Konfiguracja pojedynczego przełącznika – ustawienie portu jako portu drukarki 
    Konfiguracja globalna
    Rys. 2 Konfiguracja globalna 
    Wyszukiwanie urządzenia po adresie MAC
    Rys. 3 Wyszukiwanie urządzenia po adresie MAC 

    Planowanie z zespołem Advanced Services 

    Po uzyskaniu zielonego światła od klienta i ustaleniu priorytetów, przeszliśmy do szczegółowego planowania aplikacji. Tu bardzo nam pomógł fakt, że projektowanie i automatyzacja sieci klasy enterprise to zagadnienia, którymi zajmujemy się na co dzień. Bez wahania włączyliśmy naszych inżynierów sieci w etap projektowania.  

    Dzięki temu mieliśmy pewność, że mechanizmy działania aplikacji będą zgodne z dobrymi praktykami sieciowymi, a zespół programistów będzie rozumiał sposób, w jaki klient będzie korzystał ze stworzonego narzędzia.  

    Na tym etapie powstały: 

    • flow aplikacji, czyli schemat działania aplikacji, 
    • inwentaryzacja sieci klienta, czyli zebranie informacji o wszystkich; urządzaniach w sieci oraz ich konfiguracjach, 
    • skrypty konfiguracyjne (playbooki) dla konfiguracji globalnej oraz konfiguracji pojedynczych urządzeń w sieci klienta, 
    • docelowy projekt graficzny pierwszych widoków. 

    Development aplikacji 

    Zależało nam, żeby klient mógł jak najszybciej korzystać z pierwszych funkcjonalności konfiguracji sieci, dlatego podeszliśmy do programowania w sposób iteracyjny. Rozpoczęliśmy od budowy funkcjonalności o najwyższym priorytecie, a następnie cyklicznie spotykaliśmy się z klientem, żeby zademonstrować mu działanie kolejnych modułów aplikacji

    Nieodłącznym elementem naszej pracy było też testowanie narzędzia w laboratorium sieciowym Grandmetric oraz na naszej infrastrukturze. 

    Na tym etapie powstały: 

    • Architektura informacji aplikacji 
    • Lista wybranych technologii 
    • Projekty graficzne kolejnych widoków 
    • Scenariusze testowania 
    • Dokumentacja techniczna aplikacji 

    Od strony architektury projekt składa się z trzech warstw: 

    • strona graficzna, frontend, która pozwala na interakcję z użytkownikiem; 
    • backend, który odpowiada za logikę działania systemu, tzn. wykonywanie odpowiednich akcji, operacje na bazie danych, przetwarzanie danych; 
    • executor, który dokonuje zmian lub odczytuje stan urządzeń sieciowych. 

    Poniżej przedstawiamy zrzuty kilku przykładowych ekranów z powstałej aplikacji.

     

    Automatyzacja konfiguracji sieci VLAN
    Rys. 4 Konfiguracja sieci VLAN  
    Automatyzacja konfiguracji portów na przełączniku
    Rys. 5 Konfiguracja portów na switchu wraz z oznaczeniem ich zajętości  

    Przekazanie aplikacji 

    Praca nad projektem nie kończy się dla nas po przekazaniu aplikacji. Na etapie uruchomienia świadczymy intensywny support i pomagamy użytkownikom po stronie klienta korzystać ze stworzonego narzędzia. 

    Aplikacja automatyzująca konfiguracje będzie dalej rozwijana przez nas zespół, co da klientowi dostęp do kolejnych funkcjonalności oraz regularnych aktualizacji systemu.

    Budowanie własnych narzędzi informatycznych – dobre praktyki 

    1. Automatyzuj mądrze

    Automatyzacja konfiguracji sieci i infrastruktury IT jest często pierwszym krokiem do transformacji cyfrowej w działach sieciowych. Często spotykamy się z chęcią automatyzowania wszystkiego od razu. To kusząca, ale nieefektywna perspektywa.  

    Nie ma sensu zarządzać w sposób zautomatyzowany pojedynczym przełącznikiem czy routerem, ale jest sens automatyzować zarządzanie kilkudziesięcioma. 

    Wybór odpowiednich obszarów do automatyzacji wymaga dokładnej analizy możliwości, kosztów i opłacalności inwestycji. 

    2. Zadbaj o wiedzę domenową 

    W klienckich projektach automatyzacji konfiguracji sieci mamy do czynienia z interesariuszami zarówno po stronie klienta (biznes i inżynierowie sieci), jak i po naszej stronie (zespoły deweloperski i Advanced Services). Sporym wyzwaniem może być pogodzenie dobrych praktyk w dziedzinie projektowania sieci z dobrym praktykami deweloperów. Pogodzenie różnych perspektyw widzenia jest jednak niezbędne do wypracowania wysokiej jakości rozwiązania.  

    3. Wybierz odpowiednie narzędzia 

    Naszym podstawowym narzędziem automatyzacji były skrypty (playbooki) Ansible. Uruchamianie ich w środowiskach wirtualnych opartych na kontenerach Docker pozwoliło na izolację między kontenerami, łatwość skalowania i prostotę wdrożenia.  

    Na tę ostatnią miało również wpływ zastosowanie pipeline’u CI/CD, dzięki któremu zautomatyzowaliśmy wgrywanie najnowszych wersji oprogramowania na nasze środowisko bezpośrednio po zatwierdzeniu zmian w repozytorium przez dewelopera.  

    4. Sprawdzaj, testuj, weryfikuj 

    Im bardziej złożony projekt, tym więcej testów potrzeba, żeby przekonać się, czy wszystko działa jak należy. Regularne spotkania zespołu deweloperskiego z inżynierami Advanced Services i przedstawicielami klienta pozwoliły na bieżąco weryfikować założenia projektowe i wprowadzać niezbędne usprawnienia. Ponadto mechanizmy automatycznego testowania pozwoliły na utrzymanie wysokiej jakości kodu, kontrolę konwencji nazewnictwa czy sprawne tworzenie dokumentacji. 

    Zastanawiasz się, czy możesz osiągnąć podobne rezultaty w Twojej sieci? 

      Wypełnij formularz

      *Wyrażam zgodę na przetwarzanie moich danych osobowych w celu nawiązania za mną kontaktu przez Grandmetric Sp. z o.o. (administrator danych). Oświadczam, że zapoznałam/em się z treścią Polityki prywatności i akceptuję jej treść. Polityka prywatności

      Akcje wykonywane za pomocą aplikacji są kilkukrotnie szybsze niż konfiguracja wielu urządzeń ręcznie, a dodatkowo pozwalają uniknąć błędów podczas ręcznej konfiguracji.

      Mateusz Buczkowski

      Lider zespołu Software Development, Grandmetric

      Zobacz więcej

      Grandmetric: Network & Security