Czy integracja narzędzi w DevOps przynosi więcej szkody niż pożytku?

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

Zarządzanie rozrastającym się zestawem narzędzi DevOps często prowadzi do nieefektywności i złożoności, dlatego kluczowe jest zachowanie równowagi między automatyzacją a spójnymi strategiami. Prashanth Nanjundappa dzieli się spostrzeżeniami na temat optymalizacji integracji narzędzi, osiągania dojrzałości DevSecOps oraz dostosowywania automatyzacji do celów organizacji w celu zwiększenia produktywności i odporności we współczesnych środowiskach IT.

Orchestration in Modern DevOps Pipelines featured image

Zarządzanie stale rozrastającym się zestawem narzędzi DevOps może być zarówno błogosławieństwem, jak i obciążeniem. W obliczu zróżnicowanego środowiska IT i dążenia organizacji do utrzymania konkurencyjności pojawia się pytanie: Czy nadmiernie komplikujemy nasze stosy technologiczne, czy rzeczywiście wykorzystujemy te narzędzia do osiągania znaczącego postępu? 

Aby lepiej zrozumieć te wyzwania i dalszą drogę, porozmawialiśmy z Prashanthem Nanjundappą, wiceprezesem ds. zarządzania produktami w firmie Progress. Dzięki ponad 20-letniemu doświadczeniu w branży technologicznej Prashanth dzieli się spostrzeżeniami na temat optymalizacji integracji narzędzi, równoważenia automatyzacji z wiedzą ekspercką oraz zapewniania, że nowoczesne praktyki DevOps przynoszą rzeczywistą wartość.

  1. Gdy zespoły DevOps korzystają z ogromnej liczby narzędzi, czy dochodzimy do punktu, w którym integracja narzędzi przynosi więcej szkody niż pożytku? Jak możemy przemyśleć integrację na nowo, aby odzyskać czas zespołów, zachowując spójność systemu?

Obecny krajobraz IT jest heterogeniczny i obejmuje połączenie chmury publicznej, chmury prywatnej, produktów SaaS oraz urządzeń brzegowych. Ponadto podejmowanie decyzji zakupowych jest zdecentralizowane — od dyrektorów ds. informatyki po wiele zespołów w organizacji. Wymaga to strategicznego podejścia do usprawnienia integracji narzędzi.

  • Wdrożenie rozbudowanej strategii na poziomie przedsiębiorstwa lub organizacji. Przykłady obejmują przyjęcie zasad jako kodu, nadanie priorytetu integracji opartej na API, utworzenie wewnętrznego portalu samoobsługowego lub zintegrowanie wszystkiego na ujednoliconej platformie, takiej jak ServiceNow, Salesforce lub Jira.
  • Wybór produktów obsługujących przyjętą strategię zamiast kupowania najpierw narzędzi i próby dopasowania ich do strategii. Należy na przykład rozważyć narzędzia oparte na API, narzędzia oparte na kodzie, narzędzia SaaS lub narzędzia integrujące się z istniejącym łańcuchem narzędzi, takim jak Jira, ServiceNow, IaC lub Salesforce.
  • Ograniczenie liczby dostawców. Ponieważ wielu dostawców oferuje wiele rozwiązań, warto poznać ofertę obecnych dostawców w swoim systemie, zamiast kupować nowe narzędzia przy każdym nowym wymaganiu. Takie podejście ograniczy zarówno złożoność zarządzania dostawcami, jak i wyzwania związane z integracją.
  1. W złożonych infrastrukturach nieplanowane zadania wydają się nieuniknione, ale jak możemy powstrzymać je przed staniem się normą? Czy nadmiernie komplikujemy rozwiązania, polegając na poprawkach tworzonych wewnętrznie, i jakie istnieją alternatywy, które można skalować bez ciągłego gaszenia pożarów?

Organizacje często wpadają w pułapkę przekonania, że mogą samodzielnie tworzyć swoje narzędzia. Jeśli firma nie specjalizuje się w zarządzaniu infrastrukturą, nie należy tworzyć do tego własnych narzędzi. Choć otwarte oprogramowanie wydaje się bezpłatne, jego opracowanie, utrzymanie, skalowanie i zabezpieczenie wymaga znacznego nakładu pracy inżynierskiej. Można uniknąć tych kosztów, współpracując ze sprawdzonym dostawcą, dzięki czemu zespół będzie mógł skoncentrować się na kluczowych celach biznesowych.

