Close

Historia DevOps

W jaki sposób zespoły programistyczne i operacyjne połączyły siły w celu rozwiązania pewnego problemu dotyczącego funkcjonalności w branży.

Ian Buchanan

Główny inżynier ds. rozwiązań


Pomimo rozwoju metodologii Agile, zespoły programistyczne i operacyjne przez lata pracowały w „silosach”. DevOps to kolejna ewolucja narzędzi i praktyk współpracy pozwalająca szybciej udostępniać lepsze oprogramowanie.

Współpraca między programistami a administratorami

Początki ruchu DevOps sięgają przełomu roku 2007 i 2008, kiedy działy administracji IT i programistów zaczęły głośno wyrażać swoją dezaprobatę dla poziomu dysfunkcji w branży.

Sprzeciwiali się oni tradycyjnemu modelowi tworzenia oprogramowania, w którym osoby odpowiedzialne za pisanie kodu były organizacyjnie i funkcjonalnie oddzielone od osób odpowiedzialnych za jego wdrażanie i wsparcie techniczne.

Programiści i członkowie zespołów IT/administracyjnych mieli odrębne (i często sprzeczne) cele, odrębne kierownictwo działu, odrębne kluczowe wskaźniki wydajności, według których byli oceniani, a często pracowali na odrębnych piętrach lub nawet w odrębnych budynkach. W efekcie powstawały odizolowane zespoły, które zajmowały się wyłącznie swoją działką, pracując po wiele godzin dziennie i wypuszczając niedopracowane wydania, które nie zadowalały klientów. W końcu ktoś powiedział „musi być jakiś lepszy sposób”. Przedstawiciele obu społeczności się spotkali i zaczęli rozmawiać, a dyskusję napędzały takie osoby, jak Patrick Dubois, Gene Kim i John Willis.

To, o czym na początku mówiło się wyłącznie na forach internetowych i lokalnych spotkaniach, dziś stanowi motyw przewodni całego środowiska oprogramowania i pewnie z tego powodu jesteś tutaj teraz. Wraz z zespołem odczuwacie niezadowolenie związane z izolacją zespołów i niesprawną komunikacją w obrębie firmy.

materiały pokrewne

Tworzenie kultury DevOps

materiały pokrewne

Dowiedz się więcej o zaletach DevOps

Korzystasz z metodyk Agile w zakresie planowania i programowania, ale każda próba wypuszczenia kodu wciąż przypomina scenę dramatu. Prawdopodobnie obiło Ci się o uszy, jaki magiczny wpływ na pracę zespołów ma DevOps: prawie wszystkie (99%) zespoły DevOps biorące udział w ankiecie 500 praktyków DevOps przeprowadzonej przez Atlassian¹ były przekonane o skuteczności kodu, który przechodzi do produkcji.

Jednak DevOps to nie magia, a transformacja nie następuje z dnia na dzień. Jest też dobra wiadomość. Wcale nie musisz czekać, aż zarząd u samej góry wystąpi z jakąś gigantyczną inicjatywą. Jeśli zrozumiesz istotę DevOps i zaczniesz wprowadzać niewielkie, stopniowe zmiany, Twój zespół może już teraz rozpocząć swoją drogę w kierunku DevOps.


Nie ograniczanie się do Agile

DevOps dotyczy każdej fazy cyklu prac programistycznych i operacyjnych. Od planowania i kompilacji po monitorowanie i iterację — DevOps łączy umiejętności, procesy i narzędzia z każdego aspektu organizacji inżynieryjnej i informatycznej.

Metodologie Agile pomagają zespołom planować i produkować, dzieląc pracę na możliwe do zarządzania zadania i kamienie milowe. Agile wykorzystuje sprinty, backlogi, epiki i historyjki, aby umożliwić przypisywanie pracy wykwalifikowanym członkom zespołu, dostosowywanie harmonogramów zależnie od potrzeb i dostarczanie klientom wysokiej jakości produktów i usług. Dowiedz się więcej o Agile.

