• DevOps

Prekonávanie výziev v riadenom DevOps: komplexný sprievodca

  • Felix Rose-Collins
  • 7 min read

Úvod

V rýchlo sa vyvíjajúcom prostredí vývoja softvéru a prevádzky IT sa organizácie čoraz častejšie obracajú na riadené služby DevOps s cieľom zefektívniť svoje procesy, zlepšiť spoluprácu a urýchliť dodávky. Posledných sedem rokov pomáham spoločnostiam implementovať transformáciu DevOps a môžem vám povedať z prvej ruky - nikdy to nie je také jednoduché, ako sa zdá z lesklých brožúr. Hoci riadený DevOps ponúka obrovské výhody, od úspory nákladov až po rýchlejšie cykly nasadenia, organizácie často narážajú na značné prekážky počas implementácie a priebežnej prevádzky. Tento komplexný sprievodca čerpá z mojich reálnych skúseností, aby vám pomohol zorientovať sa v bežných problémoch v riadenom DevOps a implementovať praktické riešenia, ktoré skutočne fungujú v produkčných prostrediach.

Rozdiel v realite v očakávaniach spravovaného DevOps

Jedným z najväčších problémov, s ktorými sa stretávam pri konzultáciách s klientmi, je rozdiel medzi očakávaniami a realitou. Mnohé organizácie sa púšťajú do riadeného DevOps s nerealistickými časovými plánmi a očakávaniami.

Minulý rok som spolupracoval so stredne veľkou fintech spoločnosťou, ktorá očakávala, že sa jej podarí úplne zmeniť cyklus vydávania verzií z mesačného na denné nasadzovanie v priebehu šiestich týždňov od zapojenia poskytovateľa riadeného DevOps. Skutočnosť? Dosiahnutie tohto cieľa trvalo takmer šesť mesiacov. Prečo? Pretože podcenili niekoľko kritických faktorov:

  1. Komplexnosť staršieho systému: Ich základná banková platforma mala viac ako 15 rokov technického dlhu a prakticky žiadnu automatizáciu.

  2. Medzery v zručnostiach tímu: Ich vývojári mali minimálne skúsenosti s kontajnerizáciou, infraštruktúrou ako kódom alebo postupmi CI/CD.

  3. Organizačný odpor: Stredný manažment sa ticho bránil zmene zavedených procesov.

Nastavenie realistických očakávaní

Aby sme sa vyhli podobným sklamaniam, radím teraz klientom, aby:

  • Vykonajte dôkladné hodnotenie: Pred podpisom zmluvy s poskytovateľom riadeného DevOps vykonajte podrobnú analýzu súčasného stavu vrátane technického dlhu, nedostatkov v zručnostiach a organizačnej pripravenosti.

  • Vytvorte plán postupnej implementácie: Rozdeľte prechod na 30, 60 a 90-dňové míľniky s jasnými, merateľnými cieľmi.

  • Rozpočet na učenie: Očakávajte 20-30% zníženie produktivity počas počiatočného prechodu, kým sa tímy prispôsobia novým nástrojom a procesom.

Môj klient z oblasti zdravotníctva využil tento postupný prístup a dosiahol oveľa hladší prechod. Začali sme s jednoduchým potrubím CI pre nekritickú internú aplikáciu, potom sme postupne rozšírili na zložitejšie systémy, ako si tím budoval dôveru a kompetencie.

Kultúrny odpor: Tichý zabijak DevOps

Podľa mojich skúseností sú technické výzvy v rámci riadeného DevOps zriedkakedy tie najťažšie na riešenie. Skutočné prekážky sú zvyčajne ľudské a organizačné.

Klient z výrobného odvetvia ma oslovil po tom, ako sa jeho riadená iniciatíva DevOps na niekoľko mesiacov zastavila. Na papieri vyzeralo všetko správne - mali všetky nástroje, renomovaného poskytovateľa služieb a podporu vedenia. Problém? Hlboko zakorenený kultúrny odpor medzi ich vývojovými a prevádzkovými tímami.

Vývojári považovali nové potrubia CI/CD za "obmedzujúce ich kreativitu", zatiaľ čo prevádzka považovala automatizované nasadenia za "riskantné skratky", ktoré by spôsobili problémy, ktoré by museli riešiť. Ani jedna skupina nebola riadne zahrnutá do rozhodovacieho procesu.

Budovanie kultúry DevOps, ktorá sa udrží

