Trendy DevOps 2024: 5 rzeczy, które warto wiedzieć

Discover how to deliver better software and systems in rapidly scaling environments. Join our Community

DevOps jest obecnie powszechnie stosowany, ale nieustannie ewoluuje. Poznaj powody, dla których powstał DevOps, oraz dowiedz się, jak zmienił się w ciągu ostatniej dekady. Jakie trendy kształtują dziś DevOps?

Black background featuring purple circle, representing DevOps trends featured image

Key Takeaways

Trend czy tradycja?: DevOps nie jest już przełomowym trendem, lecz ugruntowanym sposobem prowadzenia działalności, zakorzenionym w praktykach zarówno programistów, jak i specjalistów IT. Oznacza to jego ewolucję od radykalnego pomysłu do powszechnie stosowanej metodyki.

Filozofia DevOps: DevOps oznacza połączenie tworzenia oprogramowania i operacji IT w celu przyspieszenia dostarczania oraz poprawy jakości oprogramowania. Opiera się na kulturze współpracy i ciągłej ewolucji, dążąc do przełamania tradycyjnych podziałów na odizolowane zespoły.

Ewolucja technologii wspiera DevOps: Rozwój konteneryzacji, ekosystemów natywnych dla chmury oraz infrastruktury jako kodu (IaC) wzmocnił ruch DevOps, zapewniając większą elastyczność i wydajność procesów tworzenia oraz wdrażania oprogramowania.

Bezpieczeństwo zyskuje ważne miejsce: Pojawienie się DevSecOps integruje bezpieczeństwo z początkowymi etapami tworzenia oprogramowania, podkreślając zmianę w kierunku priorytetowego traktowania wczesnego wykrywania podatności w celu minimalizacji ryzyka.

Kultura i narzędzia idą w parze: Choć DevOps znacząco korzysta z postępu technologicznego, takiego jak sztuczna inteligencja i uczenie maszynowe, jego istota koncentruje się na budowaniu pozytywnej kultury, która stawia na pierwszym miejscu ludzi, współpracę i ciągłe doskonalenie.

Kiedy trend technologiczny przestaje być trendem i po prostu staje się codziennością biznesową?

Moglibyśmy długo dyskutować o tym konkretnym punkcie zwrotnym – nie ma jednej „poprawnej” odpowiedzi na to pytanie. Wystarczy powiedzieć, że gdy „trend” wkracza już w drugą dekadę – jak ma to miejsce w przypadku kultury i praktyk DevOps – staje się po prostu sposobem wykonywania pracy. (Według większości źródeł DevOps zaczął przybierać swój obecny kształt około 2007 roku.)

W naszym Kompletnym przewodniku po DevOps zdefiniowaliśmy to pojęcie w następujący sposób: „DevOps to zestaw praktyk i filozofii łączących tworzenie oprogramowania (Dev) i operacje IT (Ops), mających na celu skrócenie cyklu życia tworzenia systemów oraz zapewnienie ciągłego dostarczania oprogramowania o wysokiej jakości. To podejście kładzie nacisk na współpracę, komunikację i integrację między programistami a specjalistami IT”.

We wcześniejszych fazach dla niektórych specjalistów IT brzmiało to dziwnie i przerażająco – wręcz radykalnie. Dziś jest tak powszechne, że stało się codziennością. W raporcie CD Foundation „Stan CI/CD” 83% programistów stwierdziło, że angażuje się w działania związane z DevOps. To jeszcze nie wszyscy, ale z pewnością jesteśmy już blisko.

Jednocześnie DevOps – który jest w równym stopniu kulturą, co dowolnym konkretnym zestawem narzędzi lub procesów – z samej swojej natury nieustannie ewoluuje.

W tym artykule przyjrzymy się temu, jak dotarliśmy do obecnego punktu – oraz jak DevOps nadal ewoluuje. Najpierw ważne jest zrozumienie, dlaczego DevOps w ogóle istnieje.

Dlaczego DevOps jest ważny?