Po drugie, narzędzia powinny być uwzględniane w systemie ewidencji lub narzędziach do zarządzania bazą danych zarządzania konfiguracją (CMDB) już podczas początkowej konfiguracji. Zapewnia to kadrze zarządzającej wgląd w wykorzystanie infrastruktury, użycie narzędzi oraz zaplanowane lub trwające zadania. Dzięki takiej widoczności organizacje mogą lepiej rozumieć i stale optymalizować swoje procesy.

  1. Kontrola orkiestracji jest często pomijana, choć stanowi podstawę efektywności. Jakie jest najczęstsze wąskie gardło orkiestracji, o którym zespoły DevOps nie rozmawiają, i jak możemy uwolnić się od tych opóźnień?

Nie powiedziałbym, że orkiestracja jest pomijana; wysiłek potrzebny do jej wdrożenia jest niemal zawsze niedoszacowany. Wiele narzędzi i przepływów pracy utrudnia administratorom utrzymanie i zarządzanie urządzeniami IT w dużych i złożonych środowiskach. Aby radzić sobie z takimi sytuacjami, potrzebna jest orkiestracja. Orkiestracja łączy ludzi, narzędzia i przepływy pracy oraz usprawnia procesy IT. Dzięki platformie orkiestracji dla przedsiębiorstw administratorzy zyskują elastyczną i szczegółową kontrolę nad licznymi działaniami dotyczącymi całej floty, w tym nad ich zakresem i harmonogramem. Procesy — od rutynowych zadań po reakcje na krytyczne incydenty — stają się szybkie i efektywne.

W przypadku incydentu wykonanie poniższych kroków pomoże ograniczyć jego wpływ oraz usunąć przyczynę źródłową incydentu:

  • Orkiestruj reakcje na incydenty związane z bezpieczeństwem punktów końcowych, automatycznie izolując przejęte urządzenia lub inicjując proces wyszukiwania zagrożeń.
  • Orkiestruj wdrażanie poprawek zabezpieczeń w podatnych systemach lub izoluj systemy do czasu zainstalowania poprawek.
  • Opracuj i wdrażaj podręczniki reagowania na incydenty, które definiują konkretne działania podejmowane podczas różnych rodzajów incydentów.
  • Uruchamiaj zadania reagujące na sytuacje takie jak przejęcie kont użytkowników lub nieudane logowania, automatycznie resetując hasła, wylogowując sesje lub wykonując inne wcześniej zdefiniowane działania.
  • Utrzymuj współodpowiedzialność zespołów reagowania na incydenty, ułatwiając komunikację i współpracę.
  1. Czy przejście od tradycyjnego DevOps do nowoczesnych środowisk rzeczywiście spełnia swoje obietnice, czy tylko dodajemy kolejne narzędzia do całej ich sterty? Jak możemy upewnić się, że „nowoczesna” konfiguracja jest faktycznie bardziej wydajna, a nie tylko bardziej złożona?

Wdrożenie DevOps to proces mający na celu przyspieszenie tworzenia i wdrażania oprogramowania, aby skrócić czas wprowadzania produktu na rynek bez uszczerbku dla jakości. Tradycyjne podejście DevOps koncentruje się na skutecznej integracji zespołów programistycznych i operacyjnych; nie uwzględnia jednak zespołów ds. bezpieczeństwa jako kluczowych współpracowników. Nowoczesny DevOps nie traktuje bezpieczeństwa jako kwestii drugorzędnej, lecz integruje je z kluczowymi przepływami pracy. Podejście to jest również określane jako DevSecOps.

DevSecOps umożliwia organizacjom optymalizację wdrażania bezpiecznego, wydajnego i responsywnego oprogramowania. Włączenie zespołów ds. bezpieczeństwa od samego początku do pracy zespołów programistycznych i operacyjnych pomaga wzmocnić oprogramowanie w obliczu zagrożeń, zapewniając solidną ochronę. Takie podejście prowadzi również do szybszego dostarczania, zapewniając organizacjom przewagę konkurencyjną na dynamicznych rynkach. 

Współpraca międzydziałowa zwiększa wydajność i odporność, a ciągłe monitorowanie wzmacnia możliwość szybkiego reagowania na incydenty. Automatyzacja usprawnia procesy, ogranicza liczbę błędów i sprzyja utrzymaniu stałej jakości. Nowoczesny DevOps (inaczej DevSecOps) nie tylko dostosowuje się do zmian — on się w nich rozwija, dostosowując oprogramowanie do obecnych potrzeb i przyszłych celów.

  1. Jak możemy zoptymalizować wykorzystanie wielu narzędzi automatyzacji, aby zwiększały produktywność, zamiast stawać się czasochłonnym obciążeniem dla zespołów IT? 