Tu je to, čo skutočne fungovalo na prekonanie tohto odporu:

  • Vytvorte spoluvlastníctvo: Vytvorili sme medzifunkčné tímy so spoločnými zodpovednosťami a kľúčovými ukazovateľmi výkonnosti, ktoré prepojili vývoj a prevádzkový úspech.

  • Preukážte prvé víťazstvá: Vývojári získali rýchlejšiu spätnú väzbu na svoj kód, zatiaľ čo prevádzka zaznamenala menej polnočných tiesňových volaní.

  • Poskytnite praktické školenie: Skôr ako teoretické školenie sme využívali skutočné výrobné problémy ako príležitosti na spoločné riešenie problémov.

  • Oslávte úspech verejne: Vytvorili sme informačný panel "víťazstvo pri nasadení", ktorý sledoval úspešné nasadenia, zníženie počtu incidentov a úsporu času.

O šesť mesiacov neskôr sa tí istí ľudia, ktorí podkopávali prechod na DevOps, stali jeho najväčšími zástancami. Kľúčové ponaučenie? Technická implementácia bez kultúrneho zosúladenia bude mať vždy problémy.

Výzvy integrácie zabezpečenia v rýchlo sa pohybujúcich potrubiach

Bezpečnosť zostáva jednou z najproblematickejších oblastí v riadených implementáciách DevOps. Nedokážem spočítať, koľkokrát som videl, ako organizácie prijali rýchle dodacie cykly len preto, aby vytvorili nové bezpečnostné zraniteľnosti.

Klient z maloobchodu, s ktorým som spolupracoval minulý rok, zvýšil frekvenciu nasadzovania z mesačnej na týždennú pomocou riadeného DevOps, ale neúmyselne zaviedol tri kritické bezpečnostné zraniteľnosti do produkcie, pretože jeho bezpečnostné procesy nedokázali držať krok so zrýchleným vývojovým cyklom.

Praktická integrácia DevSecOps

Na základe niekoľkých úspešných integrácií zabezpečenia, ktoré som implementoval, uvádzam, čo funguje:

  • Posun zabezpečenia doľava: Integrujte automatizované bezpečnostné skenovanie do každej fázy vývojového procesu, počnúc pluginmi IDE, ktoré upozornia vývojárov na problémy ešte pred odovzdaním kódu.

  • Automatizujte overovanie zhody: V prípade regulovaných odvetví implementujte automatizované kontroly zhody, ktoré overia konfigurácie podľa požadovaných noriem pred povolením nasadenia.

  • Implementácia zabezpečenia ako kódu: Pristupujte k bezpečnostným konfiguráciám a politikám ako ku kódu, ktorý sa používa spolu s kódom aplikácie a podlieha rovnakým procesom kontroly a testovania.

  • Vytvorte bezpečnostných šampiónov: Určite a zaškoľte členov tímu, ktorí budú vo svojich tímoch pôsobiť ako obhajcovia bezpečnosti a vnášať bezpečnostné povedomie do každodenných vývojových činností.

Po implementácii týchto postupov bol môj maloobchodný klient schopný zachovať svoj týždenný cyklus nasadenia a zároveň zlepšiť svoje bezpečnostné zabezpečenie. Ich bezpečnostný tím sa preorientoval z pozície blokátorov na podporovateľov bezpečného a rýchleho doručovania.

Technický dlh: prekážka implementácie DevOps

Takmer každá organizácia, s ktorou som konzultoval, podcenila, ako ich existujúci technický dlh ovplyvní transformáciu DevOps. Staršie systémy, manuálne procesy a nedostatočná dokumentácia môžu výrazne spomaliť riadenú implementáciu DevOps.

Spoločnosť poskytujúca finančné služby, s ktorou som spolupracoval, sa celé mesiace snažila integrovať svoje staršie mainframové systémy do nových CI/CD potrubí. Systémy nemali vhodné rozhrania API, mali minimálne automatizované testovanie a spoliehali sa na kmeňové znalosti niekoľkých starších inžinierov, ktorí sa blížili k dôchodku.

Strategické riešenie technického dlhu

