Skuteczna migracja aplikacji do chmury: co musisz wiedzieć
Case study: migracja aplikacji do chmury
Większość aplikacji da się przenieść do chmury, aby uzyskać większe bezpieczeństwo, zapewnić skalowalność i pewność działania. Przeczytaj o naszym wdrożeniu i poznaj zalety chmury Azure, o których opowiada Marek Kuzak – administrator systemów IT w CCA Europe.pl.
Z tego tekstu dowiesz się:
- na czym polega migracja do chmury,
- dlaczego warto migrować na platformę Azure,
- jak przeprowadziliśmy migrację naszej aplikacji,
- jakie są koszty chmury,
- jak przygotować się do migracji,
- na czym polega audyt przedmigracyjny.
Co to jest migracja aplikacji do chmury?
Migracja aplikacji do chmury obejmuje zaplanowanie i przenoszenie oprogramowania organizacji z jednego środowiska (np. z lokalnego, utrzymywanego na serwerze firmowym) do środowiska chmurowego. Przed rozpoczęciem migracji konieczne jest przeprowadzenie analizy wymagań aplikacji.
Przy rozważaniu migracji możemy wziąć pod uwagę trzy opcje:
Chmura prywatna
Chmura prywatna to model chmury, w którym zasoby chmurowe są dostępne tylko dla jednej organizacji. Oferuje wyższy poziom bezpieczeństwa danych niż chmura publiczna.
Chmura publiczna
Chmura publiczna to model chmury, która udziela zasobów chmurowych wielu organizacjom. Publiczne chmury obliczeniowe – jak Microsoft Azure, którą wybraliśmy do migracji, czy AWS – są to środowiska informatyczne, duże centra danych stworzone do przechowywania oraz przetwarzania danych klientów w modelu abonamentowym. Klient wykupuje zasoby informatyczne, takie jak: serwery, przestrzeń dyskowa, pasmo oraz specjalistyczne usługi, od dostawcy chmury obliczeniowej. Publiczne chmury obliczeniowe, np. Microsoft Azure czy AWS, oferują skalowalność i elastyczność wielu organizacjom.
Chmura hybrydowa
Chmura hybrydowa to model, w którym zasoby chmurowe są dostępne w chmurze prywatnej i publicznej. Chmura hybrydowa oferuje dużą elastyczność i skalowalność, co pozwala na dostosowanie do potrzeb organizacji.
Dlaczego warto migrować na platformę Azure?
Dzisiejsze firmy mają pięć głównych wymagań: zabezpieczyć swoje systemy informatyczne, uprościć zarządzanie, zwiększyć elastyczność pracy, zoptymalizować koszty i uwolnić zasoby firmy. Dostawcy usług IT odgrywają kluczową rolę w zapewnieniu bezpieczeństwa danych, wsparcia w procesie migracji oraz dostosowania rozwiązań do celów i procesów biznesowych. Proces migracji aplikacji oznacza wybór odpowiedniego dostawcy usług chmurowych, który jest kluczowy, ponieważ zapewnia on ulepszone zabezpieczenia, elastyczność oraz możliwość tworzenia kopii zapasowych. Aby sprostać tym wyzwaniom, liderzy biznesowi i menedżerowie IT zastępują stare technologie lokalne bardziej wydajnymi, skalowalnymi i opłacalnymi rozwiązaniami chmurowymi. Dają one szereg korzyści.
Optymalizacja kosztów
Niezależnie od tego, czy chodzi o koszty utrzymania czy instalację aktualizacji i poprawek na maszynach wirtualnych lub fizycznych, zarządzanie serwerem lokalnym jest bardzo kosztowne. Do tego dochodzi konieczność wymiany przestarzałych sprzętów. Chmura Azure umożliwia przeniesienie tych obowiązków na Microsoft. Firmy mają w ten sposób dostęp do opłacalnego narzędzia do zarządzania, dostępnego 24 godziny na dobę, 7 dni w tygodniu, bez konieczności zatrudniania dodatkowych pracowników do jego utrzymania.
Chmura może być więc bardzo opłacalna. Zwłaszcza że IaaS (Infrastructure as a Service), jako usługi hostowane, pozwalają na dostosowanie infrastruktury i kosztów do bieżących potrzeb.
Bezpieczeństwo w pakiecie
Bezpieczeństwo jest priorytetem dla wszystkich głównych graczy w chmurze publicznej, w tym dla wybranej przez nas Microsoft Azure. W szczególności Microsoft skupił się na tej kwestii, rozwijając swoje Centrum Bezpieczeństwa Azure. Platforma umożliwia również szybkie odzyskiwanie danych po awarii oraz regularne tworzenie kopii zapasowych w kilku lokalizacjach, co jest integralną częścią usług oferowanych przez dostawcę.
Co więcej, chmura Azure korzysta z tych samych narzędzi bezpieczeństwa co Office 365, takich jak Advanced Threat Protection. Wszystkie te elementy pozwalają kontrolować i zarządzać bezpieczeństwem środowisk aplikacji, jednocześnie ułatwiając korzystanie z DevOps dzięki najlepszym praktykom Microsoftu.
Skalowalność, elastyczność i wydajność
Chmura Azure umożliwia szybki rozwój dzięki uproszczonemu interfejsowi użytkownika. Oznacza to, że można łatwo skorzystać z modelu „chmura + dane + AI” i odblokować nowe scenariusze transformacji cyfrowej. Podobnie łatwiej jest testować nowe produkty w infrastrukturze, a następnie wprowadzać je na rynek.
Z powodu tych zalet, które wymieniliśmy, postanowiliśmy o migracji na platformę Azure. Wcześniej aplikacja była na serwerze lokalnym, a dostęp był z zewnątrz. Marek Kuzak komentuje:
– Skalowanie zasobów w zależności od potrzeb to jedno, ale też nie potrzebujesz już kupować sprzętu, licencji. Masz pewność, że dzięki modelowi płatności „pay-as-you-go” płacisz za parametry techniczne i rzeczywiste zużycie, a rozwiązanie w Azure ma SLA na poziomie 99,5%.
Model „chmura + dane + AI” umożliwia odblokowanie nowych scenariuszy transformacji cyfrowej.
Trend migracji aplikacji do chmury przyśpieszył w ostatnich latach.
– W związku z tym, że dużo osób pracuje w modelu hybrydowym, używa wielu różnych narzędzi – tłumaczy Marek Kuzak. – Możemy uruchomić aplikację np. z telefonu. Zdecydowana większość użytkowników korzysta dziś z przeglądarki internetowej i w związku z tym dostępność aplikacji musi być adekwatna. Do tego dochodzą dane wrażliwe – nie musimy się obawiać, że trafią w niepowołane ręce.
Jak przeprowadziliśmy proces migracji do chmury
W marcu 2024 roku zdecydowaliśmy o przeniesieniu do chmury naszej aplikacji, stworzonej z wykorzystaniem Spring Boota. Proces przenoszenia aplikacji obejmował analizę architektury systemu, przeprowadzanie testów oraz zapewnienie zgodności i bezpieczeństwa danych. Jej działanie i przeznaczenie opisaliśmy tutaj: Case study: data scraping, czyli robota dla bota (ccaeurope.pl).
Przygotowanie do migracji odbyło się w trzech etapach:
- analiza istniejącej sytuacji,
- projektowanie celu organizacyjnego,
- organizacja migracji.
Migracja aplikacji do chmury również składa się z trzech faz:
- pierwsze stadium: dev,
- drugie stadium: test,
- trzecie stadium: wersja produkcyjna.
Marek Kuzak opowiada o etapach migracji:
– Wdrożyliśmy Spring Boot na dedykowanej usłudze do aplikacji internetowych Azure Web App. W czasie rzeczywistym możemy zwiększać/zmniejszać zasoby sprzętowe, analizować logi oraz zabezpieczyć się przed utratą danych poprzez wykorzystanie cyklicznych backupów.
Opcje na deployment aplikacji można podzielić na dwie główne kategorie:
- z pakietu plików ZIP/JAR/WAR,
- z kodu źródłowego umieszczonego w repozytorium serwera Git, Team Foundation Server oraz usług GitHub i Azure DevOps.
Rozwiązanie Azure DevOps daje nam możliwość zastosowania zestawu praktyk i narzędzi służących do zwiększenia szybkości i efektywności procesów tworzenia oprogramowania, jakim jest CI/CD.
Ta grafika pokazuje relacje pomiędzy zadaniem a wydaniem przy użyciu rozwiązania DevOps.
Uruchamianie aplikacji z wykorzystaniem omawianych narzędzi ułatwia zarządzanie i wdrażanie nowych wersji. To podejście pozwala połączyć zalety Microsoft Azure i zarządzać projektami jako całością, integrując zarządzanie, monitorowanie i DevOps.
Ile kosztuje chmura?
Gdy testuje się to rozwiązanie, można skorzystać z darmowego konta na 30 dni, a potem wybrać płatną opcje. Należy przeczytać dokumentację techniczną i wybrać konfigurację, żeby się zmieścić w pożądanym budżecie. W przypadku IaaS (rodzaj usługi przetwarzania w chmurze) płaci się za użycie, czas, przestrzeń itp.
Każda z tych rzeczy jest wyceniona oddzielnie. Łatwo zagubić się w szczegółach konfiguracji środowiska, ale menedżerowie IT i kierownictwo powinni oszacować koszty.
Jakie koszty wziąć pod uwagę?
Dostęp do chmury jest dołączony do Microsoft 365, ale głównym kosztem jest zużycie platformy Azure.
– Każdy service działający na Azure zużywa określone zasoby – tłumaczy Marek Kuzak. – Płacimy więc za czas, przestrzeń, zasoby. Mogą również wystąpić nieoczekiwane koszty użycia sieci i danych.
Jeśli aplikacja w chmurze wymaga połączenia z zapleczem, które nadal jest lokalne, zespoły IT będą musiały skonfigurować trasę ekspresową w swojej sieci VPN i ponieść związane z tym koszty transferu danych.
Organizacje mogą próbować uniknąć niespodzianek dzięki kalkulatorowi kosztów platformy Azure. Nie jest to jednak idealna miara danych, które użytkownicy będą wykorzystywać na platformie. Ważne, aby dział IT uważnie obserwował rosnące koszty platformy Azure. Pierwsze stadium to ustalenie, ile to będzie kosztować. Przykładowo: po miesiącu uruchomienie nowej funkcji kosztuje tyle i tyle.
Wyzwania związane z migracją aplikacji do chmury
Skalowalność, elastyczność i wydajność
- Większość wyzwań napotykanych podczas migracji aplikacji można rozwiązać na wczesnym etapie planowania projektu.
- Aby rozpocząć migrację aplikacji do chmury, konieczne jest przeprowadzenie audytu przedmigracyjnego.
Problemy z danymi, domenami i technologiami
- Organizacje muszą przygotować swoje aplikacje do migracji – dane muszą być wysokiej jakości, a zależności między nimi dokładnie zmapowane.
- Proces przenoszenia danych, czyli migracja danych do chmury, wymaga starannego planowania i zapewnienia bezpieczeństwa danych.
- Do rozwiązania bywają też problemy z domenami.
Potrzebujesz migracji szytej na miarę?
Każdy projekt migracji jest wyjątkowy, a każda firma ma swój własny zestaw ograniczeń, ambicji i potrzeb. Dlatego w CCA Europe możemy zrobić dla Ciebie audyt przedmigracyjny, co umożliwi Ci przygotowanie migracji i korzystanie ze wszystkich zalet chmury Microsoft Azure. Nasza usługa audytu migracji na platformę Azure wykorzystuje najlepsze praktyki i obejmuje:
- ocenę dojrzałości chmury,
- audyt infrastruktury i istniejących aplikacji,
- badanie wykonalności i kwalifikowalności aplikacji do migracji.