Przenoszenie aplikacji do Chmury – cz. 1: „Lift-and-shift”
Historię informatyki określają pojawiające się co chwila nowe trendy, z których jedne zajmują miejsce niszowe - rozwiązując dość ograniczoną grupę problemów, a inne trwale i gruntownie zmieniają świat, w którym wielu z nas przyszło zawodowo funkcjonować.
Z pewnością wszechobecna koncepcja chmury należy do tej drugiej kategorii i w niedalekiej przyszłości będzie głównym środowiskiem tworzenia i uruchamiania aplikacji. Bo to one właśnie są głównym tematem informatyki biznesowej. Infrastruktura, sieć, platformy, etc. są tylko środkiem do udostępnienia użytkownikowi biznesowemu funkcjonalności w postaci szeroko rozumianych aplikacji. Istotnym pytaniem jest zatem:
W jaki sposób wykorzystać zalety chmury i uruchomić w niej nasze aplikacje?
Najefektywniejszym podejściem wydaje się wykorzystanie aplikacji w modelu SaaS, które zostały przez dostawcę przeniesione do chmury i zoptymalizowane lub powstały jako natywnie chmurowe rozwiązania. Przykładem mogą tutaj być aplikacje Oracle z takich obszarów jak Human Capital Management, Customer Experience, Enterprise Resource Planning i wiele innych…
Niestety nie żyjemy w świecie idealnym, nasze aplikacje są często konglomeratem modułów napisanych w różnym czasie, w różnych technologiach i nie zawsze z architekturą w centrum uwagi. Pierwsza decyzja, którą musimy podjąć, to: czy przenosimy aplikację bez zmian, czy inwestujemy w jej dostosowanie do środowiska chmurowego.
Skupmy się na pierwszej opcji, którą w terminologii chmurowej nazywamy „lift-and-shift”, czyli spróbujmy uruchomić aplikację w modelu 1:1 (prawie) w chmurze.
Aplikacja przeniesiona w ten sposób do chmury pozwoli wykorzystać wszelkie zalety związane z optymalizacją wydatków na infrastrukturę. Podejście lift-and-shift może być także użyteczne w przypadku budowy ośrodków zapasowych dla aplikacji, w których modernizację nie chcemy lub nie możemy inwestować.
Od strony technologicznej przy podejściu lift-and-shift wykorzystujemy najczęściej usługi warstwy IaaS – takie, jak Oracle Compute Cloud, Oracle Storage Cloud, z powiązanymi usługami sieciowymi. Za cenę większej pracochłonności (w porównaniu z wykorzystaniem usług PaaS) otrzymujemy możliwość dalszego administrowania praktycznie wszystkimi warstwami oraz ogromną elastyczność w konfiguracji środowiska chmurowego, pozwalającą zazwyczaj odtworzyć dość dobrze zależności przenoszonego środowiska. W przypadku szczególnych wymagań, związanych z wydajnością i elastycznością pomocna jest dostępna w chmurze Oracle usługa Bare Metal, dająca dostęp do warstwy poniżej hypervisora i zapewniająca maksymalną wydajność.
Częstym problemem przy podejściu lift-and-shift jest poziom skomplikowania przenoszonej aplikacji, a w szczególności liczba powiązań z innymi elementami (aplikacje pomocnicze, usługi warstwy sieciowej, etc.). Szczególnie przy próbie stworzenia chmurowych środowisk nieprodukcyjnych (rozwojowych, testowych) nakład zasobów i pracy na odtworzenie takich zależności może być dosyć spory.
W takiej sytuacji ciekawym podejściem jest wykorzystanie rozwiązania Oracle Ravello, które pozwala na przenoszenie 1:1 złożonych, zwirtualizowanych środowisk do chmury publicznej.
Ravello dokonuje analizy zależności pomiędzy maszynami wirtualnymi, konfiguruje adresację, routing i inne usługi sieciowe i tworzy rodzaj kapsuły, która może być wielokrotnie uruchomiona w chmurze publicznej tworząc wierne kopie oryginalnego środowiska.
W zależności od wykorzystywanych przez aplikację komponentów możliwe jest także podejście mieszane, w którym część komponentów uruchamiana jest w chmurze z wykorzystaniem usług IaaS, a część z wykorzystaniem usług PaaS – przykładowo: elementy wykorzystujące serwery aplikacyjne uruchamiamy na usłudze Java Cloud Service oraz bazę danych jako Database Cloud Service. Każde wykorzystanie usług warstwy PaaS powinno zmniejszyć nakład pracy niezbędny do administracji przeniesionego środowiska.
Autorem artykułu jest Artur Kuliński, Cloud Technology Customer Advisor w Oracle Polska.
Nadesłał:
Oracle
|