DevOps łączy pojęcia „tworzenie oprogramowania” i „operacje” – dwie od dawna istniejące dziedziny technologii.  Głównym celem DevOps jest wspieranie wysokiego stopnia integracji między tymi dwoma ważnymi elementami systemu IT, ze szczególnym naciskiem na ciągłe dostarczanie i testowanie jakości oprogramowania. Tradycyjnie funkcje te były rozdzielone i odizolowane – powodowało to wąskie gardła, opóźnienia w dostarczaniu, problemy z jakością, wzajemne obwinianie się (gdy coś szło nie tak), luki w zabezpieczeniach i inne problemy.

DevOps – zarówno jako termin, ale przede wszystkim jako kultura i praktyka – odzwierciedla potrzebę, aby organizacje tworzące oprogramowanie budowały je i wdrażały szybciej oraz częściej, bez poświęcania jakości, niezawodności ani bezpieczeństwa.

Ogromny rozwój DevOps w ciągu mniej więcej ostatniej dekady zbiegł się z wieloma powiązanymi trendami technologicznymi, które umożliwiły stosowanie praktyk DevOps i wyrosły z zasad i kultury DevOps. Do najważniejszych czynników, które doprowadziły nas do obecnego punktu, należą:

Konteneryzacja: Obserwujemy coraz szersze wykorzystanie Dockera i innych narzędzi do konteneryzacji oprogramowania, co pomogło zapewnić przenośność aplikacji między różnymi platformami, takimi jak rozmaite publiczne i prywatne platformy chmurowe (w tym Amazon Web Services, Microsoft Azure i Google Cloud Platform), a także infrastruktura lokalna.

Ekosystem natywny dla chmury: Zaobserwowaliśmy gwałtowny wzrost liczby natywnych dla chmury platform do tworzenia aplikacji, które zapewniają skalowalność infrastruktury i usług. Aby ująć cały krajobraz technologii natywnych dla chmury w jednym miejscu, potrzebna byłaby tablica wielkości billboardu — nawet w przeglądarce internetowej prawdopodobnie trzeba będzie przewijać stronę, aby zobaczyć wszystko!

Cyberbezpieczeństwo: Choć początkowo DevOps mógł koncentrować się na ściślejszym powiązaniu prac programistycznych i operacyjnych, uwydatnił również potrzebę nadania priorytetu bezpieczeństwu na wczesnym etapie cyklu życia tworzenia oprogramowania (SDLC). DevSecOps wyłonił się jako ważny trend, integrując bezpieczeństwo z potokiem DevOps zamiast traktować je jako odrębny element. Między innymi usprawniło to wczesne wykrywanie podatności, minimalizując ryzyko i skalę skutków w środowisku produkcyjnym.

Infrastruktura jako kod (IaC): DevOps uczynił automatyzację pełnoprawnym elementem środowisk IT, a trend ten był szczególnie widoczny w obszarze infrastruktury; zarządzanie infrastrukturą zwykle było bardzo ręcznym i powtarzalnym zadaniem, jednak wprowadzenie infrastruktury jako kodu (IaC) zapewniło wydajne, niezawodne i powtarzalne mechanizmy zarządzania infrastrukturą, na której działają aplikacje.

Kultura: DevOps nigdy nie dotyczył wyłącznie technologii. Jego celem było raczej nadanie priorytetu ludziom i uwolnienie ich od niepotrzebnych obciążeń lub problemów w pracy. W rezultacie DevOps pomógł ponownie skupić uwagę na znaczeniu zdrowej i nietoksycznej kultury pracy, kładąc nacisk między innymi na bezpieczeństwo psychologiczne, analizy po incydentach pozbawione obwiniania, wspólne systemy motywacyjne, ciągłe doskonalenie i wiele innych aspektów.

Sztuczna inteligencja i uczenie maszynowe: Choć duże modele językowe (LLM) i generatywna sztuczna inteligencja cieszą się obecnie ogromną popularnością, AI/ML z pewnością nie jest nowością. W szczególności uczenie maszynowe jest już wykorzystywane między innymi do analityki predykcyjnej, wykrywania błędów i automatyzacji procesów w różnych kontekstach DevOps. 

Get Free Access
Get regular tech leadership wisdom for delivering better software and systems.
Get Free Access

Have an account? Log In

