Lift-and-Shift
Kamil Porembiński
Kamil Porembiński
09.12.2016

Czym jest podejście „lift-and-shift” podczas migracji do chmury?

Wiele organizacji podejmuje decyzję o migracji swoich usług oraz infrastruktury do chmury. Chcą w ten sposób zmniejszyć koszta utrzymania serwerów oraz przede wszystkim zapewnić aplikacji skalowalność oraz wysoką dostępność. Niestety sam proces przenoszenia usług do chmury może okazać się bardzo kosztowny oraz pracochłonny. Czasami okazuje się, że konieczne jest przepisanie aplikacji, aby wspierała rozwiązania dostępne w chmurze. Istnieje wiele sposobów jak sobie z tym radzić a jednym z nich jest podejście „lift-and-shift„.

Aby w pełni wykorzystać korzyści jakie daje migracja do chmury, musimy przygotwać aplikację do działania w środowisku rozproszonym oraz zmienić jej architekturę w taki sposób by była skalowalna. Jedną z takich metodologii budowania aplikacji jest The twelve-factor app – aplikacja dwunastu czynników.

Czym właściwie jest „lift-and-shift”?

Jedną z metod przeniesienia usług do chmur jest „podniesienie i przesunięcie” obecnej infrastruktury z fizycznych serwerów na serwery chmurowe. Rozwiązanie to zakłada odwzorowanie obecnych rozwiązań w usługach takich jak AWS, Digital Ocean czy Microsoft Azure. Z racji tego, że nasza aplikacja nie może w pełni wykorzystać rozwiązań jakie niesie ze sobą chmura (np. grupy Auto Scaling, CDN), może się okazać, że nie jest to najtańsze z rozwiązań. Niekiedy serwer wirtualny, o takiej samej mocy co nasza fizyczna maszyna jest zdecydowanie droższy. Mimo wszystko rozwiązanie to pozwala na najszybszą migrację rozwiązań do chmury. Pozwala również zapomnieć o takich problemach jak zarządzanie własną serwerownią, czy uszkodzeniami np. dysków w serwerze.

Kolejnym krokiem po migracji do chmury, powinno być przepisanie aplikacji, aby w pełni wykorzystała możliwości nowego środowiska. Podejście typu „lift-and-shift” jest również dobry rozwiązaniem dla Disaster Recovery. Nasza infrastruktura może być przygotowana w usługach chmurowych i wykorzystywana tylko wtedy, kiedy przełączamy się z głównego Data Center.

Aplikacja aplikacji nie równa

Przed podjęciem decyzji, czy przenosimy aplikację do chmury przy pomocy „lift-and-shift” czy najpierw zmieniamy jej architekturę, musimy się zastanowić nad pewnymi kryteriami. Nie każda bowiem aplikacja nadaje się do prostego przesunięcia do rozwiązań typu cloud. Na przykład jeżeli wykorzystujemy potężne serwery, na których chodzi oprogramowanie do liczenia analiz lub wykorzystuje procesory graficzne, powinniśmy najpierw pomyśleć o przepisaniu aplikacji w taki sposób, aby mogła działać na wielu rozproszonych serwerach. Migracja do clouda 1:1 może okazać się niemożliwa, bardzo kosztowna lub nie uda nam się uzyskać oczekiwanej wydajności.

Małe firmy mogą napotkać problem z niewystarczającą ilością zasobów, aby migrować do chmury. Mogą one utknąć na etapie przesuwania usług na serwery typu cloud, a nie znajdą czasu na późniejsze przepisanie aplikacji.