Close

Najlepsze praktyki DevOps

DevOps wymaga zmian kulturowych, zautomatyzowania procesów i inwestycji w odpowiednie technologie

Portret Toma Halla
Tom Hall

Specjalista i praktyk DevOps


Najlepsze praktyki DevOps obejmują zarządzanie projektami zgodne z metodyką Agile, zastosowanie CI/CD, automatyzację, monitorowanie, wgląd i ciągłe informacje zwrotne.

DevOps — o co chodzi?


Najlepiej zdefiniować DevOps jako dążenie do poprawy komunikacji i współpracy między zespołami programistycznymi i operacyjnymi w celu zwiększenia szybkości i jakości wdrażania oprogramowania. To nowy sposób pracy, który ma znaczący wpływ na zespoły i organizacje, dla których pracują.

Znaczenie DevOps


Choć transformacja w kierunku DevOps wymaga przebudowy struktur i procesów biznesowych, wysiłek jest tego wart. W ankiecie Atlassian DevOps Trends 202099 procent respondentów stwierdziło, że DevOps ma pozytywny wpływ na ich organizację.

W innym badaniu dotyczącym DevOps, raporcie DORA 2019 State of DevOps, czytamy, że elitarni praktycy wdrażają produkty 208 razy częściej i 106 razy szybciej niż zespoły o niskim poziomie wydajności. Nie chodzi tu tylko o szybkość wprowadzania na rynek — DevOps oferuje lepszą jakość przejawiającą się tym, że elitarne zespoły odnotowują siedmiokrotnie niższy wskaźnik awarii w porównaniu z zespołami o niskim poziomie wydajności.

Ikona nakładających się okręgów
Materiały pokrewne

Zacznij korzystać za darmo

Ikona pucharu
Materiały pokrewne

Dowiedz się więcej o zaletach DevOps

Najlepsze praktyki dotyczące wdrażania DevOps


Zwinne zarządzanie projektami

Agile to iteracyjne podejście do zarządzania projektami i tworzenia oprogramowania, które pomaga zespołom dostarczać wartość klientom szybciej i przy mniejszej liczbie problemów. Zespoły Agile skupiają się na realizacji zadań w mniejszej liczbie kroków, zamiast wyczekiwać jednej ważnej daty wydania. Wymagania, plany i wyniki są oceniane w sposób ciągły, co umożliwia zespołom odpowiadanie na informacje zwrotne i reagowanie w razie potrzeby.

Poniżej przedstawiono kluczowe pojęcia dotyczące zarządzania projektami zgodnego z metodyką Agile:

​​​​​​​Przesunięcie w lewo dzięki CI/CD

Kiedy zespoły dokonują „przesunięcia w lewo” (Shift left), wprowadzają testy do swoich procesów tworzenia kodu na wczesnym etapie. Zamiast wysyłać wiele zmian do oddzielnego zespołu testowego lub QA, różne testy wykonuje się w całym procesie kodowania, dzięki czemu programiści mogą naprawić błędy lub poprawić jakość kodu podczas pracy na odpowiedniej sekcji bazy kodu. Kluczowa dla „przesunięcia w lewo” jest praktyka ciągłej integracji i ciągłego dostarczania (CI/CD) oraz wdrażania. Dowiedz się więcej o CI/CD.

​​​​​​​Tworzenie za pomocą odpowiednich narzędzi

Łańcuch narzędzi DevOps wymaga odpowiednich narzędzi dla każdej fazy cyklu życia DevOps, dając kluczowe możliwości poprawy jakości oprogramowania i szybkości dostarczania. Dowiedz się więcej na temat wybierania narzędzi DevOps i sprawdzania funkcjonalności dla każdej fazy cyklu życia DevOps.

​​​​​​​Stosowanie automatyzacji

Ciągła integracja i dostarczanie pozwala programistom na regularne scalanie kodu w głównym repozytorium. CI/CD automatyzuje proces sprawdzania kodu, od podziału na partie w określonym oknie do częstych commitów. Oprócz CI/CD niezbędnym elementem praktyk DevOps jest zautomatyzowane testowanie. Zautomatyzowane testy mogą obejmować testy kompleksowe, jednostkowe, integracyjne i testy wydajności. Dowiedz się więcej na temat włączania automatyzacji do procesów tworzenia oprogramowania. Dowiedz się więcej o automatyzacji.

​​​​​​​Monitorowanie pipeline'u DevOps i aplikacji

