Migracja big data do chmury -
3 sposoby jak zrobić to sprawnie
i osiągnąć założone cele
Organizacje przetwarzające duże ilości danych stają w obliczu licznych wyzwań takich jak nadmierne koszty utrzymania infrastruktury IT i problemy administracyjne, jednocześnie zmagając się z trudnościami zapewnienia odpowiednich zasobów, radzenia sobie z nierównomiernym obciążeniem systemów na dużą skalę i pogonią za innowacjami. Te wyzwania dotyczą szczególnie centrów danych utrzymywanych lokalnie.
By odnieść sukces, warto rozważyć migrację danych i całego środowiska do chmury obliczeniowej. Dostawcy chmury oferują szeroki wybór elastycznych zasobów obliczeniowych na żądanie, odpornych i niedrogich trwałych systemów przechowywania danych oraz usług zarządzanych, zapewniających aktualne, popularne środowiska do tworzenia i obsługi aplikacji big data.
Doskonałym rozwiązaniem są takie usługi chmury jak Amazon EMR, Amazon S3 czy AWS Glue, które pozwalają na rozdzielenie (decoupling) i skalowanie obliczeń i pamięci, jednocześnie zapewniając wysoce odporne, zintegrowane i zarządzane środowisko, eliminując tym samym problemy występujące w środowisku IT typu on-premise. Migracja bazy danych do takiego środowiska może znacząco uprościć zarządzanie danymi.
Usługi chmury przydatne w procesie migracji
Podczas planowania etapów migracji danych, warto zwrócić uwagę na kluczowe usługi big data dostępne w chmurze:
Amazon EMR jest usługą , która pozwala na efektywne kosztowo i szybkie procesowanie dużych ilości danych. Korzysta ona z frameworków Hadoop i Spark w oparciu o Amazon EC2 i Amazon S3. Pozwala na sprawne przetwarzanie dużych ilości danych, w takich procesach jak indeksowanie, data mining, machine learning czy analiza finansowa. Więcej znajdziecie w naszym poprzednim wpisie.
Amazon S3 to usługa przechowywania obiektów, która oferuje wiodącą w branży skalowalność, dostępność danych, bezpieczeństwo i wydajność. Oznacza to, że klienci różnej wielkości i branży mogą z nich korzystać do przechowywania i ochrony dowolnej ilości danych w różnych przypadkach, takich jak: strony internetowe, aplikacje mobilne, tworzenie kopii zapasowych i przywracanie, archiwizacja, aplikacje korporacyjne, urządzenia IoT i analiza dużych zbiorów danych.
AWS Glue to w pełni zarządzana usługa ekstrakcji , transformacji i ładowania (ETL), która ułatwia klientom przygotowywanie i ładowanie danych do analizy. Umożliwia także konfigurowanie, koordynowanie i monitorowanie złożonych przepływów danych.
Oprócz usług AWS warto posiłkować się dodatkowymi narzędziami open source, które łącznie pozwalają na osiąganie lepszych efektów podczas adaptacji do chmury.
Oprogramowanie open source wspierające migrację do chmury
Apache Hadoop to najprościej mówiąc oprogramowanie do rozproszonego składowania i przetwarzania danych wielkich zbiorów danych przy pomocy klastrów komputerowych. Natomiast Apache Spark to oprogramowanie będące platformą programistyczną dla obliczeń rozproszonych. Te technologie chmurowe oferują różne podejścia – Hadoop został zaprojektowany do wydajnej obsługi przetwarzania wsadowego, podczas gdy Spark jest zaprojektowany do wydajnej obsługi danych w czasie rzeczywistym.
Hadoop jest strukturą obliczeniową o wysokim opóźnieniu, która nie ma trybu interaktywnego, podczas gdy Spark daje obliczenia o niskim opóźnieniu i może przetwarzać dane interaktywnie. Apache Spark jest również składnikiem Hadoop Ecosystem. Główną ideą Sparka było wykonanie przetwarzania w chmurze w pamięci, co sprawia, że jest idealny do analizy big data.
Chcąc podjąć właściwą decyzję związaną z migracją do chmury, najpierw warto zastanowić się nad potrzebami środowiska. Warto rozważyć kwestie związane z zaletami wykorzystania chmury, które mogą również pomóc w optymalizacji kosztów chmury, podniesieniu poziomu bezpieczeństwa danych czy zwiększeniu efektywności operacyjnej architektury. Rozważenie migracji danych nie należy do najłatwiejszych decyzji, ale pomoże w procesie migracji.
3 podejścia do procesu migracji do chmury
Podejmując decyzję o migracji do chmury, warto rozważyć trzy główne strategie migracji systemu:
- Re-architecting – polega na całkowitym przeprojektowaniu dotychczasowej infrastruktury w taki sposób, aby w pełni wykorzystać możliwości chmury obliczeniowej. To podejście polega na analizie dotychczasowej architektury i sposobu projektowania, które pozwoli na zapewnienie takich korzyści jak niższe koszty infrastruktury IT, zwiększenie elastyczności operacyjnej, by zapewnić korzyści biznesowe. Jest to najbardziej kompleksowy spośród rodzajów migracji danych.
- Lift and shift – jest idealnym rozwiązaniem, kiedy potrzebujemy wydajniejszej infrastruktury IT. Poprzez przeniesienie obciążeń (workloads) istniejącego środowiska możemy uniknąć większości zmian jakie mogą wystąpić przy re-architectingu. Mniejsza ilość zmian zmniejsza również ryzyko, związane z nieoczekiwanymi pracami, a co za tym idzie Twoje rozwiązanie może szybciej wrócić lub wejść na rynek. Ten model migracji systemu jest często wybierany przez organizacje rozpoczynające swoją przygodę z chmurą obliczeniową.
- Hybryda – jest połączeniem dwóch wcześniejszych podejść. W tym trybie część odpowiedzialna za szybką migrację związana jest z lift and shift. Re-architecting z kolei wspiera możliwości zaprojektowania potrzebnych rozwiązań chmurowych na nowo. To podejście pozwala na dużą dozę elastyczności, która umożliwia eksperymentowanie z chmurą hybrydową i zdobycie niezbędnego doświadczenia, zanim na stałe postanowimy przenieść się do chmury.
Prototypowanie w duchu best practices
Znając już możliwości migracji do chmury, przejdźmy do prototypowania. Podczas poznawania nowych rozwiązań chmurowych zawsze pojawia się etap nauki. A jak wiadomo, praktyka jest najlepszą jej formą. Prototypowanie powinno być kluczowe podczas wdrażania nowych usług i produktów. Tu scenariusz jest taki sam jak poprzednio – tańszą opcją jest sprawdzenie aplikacji na etapie prototypowania. Podobna historia ma się z typami instancji.
Najgorszym założeniem jest oczekiwanie, że aplikacja działająca w środowisku on-premise będzie działała tak samo w środowisku chmury publicznej. Istnieje wiele czynników, które mają na to wpływ. Warto w środowisku testowym uruchomić aplikacje z obciążeniami, które mogą wystąpić w świecie rzeczywistym, co pozwoli na zoptymalizowanie kosztów migracji.
Zatem jakie są Best Practices związane z prototypowaniem przed pełną migracją hurtowni danych lub innych systemów?
- Stwórz listę wszystkich potencjalnych założeń i niewiadomych pamiętając jednocześnie o tym, co może mieć największy wpływ na środowisko.
- Na początku wybierz i zrealizuj najbardziej ryzykowne aspekty migracji, co pomoże zidentyfikować wyzwania migracji do chmury.
- Określ z góry założone cele migracji i nie bój się pytać. Odpowiedzi pomogą w weryfikacji projektu lub odpowiedzą na pytanie, jak działa dane rozwiązanie.
- Zawsze prototypuj w podobnych warunkach, w których chcesz działać. Możesz zacząć od mniejszego środowiska lub zestawu cech, a następnie skorzystać ze skali, co pomoże zapewnić zwiększenie skalowalności w przyszłości.
- Iteracja i Continuous Integration stanowią podstawę w tworzeniu testów wdrożeniowych. Korzystając ze zautomatyzowanego środowiska oraz skryptów, możesz uruchomić test w kilku środowiskach, co wpłynie na zwiększenie dostępności usług.
- Poproś eksperta o weryfikację by móc sprawdzić konfigurację testu oraz środowisko. Umożliwi to eliminację błędów i sprawdzenie, czy wyniki nie są zafałszowane. Odpowiedni dostawca chmury często udostępnia usługi wsparcia w tym zakresie.
- Odpowiednie uruchomienie testów pozwoli usunąć zmienne, które mogą wynikać z zależności różnych systemów.
- Udokumentuj wyniki testów i poproś o weryfikację, aby zapewnić ich rzetelność, co jest kluczowe dla optymalizacji efektów migracji.
- Nie bierz wszystkich założeń za pewnik! W obszarze migracji danych i big data zbyt wiele czynników ma wpływ na wydajność, funkcjonalność czy koszty chmury.
Prototypowanie ma na celu weryfikację założeń projektu z dość dużą dozą pewności. Zasadniczo więcej wysiłku włożonego w prototyp z uwzględnieniem wielu czynników da większą pewność, że projekt będzie działał w środowisku produkcyjnym.
A przede wszystkim nie bój się szukać pomocy – u autoryzowanych partnerów AWS, w supporcie AWS i dokumentacji. Sukces migracji często zależy od wsparcia ekspertów.
Jak dobrać team przy procesie adopcji chmury?
Pozostając w duchu najlepszych praktyk, warto zwrócić również uwagę na właściwy dobór zespołu przy realizacji strategii adaptacji chmury. Każdy z jego członków powinien rozumieć swoją rolę oraz zadania, jakie jej towarzyszą. Powinien mieć otwarty umysł i analityczny sposób myślenia. Infrastruktura IT w chmurze wymaga zmiany paradygmatu sposobu traktowania zasobów.
Członek zespołu powinien być skoncentrowany na wspólnym celu i kierunku projektu. Powinien być w stanie zagłębić się w leżące u podstaw problemy, architekturę i frameworki. Dobrze dobrany zespół może znacząco ułatwić migrację bazy danych i innych systemów, zapewniając płynne przejście do chmury.
Dodatkowo, warto rozważyć, jak zespół będzie działał w nowym środowisku – współpraca zdalna i współpraca globalna mogą być znacznie łatwiejsze dzięki rozwiązaniom chmurowym.
Podsumowanie
Proces migracji do chmury to ambitne przedsięwzięcie. Wybierając odpowiednią metodę przeniesienia środowiska, stosując najlepsze praktyki i dobierając właściwy zespół, można skutecznie osiągnąć założone cele. Korzyści obejmują zwiększenie dostępności usług, zwiększenie skalowalności, zwiększenie bezpieczeństwa danych oraz optymalizację kosztów.
Chmura hybrydowa lub chmura publiczna rozwijają się w sposób spójny z potrzebami klientów. Mając na uwadze liczne korzyści – od niższych kosztów po gwarancję bezpieczeństwa – warto rozważyć pomoc ekspertów, którzy pomogą w pełni wykorzystać potencjał chmury w realizacji projektów big data i transformacji cyfrowej.