Architektura ITPolecane tematy

Jak przeprowadzić projekt automatyzacji zarządzania IT

Wiele mówi się o automatyzacji infrastruktury IT czy w ogóle w całego IT. Termin ten na dobre zagościł w wielu organizacjach, zastępując poniekąd nieco zużyty już Private Cloud. Automatyzacja wydaje się być realnym sposobem realizacji postulatów określonych – w z zawiły i niejednoznaczny sposób – w pojemnym określeniu cloud computing.

Jak przeprowadzić projekt automatyzacji zarządzania IT

Patrząc nawet z perspektywy języka, polski wyraz „automatyzacja” – mający konkretne, zrozumiałe znaczenie – wydaje się być bliższy i bardziej osiągalny niż „chmura obliczeniowa”. Na bazie doświadczenia z pracy u dwóch, dużych producentów IT – a przede wszystkim po wielu spotkaniach i dyskusjach na temat implementacji takich projektów – postanowiłem podzielić się spostrzeżeniami.

Szybkość i bezpieczeństwo dostarczania usług IT

Bardzo często zdarzało się, że organizacja planująca wdrożenie chmury obliczeniowej nie potrafiła dokładnie sprecyzować celów biznesowych. Choć wydaje się to dziwne, wielokrotnie z kolegami spotykaliśmy się z przeświadczeniem, że wdrożenie modelu cloud computing będzie sukcesem samym w sobie i wypromuje osoby zarządzające danym przedsiębiorstwem lub jego obszarem. Rzadko kiedy takie podejście ma szczęśliwe zakończenie. Kosztuje też więcej niż tradycyjny model funkcjonowania IT. Aby osiągnąć sukces trzeba sobie odpowiedzieć na pytanie, gdzie konkretnie chcemy dojść? Jaką wartość zaoferować biznesowi? Następnie zaś przeprowadzić niemałą transofrmację, aby wyznaczony cel osiągnąć.

Wśród najczęściej wymienianych oczekiwań, jakie stawia się przed projektami związanymi z automatyzacją infrastruktury IT jest przewaga konkurencyjna, szybkość dostarczania i bezpieczeństwo. Jeśli połączyć te oczekiwania z faktem, iż dzisiaj świat IT definiują aplikacje – oraz to, że ich tworzenie, utrzymanie i rozwijanie stanowi najważniejsze wyzwanie każdego niemal działu IT – otrzymujemy równanie, na którego jednej ze stron jest automatyzacja.

Warto też zauważyć, że w ostatnim czasie coraz większego rozpędu nabiera zjawisko Big Data. Przechodzimy wielkimi krokami z fazy rozważań do fazy implementacji. Wartość stanowi analiza i jej wyniki, nie zaś statyczne dane, które przechowujemy i systemy, które nimi zarządzają. Aby umożliwić badaczom danych skuteczne wykonywanie swoich zadań musimy maksymalnie zautomatyzować wszystko to, co nie jest przedmiotem ich pracy, czyli co najmniej infrastrukturę IT.

Wśród najczęściej wymienianych oczekiwań, jakie stawia się przed projektami związanymi z automatyzacją infrastruktury IT jest przewaga konkurencyjna, szybkość dostarczania i bezpieczeństwo. Jeśli połączyć te oczekiwania z faktem, iż dzisiaj świat IT definiują aplikacje – oraz to, że ich tworzenie, utrzymanie i rozwijanie stanowi najważniejsze wyzwanie każdego niemal działu IT – otrzymujemy równanie, na którego jednej ze stron jest automatyzacja.

Jak widać, portfolio oczekiwań biznesowych znacznie się zwiększyło w porównaniu do postulatów cloud computing, a automatyzacja wydaje się być najlepszą odpowiedzią na tak postawione wyzwania.

Automatyzować, czyli Software Defined DataCenter

Kolejne pojęcie, które w środowisku IT przechodzi od teorii do praktyki to centrum danych zdefiniowane programowo, czyli Software Defined DataCenter (SDDC). Najważniejsza zmiana jaką wnosi SDDC – w porównaniu do wirtualizacji – to zastosowanie jej mechanizmów dla wszystkich obszarów infrastruktury. Dotyczy to więc mocy obliczeniowej, pamięci masowych, sieci, bezpieczeństwa, a – jak można – to nawet zasilania. Wszystko po to, aby z dużych pul zasobów różnego rodzaju móc precyzyjnie dobierać elementy wymagane przez konkretną usługę. Dla przypomnienia w klasycznym modelu definiujemy najpierw infrastrukturę, a następnie dopasowujemy do niej usługi. Automatyzacja odwraca tę sytuację o 180 stopni. Można to sobie wyobrazić na przykładzie floty samochodów.

