W sieci opartej na technologiach MPLS (EVPN, L3VRF) i wykorzystującej różnorodne platformy sprzętowe (Juniper Trio, Express, Broadcom Jericho2, Qumran-2U), centralne repozytorium wiedzy o stanie infrastruktury jest niezbędne do efektywnego planowania, wdrażania i utrzymania usług. Maat zapewnia elastyczny model danych oraz otwarte interfejsy (API) zgodne ze standardami TM Forum (TMF638, TMF639) , co umożliwia łatwą integrację z narzędziami orkiestracji, automatyzacji, systemami OSS/BSS oraz platformami monitoringu, niezależnie od producenta sprzętu czy architektury procesora sieciowego.
Zastosowanie Maat w środowisku PIONIER pozwala na znaczące usprawnienie procesów operacyjnych i ograniczenie liczby błędów konfiguracyjnych. Dzięki utrzymywaniu spójnej, aktualnej bazy danych opisującej zarówno zasoby fizyczne (urządzenia, porty, karty), jak i logiczne (VRF, instancje EVPN, połączenia międzywęzłowe), administratorzy uzyskują pełną widoczność topologii sieci i zależności między elementami. W połączeniu ze wspierającym modułem EventListener i funkcją historycznego śledzenia zmian, Maat umożliwia automatyczne reagowanie na zdarzenia (np. utratę spójności konfiguracji), analizę trendów oraz odtwarzanie wcześniejszych stanów sieci. W praktyce przekłada się to na szybsze usuwanie awarii, bardziej precyzyjne planowanie pojemności oraz możliwość automatycznego przywracania pożądanego stanu infrastruktury zdefiniowanego w SSoT.
TU WKLEIC TE 1 GRAFIKE Z KWADRATAMI KOLORYWMI
Podstawowy model danych, bazujący na TMF opisujących zasoby i usługi
Perspektywy rozwoju i wykorzystania aplikacji Maat w sieci PIONIER są szerokie. Dzięki elastycznemu modelowi danych, możliwe jest tworzenie i integracja nowych aplikacji i usług bazujących na wspólnym źródle wiedzy — np. do automatyzacji konfiguracji EVPN/L3VRF, optymalizacji ścieżek routingu, zarządzania zasobami optycznymi czy wizualizacji zależności usługowych. Integracja z platformami analitycznymi i orkiestratorami umożliwia dalszą automatyzację procesów, zwiększając efektywność operacyjną i bezpieczeństwo. W dłuższej perspektywie Maat może stać się kluczowym elementem „inteligentnego” ekosystemu zarządzania siecią, w którym aplikacje decyzyjne, systemy AI/ML oraz narzędzia planowania współdzielą jeden spójny model danych, co znacząco przyspiesza wdrażanie innowacji w środowisku badawczym.
Architektura aplikacji Maat została zaprojektowana w sposób modularny i skalowalny, umożliwiający jego elastyczne dopasowanie do potrzeb dużych i złożonych środowisk sieciowych, takich jak PIONIER. Centralnym elementem rozwiązania jest pojedyncza, zunifikowana baza danych typu non-SQL, oparta o schematy danych (ang. data schemas) opisujące zarówno zasoby fizyczne, logiczne, jak i usługi. Każdy z tych elementów – urządzenia, połączenia, instancje usług – jest modelowany jako obiekt posiadający dwukierunkowe relacje z innymi zasobami, co pozwala odwzorować rzeczywistą strukturę urządzeń oraz sieci. Dostęp do danych realizowany jest przez standardowe API TM Forum (TMF638 i TMF639) zapewniające pełną funkcjonalność CRUD (Create, Read, Update, Delete), co umożliwia integrację z systemami automatyzacji i orkiestracji. Architektura obejmuje także rozbudowany interfejs GUI, który automatycznie dostosowuje się do zdefiniowanych schematów danych oraz moduł EventListener, pozwalający monitorować zdarzenia waplikacji, np. dodanie, modyfikację lub usunięcie zasobu. Dodatkowe komponenty, takie jak moduł AAA (Authentication, Authorization, Accounting) zintegrowany z Keycloak oraz system logowania i monitorowania oparty o Graylog lub Grafana Loki, zapewniają kontrolę dostępu i działania aplikacji. Dzięki takiemu podejściu Maat nie jest jedynie statycznym repozytorium danych, lecz aktywnym centrum wiedzy o sieci, zdolnym do komunikacji, reagowania i współdziałania z innymi elementami ekosystemu zarządzania infrastrukturą.
W Maat wszystkie obiekty są reprezentowane w formacie JSON, zgodnie z elastycznym schematem danych (ang. schema-based model). Każdy obiekt ma określony typ (@type), zestaw atrybutów (serviceCharacteristic, resourceCharacteristic), relacje z innymi obiektami (serviceRelationship, resourceRelationship) oraz unikalne identyfikatory (id).
Zgodnie z określonym w TMF sposobem opisu zasobów i usług, modelowanie odbywa się w trzech głównych warstwach:
- Zasoby fizyczne (Physical Resources) – opisują infrastrukturę sprzętową, czyli routery, karty, interfejsy, lokalizacje i ich wykorzystanie. W tej warstwie odwzorowywane są urządzenia różnych platform (np. Juniper Trio, Broadcom Jericho2), ich porty fizyczne i zależności między nimi.
- Zasoby logiczne (Logical Resources) – obejmują elementy wirtualne i konfiguracyjne, takie jak interfejsy zagregowane, logiczne, platformy sprzętowe (producent, model). Tutaj definiowane są zależności między logicznymi instancjami usług a zasobami fizycznymi.
- Usługi (Services) – reprezentują faktycznie świadczone usługi sieciowe (np. Ethernet Point-to-Point Circuit, EVPN, L3VPN). Każda usługa posiada kategorię (@type, np. l2.circuit, l2.evpn.bd, l3.vrf) oraz parametry specyficzne dla danego typu usługi: identyfikatory, adresacje, protokoły routingu, punkty SAP (Service Access Point) itd.
Dostęp do Maat może odbywać się także za pomocą interfejsu graficznego z poziomu przeglądarki internetowej. W interfejsie Maat GUI administrator może przeglądać, edytować i dodawać obiekty, korzystając z walidacji schematów danych.
TU WKLEIĆ TE DRUGĄ GRAFIKĘ Z TABELKĄ
Interfejs graficzny Maat
Implementacja usług w sieci PIONIER oparta jest na procesach (ang. workflows), które korzystają z danych przechowywanych w Maat. Proces przebiega wieloetapowo i automatyzuje cały cykl życia usługi – od walidacji, przez wdrożenie, po monitoring.
Proces (zaimplementowany w ramach orkiestratora Apache Airflow) komunikuje się z aplikacją Maat poprzez REST API. Pobierane są informacje o zasobach (urządzenia, interfejsy, identyfikatory, konfiguracje) oraz o usłudze, która ma zostać wdrożona. Dane te służą do weryfikacji, czy infrastruktura spełnia wymagania danego typu usługi.
Na podstawie relacji i atrybutów obiektów w Maat proces sprawdza, czy wszystkie niezbędne elementy (np. interfejsy na urządzeniach) są dostępne. Jeśli tak – system generuje parametry konfiguracyjne (VLAN ID, identyfikatory kanałów itp.) i aktualizuje bazę Maat o planowany stan usługi.
W kolejnym kroku proces uruchamia playbooki Ansible, korzystające z szablonów Jinja2, które odwzorowują konfigurację dla konkretnego typu urządzenia (np. Juniper MX, PTX, ACX). Playbooki implementują konfigurację w oparciu o dane z Maat, zapewniając spójność i powtarzalność.
Dzięki takiemu podejściu wdrożenie nowej usługi — np. L2 E-LINE obecnie, czy L2 EVPN lub L3 VRF w nieodległej przyszłości — odbywa się z wykorzystaniem bezpośrednio danych referencyjnych w Maat, co eliminuje błędy konfiguracyjne, zapewnia pełną powtarzalność i zgodność konfiguracji z modelem sieci. Maat nie tylko opisuje infrastrukturę, ale też istotnie wpływa na proces jej konfiguracji, stanowiąc centralny element orkiestracji i automatyzacji w środowisku sieci PIONIER.
Ciekawym wykorzystaniem interfejsów aplikacji Maat jest integracja z z narzędziem typu IM (Instant Messaging) o nazwie Mattermost. Użytkownicy sieci PIONIER mogą odpytywać w szybki sposób chat bota o stan usług i zasobów.
Tomasz Szewczyk