Namiesto prístupu "všetko alebo nič" sme zaviedli túto stratégiu:

  • Zmapujte svoj majetok: Katalóg všetkých aplikácií a komponentov infraštruktúry a posúdenie ich pripravenosti na DevOps pomocou jednoduchého systému červená/žltá/zelená.

  • Vytvorte integračné hranice: Pre staršie systémy, ktoré nie je možné jednoducho modernizovať, vytvorte čisté rozhrania a vrstvy API, ktoré umožnia interakciu s novšími systémami.

  • Stanovte si strategické priority: Zamerajte počiatočné úsilie v oblasti DevOps na systémy s vysokou obchodnou hodnotou a nižšou zložitosťou, pri ktorých môžete rýchlo preukázať úspech.

  • Prideľte si čas na zníženie dlhu: Vyhraďte 20 % kapacity šprintu špeciálne na zníženie technického dlhu a najprv sa zamerajte na položky s najväčším vplyvom.

Pomocou tohto prístupu spoločnosť poskytujúca finančné služby v priebehu jedného roka úspešne zaviedla 60 % svojho portfólia aplikácií do moderných postupov DevOps a zároveň vytvorila udržateľný plán pre zvyšné staršie systémy.

Rozširovanie nástrojov a zložitosť integrácie

Ďalším častým problémom, ktorý som spozoroval, je rozšírenie nástrojov DevOps, ktoré spolu dobre nefungujú. Jeden klient z oblasti telekomunikácií mal 14 rôznych nástrojov v rámci svojho CI/CD potrubia, monitorovania, bezpečnostného skenovania a správy infraštruktúry - väčšina z nich vyžadovala manuálne prepínanie medzi systémami.

Skrotenie reťazca nástrojov DevOps

Na základe úspešných konsolidácií reťazca nástrojov, ktoré som viedol, uvádzam, čo funguje:

  • Uprednostnite možnosti integrácie: Pri výbere nástrojov uprednostnite tie, ktoré majú robustné rozhrania API a predpripravené integrácie s existujúcou sadou nástrojov.

  • Implementácia platformového prístupu: Zvážte platformy DevOps, ktoré poskytujú viacero funkcií v integrovanom balíku, namiesto zostavovania najlepších bodových riešení.

  • Automatizácia testovania reťazca nástrojov: Vytvorte automatizované testy pre samotný reťazec nástrojov DevOps, aby ste zabezpečili, že integrácie budú fungovať aj po aktualizácii nástrojov.

  • Dokumentujte pracovné postupy od začiatku do konca: Vytvorte prehľadnú vizuálnu dokumentáciu zobrazujúcu, ako práca prebieha v celom reťazci nástrojov, a identifikujte manuálne činnosti, ktoré by sa mohli automatizovať.

Po konsolidácii svojho reťazca nástrojov na päť dobre integrovaných nástrojov môj klient z oblasti telekomunikácií skrátil čas potrebný na nasadenie o 70 % a odstránil množstvo manuálnych krokov medzi systémami, ktoré boli náchylné na chyby.

Problémy so škálovaním v podnikových prostrediach

Škálovanie postupov DevOps nad rámec prvých pilotných tímov predstavuje jedinečné výzvy, ktoré mnohé organizácie podceňujú. Zdravotnícky podnik, s ktorým som spolupracoval, úspešne zaviedol postupy DevOps v jednom aplikačnom tíme, ale keď sa ich model pokúsil rozšíriť na viac ako 20 tímov, zlyhal.

Úspešné škálovanie DevOps

Tu je prístup, ktorý nakoniec fungoval:

  • Vytvorenie interného tímu platformy DevOps: Vytvorte špecializovaný tím zameraný na vytváranie opakovane použiteľných potrubí, šablón infraštruktúry a automatizácie, ktoré môžu využívať ostatné tímy.

  • Implementujte postupy innersource: Podporujte tímy, aby zdieľali automatizačný kód, konfigurácie a osvedčené postupy prostredníctvom interných repozitárov s jasnými usmerneniami pre prispievanie.

  • Rozumne štandardizujte: Určite, ktoré aspekty procesu DevOps by mali byť štandardizované vo všetkých tímoch (bezpečnostné požiadavky, schvaľovanie nasadenia) a ktoré by mali byť flexibilné (výber testovacích rámcov, interné pracovné postupy).

  • Vytvorte spoločenstvo pre prax: Založte pravidelné fóra, kde sa môžu odborníci z rôznych tímov podeliť o úspechy, získané skúsenosti a spolupracovať na spoločných výzvach.

Po zavedení týchto postupov zdravotnícka organizácia v priebehu 18 mesiacov úspešne rozšírila svoje postupy DevOps na všetkých 24 aplikačných tímov, pričom zachovala konzistentné štandardy kvality a bezpečnosti.

