Co to jest metodyka DevOps?

Ukończone

DevOps to związek ludzi, procesów i produktów, aby umożliwić ciągłe dostarczanie wartości naszym klientom. Co dokładnie oznacza? Dołączmy do zespołu, któremu Mara wyjaśnia, czym jest metodyka DevOps i czym nie jest, i co sprawia, że zespoły osiągające najwyższe wyniki odnoszą sukcesy.

Mara zwołała krótkie spotkanie z członkami swojego zespołu. Każdy pojawił się, ale nikt nie chce tam być. Mara postawiła na stole pudełko pączków.

Mara: Cześć, dziękuję za przybycie. Chciałabym porozmawiać o naszej mapie strumienia wartości i o tym, jak możemy zwiększyć wydajność naszych procesów.

Mapa strumienia wartości Mara jest nadal na tablicy z poprzedniego spotkania:

Screenshot of a whiteboard showing the value stream map.

Mara: Mapa strumienia wartości pokazuje, gdzie tracimy wydajność dostarczania wartości użytkownikom końcowym. Podobnie jak wszyscy inni, możemy poprawić. I możemy zdecydować, które obszary należy zająć się najpierw.

Andy: To pokazuje nam, gdzie mamy problemy, ale nie to, co z nimi zrobić.

Mara: Prawda, to ćwiczenie, które pomaga wskazać nas we właściwym kierunku. Jeśli chodzi o to, co zrobić z naszymi problemami, myślę, że metodyka DevOps pomoże nam. W mojej ostatniej firmie nasze współczynniki wdrażania bardzo się poprawiły, czasy realizacji były o wiele krótsze, a operacje miały o wiele mniej zdarzeń. Zajęło nam trochę czasu, aby się tam dostać, ale warto było. DevOps nie jest szybkim rozwiązaniem problemów.

Tim: Znam kogoś, kto właśnie dostał pracę jako inżynier DevOps. Myślę, że to coś bardziej dla deweloperów. Czyli dla kogoś takiego jak Ty, Andy.

Mara: DevOps nie jest stanowiskiem.

Amita: Czy istnieje jakiś program, który możemy uzyskać, który pomoże nam razem, czy szablon? Może jest coś takiego, jak arkusz kalkulacyjny metodyki DevOps.

Mara: DevOps nie jest oprogramowaniem.

Andy: To bardziej jak metodologia.

Mara: Naprawdę nie.

Andy, Amita, Tim: Więc co to jest?!

Mara: Oto definicja, z poziomu których lubię używać:

DevOps to związek ludzi, procesów i produktów umożliwiający ciągłe dostarczanie wartości użytkownikom końcowym.

W rzeczywistości Abel Wang, ambasador chmury w firmie Microsoft, ma świetny zestaw filmów wideo z szybkimi odpowiedziami na niektóre z naszych wielkich pytań. Zobaczmy, jak Abel definiuje metodykę DevOps:

Zapytaj Abela

Naszym celem jest dostarczanie klientom gier, które pokochają. Robimy to, pracując razem przy użyciu wspólnego zestawu praktyk i narzędzi.

Amita: Co to znaczy? Jakie wspólne praktyki? Jakie wspólne narzędzia?

Mara: Oto, co mam na myśli przez praktyki:

  • Planowanie agile: razem utworzymy listę prac, którą widzą wszyscy w zespole i w zarządzaniu. Ustalimy priorytet poszczególnych pozycji, aby wiedzieć, nad czym musimy pracować w pierwszej kolejności. Lista prac może zawierać historie użytkowników, błędy i inne informacje, które mogą nam pomóc.
  • Ciągła integracja: zautomatyzujemy sposób tworzenia i testowania kodu. Będziemy uruchamiać ten proces za każdym razem, gdy członek zespołu zatwierdzi zmiany w kontroli wersji.
  • Ciągłe dostarczanie (CD): ciągłe dostarczanie to sposób testowania, konfigurowania i wdrażania z kompilacji do środowiska qa lub produkcyjnego.
  • Monitorowanie: użyjemy telemetrii, aby uzyskać informacje o wydajności i wzorcach użycia aplikacji. Możemy wykorzystać te informacje, aby poprawić swoją pracę podczas kolejnych iteracji.