Chociaż większość powyższych wzorców funkcjonuje już od dość dawna, nie oznacza to, że DevOps zatrzymał się w miejscu. Wydaje się równie popularny jak zawsze — i równie poszukiwany z perspektywy rekrutacji. Niedawne ogólnokrajowe wyszukiwanie ofert pracy na stanowisko inżyniera DevOps w Stanach Zjednoczonych na LinkedIn — pojedynczy tytuł stanowiska wśród wielu potencjalnie odpowiednich ról — przyniosło niemal 5000 otwartych ofert pracy.

Wraz z dojrzewaniem DevOps nadal ewoluował. Przyjrzyjmy się pięciu najbardziej widocznym sposobom, na jakie DevOps wciąż się zmienia.

1. Powszechne wdrażanie Kubernetes

Wraz z gwałtownym wzrostem popularności kontenerów stało się jasne, że zespoły DevOps potrzebują lepszego sposobu zarządzania tym wszystkim. Wtedy pojawił się Kubernetes, który stał się standardem w zakresie orkiestracji kontenerów oraz wspólną platformą (dostępną w wielu dystrybucjach lub odmianach) umożliwiającą zespołom zarządzanie aplikacjami i infrastrukturą.

„Kubernetes i kontenery umożliwiły zespołom pakowanie wszystkich niezbędnych środowisk i uruchamianie kodu na standardowej platformie, dzięki czemu zespoły operacyjne muszą martwić się wyłącznie o kondycję platformy Kubernetes” — mówi nam Vitor Avancini, dyrektor ds. technologii w firmie konsultingowej zajmującej się sztuczną inteligencją i danymi, Indicium.

Kubernetes oferuje solidną infrastrukturę automatyzacji, sieciową i pamięci masowej dla obciążeń natywnych dla chmury. To także dzięki niemu jedna z początkowych obietnic konteneryzacji — możliwość przenoszenia obciążeń między środowiskami bez konieczności ich zasadniczej przebudowy — stała się bardziej realistyczna: „Ułatwiło to zespołowi operacyjnemu kopiowanie i wklejanie wielu środowisk, ponieważ nie potrzebujesz różnych środowisk dla różnych stosów aplikacji”.

To pomaga wyjaśnić, dlaczego według badania z 2023 roku przeprowadzonego przez Cloud Native Computing Foundation około dwie trzecie organizacji korzysta z Kubernetes w środowiskach produkcyjnych, a kolejne 18 procent aktywnie ocenia jego wykorzystanie w produkcji.

Narzędzia DevOps, które pomogą: Kubernetes (surowa dystrybucja otwartoźródłowa), a także szeroki wybór komercyjnego i zarządzanego oprogramowania do zarządzania kontenerami.

2. Automatyzacja jest wszędzie w DevOps

Kubernetes jest najlepszym przykładem szerszego trendu, który zakorzenił się we wczesnych dniach DevOps: Automatyzujmy wszystko. 

To, co zaczęło się jako mem, zbliża się do rzeczywistości w tym sensie, że automatyzacja wydaje się obecna wszędzie w potokach DevOps, CI/CD i GitOps — od skanowania zabezpieczeń, przez przeglądy QA, po zadania związane z kompilowaniem i wdrażaniem, egzekwowanie zasad i wiele więcej. Widać to również w oszałamiającej różnorodności narzędzi do automatyzacji. Niektóre z nich — mianowicie narzędzia niskokodowe i bezkodowe — nie wymagają nawet wiedzy programistycznej.

„Wraz ze swobodą, jaką [DevOps] daje zespołom, sytuacja może stać się chaotyczna, dlatego narzędzia do [automatyzacji] mogą odgrywać ważną rolę w utrzymaniu porządku i zarządzania” — mówi Avancini, zauważając, że narzędzia IaC, takie jak Terraform, nadal odgrywają tu znaczącą rolę.

Narzędzia DevOps, które pomogą: Terraform, Ansible

