Migracja infrastruktury Rapid Delivery Analytics do chmury AWS, współfinansowana z programu StartUp Migrate Asses
Rapid Delivery Analytics (RDA) to pochodzący z Estonii SaaS który śledzi dane z aplikacji przeznaczanych do zamawiania żywności, takich jak Uber Eats, Glovo, Wolt itp. i dostarcza w czasie rzeczywistym informacje pomagające Klientom optymalizować strategię, zwiększać efektywność i skalować ilość użytkowników.
Początek współpracy
W momencie nawiązania współpracy infrastruktura Rapid Delivery Analytics (RDA) znajdowała się u wielu różnych dostawców, takich jak Selectel, Hetzner czy AWS. Wraz z rozwojem narzędzi oferowanych przez RDA, zrodziła się potrzeba uporządkowania zasobów i ulokowania jej w jednej chmurze. Głównym założeniem migracji było zwiększenie dostępności oraz wzmocnienie bezpieczeństwa aplikacji. Ponad to przeniesienie wszystkich zasobów w jedno miejsce pomogło zoptymalizować koszty i zwiększyć wydajności pracy. Po przeanalizowaniu dostępnych możliwości wspólnie z Klientem zdecydowaliśmy o przeniesieniu zasobów do chmury AWS. Wybór ten był dla RDA o tyle korzystny, że w ramach programów AWS - SMAP (StartUp Migrate Asses Program) i SMP (StartUp Migrate Program), pozyskaliśmy dla Klienta 30 000 USD finansowania na wsparcie migracji i budowę infrastruktury.
Rozwiązania techniczne
Cała infrastruktura Klienta znajduje się w jednym regionie, a wszystkie komponenty AWS napisaliśmy w formie kodu z wykorzystaniem narzędzia Terraform. W związku z tym, że aplikacja Klienta jest skonteneryzowana w Dockerze można ją w prosty sposób przenosić pomiędzy hostami. Z uwagi na to, że konfiguracja samych serwerów jest również przygotowana w formie kodu, w tym przypadku z użyciem narzędzia Ansible, stawianie kolejnych hostów pod kontenery jest bardzo łatwe i znacząco ułatwia skalowanie. Same kontenery w ramach hosta zarządzane są przez docker-compose. Bazę danych zmigrowaliśmy do AWS Postgres RDS, a dzięki prywatnemu połączeniu aplikacje komunikują się prywatnym linkiem z bazą Clickhouse, co sprawia, że rozwiązanie jest bezpieczniejsze.
Usługi, z których korzystamy:
AWS RDS - Uruchomiona jest jedna instancja RDS w konfiguracji Multi-AZ.
AWS Load Balancer - skonfigurowany jest jeden publicznie dostępny Application Load Balancer który zintegrowany jest z usługą ACM. Loadbalancer służy jako reverse proxy do kontenerów dockerowych znajdujących się na instancjach EC2. Dodatkowo został skonfigurowany Network Load Balancer który służy do umożliwienia komunikacji bazy Clickhouse z bazą Postgres w usłudze RDS.
AWS S3 - bucket S3 ze skonfigurowanym static webiste hostingiem.
AWS Backup - usługa skonfigurowana w celu wykonywania oraz przechowywania kopii zapasowych instancji EC2.
Grafana Cloud - Klient wykorzystuje Grafanę w wersji Cloud do analizy metryk oraz logów. Metryki oraz logi wysyłane są z aplikacyjnych instancji EC2. Metryki wysyłane są poprzez usługę Prometheus, a logi poprzez log driver Lokiego. Przygotowane zostały trzy dashboardy.
Gitlab – służy do przechowywania repozytoriów w Gitlab Cloud.
Parameter Store - w usłudze parameter store przechowywane są parametry związane z infrastrukturą oraz aplikacją.
Podsumowanie
Dla Rapid Delivery Analytics (RDA) zrealizowaliśmy migrację mocno rozproszonych zasobów do chmury AWS. Pozyskaliśmy dla Klienta finansowanie pokrywające część kosztów związanych z pracami nad migracją. W efekcie stworzyliśmy wydajne, bezpieczne i skalowalne środowisko pozwalające na dynamiczny rozwój narzędzi dostarczanych przez Rapid Delivery.
Po zakończeniu migracji uruchomiliśmy dla Rapid Delivery usługę opieki administracyjnej, dzięki czemu infrastruktura Klienta objęta jest całodobowym monitoringiem.
PYTANIA? SKONTAKTUJ SIĘ Z NAMI
Czytaj również:
Projekt i wdrożenie środowiska w chmurze AWS dla aplikacji mobilnej Droids on Roids
Przejęcie opieki i projekt infrastruktury w chmurze AWS dla ZTM Warszawa