Strona Główna / Blog

Czym Jest Enterprise Cloud Environment i Jak Go Zbudować?

Mirek Burnejko

Mirek Burnejko

Rozmawiam w języku Amazon Web Services, Microsoft Azure i Google Cloud Platform. Skontaktuj się z nim pisząc na ten adres.

Enterpise Cloud Environment

Rzeczywistością, którą spotykam u firm, z którymi pracuje jest… chaos.
Używanie chmury jest łatwe. Wystarczy karta debetowa lub kredytowa i możemy już zacząć budować. No właśnie.

Ma to jednak swoją ciemną stronę.

W chwili, gdy zaczynamy szkolić firmę z używania chmury i ruszamy z pierwszym projektem, to zauważam, że w różnych działach firmy zaczynają powstawać inne projekty w chmurze. I to akurat dobre.

Nie jest dobre jednak to, że te projekty tworzą się na różnych subskrypcjach, z różnymi standardami, czasami na kontach z podpiętą osobistą kartą kredytową (!!!).

Finanse nie są tu dużym problemem. Problemem jest bezpieczeństwo i standardy.

To tak jakby każdy budował swoje małe Data Center z własnymi standardami, po to, aby uruchamiać aplikacje w Twojej firmie, wg. własnego uznania.

Z Data Center mało możliwy scenariusz.
Z chmurą bardzo łatwy do wykonania.

Czym jest Enterprise Cloud Environment?

Jest to zestaw standardów i procesów, które ułatwiają budowanie rozwiązań w chmurze, z zachowaniem polityk bezpieczeństwa.

Dwa ważne słowa: procesów i ułatwiają.

Procesy mają na celu włożenie wypracowanych standardów w cykl życia IT oraz umożliwienie automatyzowania części zadań.

Ułatwianie budowy rozwiązań jest MEGA ważne. Nie chcemy, aby dodanie standardów spowolniło wdrażanie usług, ale je PRZYŚPIESZYŁO! Nie chcemy czekać na pewne decyzje, nie chcemy się zastanawiać. Wdrożenie aplikacji powinno być proste i bezbolesne.

Tu oczywiście dochodzi cała kultura DevOps, natomiast budują Enterprise Cloud Environment musimy mieć z tyłu głowy pytanie:

„Co jeszcze możemy zrobić, aby zespoły w naszej firmie mogły pracować efektywniej i aby było to MEGA bezpieczne?”

Co wziąć pod uwagę podczas budowy Enterprise Cloud Environment?

Budując produkcyjne środowisko w chmurze musimy wziąć pod uwagę (skrócona lista):

Zarządzanie Kontami i Subksrypcjami

  • Ile będziemy mieli kont/subskrypcji?
  • Jak je podzielimy pomiędzy projektami, działami?
  • Czy będzie tylko jedne źródło finansowania?
  • Kto będzie miał dostęp do konta „root”?
  • Co musi się wydarzyć, gdy ktoś „nowy” potrzebuje subskrypcji?

Topologia Sieci

  • Jak połączymy zasoby z DC z chmurą?
  • Jak połączymy zasoby pomiędzy subskrypcjami?
  • Jak zapewnimy redundancję połączeń?
  • Jak zrealizujemy dołączanie dedykowanych łączy do subskrypcji?

Przechowywanie Danych

  • Jak i gdzie będziemy tworzyć konta storage?
  • Jak będziemy je opisywać (muszą być unikalne)?
  • Jak zapewnimy backup dla storage?
  • Czy backup będzie w tym samym, czy w innym regionie?
  • Jak zaadresujemy zagadnienia archiwizacji?

Tożsamość​

  • Czy w chmurze będziemy używać tych samych użytkowników co w DC?
  • Czy w chmurze będziemy trzymać hasła?
  • Jak będziemy synchronizować użytkowników?
  • Na którym poziomie będą mieli dostęp do zasobów?
  • Jak będziemy monitorować i sprawdzać aktywności?

