Narzędzia DevOps

Gdy ktoś potrzebował zbudować firmę dostarczającą klientom oprogramowanie oprócz prac typowo deweloperskich koniecznie było zarządzanie mnóstwem sprzętu. Te czasy nie są wcale takie odległe, kiedy korzystano z szaf sprzętowych i rozmaitych metod i standardów montowania w nich serwerów, podłączania wielorakiego okablowania, chłodzenia, budowania nadmiarowych systemów zasilania i tak dalej. Tworzenie rozwiązań opartych o oprogramowanie wymagało zaangażowania zespołu piszącego oprogramowanie zwanego zespołem deweloperskim „Dev”. Konieczna była też obecność drugiego zespołu, dedykowanego zarządzaniu całym niezbędnym sprzętem, zwanego zespołem utrzymania „Ops”.

Zespół deweloperski zwykle budował jakąś aplikację i „przerzucał ją przez ścianę” do zespołu utrzymania. Wtedy ci po drugiej stronie zaczynali się zastanawiać co z tym zrobić? Jak to wdrożyć i uruchomić? Większość prac po jednej i po drugie stronie muru wykonywana była ręcznie. W szczególności po stronie Ops, gdyż wiele z tych czynności trudno byłoby zautomatyzować np.: montaż serwerów w szafach rack, czy podpinanie okablowania sieciowego. Nawet wtedy, gdy praca ludzi z Operacji dotyczyła obsługi oprogramowania na przykład instalacji aplikacji i wszelkich niezbędnych zależności, była często wykonywana ręcznie poprzez wykonywanie rozmaitych poleceń na serwerach. Gdy firma nie była jeszcze zbyt duża to działało, ale wraz ze wzrostem biznesu zaczynały się kłopoty. Na przykład: jeżeli wdrożenia kolejnych wersji aplikacji były wykonywane ręcznie, ilość zaangażowanych serwerów i infrastruktury rosła, a wdrożenia stawały się czasochłonne, męczące i nieprzewidywalne. Niejednokrotnie zdarzały się pomyłki co prowadziło do dryfowania konfiguracji poszczególnych maszyn i systemów, które chociaż budowane w oparciu o standardy konfiguracyjne zaczynały się coraz bardziej różnić od siebie, a utrzymanie spójności stawało się coraz trudniejsze. Liczba błędów rosła, podobnie jak rosła frustracja wśród zespołu programistów – „Przecież to działa na mojej maszynie! Dlaczego to nie działa na produkcji?!”. Frustracja rosła również po stronie zespołu operacyjnego. Częste awarie, dyżury, konieczność podejmowania pilnych interwencji w środku nocy, awarie i niedostępności usług to była zmora. W takich warunkach trudno sobie wyobrazić by wdrażanie nowych wersji oprogramowania mogło odbywać się często. Może raz na miesiąc, albo jeszcze rzadziej raz na trzy miesiące, albo nawet co pół roku. Przed takim półrocznym wdrożeniem zespoły próbowały łączyć wszystkie elementy projektu, co prowadziło częstych konfliktów łączenia oprogramowania. Nikt nie był w stanie tego ustabilizować, a zespoły oskarżały się nawzajem. Dalszy rozwój stawał się niemożliwy. Jak w takich warunkach zaspokoić oczekiwania biznesu, który oczekiwał większej szybkości, elastyczności i niezawodności?
Antidotum na opisane problemy stał się DevOps. Termin powstał poprzez połączenie dwóch angielskich słów: Development i Operations. DevOps jako rozwiązanie zaleca połączenie zespołów utrzymania, rozwoju oprogramowania oraz zapewnienia jakości i ma na celu bliską współpracę specjalistów ze wszystkich tych zakresów. Eliminuje struktury, w których poszczególne działy zachowują się jak silosy albo odrębne „księstwa”, każde z własnym zarządzaniem, zestawem celów i budżetem. Tymczasem cel jest wspólny – dostarczanie wartości klientowi w postaci sprawnie działającego oprogramowania i usług oraz częstych, dobrze wspierających rozwój biznesu zmian w oprogramowaniu i usługach.

