# Architektura systemu ## Zarys działalności Firma *MegaLoty* zajmuje się sprzedażą biletów lotnicznych. Poprzez swoją stronę internetową umożliwia wyszukiwanie połączeń pomiędzy różnymi destynacjami oraz zakup biletów na wybrane trasy. Przedsiębiorstwo ma podpisane umowy z wieloma linami lotnicznymi, dzięki którym klienci mogą nabyć bilety taniej na niektóre połaczenia a przewoźnicy promować swoje usługi. Aby zapewnić zgodność z przepisami prawa oraz globalnymi systemami przewoźników, Firma szczególną wagę przywiązuje do bezpieczeństwa przetwarzanych oraz przechowywanych danych jak dane pasażerów, zakupione bilety lub informacje o ich stanie zdrowia. Dodatkowo służby bezpieczeństwa mogą mieć wgląd w przechowywane dane w celu zapobiegania terroryzmowi. # Charakterystyka architektury Aby zepewnić wysoką dostępność usług, *MegaLoty* zdecycowały się zbudować swoją platformę w chmurze Amazon Web Services: - Cześć obliczeń jest obsługiwana przez serwery EC2 z systemami operacyjnymi z rodziny Linux oraz Windows Server; - Pozostała część obliczeniowa jest obsługiwana w kontenerach Dockerowych na platformie ECS oraz klastrze Kubernetes w ramach usługi EKS; - Dane przechowywane są zarówno w bazach danych RDS oraz bucketach S3; - Aplikacje oraz Funkcje Lamdba działające w chmurze są napisane w językach Python, Java, Node.js; - Dodatkowo na niektórych maszynach działają serwery WWW - Apache Web Server oraz Nginx; - Dostęp dla klientów jest realizowany poprzez CloudFront oraz Elastic Load Balancery; - Integracje z systemami zewnętrznymi linii lotnicznych poprzez REST API oraz tunele VPN;