Artykuły
Samouczki
Interaktywne przewodniki
Najlepsze praktyki DevOps
DevOps wymaga zmian kulturowych, zautomatyzowania procesów i inwestycji w odpowiednie technologie
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.
Materiały pokrewne
Zacznij korzystać za darmo
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:
- Zacznij od przepływ pracy, który obejmuje cztery fazy: do zrobienia, w toku, przegląd kodu i gotowe. Przeczytaj więcej o przepływach pracy.
- Zespoły muszą podzielić duże projekty na mniejsze zadania i reagować na zmiany potrzeb lub zakres w miarę postępów. Przeczytaj więcej o tym, jak używać epików, historyjek i motywów do pracy nad zakresem i strukturą.
- Jak planować, śledzić i mierzyć pracę w toku? Scrum i kanban są podstawowymi modelami dla zespołów praktykujących 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.
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.