Nieustanny rozwój technologii stosowanych w branży IT umożliwił realizację idei DevOps w pełni. Oprócz stosowania takich rozwiązań jak wirtualizacja czy konteneryzacja, firmy coraz częściej sięgają po rozwiązania chmurowe. Sprzęt, infrastruktura sieciowa, środowiska bazodanowe mogą być obecnie definiowane programowo. Zamiast montować serwery, routery, przełączniki, podpinać kable i zasilanie, zespoły utrzymania mogą również tworzyć kod. Utrzymanie konfiguracji stało się dużo łatwiejsze dzięki odpowiednim narzędziom, a praca może być w znacznym stopniu automatyzowana. Zamiast wdrażać nowe rozwiązania raz na miesiąc czy raz na kwartał, dzięki rozwiązaniom opartym o DevOps można wdrażać oprogramowanie znacznie częściej, w godzinach pracy i automatycznie. Każdy commit może kończyć się automatycznym przekazaniem przetestowanego kodu na produkcję. Zamiast ciągłej walki z awariami i przestojami można budować odporną, samonaprawiającą się infrastrukturę, szybko wyłapywać pojawiające się problemy dzięki ciągłemu monitorowaniu i rozwiązywać je automatycznie.

Wiele firm boryka się z problemem przejścia z tradycyjnego modelu zarządzania do modelu znanego jako DevOps. Niejednokrotnie firmy mają już wdrożone pewne mechanizmy np.: wirtualizację czy zarządzanie wersjonowaniem kodu źródłowego, ale nie wiedzą jak kontynuować tę transformację. Przepis na sukces transformacji do DevOps zapewne nie istnieje, bo każdy przypadek należy traktować indywidualnie, niemniej należy pamiętać, że DevOps to nie tylko narzędzia do automatyzacji. To nie narzędzia wymyślają i dostarczają rozwiązania klientom tylko ludzie. Kultura pracy, właściwe postawy i cechy pracowników, stosowane praktyki, organizacja to elementy równie ważne jak automatyzacja. Nawet najlepsze narzędzia nie wyeliminują bałaganu i nie usprawnią procesów, które są nieoptymalne. Wdrożenie kultury pracy DevOps staje się niezbędne w obliczu transformacji cyfrowej, którą przechodzi, przeszło lub zamierza przejść wiele przedsiębiorstw. Obecnie trudno sobie wyobrazić jakikolwiek biznes działający bez IT. Co więcej do korzystania w rozmaitych usług nieinformatycznych często niezbędna jest jakaś usługa informatyczna. Kupujemy bilety na pociąg, czy na samolot, rezerwujemy miejsce w teatrze, zamawiamy taksówkę czy jedzenie, rejestrujemy się do lekarza, załatwiamy sprawy urzędowe, wszystko za pośrednictwem rozmaitych aplikacji i systemów. Żeby zrobić przelew, czy sprawdzić stan konta nie musimy już iść do oddziału banku. A czymże jest bank, jeżeli nie działem IT z licencją na świadczenie usług finansowych? Niemal każdy biznes jest obecnie w znacznym stopniu oparty na rozwiązaniach informatycznych i to jak IT jest zarządzanie, jak działa, jak szybko i sprawnie potrafi się zmieniać i dopasowywać do potrzeb biznesu jest obecnie być albo nie być wielu przedsiębiorstw.