Amita: Nie wiem o automatycznym testowaniu. Moje testy są ręczne i robię je po Andy ręce od kodu do mnie. Nie mam czasu, aby zmieniać sposób wykonywania wszystkiego, co robię.

Tim: Nie mogę pozwolić, aby którykolwiek z Was wdrożonych w środowisku produkcyjnym.

Andy: To przestraszy zarządzanie. Nigdy nie myślą dalej niż następne wydanie i zawsze chcą go wczoraj.

Mara: Wiem, co masz na myśli o zarządzaniu. Przygotowałam te materiały informacyjne na temat tego, co sprawia, że zespół osiąga najlepsze wyniki.

Co sprawia, że zespół osiąga najlepsze wyniki?

Oto materiały informacyjne, które przygotowała Mara. Te informacje są oparte na raportach z badań i ankietach dotyczących metodyki DevOps przeprowadzonych z udziałem specjalistów ds. technicznych na całym świecie.

Metodyka DevOps pomaga firmom eksperymentować ze sposobami zwiększania akceptacji i zadowolenia klientów. Może to prowadzić do lepszej wydajności organizacji, a często do większej rentowności i udziału w rynku.

Używa ona metryk do tworzenia czterech kategorii, według których można porównać elitarne wykonawców z niskimi wydajnościami.

Elitarni wykonawcy:

  • Częstsze wdrażanie

    W rzeczywistości niektóre zespoły wdrażają kilkadziesiąt razy dziennie.

    Praktyki, takie jak monitorowanie, ciągłe testowanie, zarządzanie zmianami bazy danych i integrowanie zabezpieczeń wcześniej w procesie tworzenia oprogramowania, pomagają elitarnym wykonawcom wdrażać częściej i z większą przewidywalnością i zabezpieczeniami.

  • Krótszy czas realizacji od zatwierdzenia do wdrożenia

    Czas realizacji to czas, w ciągu którego funkcja trafia do klienta. Dzięki podzieleniu pracy na mniejsze partie, zautomatyzowaniu ręcznych procesów i częstszemu wdrażaniu, zespoły osiągające najwyższe wyniki mogą w ciągu godzin lub dni wykonać to, co kiedyś zajmowało tygodnie lub nawet miesiące.

  • Mniejszy współczynnik niepowodzeń zmian

    Nowa funkcja, która kończy się niepowodzeniem w środowisku produkcyjnym lub powoduje przerwanie innych funkcji, może spowodować utratę możliwości między Tobą a użytkownikami. Gdy zespoły o wysokiej wydajności dojrzały, zmniejszają współczynnik niepowodzeń zmian w miarę upływu czasu.

  • Szybsze odzyskiwanie sprawności po zdarzeniach

    Jeśli wystąpią jakieś zdarzenia, zespoły osiągające najwyższe wyniki potrafią szybciej odzyskać sprawność. Działanie na metrykach pomaga elitarnym wykonawcom szybciej odzyskiwać dane, a jednocześnie wdrażać je częściej.

Sposób implementacji infrastruktury chmury także ma znaczenie. Chmura zwiększa wydajność dostarczania oprogramowania, a zespoły, które przyjmują podstawowe cechy chmury, mogą stać się elitarnymi wykonawcami.

Outsourcing może zaoszczędzić pieniądze i zapewnić elastyczną pulę pracy, ale musi być używany w odpowiednich obszarach. Zespoły o niskiej wydajności są bardziej skłonne do outsourcingu całych funkcji (takich jak testowanie i operacje) niż ich odpowiedniki o wysokiej wydajności.

Dolna linia

Metodyka DevOps jest kluczowym powodem, dla którego wielu elitarnych wykonawców jest w stanie dostarczać klientom wartość w postaci nowych funkcji i ulepszeń, szybciej niż ich konkurenci. W tym krótkim filmie wideo Abel wyjaśnia, dlaczego warto dowiedzieć się więcej na temat metodyki DevOps:

Zapytaj Abela

Czym nie jest metodyka DevOps

Biorąc pod uwagę, czym jest metodyka DevOps, ważne jest również, aby upewnić się, że dowiemy się, czego nie jest. Metodyka DevOps nie jest:

  • Metodologia.
  • Konkretny element oprogramowania.
  • Szybka poprawka wyzwań organizacji.
  • Tylko zespół lub stanowisko (chociaż te tytuły są dość powszechne w branży).