Spis treści
- Ocena gotowości organizacji na przejście do chmury
- 4-stopniowy plan migracji do chmury według Google Cloud
- Etap 1: ocena
- Przeprowadzenie inwentaryzacji aplikacji i technologii
- Organizacja aplikacji i zasobów w kategorie
- Edukacja organizacji o chmurze
- Prowadzenie eksperymentów i tworzenie proof of concept
- Obliczenie wysokości total cost of ownership (TCO) obu rozwiązań
- Wskazanie zasobów do pierwszej migracji i prowadzenia testów
- Etap 2: planowanie
- Etap 3: wdrożenie
- Etap 4: optymalizacja
- Etap 1: ocena
- Planujesz migrację do chmury? Otrzymaj profesjonalne wsparcie
Coraz więcej firm zauważa korzyści płynące z przejścia do chmury publicznej. Chmura pozwala zwiększyć elastyczność działań, zoptymalizować koszty czy zwiększyć tempo rozwoju; ma wpływ nie tylko na zespół IT, ale na całą organizację.
Jednak proces migracji jest czymś, co wciąż powstrzymuje wielu przedsiębiorców przed podjęciem e-rękawicy cyfrowej transformacji. Jest to często związane z obawą przed przekroczeniem terminu i budżetu realizacji. Temu jednak można zapobiec dzięki przeprowadzeniu dogłębnej analizy, przyjrzeniu się koniecznym do przejścia etapom, przygotowaniu planu migracji i późniejszej jego realizacji.
Skąd wynikają trudności w procesie migracji?
Podczas realizacji projektów zdarzają się potknięcia, kręte drogi lub ślepe uliczki (którym można było zapobiec). To domena projektów, które nie zostały odpowiednio zaplanowane. Przyczyną najczęstszych (a nierzadko kosztownych) błędów są:
- mglisty cel – niekiedy organizacje nie wiedzą, dlaczego zdecydowały się na podejście do migracji, ani jakich efektów spodziewają po przejściu do chmury,
- brak wsparcia od przełożonych – migracja do chmury jest dużym przedsięwzięciem, które wymaga zaangażowania wielu specjalistów; często brak świadomości wśród managerów czy zarządu przekłada się na prowadzenie migracji po macoszemu – z doskoku, w przerwie między jednym a drugim projektem,
- brak planu migracji lub niewłaściwie przygotowany plan – zdarza się, że prace są uruchamiane bez uprzedniego przeprowadzenia analizy obecnej infrastruktury i aplikacji, wyznaczenia priorytetów czy nakreślenia zagrożeń,
- zły dobór technologii – kosztownym błędem (zwłaszcza w dłuższej perspektywie) może być brak rewizji obecnych obciążeń i zapotrzebowania oraz dobór nieodpowiednich usług lub ich niewłaściwa konfiguracja,
- niejasny model operacyjny – do przeprowadzenia efektywnej migracji konieczny jest odpowiedni dobór kompetencji do zespołu oraz opracowanie lub dostosowanie procesów – przed, w trakcie oraz powdrożeniowych.
Ocena gotowości organizacji na przejście do chmury
Zanim przejdziesz do przygotowania planu migracji, powinieneś sprawdzić poziom gotowości swojej organizacji na przejście do chmury. Migracja obejmuje wiele aspektów, również poza działem IT, i istotne jest zweryfikowanie stosunku organizacji w następujących obszarach:
- wiedza – nastawienie do zdobywania nowych kompetencji, stopień samodzielności zespołów,
- wsparcie – przywództwo i wsparcie ze strony zarządu i kadry managerskiej, chęć wprowadzania innowacji,
- skalowalność – poziom wykorzystywanych technologii i możliwości ich skalowania,
- bezpieczeństwo – bezpieczeństwo danych i sposób zarządzania dostępem do zasobów firmy.
Żeby przeprowadzić efektywną migrację do chmury, która przyniesie duże korzyści w dalszej perspektywie, konieczne jest posiadanie wysokiego poziomu świadomości w wymienionych czterech obszarach.
4-stopniowy plan migracji do chmury według Google Cloud
Przejście do chmury to proces, który składa się z następujących po sobie etapów. Specjaliści z Google Cloud stworzyli uniwersalny plan migracji, który można zastosować w każdej organizacji – niezależnie od celu migracji, wybranej strategii czy rozmiaru migrowanych zasobów.
Etap 1: ocena
Pierwszy etap to przeprowadzenie analizy obecnej sytuacji, zagłębienie się w aplikację i środowisko infrastrukturalne, namierzenie zależności, poziomu zużycia czy wymagań systemu. To też etap określenia wysokości total cost of ownership (TCO), czyli całościowego kosztu utrzymania infrastruktury.
Działania, które składają na pierwszy etap planu migracji:
Przeprowadzenie inwentaryzacji aplikacji i technologii
Kluczem do efektywnej migracji jest dobre poznanie obecnej aplikacji, jej elementów i powiązań między nimi oraz środowiska wykonawczego. Konieczny jest “przegląd” aplikacji i zasobów – wykorzystywanych technologii, baz danych, hurtowni danych czy sieci oraz zależności między nimi. Efektem prac na tym etapie powinna być również lista wszystkich używanych maszyn wraz ze specyfikacją, systemami operacyjnymi, licencjami oraz sposobami wykorzystywania ich przez aplikację.
Organizacja aplikacji i zasobów w kategorie
Po przejrzeniu elementów aplikacji i zasobów firmy, należy uporządkować je według kategorii. Możesz utworzyć własne kategorie; warto jednak wziąć pod uwagę dwa czynniki:
- krytyczność elementu (czy niepowodzenie migracji lub popełnienie błędu będzie miało negatywny wpływ na funkcjonowanie organizacji?),
- poziom zależności (czy dany element jest połączony z bazą danych lub oddziałuje na inne funkcjonalności?).
Macierz pomaga wskazać elementy, których migrację można przeprowadzić w pierwszej kolejności.
Edukacja organizacji o chmurze
Twój zespół powinien wiedzieć jak najwięcej o chmurze. Przejście z on-premise czy VPS łączy się ze zmianą zakresu obowiązków administratorów (a niekiedy też developerów). Specjaliści powinni zdobywać wiedzę u źródła – z materiałów Google Cloud – by efektywnie obsługiwać rozwiązanie, upraszczać lub automatyzować procesy oraz używać języków programowania, frameworków, bibliotek i API usprawniających wdrożenia.
Jeśli wdrożenie chmury przyniesie też zmianę w działach innych niż IT, warto zadbać o odpowiedni poziom świadomości w pozostałych obszarach organizacji.
Prowadzenie eksperymentów i tworzenie proof of concept
Istotnym etapem jest wybór i wdrożenie proof of concept. POC to testowa wersja systemu IT, sprawdzona pod kątem potrzeb biznesowych oraz wymagań, jakie ma spełniać finalna wersja programu.
Na tym etapie Twój zespół powinien eksperymentować z usługami Google Cloud Platform, by wskazać te najlepiej spełniające wymagania aplikacji i odpowiadające na konkretne sytuacje użycia.
Obszary, które możecie “zbadać” przy wykorzystaniu GCP:
- obsługa bardzo wysokiego obciążenia na maszynach wirtualnych,
- implementacja zapory sieciowej dla złożonego obciążenia,
- porównanie wydajności baz danych na on-premise z wydajnością usług Cloud SQL, Cloud Spanner, Firestore czy Cloud Bigtable,
- sprawdzanie dostępności klastrów GKE w różnych regionach,
- ocena szybkości i stabilności procesu wdrożenia z wykorzystaniem różnych usług GCP.
Obliczenie wysokości total cost of ownership (TCO) obu rozwiązań
Na total cost of ownership składa się nie tylko cena zakupionych maszyn czy koszt usług chmurowych. Przy liczeniu TCO rozwiązania on-premise powinieneś wziąć pod uwagę koszt zasilania maszyn, sieci, koszt obsługi czy prace serwisowe.
W obliczeniu TCO usług Google Cloud Platform pomoże Ci kalkulator przygotowany przez Google Cloud. Pamiętaj, że usługi GCP są bezserwerowe, co oznacza, że z total cost of ownership odejdzie koszt prac utrzymaniowych (z reguły jest to 20-30% kosztów wewnętrznych).
Zobacz też:
- Optymalizacja kosztów chmury Google – 10 obszarów, na które powinieneś zwrócić uwagę
- Committed use discounts – czym są i jak działają zniżki za stałe zużycie w GCP?
Wskazanie zasobów do pierwszej migracji i prowadzenia testów
Ostatnim krokiem na etapie oceny jest wybór zasobów, które mają być jako pierwsze migrowane do chmury. Te pierwsze kroki mają służyć do zapoznania się z samym procesem migracji i testowaniu aplikacji w chmurze – dlatego dobrze jest wybrać proste, nierozbudowane elementy aplikacji. Na następnych etapach będziecie migrować coraz bardziej kompleksowe obszary, o wyższej wadze biznesowej.
Jakie obszary wpisać na początek listy?
- niekrytyczne dla biznesu, by reszta organizacji nie odczuła skutków prowadzonych migracji testowych,
- niebędące edge case’ami – obszary o popularnej budowie, by móc wykorzystać podobny wzorzec migracji do innych, zbliżonych elementów,
- takie, o które można poszerzyć bazę wiedzy i spisać dobre praktyki migracji,
- obszary nieposiadające wielu zależności w innych częściach systemu, by nie musieć wprowadzać od razu licznych zmian w aplikacji,
- elementy niewymagające refaktoryzacji lub wymagające niewielkich zmian,
- niewymagające migrowania dużych ilości danych.
Etap 2: planowanie
Drugi etap planu migracji jest poświęcony budowie i konfiguracji środowiska, ustaleniu tożsamości oraz przyznaniu ról i dostępów. To faza, w której budujecie fundamenty własnej infrastruktury chmurowej. Pilnuj, by nie podejmować decyzji i działań, które zamkną wam niektóre ścieżki rozwoju i ewolucji rozwiązania – upewniaj się, że masz możliwość późniejszego wprowadzania zmian.
Potwierdzenie tożsamości użytkowników
IAM (pełna nazwa usługi: Cloud Identity and Access Management) to centrum zarządzania rolami i uprawnieniami do zasobów GCP – pozwala z jednego panelu sprawować kontrolę nad dostępami do wszystkich wykorzystywanych usług. W IAM można przyznawać role pojedynczym użytkownikom, usługom lub grupom użytkowników.
Rodzaje użytkowników, jakie możesz dodać w panelu IAM:
- konto Google – konto użytkownika usług Google Cloud – użytkownika prywatnego (np. posiadacza maila w domenie @gmail.com) lub użytkownika pakietu Workspace,
- grupa kont Google – grupa użytkowników prywatnych korzystających z usług Google Cloud,
- grupa kont w domenie Workspace – grupa użytkowników znajdujących się w domenie Workspace, np. użytkowników maili w domenie @fotc.com,
- grupa kont w domenie Cloud Identity – grupa użytkowników o tożsamości potwierdzonej za pomocą usługi Cloud Identity,
- konto usługi – poziom dostępu dla usług i aplikacji spoza Google Cloud Platform.
Organizacja zasobów
Po uwierzytelnieniu tożsamości użytkowników za pomocą usług Google Cloud, możesz przejść do tworzenia struktury zasobów z wykorzystaniem podziałów na organizacje, projekty, foldery i zasobniki (buckets), do których następnie przyznasz dostęp i przypiszesz role poszczególnym użytkownikom lub grupom.
Niżej znajduje się przykładowy schemat rozłożenia zasobów w Google Cloud Platform z wykorzystaniem folderów i projektów:
Przyznanie ról i dostępów w IAM
Następnym krokiem jest przyznanie dostępu i zakresu możliwości wprowadzenia zmian w usługach i zasobach Google Cloud Platform. Do przeprowadzenia migracji konieczne będzie przyznanie następujących ról:
- administrator organizacji (organization admin) – zarządza dostępami w panelu IAM i ustala hierarchię ról,
- administrator sieci (network admin) – tworzy i konfiguruje sieci oraz urządzenia sieciowe, m.in. Cloud Router, Cloud VPN czy Cloud Load Balancing; dodatkowo zarządza zaporami sieciowymi we współpracy z administratorem bezpieczeństwa,
- administrator zabezpieczeń (security admin) – ustala zasady bezpieczeństwa i ograniczenia dla organizacji i jej zasobów, konfiguruje nowe role dla projektów w IAM oraz śledzi rejestr zdarzeń (logi),
- administrator płatności (billing admin) – konfiguruje konta rozliczeniowe, monitoruje wykorzystanie zasobów i wydatki w Google Cloud Platform.
Więcej o przyznawaniu ról w panelu IAM przeczytasz tu: konfiguracja konta Google Cloud Platform – zarządzanie rolami.
Projekt sieci i połączeń
Ostatnim krokiem etapu trzeciego planu migracji jest konfiguracja sieci i stworzenie połączenia między istniejącym środowiskiem a Google Cloud. Po utworzeniu projektów i przypisaniu ról należy utworzyć co najmniej jedno połączenie Virtual Private Cloud (VPC – jest to prywatna sieć obejmująca różne regiony; VPC nie korzysta z publicznego internetu).
VPC pozwoli Ci posegregować i połączyć poszczególne elementy aplikacji do zmigrowania. Konieczne jest też ustawienie zapory sieciowej, jej reguł oraz konfiguracja monitoringu zdarzeń za pomocą usługi Cloud Logging.
Etap 3: wdrożenie
Po etapie analizy i oceny, ze zbudowanymi fundamentami w chmurze, można rozpocząć proces migracji. Zacznijcie od elementów, które wyznaczyliście na sam początek – najmniej złożonych, o niewielkiej ilości danych, nieposiadających wielu zależności i niebędących krytycznymi dla funkcjonowania organizacji.
Dobrą praktyką jest poszukiwanie możliwości ulepszeń procesu w trakcie migracji oraz dzielenie się wiedzą w zespole. Każde kolejne wdrożenie będzie coraz trudniejsze, ale specjaliści będą posiadali coraz większe kompetencje. Ważną rolę odgrywają testy – Google Cloud podkreśla zwłaszcza wagę testów regresji.
W miarę postępu procesu migracji może być konieczna rewizja i analiza podstaw środowiska. Dobrze jest raz na jakiś czas wykonać krok w tył, by mieć pewność, że nie zboczyliśmy z obranej ścieżki.
Niżej znajduje się schemat sprintu zaproponowany przez specjalistów Google Cloud:
Google Cloud wspiera różne techniki prowadzenia migracji zasobów i wdrożeń, m.in.:
- w pełni ręczne wdrożenia,
- wdrożenia z wykorzystaniem narzędzi do konfiguracji (np. Ansible, Chef, Puppet),
- orkiestracja kontenerów (Google Kubernetes Engine),
- automatyzacja wdrożeń (Cloud Build),
- wdrożenia Infrastructure as a Code (np. Deployment Manager, Terraform).
Etap 4: optymalizacja
Przejście do chmury nie kończy się w momencie przeniesienia wszystkich możliwych zasobów. Równie ważnym etapem – ostatnim i właściwie nigdy się nie kończącym – jest proces optymalizacji, wyszukiwania i wprowadzania ulepszeń.
Jakie obszary można poddawać optymalizacji po przejściu do chmury?
Budowa, umacnianie i rozwój zespołu specjalistów
Administratorzy oraz developerzy, przygotowując się i prowadząc migrację zdobyli cenną wiedzę, która jest nieoceniona w późniejszym wykorzystaniu potencjału platformy Google Cloud. Warto dbać o poziom ich zaangażowania i kreatywności, zgłębiać kompetencje poprzez udostępnianie materiałów od Google Cloud, wspieranie w podchodzeniu do certyfikacji, utworzenie budżetu na prowadzenie dalszych eksperymentów czy finansowanie uczestnictwa w hackathonach i innych wydarzeniach. Im większy i im bardziej świadomy zespół specjalistów, tym większe szanse dla całej organizacji.
Monitoring 24/7
Prowadzenie ciągłego monitoringu usług i procesów daje pewność, że wszystko działa jak należy. Świadomość tego co się dzieje daje też pole do wprowadzania ulepszeń, poprawy procesów, wprowadzania nowych praktyk i sprawdzania wpływu zmian na środowisko i aplikację. Monitoring można prowadzić za pomocą usługi Operations (poprzednio nazywanej Stackdriver).
Automatyzacja procesów i działań
Ręczne operacje, oprócz tego, że zajmują więcej czasu, niosą ze sobą pewną dozę ryzyka. Szukaj możliwości automatyzacji kluczowych procesów, takich jak wdrożenia czy aktualizacje konfiguracji, na przykład za pomocą usług Cloud Composer lub Spinnaker dla Google Kubernetes Engine. To pozwoli zaoszczędzić czas Twojego zespołu, koszt obsługi rozwiązania oraz zmniejszy ryzyko popełnienia błędu.
Upraszczanie poprzez kod
Staraj się zawierać w kodzie tak dużo informacji, jak to możliwe. Wdrażaj procesy takie jak Infrastructure as a Code (zarządzanie infrastrukturą, konfiguracjami czy procesami z poziomu kodu źródłowego) czy Policy as Code (zarządzanie zasadami z poziomu kodu – np. zasadami zgodności lub zasadami bezpieczeństwa). Wykorzystanie kodu pozwoli zachować większą kontrolę nad środowiskiem, łatwiejsze zarządzanie i prowadzenie audytów. Da też możliwość tworzenia kodu metodą test-driven development i szybkiego uzyskania informacji o zmianie, jaką wprowadzi planowana modyfikacja.
Korzystanie z usług zarządzanych automatycznie zamiast z usług zarządzanych manualnie
Google Cloud Platform oferuje wiele usług, które mogą być zarządzane automatycznie, odciążając tym samym zespół oraz zwiększając elastyczność i skalowalność upscaling (skalowanie w górę) i downscaling (skalowanie w dół).
Przykłady usług, które mogą być zarządzane automatycznie:
- Cloud SQL zamiast ręcznej obsługi klastra MySQL,
- AutoML dla rozpoznawania i klasyfikacji grafik zamiast tworzenia i trenowania własnych modeli machine learning,
- prowadzenie wdrożeń w Google Kubernetes Engine zamiast obsługi własnego klastra Kubernetes.
Optymalizacje wydajności i skalowalności
Jedną z zalet migracji do chmury jest dostęp do nieograniczonej przestrzeni dyskowej i mocy obliczeniowej. Te możesz dopasować ręcznie lub automatycznie do wymagań aplikacji. Skalować możesz horyzontalnie poprzez dodanie lub usunięcie maszyn wirtualnych, node’ów klastra czy instancji baz danych oraz wertykalnie, zmieniając konfigurację usługi lub dodając kolejną instancję w usłudze Compute Engine.
Poszukiwanie możliwości obniżenia kosztów
Google Cloud Platform daje duże możliwości monitorowania zużycia i idących za nim kosztów. Z użyciem transparentnych wykresów, tabel i raportów możesz śledzić w konsoli wysokość opłat za konkretną usługę, na danym projekcie, w określonym okresie czasu. Warto zwrócić uwagę na portfolio bezpłatnych usług Cost Management, które pomagają monitorować i przewidywać koszty. Więcej o konfiguracji i monitoringu płatności w GCP przeczytasz tu: Jak utworzyć i skonfigurować konto w Google Cloud Platform? / Konfiguracja płatności.
Google Cloud Platform oferuje również bezpłatne limity i zniżki: committed use discounts – zniżki za zobowiązanie do wykorzystania minimalnego poziomu zasobów czy Free Tier – odnawiany co miesiąc pakiet darmowych usług.
Niektóre z usług uwzględnionych w Free Tier:
Zobacz też:
- Migracja do chmury – 10 kroków, które musisz wykonać
- Partner Google Cloud – jak wspiera w procesie migracji do chmury?
- Chmura obliczeniowa – wprowadzenie i podstawowe pojęcia
Planujesz migrację do chmury? Otrzymaj profesjonalne wsparcie
Jeśli zastanawiasz się, czy zmiana rozwiązania infrastrukturalnego na chmurę publiczną to dobra strategia dla Twojej organizacji, skontaktuj się z nami. Certyfikowani specjaliści FOTC:
- pomogą Ci ocenić potencjał inwestycji,
- dobiorą rozwiązanie i zaplanują strategię poprzedzoną szczegółową analizą
- wesprą Cię w procesie migracji i późniejszej obsłudze Google Cloud Platform
Dowiedz się więcej o Google Cloud Platform
Skontaktuj się z nami