Firma PeopleCert wychodząc naprzeciw ogromnemu zapotrzebowaniu i chcąc pomóc wszystkim zainteresowanym w zrozumieniu co to znaczy DevOps, jak powinna funkcjonować organizacja stosująca to podejście zarówno w obszarze technologii jak i w zarządzaniu, jak przeprowadzić organizację z tradycyjnego modelu do modelu DevOps, przygotowała szkolenia umożliwiające zdobycie niezbędnej wiedzy i potwierdzenie jej odpowiednimi certyfikatami.
Pojęcie DevOps istnieje na rynku od ponad 10 lat. W tym czasie wiele się zmieniło nie tylko w technologiach czy zarządzania IT, ale w ogóle w prowadzeniu biznesu. Biznes to IT. Szkolenia DevOps oferowane przez firmę PeopleCert uwzględniają nie tylko najnowsze trendy i rozwiązania takie jak zwinne zarządzanie w skali całej organizacji, optymalizacja procesów zgodnie z Lean, a także zarządzanie usługami zgodnie z ITILv4. Trudno będzie znaleźć inny produkt szkoleniowy na rynku, traktujący tematykę DevOps tak kompleksowo jak szkolenia firmy PeopleCert i równie aktualny i zgodny z obecnymi na rynku rozwiązaniami i trendami.

Szkolenia DevOps firmy PeopleCert obejmują:

  1. PeopleCert DevOps Fundamentals
  2. PeopleCert DevOps Leadership

PeopleCert DevOps Fundamentals – to 3 dni intensywnego szkolenia zakończonego egzaminem, które omawia wszystkie niezbędne elementy organizacji opartej o DevOps. Wprowadza pojęcia, które powinny być wspólne i rozumiane w całej organizacji. Nie pomija żadnego istotnego aspektu skupiając się jednocześnie na trzech najważniejszych obszarach: Kulturze pracy i ludziach, Procesach i praktykach oraz Technologiach i automatyzacji. Szkolenie i certyfikat niezbędne każdemu kto chciałby być świadomym i wartościowym pracownikiem organizacji stosującej DevOps.
Program szkolenia obejmuje następujące tematy:

  1. Historia i przydatność DevOps
  2. Kluczowe pojęcia DevOps
  3. Wartość biznesowa DevOps
  4. Podstawowe koncepcje:
    1. C.A.L.M.S.,
    2. Trzy drogi,
    3. Ciągłe dostarczanie
    4. Full stack
  5. Kultura DevOps, transformacyjne przywództwo oraz struktura i zespół DevOps
  6. Ewolucja praktyk DevOps i 15 podstawowych praktyk DevOps
  7. Zwinne zarządzanie projektami i metodologia Scrum
  8. Kluczowe pojęcia związane z technologią i wirtualizacją w chmurze, automatyzacją procesu wdrażania i architekturą zapewniającą ciągłe dostarczanie

Szkolenie i egzamin obecnie są dostępne tylko w j. angielskim.

 

PeopleCert DevOps Leadership – to 3 dni intensywnego szkolenia zakończonego egzaminem obejmującego zagadnienia przywództwa i transformacji organizacji stosującej DevOps. Osoby zarządzające zespołami DevOps, lub planujące przeprowadzenie transformacji to grupa docelowa tego szkolenia. Uczestnicy zapoznają się z koncepcjami, terminami, wartościami i narzędziami używanymi przez liderów DevOps. Celem przewodnim szkolenia jest nauczenie jak zarządzać zmianą kulturową i jak wprowadzać zautomatyzowane procesy w organizacji.
Program szkolenia obejmuje następujące tematy:

  1. Co oznacza przywództwo w DevOps
  2. Jak prowadzić organizację poprzez transformację DevOps
  3. Określenie potrzeby stosowania DevOps
  4. Określenie celów biznesowych
  5. Wizja i strategia transformacji
  6. Zarządzanie kluczowymi interesariuszami
  7. Kultura samoorganizujących się, wielofunkcyjnych zespołów
  8. Zbieranie, transmitowanie i wdrażanie opinii
  9. Efektywność przepływu w strumieniu wartości
  10. Podział pracy na iteracje, nauka i eksperymentowanie
  11. Dążenie do ciągłego dostarczania
  12. Kultura ciągłego doskonalenia
  13. Kultura innowacyjności
  14. Odporność organizacyjna i zrównoważony rozwój

 

Szkolenie i egzamin obecnie są dostępne tylko w j. angielskim.