CI/CD​

  • Jak zrealizujemy proces CI/CD w chmurze?
  • Gdzie będziemy trzymali kod naszych aplikacji?
  • Jak zaimplementujemy procesy budowania i testowania aplikacji?
  • Jak zaimplementujemy wdrażania infrastruktury (jako kod)?

Zarządzanie Kosztem

  • Jak będziemy określać koszta per projekt?
  • Jak będziemy analizować koszta per projekt?
  • Jak będziemy ustalać przypisywanie kosztów do projektów?
  • Jak będziemy dostarczać dane o kosztach?
  • Jak zrealizujemy ograniczanie kosztów?

Procesowanie Finansów

  • Jak dział finansowy będzie realizował podział płatności?
  • Jaki rodzaj umowy z dostawcą najlepiej wpłynie na używanie chmury?
  • Kto będzie akceptował koszta?
  • Jak wdrożymy proces akceptacji kosztów?
  • Jak będziemy sprawdzać poprawność danych na fakturze?!

Ludzie​

  • Jak zarządzimy zdobywaniem wiedzy w organizacji?
  • Jaką wiedzę musi mieć pracownik, aby miał dostęp do chmury?
  • Kto będzie posiadał kontrolę nad daną subskrypcją?
  • Jak zarządzimy procesem pozyskiwania talentów?

Procesy​

  • Jak będzie wyglądał proces zbierania danych wejściowych per projekt?
  • Jak będzie wyglądał proces wdrażania rozwiązań per projekt wew.?
  • Jak będzie wyglądał proces wdrażania rozwiązań per projekt zew.?
  • Jak będzie wyglądał proces migracji rozwiązań?

Wdrażanie​

  • Jak przeniesiemy wymagania wejściowe na infrastrukturę/platformę?
  • Jak wdrożymy proces akceptacji?
  • Jak zaimplementujemy proces aktualizacji wirtualnych maszyn?
  • Jak zaimplementujemy proces wdrażań architektur wzorcowych?

Zarządzanie​

  • Jak będziemy monitorować środowiska?
  • Jak będziemy realizować wsparcie dla programistów, biznesu?
  • Jak będziemy rozwiązywać problemy z wirtualnymi maszynami
  • Jak będziemy rozwiązwać problemy z rozwiązaniami PaaS?

Monitoring​

  • Które elementy będziemy monitorować w narzędziach dostawcy?
  • Które elementy będziemy korelować z danymi wewnętrznymi?
  • Które alarmy i na jakim poziomie będą wywoływały akcję?
  • Jakie akcje będą realizowane po wystąpieniu alarmu?
  • Jak wykorzystamy dane monitorujące do optymalizacji kosztów?

Podstawy Bezpieczeństwa

  • Jak wdrożymy rozwiązania Role-Based Access Control?
  • Jak i które dane będziemy szyfrować?
  • Jak zapewnimy dostęp do danych dla odpowiednich osób?
  • Jakie dodatkowe mechanizmy (ala MFA) wdrożymy?

Bezpieczeństwo Infrastruktury

  • Jak zapewnimy bezpieczeństwo systemów operacyjnych?
  • Jak wdrożymy aktualizacje systemów dla nowych maszyn (obrazów)?
  • Jak użyjemy wbudowanych rozwiązań do ochrony sieci?
  • Jak wdrożymy dodatkowe mechanizmy bezpieczeństwa sieci?

Bezpieczeństwo Dostępu do Aplikacji

  • Jak zapewnimy bezpieczny dostęp na poziomie infrastruktury?
  • Jak zapewnimy bezpieczny dostęp na poziomie platformy?
  • Jak zapewnimy bezpieczeństwo na poziomie CDN?
  • Jak zapewnimy bezpieczeństwo przed DDoS?

