Przyszedł czas na drugi artykuł naszego cyklu o cloud computing. Z pierwszego mogłeś dowiedzieć się czym jest chmura, jakie są jej rodzaje i kto powinien przemyśleć przeniesienie się do niej (a dla kogo byłby to niepotrzebny wydatek). Jeśli Twój biznes może zyskać na przeniesieniu się do chmury i postanowiłeś spróbować nowego rozwiązania technologicznego, dzisiejszy wpis powinien pomóc Ci przygotować się do migracji. Upewnij się, że nie zapomnisz o niczym ważnym przed wystartowaniem!

Zacznijmy od tego, że możemy wyróżnić kilka różnych modeli chmur. Główną różnicą między nimi jest stopień, w którym sam zajmujesz się infrastrukturą.

IaaS (Infrastructure as a Service) – jest to model w którym zachowujesz najwięcej kontroli nad środowiskiem. Dostajesz instancje, na których masz dowolność instalowania systemu operacyjnego, konfiguracji sieci i instalacji oprogramowania. Przykładem takiego rozwiązania są instancje AWS EC2, Google Compute Engine czy Azure Virtual Machines.

PaaS (Platform as a Service) – w tym modelu nie musisz się martwić systemem operacyjnym, kwestiami sieciowymi i aktualizacją oprogramowania, ponieważ dostawca sam się tym zajmuje. Niestety przez to tracisz na możliwości dostosowania środowiska do swoich potrzeb. Model idealny dla programistów, którzy dzięki niemu mogą się skupić wyłącznie na tworzeniu oprogramowania. Przykładem PaaS są Heroku i Cloud Foundry.

SaaS (Software as a Service) – to model, w którym nie masz możliwości wprowadzania modyfikacji środowiska. Oprogramowanie jest w całości dostarczane przez właściciela i utrzymywane w chmurze. Przykładem tego rozwiązania jest G Suite, a także polski LiveChat.

Porównanie modeli serwisów cloud.

Baby steps, czyli podejdź do tego na spokojnie

Przenoszenie wszystkiego na raz niekoniecznie jest dobrym pomysłem. Dlatego proponujemy zacząć od zaznajomienia się z chmurą przez przeniesienie jednego z mniej używanych serwisów do nowej infrastruktury. Pozwoli Ci to zweryfikować trudności jakie mogą się pojawić, pomimo dokładnego planowania. Dzięki temu będziesz mógł się lepiej przygotować do migracji pozostałej części infrastruktury.

Od czego zacząć?

1. Decyzja o migracji do chmury
Tę część mamy już za sobą, więc idziemy dalej! 🙂

2. Analiza obecnej infrastruktury i serwisów
Przede wszystkim konieczna jest weryfikacja jakie serwisy chcesz przenieść do nowej infrastruktury i jakie są ich wymagania. Dzięki temu jesteś w stanie oszacować, jakie profil infrastruktury powinieneś wybrać. Będzie to bardzo przydatne w kolejnym punkcie.

3. Wybór dostawcy chmury
Obecnie rynek serwisów oferujących usługi typu cloud jest bardzo rozwinięty. Zależnie od profilu, wybierz dostawcę oferującego infrastrukturę dopasowaną pod względem funkcjonalności i ceny do Twoich wymagań. Niestety, raczej nie otrzymasz informacji o dokładnym koszcie utrzymania infrastruktury w chmurze, bo jest on zależny od transferu oraz faktycznego poziomu zużycia zasobów. Powinieneś jednak dowiedzieć się od dostawcy, jaki jest szacowany koszt miesięcznego rachunku.

4. Szkolenie oraz dostosowywanie aplikacji do działania w chmurze
Aby dostosować aplikację do środowiska chmurowego, musisz przede wszystkim przeszkolić developerów. Muszą oni wiedzieć w jaki sposób działa chmura i jakie zmiany muszą zostać wprowadzone w aplikacji. Dzięki temu w pełni skorzystasz z możliwości nowej infrastruktury. Duże zmiany będą potrzebne zwłaszcza, gdy aplikacja zupełnie nie jest przystosowana do działania na wielu serwerach. Kluczowym aspektem będzie tu możliwość horyzontalnego skalowania.

Migracja

5. Środowisko deweloperskie
Zacznij od stworzenia środowiska deweloperskiego. Pozwoli to programistom na spokojnie zaznajomić się z pracą w chmurze i wypróbować jej możliwości, bez ryzyka niedostępności usług produkcyjnych.

6. Testy
Daj swojemu zespołowi trochę czasu na przyzwyczajenie się do nowej infrastruktury i wypróbowanie wszystkich funkcjonalności serwisu. Dopiero kiedy będziecie czuli się pewnie w nowym środowisku i przetestujecie wszystkie jego możliwości, możesz kontynuować proces migracji bez większych obaw.

7. Środowisko produkcyjne
Wykonując migrację środowiska produkcyjnego, wykonujesz tak naprawdę jego kopię do nowej infrastruktury w chmurze. Dlatego po przeniesieniu plików i konfiguracji serwisu, powinieneś dokładnie zweryfikować działanie aplikacji.

Co dalej?

8. Modyfikacja dotychczasowych procedur
Po zakończeniu migracji, musisz sprawdzić, czy dotychczasowe procedury związane z przeniesioną aplikacją są aktualne i czy nie ma potrzeby zmian lub dodatkowych instrukcji odpowiadających wymaganiom nowej infrastruktury.

9. Monitoring oraz kopie zapasowe
Zweryfikuj, czy używane dotychczas narzędzia do monitoringu oraz kopii zapasowych dobrze współgrają z nową infrastrukturą. Warto się zastanowić nad skorzystaniem z rozwiązań przygotowanych przez dostawcę chmury.

10. Przełączenie ruchu
Przełącz ruch do nowej infrastruktury dopiero, kiedy masz pewność, że wszystkie poprzednie kroki zakończyły się sukcesem. Jeżeli wszystko działa tak jak powinno, możesz wprowadzić zmiany w DNS i przekierować ruch klientów ze starego środowiska do nowego.

Jeżeli masz własne rady lub doświadczenia związane z migracją do chmury to śmiało podziel się nimi w komentarzu 🙂