Architektura infrastruktury EZD RP została zaprojektowana z myślą o wysokiej dostępności, skalowalności oraz bezpieczeństwie. Składa się ona z kilku komponentów, wśród których kluczowe są maszyny wirtualne i technologie kontenerowe. Rozwiązania te odpowiednio skonfigurowane tworzą elastyczne, wydajne i niezawodne środowisko do zarządzania elektronicznym obiegiem dokumentów.
Maszyny wirtualne
Maszyny wirtualne (VM) odgrywają kluczową rolę – ich stosowanie zapewnia m.in. izolację zasobów, przekłada się na elastyczność zarządzania infrastrukturą oraz bezpieczeństwo środowiska.
Główne zadania maszyn wirtualnych w architekturze EZD RP:
- VM pozwalają na efektywne wykorzystanie zasobów serwerowych, umożliwiając uruchamianie wielu instancji systemu operacyjnego na tym samym sprzęcie fizycznym. Dzięki temu możliwe jest skalowanie aplikacji oraz utrzymywanie różnych środowisk (np. testowych i produkcyjnych) na tym samym sprzęcie;
- VM wykorzystywane są do hostowania różnorodnych środowisk uruchomieniowych, takich jak bazy danych, systemy kolejkowe oraz inne usługi wspomagające działanie aplikacji EZD RP. Dzięki temu można łatwo zarządzać zasobami oraz dostosowywać środowisko do zmieniających się potrzeb;
- VM zapewniają izolację między różnymi komponentami systemu, co zwiększa bezpieczeństwo i niezawodność infrastruktury. W razie awarii jednego z komponentów, inne pozostają nienaruszone. Minimalizuje to ryzyko przerw w działaniu systemu.
Nie rekomendujemy instalacji komponentów bezpośrednio na sprzęcie fizycznym (tzw. bare metal) ze względu na brak izolacji pomiędzy komponentami systemu, mniejszą niż w przypadku zastosowania VM elastyczność w zarządzaniu zasobami oraz trudności związane ze skalowaniem środowiska. Wykorzystanie wirtualizacji należy do zestawu dobrych praktyk stosowanych podczas wdrożeń EZD RP.
Technologie kontenerowe
Technologie kontenerowe, a zwłaszcza środowisko Kubernetes, odgrywają kluczową rolę w nowoczesnej architekturze EZD RP.
Główne funkcje i zadania rekomendowanego rozwiązania kontenerowego:
- platforma Kubernetes umożliwia szybkie i łatwe wdrażanie aplikacji w różnych środowiskach oraz optymalne wykorzystanie zasobów i automatyczne skalowanie aplikacji w zależności od obciążenia. Jest to ważne w przypadku dużych i złożonych systemów, takich jak EZD RP;
- aplikacje uruchamiane w kontenerach są odizolowane od systemu operacyjnego oraz sprzętu, na którym działają. Dzięki izolacji możliwe jest uruchamianie tych samych aplikacji na różnych serwerach lub w chmurze obliczeniowej, co zapewnia elastyczność i przenośność;
- technologie kontenerowe automatyzują takie obszary zarządzania cyklem życia aplikacji jak wdrażanie nowych wersji, monitorowanie stanu aplikacji i zarządzanie zasobami. Daje to pełną kontrolę nad złożonym środowiskiem produkcyjnym EZD RP;
- aplikacje uruchamiane w kontenerach Kubernetes mogą być łatwo rozmieszczane w wielu węzłach, co zapewnia wysoki poziom dostępności i odporności na awarie. W przypadku awarii jednego z węzłów pozostałe węzły mogą przejąć jego obciążenie bez przerwy w działaniu systemu.
Neutralność EZD RP w zakresie wyboru systemu operacyjnego i środowisk Kubernetes
EZD RP zostało zaprojektowane jako elastyczne i otwarte rozwiązanie, które może być wdrażane w różnych środowiskach technologicznych. Zapewnia to odbiorcom dużą swobodę w wyborze narzędzi i technologii. System jest neutralny w stosunku do używanej dystrybucji systemu operacyjnego oraz konkretnej implementacji Kubernetes, co umożliwia dostosowanie infrastruktury do potrzeb i kompetencji organizacji.
Wybór systemu operacyjnego
EZD RP współpracuje z różnymi systemami operacyjnymi, dystrybuowanymi zarówno w wersjach komercyjnych, jak i open source. Dzięki temu instytucje wdrażające EZD RP mogą wybrać rozwiązania, które najlepiej odpowiadają ich wymaganiom w zakresie bezpieczeństwa, kompetencji specjalistów IT oraz budżetu:
- organizacje mogą wybrać system operacyjny, który najlepiej spełnia ich standardy bezpieczeństwa, niezależnie czy jest to dystrybucja Linux, Windows, czy inny system zgodny z wdrożoną polityką bezpieczeństwa;
- EZD RP można wdrożyć na systemie operacyjnym, z którym zespół techniczny jest najbardziej zaznajomiony, a na którym działają wymagane komponenty. Usprawnia i obniża to koszty zarządzania i utrzymania środowiska;
- w zależności od przeznaczonego na projekt budżetu można wykorzystać darmowe systemy open source lub zdecydować się na komercyjne rozwiązania mające wsparcie producenta.
Wybór implementacji platformy Kubernetes
EZD RP jest neutralne również wobec implementacji Kubernetes, co oznacza, że może być wdrażane i zarządzane za pomocą dowolnej platformy Kubernetes, bez względu na jej pochodzenie i sposób instalacji. Zapewnia to elastyczność wyboru, niezależność od infrastruktury i skalowalność:
- organizacje mogą wybrać implementację Kubernetes, która najlepiej odpowiada ich wymaganiom funkcjonalnym i operacyjnym. Może to być komercyjna platforma z pełnym wsparciem lub darmowa rozwiązanie open source;
- aplikacje EZD RP mogą być uruchamiane w środowiskach Kubernetes działających na różnych systemach operacyjnych – zapewnia to niezależność od konkretnego dostawcy technologii;
- niezależnie od wielkości organizacji EZD RP może być wdrożone w klastrze Kubernetes dostosowanym do aktualnych potrzeb podmiotu, z opcją skalowania w miarę wzrostu infrastruktury i zapotrzebowania na zasoby.
Polityka bezpieczeństwa i utrzymania systemów
Indywidualne wybory dotyczące systemów operacyjnych, dystrybucji Kubernetes oraz innych komponentów infrastruktury niezbędnych do uruchomienia i działania środowiska EZD RP, zależą od polityki bezpieczeństwa i utrzymania systemów IT w danej organizacji. W zależności od oczekiwanego poziomu bezpieczeństwa oraz posiadanych kompetencji możliwe jest wykorzystanie:
- darmowego oprogramowania open source;
- oprogramowania open source ze wsparciem producenta (odpłatne subskrypcje);
- komercyjnych rozwiązań w zakresie relacyjnej bazy danych, klastrowego systemu plików lub repozytorium obiektowego (programowego lub sprzętowego), wirtualizacji infrastruktury, a także środowiska uruchomieniowego kontenerów Kubernetes.
EZD RP to rozwiązanie, które oferuje dużą neutralność w zakresie wyboru komponentów systemowych. Dzięki temu organizacje mają swobodę w dostosowywaniu infrastruktury do określonych potrzeb, bez konieczności uzależniania się od konkretnego dostawcy technologii czy platformy. Decyzje dotyczące rozwiązań implementowanych w ramach wdrożeń powinny uwzględniać wewnętrzne polityki bezpieczeństwa organizacji oraz utrzymania systemów IT.
Kluczowe elementy infrastruktury dla środowiska produkcyjnego EZD RP
Do prawidłowego działania aplikacji serwerowej EZD RP konieczne są wymienione usługi i zasoby (niezależnie od środowiska Kubernetes):
- relacyjna baza danych zgodna z PostgreSQL lub MS SQL oraz konto systemowe umożliwiające utworzenie i korzystanie z bazy danych;
- systemy kolejkowe i buforujące dane: Redis, Rabbit;
- usługa składowania plików w postaci udziału sieciowego NFS lub repozytorium obiektowego (programowego lub sprzętowego), zgodnego z protokołem S3 (np. rozwiązanie open-source, takie jak MinIO);
- publikowana nazwa DNS (publicznie lub wewnętrznie) dla serwera aplikacji EZD RP;
- certyfikat SSL typu Wildcard dla domeny (w liczbie odpowiadającej uruchamianym instancjom np. testowej, preprodukcyjnej, produkcyjnej);
- usługa wysyłki poczty SMTP i konto umożliwiające korzystanie z tej usługi.
Zobacz także
Rekomendowana strategia backupów i przywracania systemu EZD RP
Rekomendacje bezpieczeństwa dla dostępu do SaaS EZD RP
Rekomendowane wymagania dla stacji roboczych oraz stanowisk kancelaryjnych
Modele wdrażania EZD RP
Konfiguracja IPsec VPN Site-to-Site do usługi EZD RP