Klasycznie posiadamy w organizacji standardy, np. klasa C, klasa D, limuzyna, dostawczy. Cokolwiek będziemy chcieli przewieźć musimy wybrać jeden z nich. Dzięki odwróceniu tego modelu, wpierw określamy to, co chcemy przewieźć – np. śmigło wiatraka prądotwórczego. Wówczas pierwszym krokiem w procesie będzie przekazanie do fabryki danych funkcjonalnych i wydajnościowych. Ta zaś zbuduje na tę potrzebę stosownie skonstruowany pojazd, a po wykonaniu transportu rozmontować go, części odłożyć zaś na półki. Wydaje się to karkołomne i skomplikowane? Kiedy pojawiała się automatyzacja, też tak się wydawało, szczególnie osobom przywiązanym do modelu wielkich silosów dziedzinowych. Jednak dzięki wirtualizacji – i grupie odważnych osób – automatyzacja zmieniła ten pogląd. Wszystko dlatego, że to, co wydawało się niemożliwe, a przynajmniej bezsensowne – rozłożenie pojazdu na części, które trafią na półkę – dzisiaj jest możliwe właśnie dlatego, że dzieje się to automatycznie, przy minimalnym koszcie.

Administratorom planującym dalekosiężną, statyczną konfigurację macierzy proponuje się dzisiaj wirtualizację i mechanizmy, takie jak VVOL. Z założenia same dobierają one parametry udostępnianych przestrzeni, w zależności od oczekiwań użytkowników. Rozwiązania wirtualizacji macierzy dyskowych stały się powszechne, a wiele z nich to sprawdzone i niezawodne narzędzia pozwalające uzyskać dużą elastyczność i wydajność. Podobna sytuacja ma miejsce w zakresie sieci. Jej wirtualizacja jest powszechna, nawet jeśli nie jest jednolita, to znaczy występuje co najmniej kilka standardów to stosowana jest wszędzie, a obecne na rynku rozwiązania stanowią poważną, dojrzałą ofertę.

Dostarczanie IT wsparte kontenerami i mikrousługami

Do tego wszystkiego w ostatnim czasie dostaliśmy do dyspozycji jeszcze jeden, ciekawy i dobrze zapowiadający się obszar – kontenery. Docker i cały szereg narzędzi – głównie open source – tworzą ekosystem już na tyle dojrzały, że nawet w Polsce duże organizacje finansowe stosują te rozwiązania do celów produkcyjnych. Należy tu zauważyć, że to nie tyle same kontenery, co ściśle z nimi powiązane narzędzia automatyzacji – np. Kubernates – budują tę niesamowitą elastyczność i szybkość dostarczania rozwiązań. Platformy tak zbudowane potrafią nie tylko niezwykle szybko wejść w model agile, tak bardzo popularny w ostatnim czasie, ale również pozwalają na uwolnienie się od ograniczeń związanych z klasycznymi silosami.

Budowa nowoczesnej aplikacji w oparciu o mikrousługi pozwala automatyzować i błyskawicznie dostarczać repliki na cele testowe i deweloperskie. Co za tym idzie szybciej wdrażane są kolejne funkcjonalności, poprawki, usprawnienia wydajnościowe. W klasycznym modelu, aplikacja krytyczna, czyli taka, która realnie przynosi korzyści biznesowe zazwyczaj zakończona jest dużą, skomplikowaną i co ważne drogą bazą danych. Jej partycjonowanie i udostępnianie fragmentów jest nie tylko trudne, ale i kosztowne, ponieważ najczęściej operacja taka wymaga całkowitej separacji od systemu produkcyjnego. Przejście na kontenery to tak, jakby przebudować małą ilość dużych usług na wiele małych.

Pojęcie, które w środowisku IT przechodzi od teorii do praktyki to centrum danych zdefiniowane programowo, czyli Software Defined DataCenter (SDDC). Najważniejsza zmiana jaką wnosi SDDC – w porównaniu do wirtualizacji – to zastosowanie jej mechanizmów dla wszystkich obszarów infrastruktury. Dotyczy to więc mocy obliczeniowej, pamięci masowych, sieci, bezpieczeństwa, a – jak można – to nawet zasilania. Wszystko po to, aby z dużych pul zasobów różnego rodzaju móc precyzyjnie dobierać elementy wymagane przez konkretną usługę.

Automatyzacja wykorzystując wyżej opisane mechanizmy – czyli wirtualizacja serwerów, sieci, pamięci masowych a także kontenery – jest w stanie w rzeczywistości zmienić nasz świat usług IT. Dzięki niej będziemy mogli wyjść daleko poza IaaS i szablony maszyn wirtualnych. Będziemy mogli skupić się na parametrach usług, ich jakości, a także – co ważne – na ich rozwoju, testach i ostatecznej implementacji w środowiskach produkcyjnych.