Przejście na w pełni zintegrowany model to ciągły proces, nawet dla najbardziej zaawansowanych organizacji. Model dojrzałości DevOps to jedna z koncepcji, która pomaga kierować tym procesem, ułatwiając ocenę i doskonalenie uwzględniania bezpieczeństwa w praktykach DevOps. 

Kluczowym wyzwaniem jest skuteczne identyfikowanie i doskonalenie najważniejszych obszarów praktyk DevSecOps, co wymaga regularnej oceny, dostosowywania procesów i identyfikowania luk. Dzięki ciągłej ocenie i doskonaleniu organizacje dążą do osiągnięcia wysokiego tempa działania oraz wysokich standardów bezpieczeństwa w swoich praktykach DevOps. W rezultacie maksymalizują korzyści płynące z wykorzystania wielu narzędzi automatyzacji i zwiększają produktywność. 

Typowy proces automatyzacji oparty na DevOps obejmuje wiele operacji przedstawionych na poniższym obrazie. 

Zalecamy, aby organizacje skoncentrowały się na tych elementach modelu dojrzałości DevSecOps, aby zmierzyć własny poziom dojrzałości DevSecOps i znaleźć obszary wymagające poprawy w celu skrócenia czasu wprowadzania produktu na rynek oraz optymalizacji kosztów:

  1. Dopasowanie kultury organizacyjnej: Wyznaczony lider, poziom współpracy i komunikacji między zespołami. 
  2. Zwinność wytwarzania: Możliwość dostarczania przyrostowej funkcjonalności w rytmie umożliwiającym reagowanie na presję rynkową.
  3. Automatyzacja: W jakim stopniu procesy są zautomatyzowane oraz jaki jest zakres i skuteczność automatyzacji w całym cyklu życia? 
  4. Bezpieczeństwo: Integracja bezpieczeństwa z innymi obszarami funkcjonalnymi oraz z całym cyklem życia. 
  5. Testowanie:Integracja metodyk testowania z całością procesów oraz skuteczność stosowanych praktyk. 
  6. Monitorowanie: W jaki sposób monitorowanie jest zintegrowane z całością procesów i na ile jest skuteczne?  
  7. Pomiar operacyjny i zgodność: Skuteczność operacyjna, w tym zarządzanie, obejmuje pomiary i zgodność. 

Ocena dojrzałości DevSecOps jest niezbędnym narzędziem dla organizacji, które chcą ocenić i udoskonalić wdrażanie praktyk DevSecOps. Ocena ta zapewnia wysokopoziomową analizę dojrzałości operacyjnej organizacji, dostosowaną konkretnie do sposobu wykorzystywania przez nią narzędzi DevSecOps. Bada, jak skutecznie organizacja wykorzystuje te metodyki, aby w pełni korzystać z ich potencjału, dostarczając informacji o obszarach, które nadal się rozwijają, oraz o tych, które osiągnęły już dojrzałość. 

Najważniejsze wnioski

W miarę dalszego rozwoju DevOps przemyślana integracja, ciągła ocena i znalezienie właściwej równowagi między automatyzacją a ludzką wiedzą ekspercką pozwolą Ci wyprzedzić konkurencję.

Prashanth podkreśla znaczenie korzystania ze spójnej strategii i rozumie, że przyjęcie większej liczby narzędzi nie musi oznaczać lepszych rezultatów. Sukces zależy natomiast od optymalizacji narzędzi oraz zespołów, które z nich korzystają. 

Koncentrując się na dojrzałości DevSecOps i dostosowując automatyzację do kultury organizacyjnej, liderzy DevOps mogą zbudować system zwiększający produktywność i odporność, który rzeczywiście rozwija się w warunkach szybkich zmian.

Zapisz się do newslettera The CTO Club, aby otrzymywać więcej wywiadów, narzędzi i najlepszych praktyk związanych z DevOps. 

Katie Sanders
As a data-driven content strategist, editor, writer, and community steward, Katie helps technical leaders win at work. Her 15 years of experience in the tech space makes her well-rounded to provide technical audiences with first-hand operating wisdom so senior tech leaders can get clarity. Tech leaders want to learn from peers who’ve been there. Katie surfaces hard-won lessons that help leaders scale systems, teams, and strategy in the face of disruption. Katie is an Executive Editor at Black & White Zebra. She nurtures a large and diverse community of technical experts and writers, and she knows that a thriving community doesn't grow without thoughtfulness, advocacy, and intention. Interested in being reviewed? Find out more here.
Follow the author:

You may also like