Riadenie a optimalizácia nákladov

Hoci riadený DevOps často sľubuje úsporu nákladov, zistil som, že mnohé organizácie v skutočnosti spočiatku zaznamenávajú zvýšené náklady bez správneho riadenia a optimalizačných postupov. Môj klient z maloobchodu zaznamenal zdvojnásobenie nákladov na cloudovú infraštruktúru v priebehu troch mesiacov po implementácii DevOps, keďže vývojári získali možnosť samostatného poskytovania zdrojov.

Kontrola nákladov bez obmedzovania inovácií

Toto je to, čo sa mi osvedčilo u mojich klientov:

  • Implementácia označovania a spätného zobrazovania: Vyžadujte, aby bola všetka infraštruktúra označená tímom, aplikáciou a prostredím, aby ste mohli sledovať náklady a informovať tímy o ich výdavkoch.

  • Nastavenie automatizovaného riadenia nákladov: Vytvorte automatizované zásady, ktoré zisťujú anomálie v nákladoch a upozorňujú na ne alebo vynucujú vypnutie neprodukčných zdrojov počas mimopracovného času.

  • Zapracujte optimalizáciu nákladov do potrubia: Integrujte nástroje na analýzu nákladov na infraštruktúru priamo do potrubia CI/CD, aby ste identifikovali neefektívne konfigurácie pred nasadením.

  • Vytvorte šampiónov v oblasti nákladov: Podobne ako v prípade bezpečnostných šampiónov, určte členov tímu zodpovedných za informovanosť o nákladoch a ich optimalizáciu v rámci svojich tímov.

Po zavedení týchto postupov môj klient z maloobchodu znížil svoje výdavky na cloud o 40 %, pričom naďalej zvyšoval frekvenciu nasadzovania a výkonnosť aplikácií.

Záver: Fungovanie riadeného DevOps v reálnych organizáciách

Na základe mojej dlhoročnej pomoci organizáciám pri implementácii a optimalizácii riadeného DevOps som zistil, že úspech si vyžaduje rovnakú pozornosť technickým, kultúrnym a procesným výzvam. Organizácie, ktoré pristupujú k riadenému DevOps ako k čisto technickej implementácii, nevyhnutne zápasia s problémami, zatiaľ čo tie, ktoré sa popri technických prvkoch venujú aj ľudským a organizačným prvkom, dosahujú trvalý úspech.

Zoznámte sa s nástrojom Ranktracker

Platforma "všetko v jednom" pre efektívne SEO

Za každým úspešným podnikaním stojí silná kampaň SEO. Pri nespočetnom množstve optimalizačných nástrojov a techník, z ktorých si môžete vybrať, však môže byť ťažké zistiť, kde začať. No už sa nemusíte báť, pretože mám pre vás presne to, čo vám pomôže. Predstavujem komplexnú platformu Ranktracker na efektívne SEO

Konečne sme otvorili registráciu do nástroja Ranktracker úplne zadarmo!

Vytvorenie bezplatného konta

Alebo sa pri hláste pomocou svojich poverení

Najúspešnejšie riadené implementácie DevOps, ktorých som bol súčasťou, majú spoločné charakteristiky:

  • Jasný súlad medzi cieľmi DevOps a obchodnými cieľmi

  • Výkonný sponzoring spojený s nadšením občanov

  • realistické časové plány, ktoré zohľadňujú krivky učenia sa organizácie

  • Vyvážené zameranie na ľudí, procesy a technológie

  • ochota prispôsobiť sa na základe spätnej väzby a nameraných výsledkov

Predvídaním a aktívnym riešením výziev uvedených v tejto príručke môžu organizácie výrazne zvýšiť svoje šance na využitie všetkých výhod riadeného DevOps: rýchlejšie dodanie, vyššia kvalita, zvýšená bezpečnosť a v konečnom dôsledku lepšie obchodné výsledky.

Felix Rose-Collins

Felix Rose-Collins

Ranktracker's CEO/CMO & Co-founder

Felix Rose-Collins is the Co-founder and CEO/CMO of Ranktracker. With over 15 years of SEO experience, he has single-handedly scaled the Ranktracker site to over 500,000 monthly visits, with 390,000 of these stemming from organic searches each month.

Začnite používať Ranktracker... zadarmo!

Zistite, čo brzdí vaše webové stránky v hodnotení.

Vytvorenie bezplatného konta

Alebo sa pri hláste pomocou svojich poverení

Different views of Ranktracker app