Ustalanie priorytetów jest bardzo częstym wyzwaniem, a firmy często odkładają krytyczne zadania związane z chmurą, takie jak optymalizacja baz danych i rozwój infrastruktury, na późniejsze kwartały, a nawet na kolejny rok. Zespoły DevOps chętnie zajęłyby się tymi problemami, ale gdy już zasiądą do pracy, sama liczba zadań często utrudnia ustalenie, które kwestie mają największą wartość i powinny otrzymać najwyższy priorytet.

 

Właśnie dlatego firma Zesty rozszerzyła swoją ofertę o platformę zawierającą praktyczne rekomendacje, które pomagają firmom ustalać priorytety i skutecznie wdrażać w pierwszej kolejności najcenniejsze usprawnienia. Aby skutecznie ustalać priorytety tych zadań, firmy potrzebują jasnych informacji na temat związanych z nimi nakładów czasowych i finansowych. Platformy automatyzujące te procesy są niezwykle wartościowe, ponieważ umożliwiają podejmowanie lepszych decyzji i efektywniejszą alokację zasobów. Zespoły DevOps coraz lepiej dostrzegają wartość, jaką zapewniają platformy dzięki automatyzacji, widoczności i praktycznym rekomendacjom.

Share This Quote on:

3. Architektura mikrousług jest również wszędzie

Architektura mikrousług – która zasadniczo polega na podziale większych aplikacji na mniejsze, odrębne komponenty działające niezależnie, a jednocześnie współpracujące ze sobą w celu utworzenia większego systemu – nie jest nowym rozwiązaniem. Jednak przez wiele lat takie podejście nie zawsze było realistyczne dla wielu organizacji.

Obecnie trzy czwarte (74%) firm korzysta z mikrousług, według firmy Gartner, a niemal wszystkie pozostałe (23%) planują zacząć to robić w najbliższej przyszłości.

„Mikrousługi dały zespołom możliwość wyboru własnych stosów narzędzi, podczas gdy wcześniej centralne zespoły operacyjne musiały zapewniać zespołom deweloperskim różne środowiska testowe i wdrożeniowe” – mówi Avancini.

Można tu rozpocząć dyskusję o tym, co było pierwsze – kura czy jajko – ponieważ architektura mikrousług naturalnie pasuje do kontenerów i Kubernetes. Dojrzałość pierwszego rozwiązania prawdopodobnie przyczyniła się więc do upowszechnienia drugiego, podobnie jak ogólny rozwój technologii natywnych dla chmury i procesu tworzenia oprogramowania. (Nowe aplikacje, czyli aplikacje tworzone od podstaw, powstające obecnie, są częściej projektowane z myślą o środowiskach natywnych dla chmury, a mikrousługi stanowią jedną z głównych opcji architektonicznych).

Architektura mikrousług rozwijała się również równolegle z przetwarzaniem bezserwerowym (czyli architekturą bezserwerową). Są to odrębne, ale często powiązane ze sobą koncepcje – prostym sposobem na ich rozróżnienie jest stwierdzenie, że mikrousługi to podejście architektoniczne do projektowania oprogramowania, podczas gdy architektura bezserwerowa to podejście architektoniczne do sposobu, w jaki to oprogramowanie faktycznie działa.

Narzędzia DevOps pomocne w pracy: Prometheus, Compass, AWS Fargate

4. Inżynieria platformowa to nowy DevOps (w pewnym sensie)

W porządku, nagłówek jest nieco przesadzony – inżynieria platformowa i DevOps to różne dziedziny, ale ich wzajemne powiązania stale się rozwijają. Przykładem potwierdzającym tę obserwację jest fakt, że wieloletni raport Puppet „Stan DevOps” miał w 2024 roku podtytuł: „Ewolucja inżynierii platformowej”.

Inżynieria platformowa to dziedzina polegająca na tworzeniu platform wewnętrznych – z dużym naciskiem na samoobsługę – aby zapewnić deweloperom i innym specjalistom technicznym wszystko, czego potrzebują do tworzenia aplikacji i usług. Podobnie jak w przypadku DevOps, duży nacisk kładzie się na automatyzację infrastruktury, ustandaryzowane zestawy narzędzi i przepływy pracy oraz inne podobne rozwiązania. Na przykład udostępnienie środowiska programistycznego lub testowego nie powinno wymagać wysłania zgłoszenia do całkowicie odrębnego zespołu zarządzającego infrastrukturą.

