Zrozumienie procesu DevOps

Czym jest DevOps?

Jeśli śledzisz naszego bloga, wiesz już czym jest DevOps. Jeśli nie, oto szybkie podsumowanie i artykuł, który możesz przeczytać na temat kultury DevOps:

Metodologia DevOps poprawia komunikację pomiędzy Twoimi developerami i Ops w projektach. Cele DevOps są następujące:

  • zaoszczędzić czas na rozwiązywaniu incydentów
  • szybciej uruchamiać nowe funkcje
  • zmniejszyć ryzyko poprzez automatyzację procesów
  • znacząco zwiększyć zadowolenie klientów, a jednocześnie deweloperów.

Aby to osiągnąć, mówimy o pętli informacji zwrotnej. Jest to koncepcja DevOps, która opiera się na pomiarze wpływu rozwoju, aby poznać jego skuteczność i nadal się uczyć. Ta pętla informacji zwrotnej jest kluczem do osiągnięcia celów DevOps i skutecznego ulepszenia oprogramowania i procesu Twojego zespołu. Pomoże to również Twoim zespołom w dostarczaniu kodu wysokiej jakości.

feedback-loop-devops

Dzisiaj, według IDC, 20% projektów rozwoju aplikacji korzysta z podejścia DevOps. Do 2021 roku liczba ta wzrośnie do 35% – 40%. To nie przypadek, że tak wiele zespołów IT przyjmuje metodologię DevOps do projektu.

Zasady DevOps

Użycie metodologii DevOps w ramach Twojego zespołu do tworzenia oprogramowania zmieni radykalnie Twoją organizację. Zmieni sposób, w jaki Twój zespół programistów koduje i wdraża wydania. Opiera się ona na 6 kluczowych zasadach:

  • Automatyzacja
  • Iteracja
  • Samoobsługa
  • Ciągłe doskonalenie
  • Ciągłe testowanie
  • Współpraca

Automatyzacja pozwala deweloperom i działom operacyjnym uprościć proces i pozwala zespołom być bardziej produktywnymi. Ponieważ automatyzacja zmniejsza liczbę czynności wykonywanych ręcznie, poprawia jakość rozwoju i bezpieczeństwo oprogramowania. Z kolei iteracja przyspiesza proces rozwoju dzięki szybszej informacji zwrotnej od użytkowników końcowych. Samoobsługa również przyspiesza wydania, umożliwiając programistom samodzielne wdrażanie aplikacji na żądanie. Ciągłe doskonalenie ma na celu uczynienie procesu bardziej płynnym. Rzeczywiście, po każdym incydencie, częścią procesu DevOps jest przeprowadzenie post mortem. Post mortem jest zapisywanie każdego incydentu, jego wpływu, działań podjętych w celu jego naprawienia, przyczyny problemu i działań, które zostały podjęte, aby zapobiec jego powtórzeniu się. Ciągłe testowanie pozwala na szybsze wydanie produktu przy jednoczesnym zachowaniu wyższej jakości. I wreszcie, co nie mniej ważne, współpraca pomiędzy developerami i Ops jest kluczem do połączenia wysiłków i szybszego osiągnięcia sukcesu.

Proces DevOps

Proces DevOps składa się z serii kroków. Oto diagram, który pomoże Ci w wizualizacji:

devops-process