Szczegółowy analizę dostępnych rozwiązań w poszczególnych obszarach postaram się opisać w następnych felietonach tego cyklu. Już teraz jednak zachęcam do rozpoznania narzędzi dostępnych od producentów poszczególnych warstw – mocy obliczeniowej, pamięci masowych i sieci – pod kątem możliwości integracji z platformami automatyzacji. Taką analizę warto wykonać szeroko, sprawdzić matryce kompatybilności z poszczególnymi platformami, plany rozwojowe, historyczną kompatybilność, a także zakres dostępnych API.

Ewolucja czy rewolucja z zarządzaniu infrastrukturą IT

Takie pytanie bardzo często się pojawia na starcie projektów związanych z automatyzacją. Klasyczne, zdroworozsądkowe podejście polegające na wdrożeniu POC, a następnie poszczególnych obszarów automatyzacji krok po kroku, jest z reguły bezpieczne, ale mało efektywne. Jak wykazują analizy przedwdrożeniowe, wiele środowisk wymaga fundamentalnych zmian, chociażby w zakresie wirtualizacji sieci. Trudno jest w takich organizacjach wdrożyć automatyzację w części, ponieważ jeśli z każdym wywołaniem automatycznego procesu będzie się wiązała konfiguracja sieci przez specjalistę, cała korzyść zostanie wówczas praktycznie utracona. Oczywiście nie zachęcam do tego, aby firmę taką, jak bank czy elektrownię zmieniać w jeden dzień. Istnieje wszak wiele metodologii wdrażania takich projektów, uwzględniających w założeniach takie sytuacje.

Optymistycznym aspektem jest fakt, że coraz więcej integratorów rozpoczęło już edukację własnych pracowników w zakresie automatyzacji i mają one za sobą pierwsze wdrożenia. To daje nadzieje, że na polskim rynku dość szybko zaczniemy konsumować korzyści z automatyzacji. Tymczasem zachęcam do następnej części, w której opisane zostanie case study integracji platformy automatyzacji ze środowiskiem kontenerów.

KOMENTARZ EKSPERTA

Jak przeprowadzić projekt automatyzacji zarządzania ITAutomatyzacja niewątpliwie jest szansą dla IT na uzyskanie dynamiki niezbędnej do właściwego wsparcia biznesu. Standardowe metody działania korporacyjnych IT – choć bezpieczne i przewidywalne – usztywniają procesy, pozbawiając je właściwej szybkości. Nieoczywisty jest jednak sposób wdrażania nowych rozwiązań, uwzględniający charakter organizacji, jej dotychczasowe doświadczenia czy też dług technologiczny i kompetencje pracowników.

Mamy do czynienia z paradoksem – im większa firma, tym bardziej potrzebuje takiej zmiany, choć jej wdrożenie jest bardzo trudne i raczej nie da się jej przeprowadzić całościowo. Nie znaczy to jednak, że nie da się takich działań – krok po kroku – doprowadzić do szczęśliwego końca, trzeba do tego podejść jednak planowo i konsekwentnie.

Na rynku pojawiają się rozwiązania automatyzacji, które zaprojektowano z uwzględnieniem specyfiki dużych, dojrzałych organizacji o złożonej architekturze IT. Wydaje się, że to jest słuszny kierunek poszukiwań, który daje szanse na osiągnięcie stawianych celów bez przewracania wszystkiego do góry nogami.

Zgadzam się, że wraz z nabyciem przez IT zdolności automatyzowania procesu budowy systemów, chmura stanie się atrakcyjna i wartościowa. Możliwość stworzenia na żądanie samej topologii infrastrukturalnej nie jest specjalnie atrakcyjna. Natomiast możliwość budowy całego środowiska – łącznie z aplikacją i danymi – zmienia postać rzeczy. W takiej sytuacji, jeśli umiemy zadbać także o aspekty bezpieczeństwa, chmura staje się realnie atrakcyjna i użyteczna. Dojrzałe firmy to nie tzw. jednorożce (unicorn), stanowiące awangardę w zakresie nowatorstwa i innowacji IT. Tym niemniej muszą one stać się zwinnymi „rumakami”, jeśli nie chcą stracić pozycji rynkowej. Jak to określił jeden z prelegentów podczas konferencji DevOps w praktyce kierowanej do sektora bankowego: „Organizacje, takie jak banki, nigdy nie będą unicornami, muszą jednak dokonać przeobrażenia, gdyż inaczej ich pozycja zostanie zagrożona przez firmy z sektora FinTech”.
Daniel Spica, prezes zarządu Spica Solutions

Tagi

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *