Amazon Web Services to jedna z najbardziej rozbudowanych platform chmurowych, dająca firmie dostęp do setek usług — od prostych maszyn wirtualnych po zaawansowane bazy danych i mechanizmy automatyzacji. Skuteczna migracja na AWS wymaga jednak przemyślanej strategii, bo błędny dobór usług prowadzi do niepotrzebnych kosztów i problemów z wydajnością. Kluczowe jest dopasowanie ścieżki migracji do każdego systemu z osobna, zamiast stosowania jednego uniwersalnego podejścia do całej infrastruktury.
Strategia migracji na AWS
Przed przeniesieniem jakichkolwiek zasobów warto określić, którą z klasycznych strategii migracji (tzw. 6R) zastosować dla poszczególnych systemów w firmie. Dobór strategii ma bezpośredni wpływ na czas realizacji projektu, koszt docelowego środowiska oraz stopień, w jakim firma skorzysta z zalet chmury.
Model 6R
- Rehost — przeniesienie "jeden do jednego" bez zmian w architekturze (najszybsza droga)
- Replatform — drobne modyfikacje pozwalające skorzystać z usług zarządzanych, np. przejście na Amazon RDS
- Repurchase — zamiana lokalnego oprogramowania na odpowiednik SaaS
- Refactor — przeprojektowanie aplikacji pod architekturę chmurową (mikroserwisy, kontenery)
- Retain — pozostawienie części systemów lokalnie ze względu na wymagania regulacyjne
- Retire — wycofanie systemów zbędnych, wykrytych podczas audytu
Audyt i planowanie
Inwentaryzacja środowiska
- Mapowanie serwerów, aplikacji i ich wzajemnych zależności (AWS Application Discovery Service)
- Klasyfikacja danych pod kątem wrażliwości i wymagań dotyczących ich przechowywania
- Analiza obciążenia sieci i zapotrzebowania na przepustowość łącza do AWS
Migracja zasobów obliczeniowych i danych
Serwery i maszyny wirtualne
- AWS Application Migration Service (MGN) — replikacja serwerów fizycznych i wirtualnych do instancji EC2
- Testowanie migrowanych maszyn w izolowanym środowisku przed przełączeniem produkcyjnym (cutover)
- Dobór typu instancji EC2 dopasowanego do profilu obciążenia (ogólnego przeznaczenia, zoptymalizowane pod pamięć lub obliczenia)
Bazy danych
- AWS Database Migration Service (DMS) — migracja z minimalnym przestojem, także między różnymi silnikami baz danych
- Amazon RDS jako usługa zarządzana zwalniająca firmę z administrowania serwerem bazodanowym
- Amazon S3 do przechowywania danych nieustrukturyzowanych i archiwizacji
Sieć w AWS
Konfiguracja VPC
- Zaprojektowanie Virtual Private Cloud z podziałem na podsieci publiczne i prywatne
- Połączenie Site-to-Site VPN lub AWS Direct Connect dla stałego łącza z siedzibą firmy
- Grupy zabezpieczeń (Security Groups) i listy kontroli dostępu (NACL) ograniczające ruch sieciowy
Tożsamość, dostęp i bezpieczeństwo
- Zarządzanie kontami i uprawnieniami przez AWS Identity and Access Management (IAM)
- Wdrożenie uwierzytelniania wieloskładnikowego dla kont z dostępem administracyjnym
- Monitorowanie zdarzeń i aktywności przez AWS CloudTrail oraz Amazon GuardDuty
- Szyfrowanie danych w spoczynku (AWS KMS) i w transmisji
Ciągłość działania
- Automatyczne kopie zapasowe instancji EC2 i baz RDS
- Replikacja między strefami dostępności (Availability Zones) dla usług krytycznych
- Plan odzyskiwania po awarii oparty o wiele regionów AWS dla systemów o najwyższym priorytecie
Testy przed przełączeniem produkcyjnym
- Weryfikacja poprawności działania aplikacji i integracji po migracji na środowisku testowym
- Testy wydajności instancji EC2 i baz RDS pod symulowanym obciążeniem
- Kontrola spójności danych po replikacji przy użyciu AWS DMS
- Próbne odtworzenie środowiska z kopii zapasowej
Kontrola kosztów
- Analiza wydatków i prognozowanie w AWS Cost Explorer
- Instancje zarezerwowane lub Savings Plans dla obciążeń przewidywalnych
- Automatyczne skalowanie (Auto Scaling) dopasowujące liczbę zasobów do rzeczywistego ruchu
Podsumowanie
Migracja na AWS to proces, w którym dobór właściwej strategii dla każdego systemu ma większe znaczenie niż samo tempo przenoszenia zasobów. Połączenie odpowiedniego planowania, testów przed przełączeniem produkcyjnym oraz konsekwentnego zarządzania kosztami i bezpieczeństwem pozwala firmie zbudować stabilne środowisko chmurowe bez zbędnych przestojów i nieprzewidzianych wydatków.