W kolejności, kroki procesu DevOps to:

  • Plan: Jest to część projektu, w której organizujesz zadania, harmonogramy i konfigurujesz narzędzia do zarządzania projektami. Chodzi o to, aby zaplanować zadania przy użyciu procesu user story z metodyki zwinnej. Pisanie biletów w formie historii użytkownika pozwoli deweloperom i działowi operacyjnemu zrozumieć, co i dlaczego należy zrobić. Idealna historyjka użytkownika to: co (kto, gdzie, co, gdzie), dlaczego i kryteria akceptacji. (Przykład: Jako użytkownik, na moim koncie klienta, kiedy klikam na „opcję”, otwieram popup i mogę zmienić moje nazwisko i imię).
  • Kod: Tutaj programiści zajmują się rozwojem kodu i przeglądem kodu. Kiedy kod jest gotowy, scalają go. W praktyce DevOps ważne jest, aby dzielić się narzędziem kodu między zespołami operacyjnymi i programistami, takimi jak Github lub Gitlab.
  • Build: Ten krok jest pierwszym w kierunku automatyzacji. Celem jest tutaj zbudowanie kodu źródłowego do jednego pożądanego formatu, kompilacja, testowanie i wdrażanie w określonym miejscu infrastruktury. Po skonfigurowaniu tego kroku narzędzia ciągłej integracji (CI) i dostarczania (CD) mogą sprawdzić i zweryfikować kod źródłowy z Source Code Management i zbudować go.
  • Testuj: Proces ciągłego testowania zmniejsza ryzyko. Automatyczne testy zapewniają, że żadne błędy nie zostaną wdrożone do produkcji. Musisz wdrożyć narzędzia testujące do swojego przepływu pracy, aby zapewnić najlepszą jakość rozwoju swojego oprogramowania.
  • Wydanie: Kod przeszedł proces testowania (ciągłej integracji) i jest gotowy do wdrożenia.
  • Deploy: Zespół operacyjny wdraża nową funkcję w produkcji. Ale ponieważ automatyzacja jest jedną z zasad DevOps, możliwe jest skonfigurowanie ciągłego wdrażania.
  • Obsługa/konfiguracja infrastruktury: Ops budują lub utrzymują skalowalną infrastrukturę, infrastrukturę jako kod oraz sprawdzają kwestie bezpieczeństwa i zarządzanie logami.
  • Monitorowanie: Monitorowanie jest ważnym krokiem, ponieważ pozwala szybciej naprawić incydenty i stworzyć lepsze doświadczenie dla użytkownika końcowego.

Jako że DevOps ma na celu znaczne zwiększenie satysfakcji klientów, naturalnie Twoje zespoły zaczynają ponownie kroki z nową funkcją dla Twojego oprogramowania lub aplikacji. Dlatego właśnie zawsze rysujemy DevOps jako niekończącą się pętlę.

Wdrażanie DevOps w Twoim zespole

Jeśli Twój zespół nie wdrożył jeszcze procesu DevOps lub nawet Agile, może to wydawać się mylące, szczególnie dlatego, że oznacza to zmianę nie tylko organizacji, ale także kultury Twojego zespołu.

Aby wprowadzić DevOps w swoim zespole musisz się spieszyć, iść krok po kroku, nie spieszyć się. Oto jak stopniowo wdrażać tę nową kulturę i organizację:

  1. Zacznij od zmiany mentalności swoich zespołów. Bez narzędzi proces DevOps nie może istnieć, ale to nie wystarczy, programiści i Ops muszą rozumieć i być zainteresowani pracą siebie nawzajem. Krótko mówiąc, programiści i Ops muszą nauczyć się współpracować.
  2. Wdrożenie zwinnego procesu rozwoju. Większość projektów DevOps wykorzystuje metodologie Scrum lub Kanban z Agile.
  3. Aby móc wykonać czwarty krok, powinieneś zaadoptować chmurę obliczeniową (prywatną, publiczną lub hybrydową).
  4. Zautomatyzuj wdrażanie oprogramowania dzięki ciągłej integracji (CI), aby programiści mogli łatwo wypchnąć nową funkcję.
  5. Użyj ciągłego testowania oprogramowania, aby zmniejszyć ryzyko.
  6. Wdrożenie ciągłego wdrażania (CD), mniej ręczne działania są, szybciej można wdrożyć nowe wersje w produkcji.

Pamiętaj, że dodanie tych procesów zmieni swoją organizację i stworzyć nowe potrzeby. Na przykład, Twój zespół może wymagać szkolenia w zakresie nowych narzędzi DevOps, które zostały wdrożone.

Prawdziwe środowisko DevOps osiągniesz, gdy Twój proces rozwoju będzie tak zautomatyzowany i zwinny, jak to tylko możliwe. Jeśli masz pytania dotyczące któregoś z etapów procesu, skontaktuj się z nami. Nouveau call-to-action

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.