
Aplikacja Maat wdrożona w sieci naukowo-badawczej PIONIER jako komponent typu Single Source of Truth (SSoT) jest kluczowym elementem zapewnianiającym spójność, integralność i automatyzację zarządzania zasobami i usługami w złożonym środowisku sieciowym.
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.

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 w aplikacji, 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.

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 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