Ważne jest, aby monitorować pipeline DevOps, tak by błędna kompilacja lub nieudany test nie spowodowały niepotrzebnych opóźnień. Automatyzacja znacznie zwiększa szybkość tworzenia oprogramowania, ale jeśli ma dojść do awarii w zautomatyzowanym procesie i nikt o tym nie wie, lepiej wykonać pracę ręcznie. Na podobnej zasadzie ważne jest monitorowanie aplikacji produkcyjnych w celu zidentyfikowania awarii lub ograniczeń wydajności, zanim poinformują nas o tym klienci.

​​​​​​​Wgląd

Branża odeszła od monolitycznych systemów i aplikacji lokalnych do natywnych aplikacji w chmurze aplikacji opartych na mikrousługach, monitorowanie jest teraz znacznie bardziej skomplikowane. W rezultacie wzrasta zainteresowanie wglądem. Często mówi się, że trzy filary wglądu to dzienniki, ślady i wskaźniki. Dzienniki są generowane przez większość komponentów systemów i aplikacji i składają się z danych szeregów czasowych dotyczących funkcjonowania takiego systemu lub aplikacji. Ślady śledzą przepływ logiki w aplikacji. Wskaźniki obejmują rezerwację lub użycie procesora/pamięci RAM, miejsce na dysku, łączność sieciową i wiele innych parametrów. Wgląd oznacza po prostu wykorzystanie wszystkich trzech z tych źródeł informacji w celu dokonywania odkryć i prognoz dotyczących funkcjonowania złożonego systemu, co byłoby trudne do wykonania innymi sposobami. Dowiedz się więcej o wglądzie.

​​​​​​​Zbieranie ciągłych informacji zwrotnych

Ciągłe informacje zwrotne dostarczają członkom zespołu wszystkich danych potrzebnych do wykonania zadania w odpowiednim czasie. W przypadku zespołów programistycznych oznacza to, że są one niezwłocznie powiadamiane o wszelkich awariach w pipelinie. Ponadto programistom udostępniane są tak szybko jak to możliwe przejrzyste, dokładne wyniki testów kodu. Zespoły zarządzania produktem są informowane o wszelkich awariach produkcji lub obniżeniu wydajności lub zgłaszanych błędach. Dawniej uważano powszechnie, że zespół programistyczny może optymalizować swoją pracę tylko pod kątem szybkości albo jakości. Ciągłe informacje zwrotne są jednym z elementów DevOps, który umożliwia osiągnięcie obu tych celów.

​​​​​​​Zmiana kultury

DevOps wymaga współpracy, przejrzystości, zaufania i empatii. Jeśli Twoja organizacja jest jedną z niewielu firm, w których te cechy są już ugruntowane, wdrożenie praktyk DevOps nie powinno przysporzyć zespołom problemu. W przeciwnym razie potrzeba będzie trochę wysiłku, aby wypracować te cechy. Najczęściej spotykane struktury organizacyjne znajdują się w tak zwanych „silosach”, co oznacza, że różne zespoły mają oddzielne obszary odpowiedzialności i obowiązki oraz że istnieje minimalna komunikacja i współpraca między zespołami. Aby DevOps było skuteczne, trzeba wyeliminować te bariery poprzez zastosowanie praktyki „odpowiadasz za to, co tworzysz”. Nie oznacza to, że nie ma osób ani zespołów, które się w czymś specjalizują, ale że linie komunikacji i współpracy między zespołami są otwarte i wykorzystywane. Przeczytaj więcej na temat budowania kultury zespołowej.

Doskonalenie praktyk DevOps to niekończący się proces. Rozpoczynając transformację DevOps, warto skupić się na ludziach i procesach, i sięgnąć po zaawansowane narzędzia, integrację i funkcjonalność funkcji, gdy zespół stanie się dojrzalszy.

Tom Hall
Tom Hall

Tom Hall jest zwolennikiem i praktykiem DevOps, zagorzałym czytelnikiem i pianistą amatorem.
Na przestrzeni ostatnich 20 lat zdobył certyfikaty firm Novell, EMC, VMware i AWS. Pomagał w organizacji DevOpsDays w Atlancie w 2016 roku oraz w Austin w stanie Teksas w późniejszych latach.


Udostępnij ten artykuł
Następny temat

Zalecane lektury

Dodaj te zasoby do zakładek, aby dowiedzieć się więcej na temat rodzajów zespołów DevOps lub otrzymywać aktualności na temat metodyki DevOps w Atlassian.

Ilustracja DevOps

Społeczność DevOps

Ilustracja DevOps

Warsztaty symulacyjne

Ilustracja przedstawiająca mapę

Zacznij korzystać za darmo

Zapisz się do newslettera DevOps

Thank you for signing up