“Podnieś, przenieś i skorzystaj!” - czyli jak migrować do chmury dzięki metodzie Lift & Shift
Do migracji do chmury obliczeniowej już nikogo nie trzeba przekonywać. Możliwości jakie niesie za sobą chmura to nie tylko obniżenie kosztów infrastruktury, ale również możliwość szybkiej reakcji na potrzeby rynku, przy jednoczesnym zapewnieniu wysokiego poziomu bezpieczeństwa oraz optymalizacji środowiska. Migracja do chmury może być zwinnym i efektywnym procesem. Jeśli stoisz w obliczu wyzwania, które wymusiło natychmiastową adaptację do pojawiających się zmian, chętnie pokażemy w jaki sposób to zrobić, by osiągnąć najlepsze efekty. Szybkość i płynność procesu migracji zależy w głównej mierze od odpowiedniego przygotowania. Dlatego ważnymi są: identyfikacja posiadanych zasobów oraz analiza i wyznaczenie celów, które chcemy osiągnąć poprzez migrację do chmury. W tym celu warto posiłkować się Cloud Adoption Frameworkiem opracowanym przez AWS, który jest bazą najważniejszych i najlepszych praktyk ułatwiających ten proces.
W dzisiejszym wpisie skupimy się na najszybszej możliwości, która jest jedną z 3 rekomendowanych przez AWS wariantów. Lift and Shift jest jedną z najpopularniejszych metod migracji do chmury i często jest pierwszym krokiem w procesie cloud adoption. Pamiętajmy, że nie jest to jedyna możliwość, którą możemy wybrać. W zależności od potrzeb – można stworzyć środowisko od podstaw lub gruntownie je przeprojektować. Możemy również wykorzystać możliwości istniejącej infrastruktury on-premise, w połączeniu z mocą chmury obliczeniowej w rozwiązaniu hybrydowym.
Lift and Shift to scenariusz pozwalający na migrację istniejącej infrastruktury do chmury obliczeniowej. W praktyce oznacza to “podniesienie i przeniesienie” istniejącej struktury z serwerów fizycznych do chmury. AWS Cloud dostarcza rozwiązania zapewniające większą elastyczność, wydajność, skalowalność, jednocześnie podnosząc poziom bezpieczeństwa.
Wyzwaniem może stać się nie tylko konieczność zachowania funkcjonalności aplikacji, ale również często ogromne ilości danych, które trzeba w należyty sposób przechowywać i przetwarzać. Amazon Web Services doskonale zdaje sprawdzian, dostarczając usługi do przechowywania danych i zarządzania pamięcią masową kluczowe dla Lift and Shift.
Amazon EFS to w pełni zarządzana usługa, która ułatwia konfigurację, skalowanie i optymalizację kosztów przechowywania plików w chmurze AWS. To dysk sieciowy, który może być dostępny z wielu serwerów i komputerów (korzystając z protokołu NFSv4). Opłata jest naliczana jedynie za wielkość zarezerwowanego dysku sieciowego wyrażoną w GB.
Amazon EBS to łatwa w użyciu usługa block storage zaprojektowana do użytkowania w połączeniu z serwisem Amazon EC2, zarówno w przypadku dużych obciążeń, jak i intensywnych transakcji w dowolnej skali. Ma szeroki zakres zastosowań – do rozwiązań takich jak relacyjne i nierelacyjne bazy danych, aplikacje korporacyjne, aplikacje skonteneryzowane, silniki analityczne dużych zbiorów danych, systemy plików. Podobnie jak przy Amazon EFS, opłata naliczana jest za wielkość zarezerwowanego dysku wyrażoną w GB.
Korzyści jakie osiągamy dzięki skorzystaniu ze scenariusza Lift and Shift to:
- Brak konieczności zmian na poziomie aplikacji, bo jest to rehosting istniejącej infrastruktury, ale w chmurze.
- Obciążenia dotyczące sprzętów takich jak np. karty graficzne zostają przesunięte na wyspecjalizowane maszyny wirtualne w chmurze.
- Podejście Lift and Shift nie zmiania samej konstrukcji architektury, co pozwala na utrzymanie dotychczasowych ustaleń odnośnie procesów biznesowych, związanych z aplikacją.
- Jest to najmniej uciążliwa metoda w kwestiach kompatybilności aplikacji, zarządzania ryzykiem, wydajności czy wymagań HA.
Obszary zastosowania metody Lift and Shift
Redukcja kosztów
Oto kilka sposobów, które pozwolą obniżyć koszty zarządzania i TCO (Total Cost of Ownership – w kontekście rozwiązań chmurowych jest to całkowity koszt pozyskania, instalowania, użytkowania, utrzymywania oraz ewentualnej rozbudowy narzędzi) dzięki migracji do chmury za pomocą Lift and Shift.
- automatyzacja – w momencie, kiedy nie możemy modyfikować aplikacji ratunkiem jest zmiana sposobu jej wdrażania za pomocą Infrastructure as a code. Takie usługi jak Amazon CloudFront czy Amazon OpsWorks, pozwolą na zautomatyzowanie tego procesu i zarządzania zasobami. Jednocześnie pozwolą na szybkie tworzenie środowisk testowych, z opcją błyskawicznej eliminacji błędu, podczas wdrożenia na produkcję.
- Reserved, Spot i On-Demand Instances – wybór odpowiedniego modelu zakupu instancji pozwala na obniżenie kosztów nawet o 75%.
- Amazon EFS – wdrożenie w pełni zarządzanej usługi do obsługi różnego rodzaju obciążeń, zapewnia wysoką wydajność i dostęp do pamięci masowej za pośrednictwem NFS. EFS oferuje zastąpienie istniejących wdrożeń NFS. Umożliwia klientom osiągnięcie redukcji kosztów poprzez przejście na model wyceny płatności zgodnie z rzeczywistym zużyciem, i nie wymaga modyfikacji aplikacji.
- Amazon MQ – zapewnia wydajną, wysoce dostępną zarządzaną usługę brokera wiadomości Apache MQ, która jest kompatybilna z istniejącymi aplikacjami. Z pomocą funkcji Lambda można zautomatyzować proces zarządzania komunikacją związaną z infrastrukturą w chmurze. Aplikacja zarządza komunikatami dot. bieżących aktualizacji oprogramowania, aktualizacji zabezpieczeń czy alertami dot. wykrywania i odzyskiwania błędów.
- Amazon S3 do statycznego hostingu – znacząca część każdej aplikacji internetowej to treść statyczna (taka jak np. obrazy, filmy czy pliki). Hostowanie treści statycznej poprzez instancje EC2 wiąże się z dużymi kosztami. Przenosząc zawartość statyczną do S3, można znacznie zmniejszyć koszty mocy obliczeniowej niezbędnej do hostowania aplikacji internetowych.
Lepsza wydajność
Wzrost wydajności środowiska jest dużą zaletą migracji z opcji on-premise do chmury. By w pełni skorzystać z możliwości jakie oferuje nam cloud, przedstawiamy kilka sposobów by podnieść wydajność środowiska.
- Skalowanie wertykalne – dzięki szerokiej dostępności instancji oferowanych przez AWS, w zależności od obciążenia jakie przyjmuje środowisko, można dobrać typ instancji odpowiedni do obciążenia. W dni, w których spodziewane jest duże obciążenie, można wykorzystać bardziej wydajne instancje. Dodatkowo można proces łatwo zautomatyzować za pomocą funkcji Lambda.
- EC2 Placement Groups – poprawiają ogólną wydajność aplikacji, zmniejszając opóźnienie sieci między maszynami wirtualnymi, poprzez odpowiednie rozłożenie instancji EC2 w infrastrukturze AWS, w pojedynczej Availability Zone.
- Leverage Tiered Storage – AWS oferuje szereg usług związanych z przechowywaniem danych. Każda posiada unikalne właściwości związane z wydajnością. Możesz skorzystać m.in. z takich usług jak:
Dzięki odpowiedniej kombinacji instancji, usług storage i innych serwisów AWS, możesz osiągnąć znaczny wzrost wydajności środowiska.
Bezpieczeństwo
Przeniesienie się do chmury AWS zapewnia również wzrost bezpieczeństwa, eliminując wiele zagrożeń związanych z wdrożeniami on-premise. W podejściu Lift and Shift pojawia się kwestia związana z “legacy workloads”, w których nowoczesne formy szyfrowania mogą nie mieć zastosowania. Pomimo pojawiających się przeszkód można zapewnić wzrost poziomu bezpieczeństwa Waszego środowiska. Poniżej kilka sugestii jak to zrobić:
- Dodawanie TLS za pomocą Application Load Balancerów – często starsze aplikacje korzystają z protokołu HTTP lub innych prostych protokołów, pozostając podatnymi na ataki. Stosunkowo prostym rozwiązaniem jest zastosowanie Application Load Balancerów, w celu zapewnienia odciążania protokołu SSL. Load balancer przeprowadza deszyfrowanie całego ruchu trafiającego do instancji, zamieniając go na nieszyfrowany ostatecznie odbierany przez instancję.
- Poprawa bezpieczeństwa i zarządzania konfiguracją z pomocą Sidecars – Sidecar działa jak zaszyfrowany serwer proxy, udostępniając interfejs API starej aplikacji, zewnętrznym klientom za pośrednictwem TLS. Sidecar jest swoistą czarną skrzynką dla aplikacji.
- Automatyzacja bezpieczeństwa – pierwszym krokiem jest wdrożenie filozofii DevSecOps, w duchu której AWS oferuje szereg usług pomagających w jej implementacji, np.: Amazon GuardDuty, AWS Shield, AWS WAF, AWS Config. Pozwala na wczesne wykrycie zagrożeń i szybką reakcję na niebezpieczeństwa, zapewniając wysoki próg zabezpieczeń.
Świadomie wybierając usługi AWS, pomagające zapewnić większy poziom bezpieczeństwa oraz wprowadzając drobne zmiany w istniejącej architekturze, możesz złagodzić wyzwania związane z dotychczasową infrastrukturą (legacy workloads).
Wybierając podejście Lift and Shift można zaoszczędzić czas poświęcony na ponowne projektowanie rozwiązania, wraz z zabezpieczeniami i niezbędnymi testami, przed samym wdrożeniem. Warto również pamiętać o kierowaniu się best practices zawartymi w Cloud Adoption Framework, który wspiera wdrożenie najlepszych z możliwych rozwiązań. Dzięki możliwościom jakie daje chmura AWS możemy nie tylko zminimalizować ryzyko błędów (dzięki automatyzacji), ale również skorzystać z takich korzyści chmury jak: elastyczność, wydajność, bezpieczeństwo i skalowalność.