Ciągła integracja i dostarczanie: ciągła integracja i dostarczanie to kamień węgielny praktyk DevOps, który opiera się na automatyzacji scalania i wdrażania kodu. Tradycyjne metody programistyczne wymagają od inżynierów ręcznego aktualizowania zmian w bazie kodu oraz przeprowadzania dodatkowych kontroli ręcznych w celu upewnienie się, że kod ma odpowiednią jakość i jest gotowy do przekazania do etapu produkcyjnego. Wdrożenia planuje się z tygodniowymi lub miesięcznymi opóźnieniami w celu wyeliminowania możliwości wystąpienia błędów lub incydentów. Praktyki DevOps eliminują te opóźnienia, automatyzując funkcje scalania, testowania i wdrażania. Zespoły o wysokiej wydajności wykorzystują CI/CD, aby zwiększyć częstotliwość wdrażania z kilku miesięcy do wielu razy każdego dnia. Dowiedz się więcej o CI/CD

Repozytoria Git i przepływy pracy umożliwiają automatyzację i kontrolę wersji, które są fundamentalnymi aspektami praktyk DevOps. Ponieważ Git jest rozproszony, operacje takie jak commit, szukanie powodu błędów, różnicowanie, scalanie i generowanie dziennika mogą odbywać się szybciej. Git obsługuje również rozgałęzienie, scalanie i przepisywanie historii repozytorium, co umożliwia zwiększenie wydajności przepływów pracy i narzędzi. Dowiedz się więcej na temat Git.

Zarządzanie usługami IT dotyczy sposobu, w jaki zespoły IT zarządzają kompleksowym świadczeniem usług IT dla klientów. Obejmuje to wszystkie procesy oraz działania w zakresie projektowania, tworzenia i dostarczania usług IT oraz zapewniania dla nich wsparcia. Podstawową koncepcją ITSM jest przekonanie, że IT powinno być dostarczane jako usługa, która wykracza poza podstawowe wsparcie IT. Zespoły ITSM nadzorują wszelkie technologie wykorzystywane w miejscu pracy, od laptopów po serwery i usługi o znaczeniu krytycznym dla działalności. Dowiedz się więcej o ITSM.

Zespoły zarządzające incydentami reagują na nieplanowane zdarzenie lub przerwanie świadczenia usługi i przywracają ją do stanu funkcjonalnego. W modelu „odpowiadasz za to, co stworzyłeś” programiści współpracują z działem operacyjnym w celu zmniejszenia prawdopodobieństwa wystąpienia incydentu, a także skrócenia średniego czasu przywrócenia sprawności działania, jeśli już dojdzie do awarii. Dowiedz się więcej o zarządzaniu incydentami.


Stan DevOps

Organizacje i zespoły nadal stosują praktyki i narzędzia DevOps. W ankiecie przeprowadzonej wśród 500 praktyków DevOpsfirma Atlassian ustaliła, że 50% organizacji praktykuje DevOps od ponad trzech lat.

Niestety pomimo zgodności co do definicji DevOps i korzyści płynących z wdrażania praktyk DevOps, organizacje i zespoły wciąż mają trudności z wykorzystaniem pełnego potencjału DevOps. Zespoły muszą skupiać się na ciągłych informacjach zwrotnych, iteracji i doskonaleniu, aby wdrożyć je lepiej i szybciej i zaspokoić wymagania klientów.

Ian Buchanan
Ian Buchanan

Ian Buchanan is a Principal Solutions Engineer for DevOps at Atlassian where he focuses on the emerging DevOps community and the application of Jira, Bitbucket, and Bamboo for better continuous integration and continuous delivery. While Ian Buchanan has broad and deep experience with both Java and .NET, he is best known as a champion of lean and agile practices in large enterprises.

During his career, he has successfully managed enterprise software development tools in all phases of their lifecycle, from cradle to grave. He has driven organization-wide process improvement with results of greater productivity, higher quality, and improved customer satisfaction. He has built multi-national agile teams that value self-direction and self-organization. When not speaking or coding, you are likely to find Ian indulging his passions in parsers, meta-programming, and domain-specific languages.


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