Ze względu na coraz większe oczekiwania klientów, stale rosnącą konkurencję i zmiany na rynku IT firmy stanęły przed wyzwaniem szybkiego wytwarzania oprogramowania, przy jednoczesnym zachowaniu jego wysokiej jakości. Sposobem na zwiększenie efektywności jest praktyka ciągłej integracji (CI) i ciągłego dostarczania (CD), która umożliwia z jednej strony szybką identyfikację błędów, z drugiej zaś – ciągłe wdrażanie zmian. W realizacji podejścia CI/CD pomagają odpowiednie narzędzia i technologie – dostępne zarówno komercyjnie, jak i na rynku open source. Z tych drugich korzysta niemal 90 proc. specjalistów[1], choć nie bez przeszkód. Jakie czynniki wpływają na efektywność zespołów stosujących praktyki ciągłej integracji / ciągłego wdrażania?
Na skróty:
DevOps na szczycie dużych organizacji i freelancerów
Choć jeszcze nie tak dawno zespół programistów i zespół operacyjny funkcjonowały raczej osobno, a współpraca między nimi nie należała do najłatwiejszych, zmiany na rynku wymusiły inne funkcjonowanie organizacji. Dziś aż 83 proc. programistów deklaruje, że angażuje się w zagadnienia związane z DevOps[2]. W przypadku freelancerów odsetek ten jest nieco niższy od średniej i wynosi 79 proc. Jednak w małych, średnich i dużych firmach kształtuje się na poziomie 88-90 proc.
Deweloperzy zapytani o wykorzystywane praktyki DevOps wskazują najczęściej monitorowanie wydajności oprogramowania, zatwierdzanie wdrożenia kodu na produkcję, testowanie aplikacji pod kątem luk w zabezpieczeniach, ciągłą integrację (CI) i ciągłe wdrażanie (CD). Jak podkreśla Dariusz Świąder, prezes Linux Polska, CI/CD nie tylko usprawnia pracę nad oprogramowaniem, lecz także przynosi firmie korzyści biznesowe.
– Implementacja CI/CD w organizacji przekłada się bezpośrednio na wyższą jakość oprogramowania. Dzięki automatycznemu testowaniu możliwe jest wykrycie luk w kodzie na etapie rozwoju, co ogranicza ryzyko błędów w produkcie finalnym. Automatyzacja skraca również czas pracy nad projektem, co w dobie coraz większej konkurencji rynkowej jest niezbędne. Duże znaczenie, zwłaszcza w kontekście podejścia DevOps, ma poprawa współpracy i komunikacji między różnymi zespołami w organizacji. Dzięki wszystkim tym czynnikom oprogramowanie powstaje szybciej, ale nadal charakteryzuje się wysoką jakością. To z kolei przekłada się na zaufanie i zadowolenie klientów – wyjaśnia Dariusz Świąder, prezes Linux Polska.
CI/CD to sukces poprzedzony wyzwaniami
Choć gra jest warta świeczki, na sukces trzeba trochę poczekać – proces wdrożenia podejścia CI/CD w organizacji jest zwykle długotrwały i musi być poprzedzony dokładnym rozpoznaniem potrzeb i problemów firmy. Kluczowe znaczenie ma analiza wszystkich etapów wytwarzania oprogramowania oraz identyfikacja związanych z nimi barier. Dopiero te działania umożliwiają wybór odpowiednich narzędzi i technologii CI/CD.
Wydawałoby się, że na tym etapie głównym problemem będą kwestie finansowe. Jednak nawet w przypadku narzędzi open source organizacje mierzą się z szeregiem wyzwań. Specjaliści wskazują przede wszystkim na zbyt małe doświadczenie zespołu (45 proc. odpowiedzi), problemy z instalacją, aktualizacjami i konfiguracją (39 proc.) oraz bieżące aktualizacje i poprawki (35 proc.)[3]. Dla firm wykorzystujących oprogramowanie open source w CI/CD problematyczne są również takie kwestie jak zbyt mały zespół (28 proc. odpowiedzi), skalowalność (21 proc.) czy audyt i rejestrowanie (17 proc.).
Kamil Górecki, Solution Architect w Linux Polska, uważa, że większość wyzwań udałoby się ograniczyć, gdyby zespół został uprzednio przeszkolony.
– Problemy, na które wskazują specjaliści, wynikają przede wszystkim z braku szkoleń i odpowiednich procedur korzystania z rozwiązań CI/CD. Na rynku nie brakuje serwerów automatyzacji czy narzędzi do testowania, konteneryzacji i monitorowania. Przy tak dużym wyborze dopasowanie funkcjonalności pod konkretny projekt może wydawać się względnie proste. Należy jednak pamiętać o konieczności integracji między wybranymi narzędziami i tym, by ich konfiguracja i użytkowanie nie sprawiało nikomu problemu. Poza edukacją zespołu w zakresie narzędzi, warto również zadbać o to, by był on zaangażowany w każdy etap wdrożenia CI/CD w firmie. Zmiany organizacyjne często budzą opór, a współpraca i wspólne dążenie do celu może pomóc w jego przełamaniu – mówi Kamil Górecki, Solution Architect, Linux Polska.
Coraz większe znaczenie bezpieczeństwa w CI/CD
W dobie coraz częstszych cyberataków sporym wyzwaniem dla organizacji wdrażających CI/CD jest również kwestia bezpieczeństwa IT. Jak wskazuje Dariusz Świąder, prezes Linux Polska, najlepsze praktyki bezpieczeństwa powinny być stosowane już we wczesnych etapach cyklu życia oprogramowania.
– O istocie kwestii bezpieczeństwa świadczy fakt, że podejście DevOps zostało rozwinięte do koncepcji DevSecOps. Zwraca ona uwagę na konieczność współpracy nie tylko zespołu programistów (Dev) i zespołu operacyjnego (Ops), lecz także działu bezpieczeństwa (Sec). Obok narzędzi do ciągłej integracji i dostarczania oprogramowania duże znaczenie mają także narzędzia do skanowania kodu i monitorowania zagrożeń. Stworzona przez nas platforma SourceMation wspiera łańcuch wartości DevSecOps – pomaga w zarządzaniu ryzykiem i zgodnością swoich systemów. Robi to w sposób kompleksowy – analizuje poszczególne komponenty, zależności między nimi, a także szereg innych czynników, które wpływają na bezpieczeństwo oprogramowania, np. pochodzenie czy licencja. Wszystko to pozwala podjąć optymalną decyzję w zakresie narzędzi CI/CD, które firma planuje wdrożyć – dodaje Dariusz Świąder, prezes Linux Polska.
Podsumowanie
Wdrożenie w organizacji podejścia ciągłej integracji (CI) i ciągłego dostarczania (CD) usprawnia pracę nad oprogramowaniem i ogranicza ryzyko błędów w finalnym projekcie. Aby osiągnąć te korzyści, konieczne jest rozpoznanie potrzeb firmy i dobór odpowiednich narzędzi. Warto przy tym pamiętać, że kwestia instalacji, konfiguracji, integracji i obsługi nowych technologii wymaga wcześniejszego przeszkolenia zespołu – to właśnie brak doświadczenia specjaliści uznają za największe wyzwanie na drodze do skutecznego wdrożenia CI/CD w organizacji.
[1] 2024 State of Open Source Report, Open Logic, Open Source Initiative, Eclipse Foundation
[2] Q1 2024, State of Continuous Integration and Continuous Delivery, Data, The Continuous Delivery Foundation
[3] 2024 State of Open Source Report, Open Logic, Open Source Initiative, Eclipse Foundation