„[W]ażnym trendem jest inżynieria platformowa, która zapewni narzędzia i praktyki umożliwiające zespołom deweloperskim nie tylko tworzenie aplikacji, ale także ich testowanie, monitorowanie i przywracanie poprzednich wersji” w ujednolicony, spójny sposób – mówi Avancini – bez konieczności regularnego proszenia specjalistów ds. operacji o infrastrukturę i usługi potrzebne do realizacji tych zadań.

Avancini zauważa również ogólną zmianę w DevOps w kierunku scentralizowanych procesów – co na pierwszy rzut oka może wydawać się sprzeczne z intuicją, biorąc pod uwagę organiczny rozwój wielu kultur DevOps. Inżynierię platformową można jednak postrzegać właśnie w tym kontekście: DevOps nie oznacza anarchii. Deweloperzy i inni specjaliści IT nadal potrzebują narzędzi, infrastruktury i – tak – mechanizmów kontroli.

W tym kontekście można również czasami spotkać terminy Wewnętrzna platforma deweloperska (IDP) oraz Zintegrowane środowisko programistyczne (IDE).

Narzędzia DevOps pomocne w pracy: Kubernetes, Humanitec

More Articles

5. AI będzie odgrywać coraz większą rolę w DevOps

Powstające zastosowania AI – ostatnio reprezentowane przede wszystkim przez nową klasę aplikacji generatywnej AI opartych na LLM, które w ostatnim czasie przyciągnęły dużą uwagę – prawdopodobnie znajdą również zastosowanie w procesach i łańcuchach narzędzi DevOps. Istnieje nawet określenie opisujące to połączenie: AIOps.

Być może najprościej jest zastanowić się nad tym, gdzie AI okaże się przydatna, z szerszej perspektywy automatyzacji: jeśli coś można zautomatyzować albo jeśli ludzką inteligencję i wysiłek można w jakiś sposób wykorzystać, AI może (i prawdopodobnie będzie) odgrywać w tym rolę.

„Wsparcie AI odegra ważną rolę w DevOps, głównie w zakresie wsparcia podczas przeglądu kodu, analizy jakości i bezpieczeństwa kodu oraz automatycznego opisywania wszystkich skutków, jakie może mieć nowy kod po wdrożeniu” – mówi Avancini.

Rzeczywiście, istnieje cała lista potencjalnych zastosowań, z których wiele dopiero się pojawia. Należy spodziewać się, że produktywność programistów i automatyzacja bezpieczeństwa będą w najbliższej przyszłości dwoma głównymi obszarami zainteresowania.

Narzędzia DevOps, które mogą pomóc: GitHub Copilot 

Podsumowanie

Kultura i praktyki DevOps przetrwały próbę czasu – ale nie oznacza to, że pozostają niezmienne. Jakie są najnowsze trendy DevOps w Twojej organizacji? W jakim kierunku, Twoim zdaniem, będzie rozwijać się DevOps w nadchodzących latach? Dołącz do biuletynu The CTO Club, aby otrzymywać więcej wiadomości i informacji branżowych oraz brać udział w dyskusjach!

Kevin Casey
Kevin Casey is an award-winning technology and business writer with deep expertise in digital media. He covers all things IT, with a particular interest in cloud computing, software development, security, careers, leadership, and culture. Kevin's stories have been mentioned in The New York Times, The Wall Street Journal, CIO Journal, and other publications. His InformationWeek.com on ageism in the tech industry, "Are You Too Old For IT?," won an Azbee Award from the American Society of Business Publication Editors (ASBPE), and he's a former Community Choice honoree in the Small Business Influencer Awards. In the corporate world, he's worked for startups and Fortune 500 firms – as well as with their partners and customers – to develop content driven by business goals and customer needs. He can turn almost any subject matter into stories that connect with their intended audience, and has done so for companies like Red Hat, Verizon, New Relic, Puppet Labs, Intuit, American Express, HPE, Dell, and others. Kevin teaches writing at Duke University, where he is a Lecturing Fellow in the nationally recognized Thompson Writing Program.
Follow the author:

You may also like