Uwarunkowania Prawne

  • Jak zapewnimy zgodność z lokalnymi przepisami (np. RODO, GIODO)?
  • Czy możemy używać wszystkich usług ze względu na wymagane certyfikacje?
  • Jak będziemy audytować nasze rozwiązanie w chmurze?
  • Jak się zabezpieczymy przed zmianami w umowie?

Strategia Powrotu i Przełączenia

  • Jak wdrożymy mechanizm powrotu z chmury?
  • Jak wdrożymy mechanizm przełączenia zmigrowanego środowiska?
  • Jak wdrożymy proces na powrót po nieudanej migracji?

Strategia Walidacji

  • Jakich mechanizmów będziemy używać, aby sprawdzić poprawność po migracji?
  • Jakich procesów użyjemy, aby sprawdzić „zadowolenie” użytkownika?
  • Jak sprwdzimy dostępy z aplikacji zarządzających?

Strategia na Vendor Lock-in

  • Na jakim poziomie będziemy wdrażać nasze aplikacje? (IaaS, PaaS, kontenery)
  • Jak określamy ryzyka użycia danej warstwy chmury?
  • Czy dopuszczamy możliwość zmiany dostawcy?
  • Jak realizujemy proces zmiany dostawcy?
  • Które elementy w procesie, automatyzacji itd. muszą się zmienić?

i dużo więcej, ale to już zależy od specyfikacji Twojej firmy.

Jak zrobić Enterprise Cloud Environment?

Sposób 1:

Robimy to sami. Pobieramy listę zagadnień opisanych powyżej i na bazie posiadanej wiedzy budujemy standardy i procesy. Z czasem to poprawiamy.

Sposób 2:

Robimy to z kimś, kto robił tego typu projekty lub z kimś, kto przechodził przez ten proces od strony użytkownika usługi. Idealnie, jakby środowisko, z którym pracuje dana osoba jest takie, jakie nasze będzie za 3-5 lat.

Kiedy zrobić Enterprise Cloud Environment?

Jeżeli używasz już chmury, to jak najszybciej, aby (UWAGA) nie robić shadow IT wewnątrz IT.
Jeżeli nie używasz chmury, to polecam to zrobić po kilku krokach.

Cały proces opisałem w dokumencie Cloud Adoption Program.

W pierwszej kolejności skupmy się na nauczeniu się chmury i zbudowaniu strategii. Następnie na bazie strategii zbudujmy PoC, aby sprawdzić pewne założenia. Dopiero wtedy, gdy już:

  • znamy zasady panujące w chmurze
  • wybraliśmy dostawcę chmury
  • zdecydowaliśmy po co chcemy używać chmurę
  • wiemy jak możemy sprawdzić nasze założenia
  • wybudowaliśmy PoC, który sprawdza założenia

możemy zacząć myśleć o Enterprise Cloud Environment. Wcześniej będzie to strata czasu, gdyż nieudany PoC lub źle sprecyzowane cele mogą np. odsunąć wdrażanie chmury o kilka lat lub zmienić wybór dostawcy chmury.

Wchodząc w szczegóły, Enterprise Cloud Environment dla AWS będzie się różnił od Azure, Google Cloud, Oracle Cloud, czy IBM Cloud.

Dobra rada na koniec. Twórz wersje dla Enterprise Cloud Environment i pozwól, aby zmieniał się wraz ze zmianą standardów. Chmura pozwala bardzo szybko dostosować architekturę i procesy do wymagań. Nie jest to łatwe, ale odpowiednia praca włożona na początku pozwoli Ci

„aby zespoły w Twojej firmie mogły pracować efektywniej i było to MEGA bezpieczne.”

Już 22.11 zapraszamy na webinar
o chmurze Google Cloud Platform

Dołącz do listy mailingowej!

Dołącz do naszego newslettera

Staramy się wysyłać tylko wartościowe informacje, np. co miesiąc dostaniesz spis najważniejszych nowości z chmur Azure, AWS i GCP, z krótkimi opisami i linkami.