Migracja do chmury
Proces migracji do chmury
Migracja do chmury jest procesem ciągłym o charakterze iteracyjnym. Najczęściej podaje się 4 główne etapy procesu migracji, który mają na celu pomóc organizacji w tym nie łatwym wyzwaniu. Aby można było mówić o sukcesie każda z faz migracji do chmury musi zostać zakończona sukcesem. Warto również wspomnieć, że nie jest to tylko wyzwanie techniczne, ale również wyzwanie zmiany kultury organizacyjnej.
Procesy biznesowe obsługiwane przez technologię chmurową są elementem transformacji cyfrowej. Połączenie zasobów dostarczanych w chmurze i elastyczności narzędzi typu open source prowadzi do znacznie niższych kosztów infrastruktury i pracy. Przedsiębiorstwo, aby utrzymać przewagę konkurencyjną musi korzystać z innowacji technologicznych jakie dają chmury publiczne. Korzystając z usług w chmurze, organizacje mogą zwiększyć sprawność przy jednoczesnym obniżeniu kosztów i ryzyka.
Aby być liderem, dzisiejszy dyrektor generalny (CEO) musi sprostać złożonemu zadaniu cyfrowej transformacji organizacji przy użyciu technologii zmieniającej się w znacznie szybszym tempie niż kiedykolwiek wcześniej. Migracja do chmury to zmiany technologiczne i organizacyjne.
Etapy migracji:
1. Szacowanie zakresu migracji
2. Plan migracji
3. Migracja
4. Monitoring i optymalizacja
1. Szacowanie zakresu migracji
Zawsze na początku najważniejsza jest identyfikacja celów organizacji w procesie migracji oraz potencjalne korzyści biznesowe.
Co najważniejsze, migracja do chmury to nie tyko korzyści z punktu widzenia finansowego, choć przy prawidłowym zaprojektowaniu środowiska korzyści finansowe również występują, ważniejsze od nich będę np. możliwość eksperymentowania z nowymi usługami i technologiami np. AI (ang. Artificial Intelligence - Sztuczna inteligencja), które mogą dać przewagę konkurencyjną. Innym przykładem może być środowisko, które będzie dostosowywało się do obciążenia (ilości użytkowników) i razie potrzeby samo dodawało zasoby np. w postaci serwerów aby zapewnić ciągłość działania naszego systemu, a w momencie kiedy serwery nie będą już potrzebne będą one automatycznie wyłączane, aby nie ponosić dodatkowy kosztów.
We własnej serwerowni zawsze systemy projektuje się na zapas (np. w Black Friday potrzebujemy 10 serwerów, a na codzień 2) więc występuje zjawisko z ang. overprovisioning'u co oznacza że przepłacamy przy zakupie sprzętu.
Wstępne zrozumienie istniejącego środowiska jest niezbędne do opracowania uzasadnienia biznesowego dotyczącego migracji. Dzięki danym o rzeczywistym wykorzystaniu zasobów lokalnych możesz stworzyć dokładniejszą prognozę całkowitego kosztu posiadania (TCO). Do oceny zasobów lokalnych można użyć odpowiednich narzędzi wspartych wiedzą eksperta, co oznacza że migracja do chmury wymaga zaawansowanej wiedzy z bardzo szerokiego zakresu technologii.
2. Plan migracji
Określiłeś cele biznesowe, zrobiłeś szczegółowy przegląd własnego środowiska, kolejnym krokiem jest plan migracji.
Analizując swoje środowisko, tworzysz mapę współzależności i określasz strategie migracji (6R - strategie migracji do chmury).
Plan migracji z podzielony powinien być zgodnie z priorytetami dla każdej aplikacji. Na tym etapie konfigurujesz bezpieczne i dobrze zaprojektowane środowisko docelowe w Amazon Web Services d (AWS Landing Zone).
W ramach etapu planowania udoskonalasz również swoje uzasadnienie biznesowe. Skupiasz się również na budowaniu podstawowego środowiska („strefy lądowania”), zwiększaniu gotowości operacyjnej i rozwijaniu umiejętności obsługi chmury.
Kluczowym aspektem opracowywania strategii migracji jest gromadzenie danych o aplikacjach oraz wybór strategii migracji przy użyciu sześciu popularnych strategii w tym: relokacja (rehosting - lift and shift), zmiana platformy (replatform - lift and reshape), refaktoryzacja (re-writing / decoupling application), zakup (replace - drop and shop), wycofanie (retire / decommission) lub zachowanie (retain).
W trakcie procesu planowania dobierzemy metody i narzędzia do migracji, które najlepiej odpowiadają Twoim potrzebom.
6R - strategie migracji
- wycofanie (retire / decommission)
- zachowanie (retain)
- relokacja (rehosting - lift and shift)
- zmiana platformy (replatform - lift and reshape)
- refaktoryzacja (re-writing / decoupling application)
- zakup (replace - drop and shop)
3. Migracja
Na tym etapie skupiamy się indywidualnie na każdej aplikacji oraz jej zależnościach jeżeli występują integracje z innymi systemami. Dla każdej aplikacji przygotowane zostaje środowisko docelowe, następnie następuje migracja, testy oraz wdrożenie poprawek.
Np. dla aplikacji internetowej architektura może wyglądać następująco:
Wraz z migracją aplikacji w zależności od przyjętej strategii z etapu planowania wymagane może być wiele dodatkowych prac, od małych korekt (np. jeżeli zmieniamy system bazodanowy np. z Oracle do AWS Aurora oraz w niektórych przypadkach wdrożenie dodatkowych usług które oferuje Amazon Web Services (w fazie refactoring / decoupling wykorzystujemy dodatkowe usługi jak SQS, SNS, Serverless Lambda i inne)
W przypadku migracji tysięcy aplikacji będziesz potrzebował możliwości automatycznej migracji z różnych środowisk źródłowych (fizycznych, wirtualnych i chmurowych) do AWS. Aplikacje te zazwyczaj wykorzystują powszechnie używane komercyjne jak MS SQL / Oracle lub otwarte bazy danych jak MySQl / PostgreSQL. Dodatkowo będziesz też pewnie migrował duże ilości danych do AWS.
Do przygotowanie środowiska docelowego najlepszym rozwiązaniem będą narzędzia IAAC (Infrastructure as a Code) np AWS Cloudformation lub Terraform, ułatwią one zarządzanie infrastrukturą oraz zmianami, do konfiguracji możesz użyć np Ansible. Taki komplet narzędzi ułatwi zarządzania w długie perspektywie i da łatwy wgląd w zmiany naszej infrastruktury.
Amazon Web Services dostarcza szereg narzędzi dzięki którym migracja będzie łatwiejsza, jednak migracja do dostawcy usług chmury publicznej jeżeli ma być optymalna powinna zakładać dostosowanie wykorzystywanej infrastruktury i aplikacji do postaci cloud native (z ang. natywnej dla chmury) co pozwoli na pełne wykorzystanie zalet migracji i korzystania z chmury publicznej.
Z narzędzi do migracji w przypadku Amazon Web Services warto wspomnieć o:
- AWS Migration Hub
- AWS Server Migration
- AWS Database Migration
- CloudEndure Migration
4. Monitoring i optymalizacja
W trakcie migracji uzyskujesz zupełnie nowe, nowoczesne i zaprojektowane w zgodzie z Well Architected Framework środowisko, wyłączasz stare systemy i przechodzisz do nowoczesnego modelu zarządzania IT.
Na tym etapie musisz potrafić poprawnie obsługiwać, zarządzać i optymalizować wykorzystanie infrastruktury w chmurze. W idealnej sytuacji będziesz miał w IT certyfikowanego administratora i wykorzystasz zdobyte już doświadczenie do kompleksowego zarządzania cyklem życia IT zarówno dla zasobów AWS, jak i innych.
Jeśli nie, skorzystaj z usług profesjonalnie do tego przygotowanych firm zatrudniających certyfikowanych architektów rozwiązań Amazon Web Services lub skorzystaj z pomocy partnerów AWS.