Superkomputer Prometheus należący do Akademickiego Centrum Komputerowego CYFRONET Akademii Górniczo-Hutniczej w Krakowie użyczył swoich zasobów do projektu Sat4Envi. Rolą komputera jest m.in. przetwarzanie danych i tworzenie informacji z surowych danych satelitarnych.
Głównym celem projektu Sat4Envi, w którym wykorzystano m.in. zasoby Prometheusa jest udostępnienie satelitarnych danych europejskiego programu Copernicus oraz informacji pochodzących z innych satelitów środowiskowych i meteorologicznych. System Obsługi Klienta to obsługiwane z poziomu przeglądarki internetowej narzędzie dostępu do danych satelitarnych. Dzięki tej platformie użytkownik ma możliwość wyszukiwania, oglądania oraz pobierania różnorodnych danych satelitarnych.
System służy przede wszystkim do monitorowania powierzchni Ziemi, atmosfery i pogody oraz rozpoznawania zagrożeń meteorologicznych. Dzięki nałożeniu specjalistycznych warstw, zawierających m.in. granice jednostek administracyjnych, narzędzie jest funkcjonalne także dla administracji publicznej czy instytucji regionalnych. Analiza danych satelitarnych w czasie niemalże rzeczywistym może mieć kluczowe znaczenie dla prognozowania, monitorowania oraz przeciwdziałania skutkom kataklizmów. W szczególności tego rodzaju monitoring jest istotny w przypadku powodzi, oceny skali pożarów czy monitorowania szkód w uprawach rolnych powstałych w wyniku suszy lub przemarzania. Ze względu na konieczność szybkiego reagowania w tego rodzaju sytuacjach, projekt Sat4Envi uwzględnia potrzeby specjalnych grup użytkowników, takich jak Centrum Informacji Kryzysowej. Dzięki opracowanym zdjęciom satelitarnym zbieranym w serwisie będzie można prowadzić efektywne działania prewencyjne związane z naturalnymi klęskami żywiołowymi.
Rola ACK CYFRONET AGH
– Rolą Akademickiego Centrum Komputerowego CYFRONET AGH w projekcie była realizacja zadań programistycznych związanych z budową i utrzymaniem Systemu Obsługi Klienta, ale też zapewnienie infrastruktury informatycznej niezbędnej do gromadzenia i udostępniania danych. Cyfronet jest operatorem połączenia internetowego z IMGW-PIB Kraków, a w ramach Infrastruktury PLGrid udostępnia zasoby obliczeniowe niezbędne dla prawidłowego funkcjonowania Sat4Envi. Z kolei do przetwarzania danych i tworzenia informacji z surowych danych satelitarnych wykorzystywany jest zainstalowany w Cyfronecie superkomputer Prometheus – podkreśla prof. Kazimierz Wiatr, dyrektor ACK CYFRONET AGH.
Składowanie i dostęp do danych odbywa się za pomocą rozproszonej infrastruktury obiektowej pamięci masowej z wykorzystaniem platformy CEPH i interfejsu S3. Wykorzystywane są mechanizmy replikacji i Erasure Coding, które gwarantują spójność danych oraz oszczędność przestrzeni składowania. Z kolei do przetwarzania danych i tworzenia produktów pochodnych z surowych danych satelitarnych wykorzystywany jest zainstalowany w Cyfronecie superkomputer Prometheus. Dla zapewnienia wysokiej dostępności, równoważenia obciążenia i priorytetyzacji ruchu wykorzystano rozproszoną infrastrukturę serwerową i zasoby zwirtualizowane w chmurze obliczeniowej.
Cyfronet odpowiadał za opracowanie schematu bazy danych satelitarnych i ich metadanych oraz opracowanie serwisu wyszukiwania i udostępniania danych. Flagowym zadaniem była implementacja portalu internetowego Systemu Obsługi Klienta.
Przy realizacji zadań po stronie Cyfronetu współpracuje kilkanaście osób z czterech działów, w tym specjaliści w zakresie: zarządzania i koordynacji projektów, architektur oprogramowania, programowania Front-end i Back-end, projektowania interfejsów użytkownika i user experience, DevOps, testowania, analityki wymagań, a także administracji zasobami pamięci i chmurą oraz zarządzania danymi i ich przetwarzania przy wykorzystaniu zasobów superkomputerowych.
Technologiczne wyzwania
– Założenia projektu stworzyły przed nami wyzwanie budowy architektury, która zapewni wydajne metody przeszukiwania, wizualizacji i pobierania danych satelitarnych, gwarantując jednocześnie wysoką dostępność oraz zapewniając równoważenie obciążenia i priorytetyzację ruchu dla kluczowych użytkowników jednostek administracji publicznej i sektora bezpieczeństwa – mówi mgr inż. Bartosz Wilk, koordynator prac programistycznych i architekt oprogramowania w ACK CYFRONET AGH.
Architektura musiała spełniać wymagania postawione aplikacji internetowej, która zapewni zarówno przystępną i intuicyjną obsługę dla różnych grup odbiorców, jak i umożliwi korzystanie z programistycznego API w celu maszynowego dostępu do danych i integracji innych systemów informatycznych.
Budowa portalu z interfejsem dostępowym wymagała bardzo starannego i wieloaspektowego projektowania, uwzględniającego łatwość wyszukiwania danych czy szybkość odnajdywania określonych funkcji. Przyjmując za cel stworzenie produktu o wysokiej funkcjonalności również dla użytkowników „niezaawansowanych”, zespół programistyczny rozpoczął działania od rozbudowanej oceny wymagań. Analizowano przypadki użycia w różnych grupach użytkowników docelowych i przeprowadzano wielokrotne weryfikacje z użyciem makiet graficznych i prototypowych implementacji. W pracach nad interfejsem specjaliści w zakresie user experience sięgnęli również do techniki wywiadów pogłębionych w grupach reprezentantów przyszłych użytkowników (Instytut Meteorologii i Gospodarki Wodnej, Centrum Badań Kosmicznych, Polska Agencja Kosmiczna, Pracownia Teledetekcji Morza PAN czy Pieniński Park Narodowy).
Do kontroli jakości w cyklu rozwoju aplikacji Systemu Obsługi Klienta (SOK) wykorzystano najlepsze praktyki inżynierii oprogramowania oraz nowoczesne narzędzia wspierające proces jego wytwarzania. Nad kontrolą regresji funkcjonalności oraz ochroną jakości kodu czuwa zautomatyzowany proces testowania integracyjnego – Continuous Integration (GitHubActions). Wprowadzane funkcjonalności są testowane manualnie przy użyciu zautomatyzowanej instalacji rozwojowych wersji produktu na instancjach testowych.
Metody automatyzacji testów stosowane w celu kontroli jakości oprogramowania w ACK CYFRONET AGH:
- testy jednostkowe kodu serwera (przy użyciu bibliotek JUnit, Mockito, Spring Security Test, Hamcrest),
- testy jednostkowe kodu klienta (przy użyciu biblioteki Jest),
- testy integracyjne – integracja kodu serwera z pozostałymi komponentami architektury systemu – GeoServer, S3,
- testy end-to-end (przy użyciu biblioteki Cypres),
- testy obciążeniowe (przy użyciu biblioteki Gatling).
Elastyczność i otwartość
Architektura Sat4Envi zapewnia elastyczność i uwzględnia możliwość rozwoju kolejnych instancji w przypadku dużego zainteresowania danymi ze strony użytkowników. Dla jak najlepszej integracji z systemami zewnętrznymi System Obsługi Klienta umożliwia pobieranie danych za pomocą programowalnych interfejsów aplikacji (API). W projekcie zaimplementowano trzy rodzaje API, odpowiadające różnym funkcjom:
API 1 – zamawianie danych archiwalnych
API umożliwia przeszukiwanie oraz dostęp do danych archiwalnych zgromadzonych w SOK. Oparte jest o standardy OData i OSearch, implementując ich podzbiór zapewniający zgodność z istniejącymi systemami udostępniania, takimi jak DHuS.
API 2 – wyszukiwanie i pobieranie danych bieżących
API umożliwia korzystanie z wyszukiwarki danych bieżących prezentowanych w systemie SOK, a także ich pobieranie. Jego opis został wygenerowany w standardzie OpenAPIv3 i udostępniona jest graficzna przeglądarka API 2.
API 3 – korzystanie z portalu mapowego
API umożliwia dostęp do zgromadzonych bieżących danych satelitarnych poprzez interfejs zgodny ze specyfikacją WMS (Web Map Service).
Przy budowie portalu Sat4envi uwzględniono standardy dotyczące tworzenia dostępnych serwisów internetowych, osiągając zgodność z wytycznymi WCAG 2.0 na poziomie AA.
Działając zgodnie z ideą otwartości, zespół Cyfronetu udostępnił kod źródłowy w serwisie GitHub. Wykorzystane praktyki zostały wypracowane m.in. przy projektach z rodziny European Open Science Cloud.
Sat4Envi wspiera w sytuacjach kryzysowych
Analiza danych satelitarnych z jak najmniejszymi opóźnieniami w stosunku do ich pozyskania może mieć kluczowe znaczenie dla prognozowania, monitorowania oraz przeciwdziałania skutkom kataklizmów. Dotyczy to przede wszystkim monitorowania powodzi, oceny skali pożarów, czy monitorowania szkód w uprawach rolnych powstałych w wyniku suszy lub przemarzania.
Ze względu na wagę tych działań i konieczność szybkiego reagowania projekt Sat4Envi uwzględnia wsparcie specjalnych grup użytkowników, takich jak Centrum Informacji Kryzysowej. Wyższy poziom dostępności, wdrożone polityki dostępu do najświeższych zapisów produktów z poszanowaniem licencji dostawców danych, możliwość uzyskania dodatkowego wsparcia poprzez wysłanie zapytania bezpośrednio do eksperta z instytucji oraz łatwe współdzielenie pozyskanych danych ułatwiają bieżące działanie operacyjne służb kryzysowych.
Liderem projektu Sat4Envi jest Instytut Meteorologii i Gospodarki Wodnej – Państwowy Instytut Badawczy, a partnerami w projekcie: Centrum Badań Kosmicznych Polskiej Akademii Nauk, Polska Agencja Kosmiczna oraz Akademickie Centrum Komputerowe Cyfronet AGH. Projekt, o łącznej wartości 17 903 900 zł, jest współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Polska Cyfrowa.
Dostęp do wszystkich danych jest bezpłatny.
fot. sat4envi.imgw.pl
Źródło: AGH
Oprac. Paweł Z. Grochowalski