1. BusinessOperations ManagementVýber najlepšieho poskytovateľa cloudových služieb, funkcií a nástrojov pre vývojárov

Autor: Emily Freeman

Úspech vašej iniciatívy DevOps sa do značnej miery spolieha na tento proces, ale je tiež dôležité použiť správne nástroje. Výber poskytovateľa cloudových služieb nie je ľahká voľba, najmä ak je vaša motivácia DevOps. GCP (Google Cloud Platform), AWS (Amazon Web Services) a Azure majú spoločné viac, ako sa od seba odlišujú.

Vaše rozhodnutie často závisí viac od úrovne pohodlia vášho tímu DevOps s konkrétnym poskytovateľom cloudu alebo od vášho aktuálneho zásobníka viac ako samotný poskytovateľ cloudu. Keď sa rozhodnete prejsť do cloudu, ďalším rozhodnutím je rozhodnúť sa o poskytovateľovi cloudu, ktorý vyhovuje vašim potrebám DevOps. Pri hodnotení poskytovateľov cloudu s ohľadom na princípy DevOps je potrebné zvážiť niekoľko vecí:

  • Pevné záznamy. Cloud, ktorý si vyberiete, by mal mať históriu zodpovedných finančných rozhodnutí a dostatok kapitálu na prevádzkovanie a rozširovanie veľkých dátových centier v priebehu desaťročí. Dodržiavanie a riadenie rizík. Formálna štruktúra a stanovené zásady súladu sú nevyhnutné na zaistenie bezpečnosti a zabezpečenia vašich údajov. V ideálnom prípade by ste si pred podpísaním zmluvy mali skontrolovať audity. Pozitívna povesť. Dôvera zákazníka je absolútne kľúčová. Veríte, že sa môžete spoľahnúť na to, že tento poskytovateľ cloudu bude naďalej rásť a podporovať vaše vyvíjajúce sa potreby DevOps? Dohody o úrovni služieb (SLA). Akú úroveň služieb požadujete? Poskytovatelia cloudu zvyčajne ponúkajú rôzne úrovne spoľahlivosti prevádzky podľa nákladov. Napríklad doba prevádzky o 99,9 percenta bude výrazne lacnejšia ako doba prevádzky o 99,999 percenta. Metriky a monitorovanie. Aké typy štatistík aplikácie, monitorovania a telemetrie dodáva dodávateľ? Uistite sa, že môžete získať primeranú úroveň prehľadu o svojich systémoch čo najbližšie k reálnemu času.

Nakoniec sa uistite, že zvolený poskytovateľ cloudu má vynikajúce technické možnosti, ktoré poskytujú služby, ktoré zodpovedajú vašim konkrétnym potrebám DevOps. Všeobecne platí, že hľadať

  • Vypočítajte schopnosti Riešenia pre ukladanie dát Funkcie nasadenia Protokolovanie a monitorovanie Priateľské užívateľské rozhranie

Mali by ste tiež potvrdiť schopnosť implementovať hybridné cloudové riešenie pre prípad, že budete v určitom okamihu potrebovať, ako aj uskutočňovať HTTP hovory na iné API a služby.

Traja hlavní poskytovatelia cloudu sú Google Cloud Platform (GCP), Microsoft Azure a Amazon webové služby (AWS). Môžete tiež nájsť menších poskytovateľov cloudových služieb a určite niekoľko súkromných poskytovateľov cloudových služieb, ale väčšina toho, čo potrebujete vedieť, pochádza z porovnania verejných poskytovateľov cloudových služieb.

Webové služby Amazon (AWS)

Rovnako ako ostatní hlavní poskytovatelia verejných cloudov, aj AWS poskytuje výpočty na požiadanie prostredníctvom predplatného priebežne. Užívatelia AWS sa môžu prihlásiť na odber ľubovoľného počtu služieb a výpočtových zdrojov. Amazon je súčasným lídrom na trhu medzi poskytovateľmi cloudu a drží väčšinu odberateľov cloudu.

Ponúka robustnú sadu funkcií a služieb v regiónoch po celom svete. Dve najznámejšie služby sú Amazon Elastic Compute Cloud (EC2) a Amazon Simple Storage Service (Amazon S3). Rovnako ako u iných poskytovateľov cloudu sú prístupné služby a infraštruktúra je zabezpečovaná prostredníctvom API.

Microsoft Azure

Predtým, ako spoločnosť Microsoft uviedla tohto poskytovateľa cloudu ako Microsoft Azure, nazývalo sa to Windows Azure. Spoločnosť Microsoft ho navrhla tak, aby urobila presne to, čo názov napovedá - slúži ako poskytovateľ cloudu pre tradične organizácie IT v systéme Windows. Ale keď sa trh stal konkurencieschopnejším a spoločnosť Microsoft začala lepšie porozumieť technickému prostrediu, Azure sa prispôsobil, rástol a vyvíjal.

Aj keď je pravdepodobne menej robustný ako AWS, Azure je dobre zaoblený poskytovateľ cloudových služieb zameraný na skúsenosti používateľov. Prostredníctvom rôznych uvedení produktov na trh a akvizícií - najmä spoločnosti GitHub - spoločnosť Microsoft investovala značné prostriedky do infraštruktúry Linux, čo jej umožnilo poskytovať robustnejšie služby širšiemu publiku.

Platforma Google Cloud Platform (GCP)

Platforma Google Cloud Platform (GCP) má najmenší podiel na trhu troch hlavných poskytovateľov verejných cloudových služieb, ale ponúka značnú skupinu cloudových služieb v takmer dvoch desiatkach geografických regiónov.

Asi najzaujímavejším aspektom GCP je to, že ponúka používateľom rovnakú infraštruktúru, akú používa Google interne. Táto infraštruktúra zahŕňa mimoriadne výkonné služby v oblasti výpočtov, ukladania, analýzy a strojového učenia. V závislosti od konkrétneho produktu môže mať GCP špecializované nástroje, ktoré v AWS a Azure chýbajú (alebo sú menej zrelé).

Nájdenie nástrojov a služieb DevOps v cloude

Doslova stovky nástrojov a služieb sú vám k dispozícii prostredníctvom hlavných poskytovateľov cloudu. Tieto nástroje a služby sa všeobecne delia na tieto kategórie:

  • vypočítať skladovanie Networking Riadenie zdrojov Umelá inteligencia v cloude (AI) identita zabezpečenia bez servera IoT

Nasleduje zoznam najbežnejšie používaných služieb vo všetkých troch hlavných poskytovateľoch cloudu. Tieto služby zahŕňajú nasadenie aplikácií, správu virtuálnych strojov (VM), organizáciu kontajnerov, funkcie bez serverov, úložisko a databázy.

Zahrnuté sú aj ďalšie služby, ako napríklad správa identity, blokové úložisko, privátny cloud, ukladanie tajomstiev a ďalšie. Nie je to ani zďaleka vyčerpávajúci zoznam, ale môže vám slúžiť ako pevný základ, keď začnete skúmať svoje možnosti a získate dojem, čo odlišuje poskytovateľov cloudu.

  • Nasadenie aplikácií: Riešenie platformy ako služba (PaaS) na nasadenie aplikácií v rôznych jazykoch vrátane jazyka Java, .NET, Python, Node.js, C #, Ruby a Go Azure: Azure Cloud Services AWS: AWS Elastic Beanstalk GCP: Google App Engine
  • Správa virtuálnych počítačov (VM): možnosť Infraštruktúra ako služba (IaaS) pre beh virtuálnych počítačov (VM) s operačným systémom Linux alebo Windows Azure: Azure Virtual Machines AWS: Amazon EC2 GCP: Google Compute Engine
  • Managed Kubernetes: Umožňuje lepšiu správu kontajnerov prostredníctvom populárneho orchestra Kuberneta Azure: Azure Kubernetes Service (AKS) AWS: Amazon Elastic Container Service (ECS) pre Kubernetes GCP: Google Kubernetes Engine
  • Serverless: Umožňuje používateľom vytvárať logické pracovné toky funkcií bez serverov Azure: Azure Functions AWS: AWS Lambda GCP: Funkcie služby Google Cloud
  • Cloudové ukladanie: Neštruktúrované ukladanie objektov s ukladaním do vyrovnávacej pamäte Azure: Azure Blob Storage AWS: Amazon S3 GCP: Google Cloud Storage
  • Databázy: databázy SQL a NoSQL, na požiadanie Azure: Azure Cosmos DB AWS: Amazon Relational Database Service (RDS) a Amazon DynamoDB (NoSQL) GCP: Google Cloud SQL a Google Cloud BigTable (NoSQL)

Pri skúmaní troch hlavných poskytovateľov cloudu si všimnete dlhý zoznam služieb. Môžete sa cítiť ohromení stovkami možností, ktoré máte k dispozícii. Ak náhodou nenájdete, čo potrebujete, trh pravdepodobne poskytne niečo podobné. Trh je miestom, kde nezávislí vývojári ponúkajú služby, ktoré sa pripájajú k cloudu - hostované spoločnosťami Azure, AWS alebo GCP.

V nasledujúcej tabuľke sú uvedené ďalšie služby poskytované väčšinou, ak nie všetkými poskytovateľmi cloudu.

  1. BusinessOperations ManagementPrečo sa DevOps veciach: 11 spôsobov, ako DevOps výhody vašej organizácie

Autor: Emily Freeman

Pri správnom vykonaní ponúka DevOps pre organizáciu významné výhody. V tomto článku sú uvedené kľúčové body, ktoré je potrebné vedieť o výhodách systému DevOps pre vašu organizáciu. Použite ho ako referenciu, ktorá vám pomôže presvedčiť vašich kolegov alebo posilniť pochopenie toho, prečo ste sa rozhodli ísť cestou DevOps, keď je cesta hrboľatá.

Výhody DevOps

DevOps vám pomáha akceptovať neustále zmeny

Technologické prostredie je neustále sa meniacim prostredím. Niektoré jazyky sa vyvíjajú a vytvárajú sa nové. Rámce prichádzajú a odchádzajú. Zmeny nástrojov infraštruktúry s cieľom splniť stále rastúce požiadavky na efektívnejšie hosťovanie aplikácií a rýchlejšie poskytovanie služieb. Nástroje naďalej abstraktne nízkoúrovňovou výpočtovou technikou znižujú režijné náklady.

Jedinou konštantou je zmena. Vaša schopnosť prispôsobiť sa tejto zmene určí váš úspech ako individuálneho prispievateľa, manažéra alebo výkonného pracovníka. Bez ohľadu na úlohu, ktorú v súčasnosti vo svojej spoločnosti plníte alebo dúfate, že nakoniec budete hrať, je dôležité rýchlo sa prispôsobiť a odstrániť čo najviac trenia z rastu. DevOps vám umožňuje prispôsobiť sa a rásť zlepšením komunikácie a spolupráce.

DevOps zahŕňa cloud

Cloud nie je budúcnosť; sneží. Aj keď sa možno stále prechádzate alebo ešte nie ste pripravení na pohyb, uvedomte si, že cloud je cesta vpred pre všetky spoločnosti okrem niekoľkých. Poskytuje vám väčšiu flexibilitu ako tradičná infraštruktúra, znižuje stres z operácií a (zvyčajne) náklady výrazne nižšie vďaka cenovej štruktúre priebežne.

Verejné, súkromné ​​a hybridné oblaky vám dávajú nekonečné možnosti na lepšie podnikanie. Schopnosť rozdeľovať (spúšťať) prostriedky v priebehu niekoľkých minút je niečo, čo väčšina spoločností nikdy predtým nezažila.

Táto obratnosť, ktorú poskytuje oblak, ide ruka v ruke s DevOps. Omri Gazitt zo spoločnosti Puppet, spoločnosť zameraná na automatizáciu a správu konfigurácie, uviedla to najlepšie: „Keď sa organizácie presúvajú do cloudu, revidujú svoje základné predpoklady o tom, ako dodávajú softvér.“

Vďaka cloudu sa rozhrania API spájajú so všetkými nástrojmi služieb, platforiem a infraštruktúr, takže môžete bez problémov spravovať svoje prostriedky a aplikácie. Pri migrácii do cloudu môžete prehodnotiť minulé rozhodnutia v oblasti architektúry a pomaly transformovať svoju aplikáciu a systém tak, aby boli cloud-native alebo navrhnuté s ohľadom na cloud.

DevOps vám pomáha najímať to najlepšie

Z dôvodu zvýšeného dopytu sú veľkí inžinieri vzácni. V súčasnosti nie je dosť inžinierov, ktorí by mohli obslúžiť všetky otvorené pracovné miesta alebo uspokojiť dopyt trhu v priebehu nasledujúcich desiatich rokov a neskôr. Aj keď hľadanie inžinierov môže byť ťažké, nie je to nemožné, najmä ak sa zameriavate na objavovanie inžinierov, ktorí prijímajú zvedavosť a nebojí sa zlyhania. Ak implementujete DevOps do svojej celkovej technickej kultúry, môžete vylepšiť inžinierov a vyškoliť ich v metodike a technológii, ktorá podporuje neustále zlepšovanie.

Počas pohovoru je ťažké merať potenciál. Zvyčajne šepká talent. Najtalentovanejší inžinieri zvyčajne nie sú zdvorilí alebo zdivočelí; nechali za ne hovoriť svoju prácu. Program DevOps vám umožňuje podrobnejšie načúvať osobným a profesionálnym záujmom inžinierov, s ktorými robíte rozhovor.

Skúste vybrať kandidátov na základe úrovne ich zvedavosti, komunikačných schopností a nadšenia. Tieto vlastnosti môžu váš tím vidieť skrz strach, neistotu a pochybnosti. V snahe vyriešiť zložité problémy môžu tím viesť tvrdými rozhodnutiami v rámci obmedzení.

Môžete niekoho naučiť zručnosti, ale niekoho učiť, ako sa učiť, je úplne iná záležitosť. Kultúra výučby, ktorú vytvoríte v organizácii DevOps, vám umožňuje uprednostniť rastové myslenie pred technickou zdatnosťou. V spoločnosti DevOps je najímanie tímu dôležité. Každý jednotlivec je kus celku a tím musí mať holistickú rovnováhu. Dosiahnutie tejto rovnováhy znamená, že niekedy nenajmete „najlepšieho“ inžiniera, najmete najlepšieho inžiniera pre tím.

Keď si najmete tím DevOps, môžete rovnako ako ťahané kone, ktoré sa spojili, vytiahnuť väčšiu váhu, ako by ste mohli individuálne. Pomocou DevOps môžete znásobiť jednotlivé komponenty svojho tímu a ako celok vytvoriť powerhouse tímu.

DevOps vás udržuje v konkurencieschopnosti

Z výročnej správy o stave DevOps vydanej spoločnosťou DevOps Research and Assessment (DORA) je zrejmé: Spoločnosti na celom svete používajú systém DevOps na úpravu svojich technických postupov a ťažia z výhod. Vidia zvýšenie strojárskej výroby a zníženie nákladov. S DevOps prechádzajú tieto spoločnosti z neohrabaných procesov a systémov k efektívnemu spôsobu vývoja softvéru zameraného na koncového používateľa.

DevOps umožňuje spoločnostiam vytvárať spoľahlivú infraštruktúru a využívať túto infraštruktúru na rýchlejšie a spoľahlivejšie vydávanie softvéru. Pointa je táto: Výkonné organizácie používajú systém DevOps a narušujú svoju konkurenciu zvýšením frekvencie nasadenia a výrazným znížením zlyhaní, ktoré sa vyskytujú v dôsledku zmien v systéme.

Ak chcete súťažiť, musíte prijať spoľahlivé metodiky DevOps. Možno nie všetky, a rozhodne nie všetky naraz - ale čas na čakanie a zistenie, či je DevOps užitočný, už uplynul.

DevOps pomáha riešiť ľudské problémy

Ľudia dosiahli bod v našom vývoji, v ktorom sa technológia vyvíja rýchlejšie ako náš mozog. Najväčšie výzvy, ktorým ľudia čelia, sú kvôli ľudským obmedzeniam - nie obmedzeniam softvéru alebo infraštruktúry. Na rozdiel od iných metodológií vývoja softvéru sa DevOps holisticky zameriava na váš sociotechnický systém.

Prijatie systému DevOps si vyžaduje posun v kultúre a myslení. Ak však dosiahnete kultúru a myslenie spoločnosti DevOps, vy a vaša organizácia získate takmer neobmedzené výhody. Keď sú inžinieri oprávnení skúmať, bez tlaku a strachu z neúspechu, objavujú sa úžasné veci.

Inžinieri objavujú nové spôsoby riešenia problémov. Pristupujú k projektom a problémom so zdravým prístupom a spolupracujú plynulejšie, bez zbytočnej a negatívnej konkurencie.

DevOps vyzýva zamestnancov

DevOps zrýchľuje rast jednotlivých inžinierov, ako aj inžinierskeho tímu ako celku. Inžinieri sú inteligentní ľudia. Sú tiež prirodzene zvedaví. Skvelý inžinier, ktorý zahŕňa myšlienku rastu, potrebuje po zvládnutí konkrétnej technológie, nástroja alebo metodiky nové výzvy, alebo sa často cítia stagnujúci.

Potrebujú sa cítiť, akoby sa ich mozgové a zručné súbory pretiahli - nie do tej miery, že ich niekto zahltí alebo zdôrazní, ale natoľko, aby cítili, že rastú. To je napätie, ktoré opísal Dan Pink v jazde. Ak dokážete dosiahnuť rovnováhu, vaši inžinieri budú prosperovať - ​​ako jednotlivci aj ako tím.

Metodika DevOps podporuje zručnosti v tvare písmena T, čo znamená, že inžinieri sa špecializujú na jednu oblasť s hlbokými znalosťami a majú rozsiahle znalosti o mnohých ďalších oblastiach. Tento prístup umožňuje inžinierom skúmať ďalšie zaujímavé oblasti.

Možno má napríklad Python záujem o cloudovú infraštruktúru. Žiadna iná inžinierska metodika nedovoľuje a povzbudzuje inžinierov, aby skúmali toľko, koľko robí DevOps, a je to obrovský príspevok k nájdeniu a udržaniu talentov.

DevOps premosťuje medzery

Jednou z výziev spoločností v oblasti moderných technológií je priepasť medzi potrebami podniku a potrebami strojárstva. V tradičnej spoločnosti s tradičnými stratégiami riadenia existuje prirodzené napätie medzi strojárstvom a oddeleniami, ako sú marketing, predaj a rozvoj podnikania. Toto trenie pramení z nedostatočného vyrovnania. Každé oddelenie sa meria rôznymi ukazovateľmi úspechu.

DevOps sa snaží zjednotiť každé oddelenie podnikania a vytvoriť spoločné porozumenie a rešpekt. Toto rešpektovanie vzájomných pracovných miest a príspevkov je to, čo umožňuje každej osobe v spoločnosti prosperovať. Odstraňuje trenie a zlepšuje zrýchlenie.

Zamyslite sa nad tímom psích záprahov. Ak sa každý pes pohybuje samostatnými smermi, sánky nikam nevedú. Teraz si predstavte, že psy pracujú spolu, zamerané na posun vpred - spolu. Ak vnútorne nemáte trenie, jediné výzvy, ktorým čelíte, sú vonkajšie a vonkajšie výzvy sú takmer vždy zvládnuteľnejšie ako vnútorné konflikty.

DevOps vám umožňuje zlyhať dobre

Porucha je nevyhnutná. Je to jednoducho nevyhnutné. Predpovedanie každého možného zlyhania vášho systému je nemožné kvôli všetkým neznámym. (A môže to zlyhať veľkolepo, však?) Namiesto toho, aby ste sa vyhli zlyhaniu za každú cenu a pocitom drvenia, keď k zlyhaniu dôjde, môžete sa na to pripraviť. DevOps pripravuje organizácie, aby reagovali na zlyhanie, ale nie spanikárskym spôsobom vyvolaným stresom.

Incidenty budú vždy zahŕňať určitú úroveň stresu. V určitom okamihu vašej štruktúry velenia bude výkonný pracovník pravdepodobne kričať na straty peňazí počas výpadku služby. Môžete však znížiť stres svojich tímových tímov pomocou zlyhania ako spôsobu učenia a prispôsobenia systému tak, aby sa stal odolnejším.

Každý incident je príležitosťou na zlepšenie a rast, ako jednotlivci, tak aj ako tím.

DevOps zahŕňa kaizen, umenie neustáleho zlepšovania. Keď váš tím zažije prácu, môžu každý deň robiť drobné rozhodnutia, ktoré prispievajú k dlhodobému rastu a v konečnom dôsledku k lepšiemu produktu.

DevOps vám umožňuje neustále zlepšovať

Neustále zlepšovanie je v DevOps kľúčovou zložkou. Použite vizualizáciu nikdy nekončiaceho cyklu, keď aplikujete DevOps na svoju organizáciu. Cyklus by nemal vyvolávať obavy prostredníctvom myšlienok Sisyfusu a tlačiť balvan do kopca na celú večnosť. Namiesto toho premýšľajte o tomto cykle ako o pohybe, ako snehová guľa, ktorá sa valí z kopca, získava na sile a hmotnosti.

Keď si osvojíte DevOps a integrujete čoraz viac základných princípov do svojho každodenného pracovného toku, budete svedkami tohto zrýchlenia z prvej ruky. Cyklus neustáleho zlepšovania by sa mal vždy sústrediť okolo zákazníka. Musíte neustále premýšľať o koncovom užívateľovi a integrovať spätnú väzbu do životného cyklu dodávania softvéru.

Základom tohto cyklu je CI / CD. Prijatie CI / CD nie je požiadavkou systému DevOps na všetko alebo nič; namiesto toho je to pomalý proces implementácie. Najprv by ste sa mali zamerať na zvládnutie nepretržitej integrácie. Povzbudzujte inžinierov, aby voľne zdieľali kód a často ho zlúčili. Tento prístup zabraňuje izolácii a silám, aby sa stali blokujúcimi vo vašej inžinierskej organizácii.

Keď vaša organizácia zvládne nepretržitú integráciu, prejdite na nepretržité dodávanie, čo je prax automatizácie dodávania softvéru. Tento krok vyžaduje automatizáciu, pretože kód sa bude pohybovať viacerými kontrolami, aby sa zabezpečila kvalita. Keď bude všetok váš kód bezpečný a dostupný v úložisku zdrojového kódu, môžete začať implementovať malé zmeny nepretržite. Vaším cieľom je odstrániť manuálne prekážky a zlepšiť schopnosť svojho tímu objavovať a opravovať chyby bez dopadu na zákazníka.

DevOps automatizuje toaletu

Zrýchlenie a zvýšená účinnosť sú jadrom metodiky DevOps. Automatizáciou manuálnych procesov náročných na pracovnú silu DevOps umožňuje inžinierom pracovať na projektoch, ktoré zvyšujú spoľahlivosť a ľahkosť údržby softvéru a systémov - bez chaosu neočakávaných prerušení služieb.

Technológia spoľahlivosti stránok (SRE) sa zaoberá záchodom, čo je práca potrebná na udržanie prevádzkyschopnosti služieb, ale je manuálna a opakujúca sa. Toil môže byť automatizovaný a nemá dlhodobú hodnotu. Asi najdôležitejšie zo všetkého je toaletné váhy lineárne, čo obmedzuje rast. Upozorňujeme, že záležitosť sa netýka režijných administratívnych potrieb, ako sú stretnutia a plánovanie. Tento druh práce, ak je realizovaný s mentálnou devOps, je prospešný pre dlhodobé zrýchlenie vášho tímu.

Jedným zo základných princípov nástrojov vašej praxe DevOps je automatizácia. Môžete automatizovať svoje nasadzovacie potrubie tak, aby obsahovalo podrobnú testovaciu súpravu, ako aj ďalšie brány, cez ktoré sa musí uvoľniť kód, ktorý musí prejsť. SRE je v mnohých ohľadoch ďalším logickým krokom vo vývoji DevOps a mal by byť vaším ďalším krokom potom, čo vy a vaša organizácia zvládnete základné koncepcie DevOps a implementujete prax vo svojom tíme.

DevOps urýchľuje doručovanie

Životný cyklus poskytovania softvéru sa vyvinul z pomalého a lineárneho procesu vodopádu do agilnej a nepretržitej slučky systému DevOps. Už produkt vymýšľate, nevyvíjate ho v plnej miere a potom ho prepustíte zákazníkom a dúfame v jeho úspech.

Namiesto toho vytvoríte spätnú väzbu okolo zákazníka a neustále dodávate iteratívne zmeny vo vašich produktoch. Tento pripojený obvod vám umožňuje neustále zlepšovať vaše funkcie a zabezpečiť, aby bol zákazník spokojný s tým, čo dodávate.

Keď prepojíte všetky bodky a plne osvojíte DevOps vo vašej organizácii, sledujete, ako váš tím dokáže rýchlejšie poskytovať lepší softvér. Zmeny budú spočiatku malé, rovnako ako zmeny, ktoré vydáte. Postupom času sa však tieto zdanlivo nevýznamné zmeny spájajú a vytvárajú tím, ktorý urýchľuje poskytovanie kvalitného softvéru.

  1. BusinessOperations ManagementVyužite viac svojich cloudových nástrojov: automatizujte devOps v cloude

Autor: Emily Freeman

Spojenie cloudu s praxou DevOps môže urýchliť prácu, ktorú ste už vykonali. Pri spoločnom použití môžu DevOps aj cloud riadiť digitálnu transformáciu vašej spoločnosti.

Výsledky uvidíte, pokiaľ zdôrazňujete priority systému DevOps: ľudia, procesy a technológie. Cloud - spolu s inými nástrojmi - spadá priamo do technickej časti vašej implementácie DevOps.

DevOps a cloud computing

Cloud computing umožňuje automatizáciu pre vývojárov a ľudí z oblasti prevádzky spôsobom, ktorý jednoducho nie je možný, keď spravujete svoju vlastnú fyzickú infraštruktúru. Poskytovanie infraštruktúry prostredníctvom kódu v cloude - čo je systém označovaný ako Infraštruktúra ako kód (IaC) - vám umožňuje vytvárať šablóny a opakovateľné procesy.

Keď sledujete zmeny vo vašom infraštruktúrnom kóde pomocou ovládania zdroja, dovolíte svojmu tímu bezproblémovo pracovať a sledovať zmeny. IaC je omnoho viac opakovateľný a automatizovaný - nehovoriac o rýchlejšom - ako nechať inžinierov kliknúť okolo portálu.

Dokonca ani pokyny na portáli nie sú spoľahlivé. Riziko, že urobíte malé, ale významné zmeny v nastavení infraštruktúry, riskujete, ak budete neustále vytvárať rovnaké nastavenie prostredníctvom portálu, a nie prostredníctvom súboru YAML.

Vezmite svoju kultúru DevOps do cloudu

Ľudia často hovoria o DevOps a cloud computingu, akoby boli vzájomne prepojení a mnohými spôsobmi aj oni. Uvedomte si však, že si môžete osvojiť DevOps - alebo začať transformovať svoju inžiniersku organizáciu - bez toho, aby ste sa všetci zapojili do cloudu. Je úplne rozumné, aby ste najskôr stanovili štandardy, postupy a procesy pre svoj tím predtým, ako presuniete svoju infraštruktúru na poskytovateľa cloudu.

Hoci ľudia hovoria, akoby už boli všetci v oblakoch, stále ste na špici prechodu k cloudu. Poskytovatelia cloudu sa každým dňom stávajú robustnejšími a strojárske spoločnosti pomaly prevádzajú svoje služby hostované na cloud. Vzhľadom na to by organizácia, ktorá sa usiluje prijať DevOps, bola múdre, aby dôkladne zvážila využitie služieb významného poskytovateľa cloudu.

Každý, kto má skúsenosti s technológiou DevOps, by pravdepodobne cloud nevolal riešenie NoOps, ale môže to nazvať OpsLite. Cloudové služby často abstraktne komplikujú architektúru operácií takým spôsobom, ktorý z nej robí architektúru priateľskejšou pre vývojárov a umožňuje im prevziať väčšie vlastníctvo svojich komponentov.

Ak ste niekedy reptali, že vývojári by mali byť zahrnutí do striedania počas hovoru, máte pravdu - mali by byť. Zapojenie vývojárov do rotácie počas pohotovosti je skvelý spôsob, ako rozšíriť svoje vedomosti o zavádzaní kódu, ako aj o správe a zabezpečení infraštruktúry, na ktorej sú prevádzkované ich služby. To znižuje prevádzkové režijné náklady a uvoľňuje čas odborníkov na prácu na proaktívnych riešeniach.

Učenie sa prostredníctvom prijatia DevOps

Ak je váš tím schopný prijať DevOps a posunúť sa smerom k súčasnému využívaniu cloud computingu, môžete tieto posuny použiť ako príležitosti na vzdelávanie pre vývojárov aj pre ľudí z oblasti prevádzky.

Zatiaľ čo sa váš tím posúva do cloudu, vývojári majú možnosť oboznámiť operatívnych odborníkov s kódom - možno aj konkrétnymi jazykmi - a so zdrojom a vývojári môžu ľudí učiť vývojárov o infraštruktúre. Ak sú obe skupiny odborníkmi aj nováčikmi, žiadna skupina sa nemusí zaoberať prenosom vedomostí, ktoré poškodzujú ego.

Dôvera, vzťah a zdravá dynamika, ktorá sa vynára z týchto interakcií, povzbudí váš tím a vydrží oveľa dlhšie, ako okamžitá práca. V mnohých ohľadoch posilňujete svoju kultúru DevOps pomocou nástrojov na cvičenie DevOps.

Využívanie cloudových služieb vo vašej iniciatíve DevOps

Moderné operácie sa menia a vyvíjajú. Vaši konkurenti už prijímajú nové spôsoby rýchlejšej inovácie a zrýchlenia životného cyklu poskytovania softvéru.

Cloud computing predstavuje veľký posun od tradičného spôsobu, akým podniky premýšľajú o IT zdrojoch. Outsourcingom väčšiny vašich požiadaviek na infraštruktúru a prevádzku poskytovateľovi cloudu znížite režijné náklady a svoj tím sa môžete sústrediť na poskytovanie lepšieho softvéru vašim používateľom.

Existuje šesť bežných dôvodov, prečo sa organizácie obracajú na služby cloud computing:

  • Zlepšenie dostupnosti. Poskytovatelia cloudu vám umožňujú vybrať iba služby, ktoré potrebujete, keď ich potrebujete. Predstavte si, že by ste mali prístup k káblovej televízii, ale platíte iba za sledované kanály. To by sa vám páčilo, nie? Väčšina členov tímu DevOps by! Poskytovatelia cloudu to robia a zároveň vám poskytujú najmodernejší výpočtový hardvér umiestnený vo fyzicky bezpečných dátových centrách. Automatizácia nasadenia. Zmeny v systéme - nasadenie - sú najčastejšími príčinami výpadkov alebo výpadkov služieb. Poskytovatelia cloudu robia vydanie kódu automatizovaným opakovateľným procesom, čím sa výrazne znižuje pravdepodobnosť výskytu chýb v manuálnom vydaní a zavádzaní chýb. Automatizované nasadenia tiež umožňujú vývojárom vydávať svoje vlastné kódy. V konečnom dôsledku automatizované nasadenia zjednodušujú proces a zároveň znižujú prestoje a reakčné triedenie výroby. Urýchlenie dodávky. Cloud znižuje trenie takmer v každej fáze životného cyklu poskytovania softvéru. Aj keď je nastavenie potrebné, často trvá viac ako dvojnásobok času potrebného na vykonanie procesu manuálne a službu alebo proces musíte nastaviť iba raz. Zrýchlené doručenie vám poskytne veľa flexibility. Zvyšovanie bezpečnosti. Poskytovatelia cloudu tvoria súčasť zabezpečenia svojej bezpečnosti. Microsoft Azure, Amazon webové služby (AWS) a Google Cloud Platform (GCP) spĺňajú rôzne štandardy súladu a poskytujú zásady, služby a ovládacie prvky, ktoré vám pomôžu posilniť bezpečnosť vášho systému. Okrem toho, ak v rámci cloudu využívate nástroj na zavádzanie plynovodu, môžete pred uvoľnením nového kódu do prostredia pridať bezpečnostné kontroly, čím sa zníži možnosť zraniteľnosti zabezpečenia. Klesajúce zlyhanie. Prostredníctvom potrubí vytvárania a uvoľňovania cloudu je váš tím schopný vytvárať automatizované testy na overenie funkčnosti, kvality kódu, bezpečnosti a súladu každého kódu zavedeného do vašich systémov. Táto schopnosť znižuje možnosť výskytu chýb a zároveň znižuje riziko problémového nasadenia. Budovanie odolnejších a škálovateľnejších systémov. Cloud umožňuje organizáciám zväčšiť, zmenšiť a zvýšiť kapacitu v priebehu niekoľkých sekúnd. Toto elastické škálovanie umožňuje rozdeľovanie výpočtových a úložných zdrojov podľa potreby bez ohľadu na to, kde na svete vaši používatelia interagujú s vaším produktom. Tento prístup umožňuje lepšie slúžiť zákazníkom a efektívnejšie riadiť náklady na infraštruktúru.

Prístup DevOps je o vytvorení cyklickej metódy, z ktorej by ste mali úžitok a poučili sa z tohto procesu pri každom jej absolvovaní.

  1. BusinessOperations ManagementTips na zlepšenie inžinierskeho výkonu pomocou DevOps

Autor: Emily Freeman

Zlepšenie technickej výkonnosti ako súčasti procesu DevOps môže mať rozsiahle dopady na celé podnikanie. Zjednodušenie životného cyklu rozvoja a odstránenie prekážok poslúži na zrýchlenie celkovej výkonnosti podniku - v konečnom dôsledku zvýši konečný výsledok. A ak si ako inžinier DevOps myslíte, že by ste sa nemali starať o výkonnosť firmy, mýlite sa.

Podľa prieskumu a hodnotenia spoločnosti DevOps (DORA) vysoko výkonné tímy DevOps neustále prevyšujú svojich konkurentov v štyroch kľúčových oblastiach:

  • Frekvencia nasadenia: Tento výraz sa týka toho, ako často môžu vaši technici implementovať kód. Zlepšenie výkonu je v súlade s nasadením niekoľkokrát za deň podľa potreby. Prípravný čas: Čas potrebný na odovzdanie nového kódu do spustenia tohto kódu v produkčnom prostredí. Najlepší výkonní umelci majú podľa DORA dodací čas pod hodinu, zatiaľ čo priemerní výkonní umelci potrebujú mesiac. MTTR (Mean Time to Recover): MTTR označuje, ako dlho budete potrebovať na obnovenie služby po výskyte nehody alebo výpadku. V ideálnom prípade sa chcete zamerať na menej ako hodinu. Výpadok stojí vážne peniaze, najmä ak má dopad na ziskové centrá aplikácie. Dlhé výpadky ničia dôveru, znižujú morálku a znamenajú ďalšie organizačné výzvy. Zlyhanie zmeny: Tento výraz sa týka miery, v akej zmeny vo vašom systéme negatívne ovplyvňujú výkon. Aj keď nikdy nedosiahnete nulovú percentuálnu mieru zlyhania, môžete dosiahnuť absolútnu nulovú hodnotu zvýšením automatizovaných testov a spoliehaním sa na implementačné potrubie s neustálymi integračnými kontrolami a bránami - to všetko zaručuje kvalitu.

Eliminácia dokonalosti ako miera úspechu DevOps

DevOps sa spolieha na mantru „Hotovo je lepšie ako dokonalé.“ Zdá sa, že je to jedna z týchto citácií, ktorú nemožno pripísať, ale slová hovoria pravdu. Pokus o dosiahnutie dokonalosti je nepriateľom efektívnosti a produktivity.

Väčšina inžinierov, vrátane tých z odrody DevOps, trpí nejakou verziou analýzy - paralýzy - mentálnym postihnutím, ktoré obmedzuje vašu produktivitu v snahe prehodnotiť vašu prácu a obísť prípadné nehody.

Tréning nedokonalosti vo vašej práci si vyžaduje, aby ste prijali možnosť zlyhania a nevyhnutnosti refaktoringu. Vytváranie slučiek spätnej väzby okolo zákazníka a opakovanie rôznych fáz ropovodu sú primárnymi nájomcami spoločnosti DevOps. V aplikácii DevOps spájate konce tak, aby ohýbali čiaru do kruhu.

Keď uvažujete iteratívne a kruhovo, vytlačenie kódu, ktorý nie je dokonalý, sa zdá byť oveľa menej desivé, pretože kód nie je vytesaný do kameňa. Namiesto toho je to v dočasnom stave, že sa vývojári DevOps často zlepšujú, pretože zhromažďujete viac údajov a spätnú väzbu.

Navrhovanie malých tímov pre DevOps

Pravdepodobne ste už počuli o tímoch Amazonu „s dvoma pizzami“. Koncept vo všeobecnosti hovorí o dôležitosti malých tímov. Presný počet ľudí, ktorí tvoria tím s dvoma pizzami, sa teraz líši v závislosti od vašej chuti k jedlu.

Je dobré udržiavať tímy do 12 osôb. Ak sa skupina priblíži k 9, 10 alebo 11 ľuďom, skúste to rozdeliť na dvoch. Sladké miesto pre veľkosť skupiny je okolo 4–6 osôb. Váš presný počet sa môže líšiť v závislosti od zapojených ľudí, ale ide o toto: Keď sa skupiny príliš zväčšia, komunikácia sa stáva náročnou, forma klieští a tímová práca trpí.

Pri vytváraní tímov DevOps je tu jeden ďalší bonus: párne čísla. Je dobré dať ľuďom v práci „kamaráta“ - niekoho, komu môžu dôverovať predovšetkým nad ostatnými. V párnych skupinách má každý kamaráta a nikto nie je vynechaný. Môžete sa párovať rovnomerne a má tendenciu fungovať dobre. Vytváranie párnych skupín nie je vždy dosiahnuteľné z dôvodu personálneho počtu, ale treba mať na pamäti.

Vzorec na meranie komunikačných kanálov je n (n - 1) / 2, kde n predstavuje počet ľudí. Jednoduchým výpočtom môžete odhadnúť, ako zložitá bude komunikácia vášho tímu. Napríklad vzorec pre dvojpizza tím 10 by bol 10 (10 - 1) / 2 = 45 komunikačných kanálov. Dokážete si predstaviť, ako zložité sa môžu stať väčšie tímy.

Sledovanie fungovania systému DevOps

Ak môžete prekonať malú réžiu zaznamenávania toho, čo robíte každý deň, výsledky vám poskytnú mimoriadnu hodnotu. Skutočné údaje o tom, ako využívate svoj čas, vám pomáhajú sledovať vás a efektivitu vášho tímu. Ako skvele povedal Peter Drucker, „Ak to nedokážete zmerať, nemôžete to vylepšiť.“

Koľko dní nechávate v práci pocit, že ste nič neurobili? Celý deň ste mali schôdzku po stretnutí alebo náhodné prerušenia. Nie si sám. Mnoho pracovníkov má rovnaký problém. Môže byť ťažké sledovať váš pokrok a tým aj vašu produktivitu. Rozdiel medzi našimi pocitmi účinnosti a skutočnosťou našej účinnosti je nebezpečným územím pre akýkoľvek tím DevOps.

Skúste na to použiť pero a papier, nie nejaký automatizovaný nástroj. Áno, pomocou softvéru môžete sledovať, ako trávite čas v počítači. Môže vám to povedať, keď čítate e-maily, keď sa uvoľňujete a keď kódujete, chýba mu však nuansa a často chýbajú alebo nesprávne kategorizujú veľké kusy času.

Keď budete mať predstavu o tom, čo robíte a kedy, môžete začať zisťovať, ktoré činnosti patria do kvadrantov rozhodovacej matice Eisenhower. Akú prácu vykonávate rutinne a ktorá vám alebo organizácii neprináša žiadnu hodnotu?

Zníženie trenia v projektoch DevOps

Jednou z najlepších vecí, ktoré môže manažér urobiť pre inžiniersky tím DevOps, je nechať ich na pokoji. Najmite zvedavých inžinierov, ktorí sú schopní samostatne riešiť problémy a potom ich nechať robiť svoju prácu. Čím viac dokážete znížiť trenie, ktoré spomaľuje ich inžinierske práce, tým efektívnejší bude váš tím.

Zníženie trenia zahŕňa trenie, ktoré existuje medzi tímami - najmä operácie a vývoj. Nezabudnite na odborníkov, ako je bezpečnosť.

Zosúladenie cieľov a stimulov zvyšuje rýchlosť. Ak sa každý zameriava na dosiahnutie rovnakých vecí, môže sa spojiť ako tím a metodicky sa posunúť k týmto cieľom.

Humanizácia upozorňovania na úspech DevOps

Každý inžiniersky tím má upozornenia na akcie alebo udalosti, na ktorých nezáleží. Všetky tieto upozornenia desenzibilizujú inžinierov na skutočne dôležité upozornenia. Mnoho inžinierov sa stalo podmienených ignorovaním e-mailových upozornení z dôvodu nadmerného množstva správ.

Únava pri výstrahách trpí mnohými strojárskymi organizáciami a je za vysokú cenu. Ak ste zaplavení každý deň, nie je možné vybrať z mora nedôležité. Dalo by sa dokonca povedať, že tieto správy sú naliehavé, ale nie dôležité. , , ,

E-mail nie je ideálnym prostriedkom na varovanie, pretože nie je časovo citlivý (veľa ľudí kontroluje e-mail iba niekoľkokrát denne) a ľahko sa pochováva v iných markantách.

Pri aplikovaní toho, čo ste sa dozvedeli o rýchlej iterácii, pravidelne prehodnocovajte svoje varovné limity, aby ste zaistili primerané množstvo pokrytia bez príliš veľkého počtu falošných pozitív. Určenie, ktoré upozornenia nie sú potrebné, si vyžaduje čas a prácu. A pravdepodobne to bude trochu strašidelné, však? Vymazanie výstrahy alebo zvýšenie prahu vždy prináša určité riziko.

Čo ak je výstraha skutočne dôležitá? Ak je, zistíte to. Pamätajte, že v organizácii DevOps sa nemôžete báť zlyhania. Musíte ho prijať, aby ste sa mohli posunúť dopredu a neustále zlepšovať. Ak necháte usmerňovať svoje rozhodnutia strach, stojíte - ako inžinier a organizácia.

  1. BusinessOperations ManagementAko vytvoriť tímy DevOps vo vašej organizácii

Autor: Emily Freeman

DevOps nemá ideálnu organizačnú štruktúru. Rovnako ako všetko v technike, aj „správna“ odpoveď týkajúca sa štruktúry vašej spoločnosti závisí od vašej jedinečnej situácie: vášho aktuálneho tímu, vašich plánov rastu, veľkosti vášho tímu, dostupných súprav schopností vášho tímu, vášho produktu a ďalej a ďalej.

Zladenie vízie vášho tímu DevOps by malo byť vašou prvou misiou. Až potom, čo ste odstránili nízko visiace ovocie zjavného trenia medzi ľuďmi, mali by ste začať s prestavovaním tímov. Aj potom umožnite určitú flexibilitu.

Ak pristupujete k reorganizácii s otvorenosťou a flexibilitou, pošlete správu, ktorú ste ochotní počúvať a dať svojmu autonómii nezávislosť - základný princíp DevOps.

Možno už máte vývojára Python alebo Go, ktorý je vášnivý a zvedavý na správu infraštruktúry a konfigurácie. Možno sa táto osoba môže vo vašej novej organizácii prepnúť na rolu viac zameranú na operátorov. Vložte sa do topánok tejto osoby. Neboli by ste lojálni k organizácii, ktorá pre vás predstavuje riziko? Neboli by ste nadšení, že budete tvrdo pracovať? A toto vzrušenie je nákazlivé.

Tu sa dozviete, ako zladiť tímy, ktoré už máte, venovať tím praktikám DevOps a vytvárať krížové funkčné tímy - všetky prístupy, z ktorých si môžete zvoliť zameranie svojich tímov na DevOps.

Môžete si zvoliť jeden prístup a dovoliť mu, aby sa odtiaľto vyvíjal. Nemajte pocit, že toto rozhodnutie je trvalé a nemenné. DevOps sa zameriava na rýchle opakovanie a neustále zlepšovanie, čo je hlavným prínosom tejto metodiky. Táto filozofia platí aj pre tímy.

Zarovnanie funkčných tímov pre DevOps

Týmto prístupom vytvoríte silnú spoluprácu medzi vašimi tradičnými vývojovými a operačnými tímami. Tímy zostávajú svojou povahou funkčné - jeden zameraný na operačný systém, druhý zameraný na kód. Ich stimuly sú však zladené. Budú rásť vo vzájomnej dôvere a budú fungovať, keď sa dva tímy zovrú.

Pre menšie strojárske organizácie je zosúladenie funkčných tímov solídnou voľbou. Toto zarovnanie môže v prvom kroku posilniť pozitívne zmeny, ktoré ste doteraz urobili. Zarovnanie zvyčajne začnete tým, že si vytvoríte vzťah. Zaistite, aby každý človek v oboch tímoch nielen rozumovo rozumel úlohe a obmedzeniam druhého tímu, ale tiež sa vcítil do bodov bolesti.

V prípade tohto prístupu je vhodné propagovať politiku „Vy ste ju vytvorili, podporujete ju“. Táto zásada znamená, že každý - vývojár aj prevádzka - sa zúčastňuje na rotácii počas hovoru.

Táto účasť umožňuje vývojárom začať pochopiť frustrácie, keď sú povolané uprostred noci a zápasia, zatiaľ čo im chýba hmlisté oči a kofeín, aby opravili chybu, ktorá ovplyvňuje zákazníkov. Prevádzkovatelia tiež začnú dôverovať záväzkom vašich vývojárov v ich prácu. Aj táto malá zmena vyvoláva mimoriadnu dôveru.

Upozornenie: Ak vývojári tvrdo bojujú proti pohotovosti, vo vašej organizácii sa vyskytuje väčší problém. Potlačenie nie je neobvyklé, pretože práve prebiehajúce volanie sa výrazne líši od ich bežných každodenných povinností. Spätný chod často pochádza z miesta nepohodlia a strachu. Túto reakciu môžete zmierniť vyriešením skutočnosti, že vaši vývojári nemusia vedieť, čo majú robiť niekoľkokrát, keď sú v pohotovosti.

Možno nie sú oboznámení s infraštruktúrou, a to je v poriadku. Povzbudzujte ich, aby eskalovali incident a našli niekoho, kto má viac skúseností. Nakoniec vytvorte pracovný denník so spoločnými upozorneniami a aké kroky podniknite. Poskytnutie tohto zdroja pomôže zmierniť strach, kým sa nezačnú hýbať vecami.

Ďalšou taktikou, ktorá má pomôcť urýchliť spoluprácu pri vytváraní súdržnejšieho tímu DevOps, je predstaviť deň tieňa, pričom každý tím „obchoduje“ s kolegom. Obchodovaná osoba jednoducho zatieni niekoho iného v tíme, sedí pri stole (alebo vo svojom okolí) a pomáha pri každodenných zodpovednostiach. Môžu pomôcť s prácou, diskutovať o problémoch ako tím (párové programovanie) a dozvedieť sa viac o systéme z iného hľadiska. Tento štýl výučby nie je normatívny.

Namiesto toho sa hodí k zvedavosti a budovaniu dôvery. Kolegovia by mali mať možnosť klásť otázky - dokonca aj „hlúpe“ odrody - a učiť sa slobodne. Neexistujú žiadne očakávania týkajúce sa výkonnosti. Čas by sa mal stráviť jednoduchým spoznávaním a oceňovaním práce ostatných. Akýkoľvek produktívny výstup je bonus!

Pri tomto prístupe k zosúladeniu musia byť obidva tímy absolútne zapojené do procesov plánovania, architektúry a vývoja. Musia zdieľať zodpovednosti a zodpovednosť počas celého životného cyklu vývoja.

Venovanie tímu DevOps

Špecializovaný tím DevOps je skôr vývojom Sys Admin ako skutočný tím DevOps. Je to operačný tím so zmesou zručností. Možno, že niektorí inžinieri sú oboznámení s riadením konfigurácie, iní IaC (infraštruktúra ako kód) a možno iní sú odborníci na kontajnery alebo cloudovú natívnu infraštruktúru alebo CI / CD (nepretržitá integrácia a nepretržité dodávanie / vývoj).

Ak si myslíte, že zaradenie skupiny ľudí do oficiálneho tímu je dostatočné na zničenie síl, mýlite sa. Ľudia sú zložitejšie ako tabuľky. Hierarchia neznamená nič, ak vaše sila vstúpila do fázy, v ktorej sú nezdravé a kmeňové. V toxických kultúrach sa môže objaviť silnejší štýl vodcovstva, ktorý takmer vždy nasledujú ľudia, ktorí sa ujímajú strán. Ak to vidíte vo vlastnom tíme, musíte urobiť veľa práce.

Aj keď pre váš tím môže fungovať akýkoľvek prístup, tento vyhradený tímový prístup je ten, ktorý by ste mali najviac premyslieť. Najväčšou nevýhodou vyhradeného tímu DevOps je to, že sa ľahko stáva pokračovaním tradičných inžinierskych tímov bez toho, aby sa uznalo, že je potrebné usporiadať tímy, znížiť sila a odstrániť trenie. Pri tomto prístupe sú riziká pretrvávajúceho trenia (alebo vytvárania ďalších) vysoké. Dbajte opatrne, aby ste sa uistili, že ste vybrali túto organizáciu tímu z konkrétneho dôvodu.

Výhody tohto prístupu DevOps spočíva v tom, že tím špecializovaný na riešenie hlavných zmien alebo úprav infraštruktúry sa zaoberá. Ak zápasíte s problémami zameranými na operácie, ktoré spomaľujú vaše nasadenie alebo spôsobujú obavy zo spoľahlivosti stránok, môže to byť dobrý prístup - aj dočasne.

Špeciálny tím, ak plánujete presunúť starú aplikáciu do cloudu. Ale namiesto toho, aby ste tento tím nazvali tímom DevOps, môžete ho skúsiť označiť ako tím pre automatizáciu.

Táto špecializovaná skupina inžinierov sa môže úplne zamerať na zabezpečenie toho, aby ste nastavili správnu infraštruktúru a automatizačné nástroje. Potom môžete pokračovať s istotou, že vaša aplikácia bude pristávať v cloude bez väčšieho prerušenia. Napriek tomu je tento prístup dočasný. Ak udržujete tím príliš dlho izolovaný, riskujete, že pôjdete z klzkého svahu od rýchleho rastu po zabudované silo.

Vytváranie medzifunkčných produktových tímov pre DevOps

Cross-funkčný tím je tím tvorený okolo jedného zamerania produktu. Skôr ako mať samostatné tímy pre vývoj, užívateľské rozhranie a užívateľské skúsenosti (UI / UX), zabezpečenie kvality (QA) a operácie, kombinujete ľudí z každého z týchto tímov.

Cross-funkčný tím pracuje najlepšie v stredných až veľkých organizáciách. Na obsadenie pozícií každého produktového tímu potrebujete dostatok vývojárov a operačných skupín. Každý cross-funkčný tím vyzerá trochu inak.

Je dobré mať minimálne jednu operačnú osobu v tíme. Nepožadujte operačnú osobu, aby rozdelila svoje zodpovednosti medzi dva tímy. Tento scenár je voči nim nespravodlivý a rýchlo vytvorí rozpor medzi oboma produktovými tímami. Dajte svojim inžinierom tú česť, že sa dokážu sústrediť a hlboko sa venovať svojej práci.

Ak je vaša organizácia stále malá alebo je v počiatočnej fáze, môžete považovať celú svoju inžiniersku organizáciu za viacfunkčný tím. Udržujte ju malú a zameranú. Keď začnete pristupovať k 10 až 12 ľuďom, začnite premýšľať o tom, ako môžete reorganizovať inžinierov.

Obrázok nižšie ukazuje, ako by mohli vyzerať vaše tímy s viacerými funkciami. Majte však na pamäti, že ich zloženie sa v jednotlivých tímoch a organizáciách líši. Niektoré produkty majú silné zameranie na dizajn, čo znamená, že v každom tíme môžete mať viac dizajnérov. Ďalšie výrobky sú technické výrobky určené pre inžinierov, ktorí sa nestarajú o estetiku. Tímy pre tento druh produktu môžu mať jedného dizajnéra - alebo vôbec žiadny.

Produktový tím DevOps

Ak je vaša organizácia dostatočne veľká, určite môžete vytvoriť viac tímov pomocou rôznych nápadov a prístupov DevOps. Nezabudnite, že vaša organizácia je jedinečná. Cítiť sa splnomocnený robiť rozhodnutia na základe vašich aktuálnych okolností a odtiaľ sa prispôsobovať. Tu je niekoľko možných kombinácií rôznych typov produktových tímov.

  • Starší produktový tím: projektový manažér (PM), front-endový vývojár, back-endový vývojár, back-endový vývojár, inžinier spoľahlivosti stránok (SRE), automatizovaný inžinier, tester kvality QA Tím Cloud Transformation: SRE, SRE, Operations Engineer, Automation Engineer, Back-end Developer Tím MVP: PM, dizajnér, UX Engineer, front-end vývojár, backend vývojár, prevádzkový inžinier

Nevýhodou medzifunkčného produktového tímu je to, že inžinieri strácajú kamarátovstvo s rovnakými zručnosťami a vášňami. Dôležitým aspektom spokojnosti s prácou je mať skupinu rovnako zmýšľajúcich jednotlivcov, s ktorými sa môžete stýkať a od ktorých sa môžete učiť. Nižšie nájdete riešenie tohto problému.

Ako je uvedené nižšie, môžete dať svojim inžinierom vyhradený čas na prácu so svojimi kmeňmi. Raz za týždeň môžete robiť niečo také veľkorysé, ako platiť na obed, aby sa mohli spolu spojiť a rozprávať. Alebo im môžete poskytnúť 10–20 percent pracovného času, aby mohli pracovať na projektoch ako kmeň. V každom prípade potrebujete, aby vaši inžinieri zostali ostrí.

Kmene zdieľajú znalosti odvetvia, poskytujú spoľahlivú spätnú väzbu a podporujú rast kariéry. Poskytnite svojim inžinierom čas na učenie sa od ľudí, s ktorými zdieľajú vzdelanie, skúsenosti a ciele. Tentoraz poskytuje bezpečné miesto, kde sa môžu relaxovať a cítiť ako doma.

DevOps kmene

Žiadne množstvo dokonalých finaglov nezmôže nedostatky zlej organizačnej kultúry. Ak ste však doteraz venovali pozornosť a urobili potrebné kroky, ďalším krokom je vytvorenie tímov, ktoré posilnia kultúrne ideály, ktoré ste už zaviedli.

  1. BusinessOperations ManagementObchod k procesom DevOps: od linky k obvodu

Autor: Emily Freeman

Prístup DevOps zahŕňa cyklus na rozdiel od priamky. Umožňuje nepretržitú integráciu a nepretržité dodávanie, čím sa získa konzistentná spätná väzba počas celého procesu. Metodológia DevOps je len jedným z príkladov vývoja procesov.

Vývojové procesy sa za posledných niekoľko desaťročí radikálne zmenili, a to z dobrého dôvodu. V 60. rokoch viedla Margaret Hamiltonová inžiniersky tím, ktorý vyvinul softvér pre misiu Apollo 11. Nerozpúšťate iteratívne človeka do vesmíru - aspoň to neurobili v 60. rokoch. Nejde o oblasť softvéru, v ktorej sa „zlyhanie rýchlo“ cíti ako obzvlášť dobrý prístup. Život je na rade, nehovoriac o miliónoch dolárov.

Hamilton a jej rovesníci museli vyvinúť softvér pomocou metodológie vodopádu. Obrázok nižšie ukazuje príklad procesu vývoja vodopádu (vyskytujúci sa v priamke).

vodopádový proces

Nasledujúci obrázok pridá fázy. Všimnite si, ako sa šípky pohybujú jedným smerom. Ukazujú jasný začiatok a jasný koniec. Keď skončíte, máte hotovo. Správny?

Nie. Pretože toľko ľudí, ktorí by chceli navždy odísť z častí ich kodebáz (alebo ich zabiť ohňom), zvyčajne nedostanú privilégium.

Softvér vyvinutý Hamiltonom a jej tímom bol veľkým úspechom (myseľ by si mohla myslieť, že sa vyvinuli v zhromaždení s nulovými pomocníkmi, ako sú chybové správy). Nie všetky projekty však boli rovnako úspešné.

Neskôr, keď vodopád zlyhal, Agile uspel. (DevOps sa zrodil z hnutia Agile.) Agile sa snaží vziať priamu líniu vodopádu a ohnúť ju do kruhu, čím vytvorí nekonečný okruh, prostredníctvom ktorého môže váš tím technikov iteratívne a neustále zlepšovať.

ropovod pre rozvoj vodopádov

Nasledujúci obrázok zobrazuje, ako myslieť na životný cyklus kruhového vývoja.

Obvod DevOps

Rôzne slučky predpísané rôznymi organizáciami sú často ovplyvňované výrobkami, ktoré predajcovia predávajú. Napríklad, ak predajca predáva softvér a nástroje v oblasti infraštruktúry, pravdepodobne zdôrazní túto časť životného cyklu vývoja, pravdepodobne sa najviac zameria na nasadenie, monitorovanie a podporu vášho softvéru.

Nie je tu nič na predaj. Etapy, na ktoré sa tu zameriavame, sú pre vývojárov najkritickejšie, spolu s tými, s ktorými ľudia najviac zápasia, keď sa učia lepšie riadiť vývoj softvéru a osvojiť si DevOps.

Päť fáz životného cyklu vývoja softvéru je

  • Plánovanie: Fáza plánovania vášho vývojového procesu DevOps je pravdepodobne najdôležitejšia pre vašu misiu DevOps. Nastaví vás pre úspech alebo neúspech na ceste. Je to tiež najplodnejší čas na zblíženie všetkých. Pre všetkých to znamená podnikateľské subjekty, predaj a marketing, strojárstvo, výrobky a ďalšie. Navrhovanie: Vo väčšine spoločností sa fáza navrhovania spája do fázy kódovania. Tento monštruózny amalgám dizajnu a kódu neumožňuje oddelenie architektonickej stratégie od implementácie. Ak však necháte veci ako návrh databázy, logistika API a kľúčové možnosti infraštruktúry až do konca vývojového potrubia - alebo, čo je horšie, individuálnym vývojárom, ktorí pracujú na samostatných funkciách - rýchlo zistíte, že je vaša kódová základňa rovnako tichá. ako váš technický tím. Kódovanie: Skutočný vývoj funkcií je tvárou procesu DevOps a získava všetku slávu. Je to však jeden z najmenej dôležitých krokov vo vašom životnom cykle vývoja. V mnohých ohľadoch ide jednoducho o vykonanie predchádzajúcich oblastí vášho plynovodu. Ak sa to urobí dobre, kódovanie by malo byť relatívne jednoduchým a priamym procesom.

Ak ste vývojár a práve ste pri tej poslednej vete lapali po dychu, pretože ste sa zaoberali stovkami náhodných a ťažko riešiteľných chýb, je ľahké pochopiť, ako sa cítite. Kódovanie je ťažké. O vývoji softvéru nie je nič ľahké. Zvládnutím plánovania, dizajnu a architektúry (a ich oddelením od skutočnej implementácie kódu) zabezpečíte, že najťažšie rozhodnutia týkajúce sa vývoja softvéru sa budú oddeľovať.

  • Testovanie: Testovanie je oblasť vášho potrubia, v ktorej sa môžu inžinieri zo všetkých oblastí odbornosti ponoriť a zapojiť, čo umožňuje jedinečnú príležitosť dozvedieť sa o testovaní, udržiavateľnosti a bezpečnosti. Existuje veľa Šesť fáz životného cyklu vývoja softvéru, rôzne typy testov, ktoré zabezpečujú, že váš softvér bude pracovať podľa očakávaní. Nasadenie: Nasadenie je štádium, ktoré je pravdepodobne najviac spojené s operáciami. Váš operačný tím tradične prevezme kód vyvinutý vašimi vývojármi a otestovaný tímom zabezpečenia kvality (QA) a potom ho vydá zákazníkom - čím sa stane sám zodpovedný za proces vydania. DevOps mal v tejto fáze vývojového procesu obrovský vplyv. Nasadenie je tiež jednou z oblastí, z ktorej môžete nájsť najviac automatizačných nástrojov, ktoré je potrebné vytiahnuť. Z pohľadu DevOps je vašou prioritou zjednodušenie procesu nasadenia tak, aby každý inžinier vo vašom tíme mohol nasadiť svoj kód. To však neznamená, že operácie nemajú jedinečné vedomosti alebo že operačné tímy môžu byť rozpustené.

Prevádzkovatelia budú mať vždy jedinečné vedomosti o infraštruktúre, vyvažovaní záťaže a podobne. Odstránenie manuálnej úlohy nasadenia softvéru z operačného tímu im v skutočnosti umožní ušetriť čas a peniaze inde. Budú mať čas pracovať na zlepšení spoľahlivosti a udržiavateľnosti vašej aplikácie.

Najdôležitejším aspektom životného cyklu dodávky v rámci DevOps je to, že ide o skutočnú slučku. Keď sa dostanete na koniec, idete späť na začiatok. Ak od zákazníkov získavate spätnú väzbu od podpory v ľubovoľnom okamihu, vráťte sa do následnej fázy (alebo do fázy plánovania), aby ste mohli vyvíjať softvér spôsobom, ktorý najlepšie poslúži vašim zákazníkom.

Prvou časťou výstavby plynovodu je lineárne spracovanie. Staviate priamku so stanovenými etapami a kontrolnými bodmi pozdĺž cesty. V tomto rámci môžete zobraziť životný cyklus vývoja softvéru ako niečo, čo začnete a čo ukončíte. Milovníci vodopádov by boli pyšní.

Realita vám však neumožňuje pracovať priamo. Nemôžete len začať vyrábať kód, dokončiť a odísť. Namiesto toho ste nútení stavať na základnom softvéri, ktorý ste vydali v prvej iteračnej slučke, a vylepšiť ho prostredníctvom druhého cyklu. A tak ďalej a tak ďalej. Tento proces sa nikdy neskončí a vy sa nikdy nezastavíte.

Proces DevOps vám pomáha spojiť začiatok a koniec tohto priameho potrubia, aby ste ho začali chápať ako celý obvod alebo slučka, aby ste sa mohli neustále vyvíjať a zlepšovať.

  1. BusinessOperations ManagementInview Techniky na budovanie tímu DevOps: Získanie správnych technických zručností

Autor: Emily Freeman

Pri prijímaní do zamestnania pre DevOps môže byť ťažké posúdiť kandidátov na tú správnu zručnosť, ale nie nemožné. S trochou kreativity a ochoty vystúpiť z krabice môžete použiť techniky pohovorov, aby ste našli kandidátov so správnymi technickými znalosťami pre vaše iniciatívy DevOps.

Rozhovory DevOps

Vek tupých hádaniek a rozhovorov s tabuľami vyvolávajúcimi pot sa stráca - a to z dobrého dôvodu. Ak pohovor s tabuľa uľahčí inžinier, ktorý sa viac zaujíma o oklamanie kandidáta než o diskusiu o technickej konverzácii, nikam nevediete rýchlo.

Rozhovory s interaktívnymi tabuľami si v poslednej dobe vyžiadali veľa tepla, keď znevýhodnili nedostatočne zastúpené a marginalizované skupiny, medzi ktoré patria aj ženy a ľudia farby. V tomto veku je absolútne nevyhnutné, aby technické spoločnosti najímali rozmanité pracovné sily, takže táto situácia je neprijateľná. Musíte však nejakým spôsobom zistiť technické schopnosti osoby.

Aká je odpoveď? Dobrá správa je, že máte možnosti. (Zlá správa je ... máte možnosti.)

To, ako si najmete, určí, kto ste.

Opätovné prehodnotenie pohovoru pre uchádzačov o zamestnanie v systéme DevOps

Rozhovor na interaktívnej tabuli nikdy nemal byť tým, čím sa stal. V jednom rozhovore s interaktívnymi tabuľami dostal kandidát DevOps počítačový program vytlačený na ôsmich listoch papiera. Inštrukcie? "Ladiť program." , , ospravedlnte ma?

Rozhovor na interaktívnej tabuli sa stal situáciou, v ktorej dáte kandidátovi zdanlivo nemožný problém, pošlite ho hore na tabuľu so značkou a dôkladne ho sledujte, zatiaľ čo štyria alebo päť ľudí sleduje paniku. Tento typ pohovoru neposkytuje nikomu kvalitné informácie o tom, či je zamestnávateľ alebo opýtaný vhodný pre druhú stranu.

Hoci iní požadovali odstránenie rozhovoru s interaktívnymi tabuľami, tu je radšej navrhnutý návrh: zmeňte ho tak, aby vyhovoval vašim potrebám DevOps. Nech je to diskusia medzi dvoma ľuďmi o kúpe kódu alebo konkrétnom probléme. Nerobte problém bláznivým spôsobom, napríklad vyvážením binárneho vyhľadávacieho stromu. Pokiaľ práca, s ktorou robíte rozhovor, nie je doslova písaním kódu v zhromaždení, nemusíte hodnotiť schopnosť kandidáta napísať zhromaždenie.

Buďte si vedomý úlohy DevOps, ktorú chcete vyplniť, požadovaných zručností a najlepší spôsob, ako tieto zručnosti zmerať v kandidátovi. Nechajte jedného člena svojho tímu sadnúť si s kandidátom a porozprávať sa o probléme. Ako by ste začali konverzáciu? Aké problémy sa s tým stretávate? Ako by ste obaja prispôsobili svoje riešenia výzvam, s ktorými sa stretnete?

Tento konverzačný prístup realizuje pre uchádzačov o zamestnanie DevOps dve veci:

  • Znižuje paniku. Väčšina ľudí nemyslí dobre pod tlakom. Navyše nevykonávate svoju prácu každý deň, zatiaľ čo niekto pozerá na rameno, kritizuje každý preklep alebo chybu. Okamžite by ste ukončili túto prácu. Nenúťte teda ľudí viesť rozhovor týmto spôsobom. Namiesto toho dajte svojim kandidátom príležitosť ukázať, čo môžu robiť. Získate prehľad o tom, ako si myslia a ako komunikujú. Napodobňuje skutočnú prácu. Konverzačný rozhovor vám poskytne predstavu o tom, aké by bolo pracovať s touto osobou. Nevyriešite ťažké problémy pri práci sledovaním vzájomného boja. (Aspoň by ste to nemali. Skutočne. To nie je veľmi kolaboratívne alebo DevOps-y, takže necháte svojich kolegov trpieť v ich silách.) Namiesto toho pracujete spolu, vymieňajte si nápady, premýšľajte, robte chyby, uzdravujte sa a vyhľadajte riešenie - spolu.

Najlepšie rozhovory s tabuľami sú kolaboratívne, komunikatívne a zamerané na zvedavosť - všetko, čo odborníci milujú na DevOps.

Urobte si so sebou domáce testy uchádzačov o zamestnanie DevOps

Alternatívou k tradičnejšiemu rozhovoru s interaktívnymi tabuľami je test so sebou. Tento typ testu je obzvlášť priateľský k ľuďom, ktorí majú akúkoľvek formu úzkosti alebo neviditeľného postihnutia, ktoré ovplyvňuje ich schopnosť zúčastniť sa na interaktívnej tabuli. Tento štýl rozhovoru je priateľský aj pre inžinierov, ktorí intenzívne zápasia s podvodným syndrómom.

Imposterov syndróm opisuje vysoko výkonných jednotlivcov, ktorí sa snažia internalizovať svoje úspechy a zažívajú pretrvávajúci pocit, že sú vystavení podvodom.

Test s odchodom domov pozostáva z nejakého typu problému, ktorý môže kandidát DevOps vyriešiť doma vo svojom vlastnom čase. Testy s odchodom domov sa často pripravujú ako testovací balík, pre ktorý musí kandidát napísať kód, aby testy prešli.

Problémom môže byť aj niečo relatívne malé, napríklad „Vytvorte program v [váš jazyk výberu], ktorý berie vstup a obracia znaky.“ Možnosti sú nekonečné a test môžete prispôsobiť svojmu technickému zásobníku ako vidíš fit.

Môžete dokonca požiadať uchádzačov o zamestnanie DevOps, aby nasadili ich aplikáciu. Zaistite, aby ste kandidátom umožnili používať nástroje s otvoreným zdrojovým kódom alebo im poskytli potrebné predplatné na používanie konkrétnych technológií.

Hlavnou nevýhodou pri domácich testoch je to, že žiadate ľudí, aby si počas večerov alebo cez víkendy robili čas na to, čo je v podstate voľná práca. Aj keď im platíte za prácu na domácom teste, tento štýl rozhovoru môže mať nespravodlivý dopad na uchádzača o zamestnanie DevOps, ktorý má mimo práce iné povinnosti, vrátane starostlivosti o deti, partnera alebo chorých rodičov.

Nie každý veľký inžinier má neobmedzený čas venovať sa svojmu remeslu. Ak však obmedzíte počet kandidátov na DevOps na ľudí, ktorí si môžu dovoliť venovať 5 až 10 hodín skúške s domácimi skúškami, váš tím sa rýchlo stane homogénnym a stagnujúcim.

Skontrolujte kód s uchádzačmi o zamestnanie DevOps

Jedna technika rozhovoru, ktorá sa dá skutočne povedať, je, keď si sadnete s inžinierom alebo skupinou technikov, aby ste spoločne vyriešili skutočné chyby v skutočnom kóde. Na pohovor v reálnom čase môžete vykonať niekoľko prístupov.

Môžete napodobniť test s odchodom domov a dať kandidátovi asi hodinu hodinu na vytvorenie programu alebo napísanie funkcie na vykonanie série testov. Rozhovor môžete tiež usporiadať ako prehľad kódu, v ktorom si vytiahnete skutočný PR a vykopnete, čo kód robí a čo by sa dalo vylepšiť.

V mnohých ohľadoch párový programovací charakter preskúmania kódu kombinuje najlepšie časti rozhovoru s tabuľou a testu so sebou, ale bez niektorých ich hlavných nevýhod.

Párové programovanie je technická prax, pri ktorej si dvaja inžinieri sadnú a spoločne riešia problém. Jedna osoba spravidla „riadi“ tým, že vlastní klávesnicu, ale spoločne rozhodujú o tom, ktorý prístup je najlepší, aký kód pridať a čo vziať.

Ak pozícia DevOps zahŕňa úlohu zameranú na operácie, použitie tohto prístupu v reálnom čase kódovania je ešte lepšie. Hoci sa mnohí ops ľudia učia implementovať infraštruktúru ako kód alebo spravovať konfigurácie, nemajú rovnaké skúsenosti ako vývojári.

Preskúmať, čo niečo robí a ako to môže fungovať, je fantastický spôsob, ako potvrdiť, že kandidát má skúsenosti so zoznamom nástrojov a technológií na svojom životopise, ako aj zabezpečiť, aby kandidát mohol komunikovať s tímom.

Budovanie vášho tímu DevOps je individuálne prenasledovanie. Váš tím DevOps sa nemusí zhodovať s ostatnými, ktorých ste videli. Zhodnoťte svoje ciele a vyberte si vhodného kandidáta pre každú prácu v systéme DevOps.

  1. BusinessOperations ManagementSkontinuálna integrácia a kontinuálne dodávanie: Implementácia a ťažba z CI / CD

Autor: Emily Freeman

Rast kultúry DevOps zmenil spôsob, akým vývojári stavajú a dodávajú softvér. Predtým, ako sa objavilo Agilné myslenie, boli vývojovým tímom priradené funkcie, postavené a potom na to zabudli. Odhodili kód do tímu QA, ktorý ho následne kvôli chybám vyhodil alebo ho presunul do operačného tímu. Operácie boli zodpovedné za nasadenie a udržiavanie kódu vo výrobe.

Tento proces bol prinajmenšom nemotorný a spôsobil trochu konflikt. Pretože tímy existovali v silách, nemali malý ani žiaden prehľad o tom, ako fungujú iné tímy, vrátane ich procesov a motivácie.

Cieľom CI / CD, ktorý predstavuje nepretržitú integráciu a nepretržité dodávanie (alebo zavádzanie), je za cieľ rozbiť múry, ktoré medzi tímami historicky existovali, a namiesto toho zaviesť hladší vývojový proces.

Výhody nepretržitej integrácie a nepretržitého poskytovania

CI / CD ponúka veľa výhod. Proces budovania plynovodu CI / CD však môže byť časovo náročný a navyše si vyžaduje nákup tímom a výkonné vedenie.

Medzi výhody CI / CD patrí:

  • Dôkladné automatizované testovanie: Dokonca aj najjednoduchšia implementácia CI / CD vyžaduje robustnú testovaciu sadu, ktorú je možné spustiť proti kódu zakaždým, keď vývojár vykoná zmeny v hlavnej vetve. Zrýchlená spätná väzba: Vývojári dostávajú okamžitú spätnú väzbu s CI / CD. Automatizované testy a integrácia udalostí zlyhajú pred zlúčením nového kódu. To znamená, že vývojári môžu skrátiť vývojový cyklus a rýchlejšie implementovať funkcie. Znížený medziľudský konflikt: Automatizácia procesov a zníženie trenia medzi tímami povzbudzujú pracovné prostredie založené na spolupráci, v ktorom vývojári robia to, čo robia najlepšie: inžinierske riešenia. Spoľahlivý proces nasadenia: Každý, kto vrátil nasadenie v piatok popoludní, vám môže povedať, aké dôležité je, aby nasadenie prebehlo hladko. Neustála integrácia zaisťuje, že kód je dobre testovaný a funguje spoľahlivo v produkčnom prostredí skôr, ako sa dostane ku koncovému užívateľovi.

Implementácia nepretržitej integrácie a nepretržitého poskytovania

CI / CD má korene v agilných metodikách. Mali by ste uvažovať o implementácii CI / CD ako iteračného procesu. Každý tím môže mať úžitok z verzie CI / CD, ale prispôsobenie celkovej filozofie bude vo veľkej miere závisieť od vášho súčasného technologického zásobníka (jazyky, rámce, nástroje a technológie, ktoré používate) a kultúry.

Nepretržitá integrácia

Tímy, ktoré praktizujú zlučovací kód kontinuálnej integrácie (CI), sa menia čo najskôr späť do hlavnej alebo vývojovej vetvy. CI zvyčajne používa integračný nástroj na overenie zostavenia a spustenia automatických testov oproti novému kódu.

Proces KI umožňuje vývojárom v tíme pracovať na rovnakej oblasti kódovej základne, pričom sa minimalizujú zmeny a vyhýba sa masívnym zlučovacím konfliktom.

Implementácia nepretržitej integrácie:

  • Napíšte automatické testy pre každú funkciu. Tým sa zabráni rozmiestneniu chýb do produkčného prostredia. Nastavte server CI. Server monitoruje hlavné úložisko zmien a spúšťa automatizované testy, keď sú tlačené nové potvrdenia. Váš server CI by mal byť schopný rýchlo spustiť testy. Aktualizujte návyky vývojárov. Vývojári musia často zlúčiť zmeny späť do hlavnej kódovej základne. Toto zlúčenie by sa malo uskutočniť minimálne raz za deň.

Nepretržité dodávanie

Nepretržité dodávanie je krokom od CI v tom, že vývojári považujú každú zmenu kódu za doručiteľnú. Na rozdiel od nepretržitého zavádzania však musí spustenie spustiť človek a zmena sa nemusí konečnému užívateľovi okamžite doručiť.

Namiesto toho sú nasadenia automatizované a vývojári môžu zlúčiť a nasadiť svoj kód pomocou jediného tlačidla. Tým, že malé, často dodávané iterácie, tím zaisťuje, že môžu ľahko riešiť zmeny.

Potom, čo kód prejde automatizovanými testami a je vytvorený, môže tím nasadiť kód do akéhokoľvek prostredia, ktoré určia, ako napríklad QA alebo inscenovanie. Partner často kontroluje kód skôr, ako ho inžinier spojí do vetvy výrobnej verzie.

Implementácia nepretržitej dodávky:

  • Majú silné základy v KI. Automatizovaný testovací balík by mal rásť v korelácii s vývojom funkcií a mali by ste pridať testy vždy, keď sa nahlási chyba. Automatizujte vydania. Človek stále iniciuje nasadenie, ale vydanie by malo byť jednokrokovým procesom - jednoduchým kliknutím na tlačidlo. Zvážte príznaky funkcií. Príznaky funkcií skrývajú neúplné funkcie od konkrétnych používateľov, čím zabezpečujú, že vaši kolegovia a zákazníci uvidia iba požadované funkcie.

Neustále zavádzanie

Nepretržité zavádzanie vyžaduje nepretržité dodávanie ešte o krok ďalej ako nepretržité dodávanie. Nasadí sa každá zmena, ktorá prechádza celým potrubím výrobnej verzie. To je pravda: Kód je uvedený priamo do výroby.

Neustále zavádzanie eliminuje ľudské zásahy z procesu zavádzania a vyžaduje dôkladne automatizovaný testovací balík.

Implementácia nepretržitého nasadenia:

  • Udržiavajte silnú kultúru testovania. Mali by ste zvážiť testovanie ako hlavnú súčasť procesu vývoja. Zdokumentujte nové funkcie. Automatizované vydania by nemali prekročiť dokumentáciu API. Koordinovať s ostatnými oddeleniami. Zapojte oddelenia, ako je marketing a úspech zákazníkov, aby zabezpečili hladký proces zavádzania.
  1. BusinessOperations ManagementTop 10 DevOps Úskalia: Prečo zlyhajú vaše softvérové ​​projekty

Autor: Emily Freeman

Podpora kultúry DevOps a výber nástrojov na podporu vášho prístupu DevOps bude prínosom pre vašu organizáciu. Prístup DevOps povzbudzuje váš inžiniersky tím a zameriava vývoj produktov na vášho zákazníka.

Kedykoľvek sa však pokúsite vykonať rozsiahlu zmenu podprúdov vo vašej organizácii, čelíte výzvam a musíte sa vysporiadať s prekážkami. Pri transformácii na systém DevOps objavíte jedinečné nárazy rýchlosti, ktoré môžete prekonať vy a váš tím.

Aj keď nemôžete predpovedať každú prekážku, ktorej budete čeliť, tento článok vás môže pripraviť na desať najbežnejších nástrah DevOps. Nezabudnite však, že ak sa k svojej praxi DevOps priblížite, vaše priority by sa mali naďalej zameriavať na ľudí, procesy a technológie - v tomto poradí.

Nepodarilo sa určiť prioritu kultúry v projekte DevOps

DevOps je viac ako čokoľvek iné kultúrne hnutie. Kultúra, ktorú budujete vo svojej organizácii, spôsobí alebo prelomí vašu prax v oblasti DevOps. Vaša kultúra DevOps musí klásť dôraz na spoluprácu, dôveru a posilnenie inžinierstva. Ak automatizujete nechty, ale vynecháte tieto kultúrne komponenty, pravdepodobne zlyháte.

Pravda je, že na nástrojoch na tom veľmi záleží. Nástroje, ktoré máte k dispozícii, sú viac podobné ako iné nástroje. Aj keď problémy, ktoré riešia, sú dôležité, žiadny z týchto problémov sa nemôže porovnávať s takmer nekonečnou frustráciou pokusu zjednotiť vývojárov a ľudí z operácií - rovnako ako iné tímy, napríklad bezpečnosť - v tradičnej strojárskej organizácii.

DevOps sa snaží galvanizovať inžinierov (ako aj obchodné skupiny). Vytvára základ, na ktorom sa každý môže učiť, zdieľať a rásť. Toto osobné zrýchlenie podporí celú technickú organizáciu, aby rýchlejšie vytvorila lepší softvér DevOps. Inžinieri, ktorých máte vo svojom tíme, sú tým najcennejším majetkom, aký máte. Zaobchádzajte s nimi dobre tým, že im dávate rešpekt a priestor na to, čo robia najlepšie - inžinierske riešenia.

Keď sa s DevOps posuniete vpred, necháte ostatných

Interný prípad pre DevOps určí typ nadácie, ktorú vytvoríte pre svoju kultúru. Hľadajte úrodnú pôdu. Ak sa pohybujete príliš rýchlo a nepresviedčate kľúčových ľudí o dôležitosti transformácie DevOps, ľudia budú sledovať vaše pohyby skepticky a skočia pri prvej príležitosti, aby všetkým ukázali, že sa mýlite. Nie je to zábavná pozícia a nikdy nechcete začať túto cestu s ľuďmi čakajúcimi na zlyhanie.

Na to, aby ste boli úspešní, potrebujete na palube lode DevOps každého, dokonca aj majiteľov lodí a skeptikov. Inžinieri môžu byť skeptickí. Po desiatich alebo dvoch rokoch v tomto priemysle videli mnoho nápadov a nových prístupov prichádzajúcich a odchádzajúcich. Môžu ľahko pokrčiť DevOps ako „iba ďalší neúspešný prístup“ k rovnakým starým problémom. A ak ho implementujete zle, systém DevOps bude skutočne iba ďalším neúspešným prístupom. Vy a váš tím musíte presvedčiť ostatných o potenciáli a konať spôsobom, ktorý pozýva všetkých na stôl.

Skúste presvedčiť vedúcich pracovníkov o dáta a potenciál pre zrýchlené dodávanie softvéru. Inžinieri však musia vedieť, ako DevOps zlepší prácu príjemnejších ľudí. Ukážte im, ako sa DevOps prispôsobuje obchodným potrebám a redukuje trenie pozdĺž potrubia na dodávku softvéru.

Len nezabudnite tento koncept nepreceňovať. DevOps výzvy sa stanú. DevOps nie je striebornou guľkou a vyžaduje si na začiatku intenzívnu prácu, aby sa zabezpečilo, že tím vytvorí kultúru učenia, v ktorej môžu inžinieri robiť chyby a rásť.

Po dosiahnutí horizontu udalostí, v ktorom verí v DevOps dosť ľudí, môžete pokračovať s vedomím, že máte podporu vašej organizácie a ľudí v nej.

Zabudnite na zosúladenie stimulov v projekte DevOps

Ak nemáte v úmysle zosúladiť stimuly s tým, čo od určitých tímov alebo konkrétnych inžinierov očakávate, vznikajú ďalšie výzvy. Skutočným nástrojom systému DevOps, ak ho dokážete zvládnuť, je posilnenie. Chcete splnomocniť svojich inžinierov, aby vykonávali svoju prácu dobre a bez rušenia. Najali ste si talentovaných inžinierov, takže verte ich schopnosti plniť svoje povinnosti.

Napríklad, keď vývojári slúžia na striedanie počas hovoru, niektoré organizácie to označia ako trest. „Postavili ste to, podporujete ho,“ nevyplýva z ľudí šťastné pocity. Namiesto toho sa cíti ako iná forma zodpovednosti za škodu. Humánna a rovnomerne rozložená rotácia počas hovoru nielenže oprávňuje vývojárov prevziať zodpovednosť za svoju prácu, ale tiež vytvára príležitosti na vzdelávanie pre celý tím.

V programe DevOps nesmiete potrestať inžinierov za nedokonalou prácu; Namiesto toho zdieľate zodpovednosť a kultivujete organizáciu, ktorá si cení učenie a umožňuje každému, aby bol zvedavý a podieľal sa na oblastiach techniky, v ktorých nie sú oboznámení.

Zladenie stimulov a vytváranie príležitostí na spoluprácu vedie k vášmu cieľu zlepšovania vašich produktov a lepšieho poskytovania služieb zákazníkom. Ak je každý nasmerovaný k cieľu vytvorenia úžasných služieb pre svojich zákazníkov prostredníctvom systému DevOps, uvidíte, ako sa skupina začne povzbudzovať.

Ticho o vašom projekte DevOps

DevOps je protikladom tajomstiev a rokovaní v zákulisí. Namiesto toho kladie všetko na stôl a núti vás dôverovať integrite ľudí vo vašej organizácii. Pri prvom zavedení otvorenej komunikácie sa môže zdať, že konflikt sa zvyšuje. Nie je to tak. Namiesto toho prvýkrát vidíte body trenia. Namiesto toho, aby sa konflikt nechal variť pod povrchom, ľudia sa cítia dostatočne bezpečne, aby vyjadrili svoje obavy a vyjadrili svoje názory.

Dôležitým aspektom otvorenej komunikácie je udržať ju v priebehu celého životného cyklu produktu - od nápadov po výrobu. Musíte zahrnúť inžinierov do plánovacích diskusií, rozhodnutí o architektúre, aktualizácií pokroku vývoja a nasadení.

Aj keď tento dôraz na komunikáciu vedie k podrobnejším diskusiám, umožňuje aj inžinierom zviditeľňovať sa mimo ich hlavnej oblasti odborných znalostí, čo im zase umožňuje radiť ostatným, pričom sú vybavení kontextom potrebným na prijímanie spoľahlivých rozhodnutí.

Udržujte zákazníka - a to, čo očakávajú od produktu, ktorý vyrábate - v centre každej diskusie a rozhodnutia. Ak zostanete zarovnaní na tento cieľ, určite sa posuniete vpred ako jedna jednotka.

Zabudli ste zmerať svoj pokrok v DevOps

Meranie vášho pokroku je rozhodujúce pre úspech systému DevOps. Poskytuje vám validáciu pri argumentácii spoločnosti DevOps pochybujúcim zúčastneným stranám, pomáha vám presvedčiť výkonných riadiacich pracovníkov a pripomína vášmu inžinierskemu tímu, koľko dosiahli.

Pred vykonaním jednej zmeny vytvorte základnú líniu. Vyberte malú množinu údajov, ktoré chcete sledovať počas celého procesu. Tieto údaje informujú o vašich rozhodnutiach a slúžia ako palivo na pokračovanie v tlačení, keď narazíte na neúspechy. Možné merania zahŕňajú:

  • Spokojnosť zamestnávateľa: Milujú vaši inžinieri prácu vo vašej organizácii? Mesačný opakujúci sa príjem (MRR): Koľko peňazí zarobíte od zákazníkov? Zákaznícke lístky: Koľko chýb hlásia vaši zákazníci? Frekvencia nasadenia: Koľko nasadení máte každý týždeň alebo mesiac? Priemerný čas na zotavenie (MTTR): Ako dlho trvá zotavenie sa z prerušenia služby? Dostupnosť služby: Aká je doba prevádzkyschopnosti vašej aplikácie? Dosahujete svoje súčasné dohody na úrovni služieb? Neúspešné nasadenie: Koľko vydaní spôsobuje prerušenie služby? Koľko sa musí vrátiť späť?

Mikromanažovanie vášho projektu DevOps

Jedným z najrýchlejších spôsobov, ako podkopať svojich inžinierov, je mikromanažovanie ich práce. Dan Pink, autor knihy Drive, sa domnieva, že motivácia v práci je ovplyvnená tromi faktormi:

  • autonómie majstrovstvá účel

Vonkajšie motivačné faktory, ako sú vysoké platy, bonusy a akciové opcie, môžu v krátkodobom horizonte fungovať, ale dlhodobá spokojnosť s prácou závisí viac od osobného a profesionálneho rastu. Chcete, aby vaši inžinieri existovali v napätí cítenia veľmi náročnom, ale nie ohromenom stresom. To sladké miesto je pre každého človeka iné. Je to výzva pre DevOps, ale ak sa urobí správne, môže to raz zmeniť svet. Ak dokážete vyvolať vášnivú vášeň, určite pracujú s nadšením.

Dôvera môže byť výzvou pre DevOps. Pre organizácie DevOps je to absolútne dôležité. Musíte dôverovať svojim kolegom, kolegom, technikom, manažérom a vedúcim pracovníkom. Musíte tiež dôverovať úlohám a povinnostiam rôznych oddelení vo vašej organizácii - to neznamená, že nikdy nebudete v konflikte. Medzi ľudskými bytosťami sa samozrejme objavia chvíle trenia. Minimalizovanie týchto momentov a umožnenie zdravého riešenia konfliktov však odlišujú inžinierske tímy zamerané na DevOps od ich konkurencie.

Príliš veľa zmeny, príliš rýchle zmeny

Mnoho tímov robí príliš veľa zmien príliš rýchlo. Ľudia nemajú radi zmenu. DevOps je z dlhodobého hľadiska prospešný, rýchle zmeny normálneho spôsobu práce môžu byť pre inžinierov nepríjemné.

Jedným zlyhaním systému DevOps je, že to znamená, že každý žije na zelenom poli (nový softvér) s dúhami a jednorožcami. Môže to znieť takto: „Iba ak môžete prinútiť tím k spolupráci, vývoj softvéru bude jednoduchý!“ To nie je pravda. Softvérové ​​inžinierstvo je náročné a vždy bude náročné. To je jedna vec, ktorú väčšina inžinierov o tom páči. Máte radi výzvu. Výzvy by však mali byť stimulujúce, nie stresujúce.

Cieľom spoločnosti DevOps nie je odstrániť všetky intelektuálne výzvy inžinierstva. Namiesto toho ponúka minimalizáciu trenia medzi ľuďmi, aby sa každý mohol sústrediť na svoju prácu. Ak sa pokúsite vykonať príliš veľa zmien príliš rýchlo, ocitnete sa uprostred všestrannej revolty - Mutiny na Binárne.

Zlý výber nástrojov DevOps

Aj keď v DevOps deprioritizujete nástroje, a správne to je, nástroje sú stále faktorom. K vášmu celkovému úspechu prispieva aj najmenej dôležitý aspekt systému DevOps. Nástroje, ktoré vyberiete, by mali vyriešiť problémy, s ktorými sa stretnete vo vašom tíme inžinierov, ale mali by sa tiež zosúladiť so štýlom, znalosťami a oblasťami pohodlia vášho existujúceho tímu.

Neboj sa vyskúšať niekoľko riešení a zistiť, ktoré z nich sa hodí najlepšie. Za úsilie stojí za to venovať sa niekoľko týždňov minimálnemu životaschopnému produktu (MVP) alebo dôkazu koncepcie (POC). Aj keď to nakoniec zahodíte, „plytvanie“ inžinierskymi zdrojmi je vhodnejšie, ako sa zapojiť do konkrétnej technológie, aby ste zistili, že to nie je dobré, o rok neskôr.

Strach zo zlyhania vášho projektu DevOps

Ak zlyháte rýchlo, je krátky spôsob, ako povedať, že by ste mali neustále opakovať problémy na začiatku procesu bez toho, aby ste trávili veľa času a peňazí. Je to niečo, o čom veľa ľudí v technike hovorí a len málo z nich ich implementuje, pretože si vyžaduje rýchle opakovanie v prostredí, v ktorom majú chyby malý polomer a sú ľahko napravené. Spoločnosti príliš často tvrdia, že ide o rýchlu mentalitu a namiesto toho prepustia prvého inžiniera, ktorý odstráni výrobnú databázu. (Ako keby tam nejaký inžinier nikdy neodstránil výrobnú databázu ...)

V súvislosti s programom DevOps však máte lepšie zlyhanie než rýchle zlyhanie. Ak sa to nepodarí, znamená to, že máte zavedené monitorovanie, ktoré vás upozorní na potenciálne problémy dlho predtým, ako situácia ovplyvní zákazníkov. Zlyhanie tiež znamená, že ste svoj systém navrhli segmentovaným spôsobom, ktorý zabraňuje tomu, aby sa jedna služba, ktorá prepadla, nedostala do systémového výpadku. Ale organizácie, ktoré zlyhajú dobre, idú o krok ďalej: Neobviňujú ľudí. Namiesto toho hľadajú zlyhanie v systémoch a procesoch.

Kaizen je japonské slovo pre neustále zlepšovanie. V systéme DevOps znamená kaizen neustále zlepšovať svoje procesy. Nie je to nejaká sexy transformácia, ktorá má začiatok a koniec. Cieľom nie je ísť od nuly k dokonalosti. Namiesto toho povzbudzuje DevOps pracovať pomaly a postupne na tom, aby sa každý deň zlepšovala jedna vec. Ak odídete z práce každý večer s vedomím, že len jeden malý aspekt práce je pre vás lepší, nebudete sa cítiť spokojní? Mnoho technikov sa cíti takto.

Namiesto snahy vyhnúť sa zlyhaniu za každú cenu, DevOps trvá na rastovom duchu. Porucha nie je znakom hlúposti alebo zlej prípravy. Je to znak rastu a nevyhnutný krok v inovácii. Inovácia je výsledok, ktorý by ste mali byť ochotní sledovať, aj keď to znamená, že občas zlyháte.

Príliš rigidný spôsobí problémy s DevOps

DevOps nie je normatívny, a to je to najlepšie a najhoršie na tom. Implementácia systému DevOps by bola oveľa jednoduchšia, ak by ste mali zoznam desiatich krokov, ktoré by ste mohli podniknúť na dosiahnutie DevOps nirvana. Keby to bolo také ľahké! Ľudia však takto nepracujú a skupiny ľudí - napríklad v inžinierskych tímoch a vo veľkých organizáciách - vytvárajú ešte zložitejšie aspekty, ktoré je potrebné riešiť.

Aj keď neexistuje žiadny plán budovania organizácie DevOps, ste oprávnení prispôsobiť túto metodiku praktikám, ktoré pracujú pre vás a váš tím. Poznáte svoju organizáciu a ako skúsený odborník by ste pri aplikácii základov mali myslieť mimo poľa. Niektoré z vecí v DevOps sa vám budú perfektne hodiť. Iní budú mať pocit, že majú na sebe príliš malú bundu. To je v poriadku.

Urobíš chyby. Nikto nie je dokonalý. Ale ak sa pustíte trochu, zmocnite svojich inžinierov a dôverujete svojmu tímu, uvidíte úžasné výsledky. Len začnite. Pamätajte: pozývajte všetkých na stôl, merajte svoj pokrok, uprednostňujte kultúru pred technológiami a oprávnite svojich inžinierov, aby robili to, čo vedia najlepšie.

  1. BusinessOperations ManagementČo je to DevOps?

Autor: Emily Freeman

Čo je to DevOps? Je ťažké poskytnúť vám presný predpis DevOps - pretože žiaden neexistuje. DevOps je filozofia, ktorá riadi vývoj softvéru, ktorý uprednostňuje ľudí pred procesom a procesom pred nástrojovaním. DevOps buduje kultúru dôvery, spolupráce a neustáleho zlepšovania.

DevOps cyklus

Filozofia DevOps považuje kultúru holistickým spôsobom za vývojový proces, pričom berie do úvahy všetkých zúčastnených: vývojárov, testerov, pracovníkov operácií, technikov zabezpečenia a infraštruktúry. DevOps neukladá žiadnu z týchto skupín nad iné, ani nehodnotí dôležitosť ich práce. Namiesto toho spoločnosť DevOps považuje celý tím inžinierov za kritický pre zabezpečenie toho, aby mal zákazník čo najlepší zážitok.

DevOps sa vyvinul z Agile

V roku 2001 sa 17 softvérových inžinierov stretlo a vydalo „Manifest pre agilný vývoj softvéru“, v ktorom sa uvádza 12 zásad riadenia agilného projektu. Tento nový pracovný postup bol reakciou na frustráciu a nepružnosť tímov pracujúcich vo vodopádovom (lineárnom) procese.

Inžinieri nemusia v súlade s agilnými princípmi dodržiavať pôvodné požiadavky alebo sledovať pracovný postup v lineárnom vývoji, v ktorom každý tím odovzdáva prácu k ďalšiemu. Namiesto toho sa dokážu prispôsobiť neustále sa meniacim potrebám firmy alebo trhu a niekedy aj meniacej sa technológii a nástrojom.

Aj keď Agilný revolúciu vo vývoji softvéru zmenil mnohými spôsobmi, nedokázal vyriešiť konflikt medzi vývojármi a špecialistami na operácie. Sila sa stále rozvíjala v oblasti technických zručností a špecialít a vývojári stále odovzdávali kód ľuďom, ktorých nasadili a podporovali.

V roku 2008 Andrew Clay Shafer hovoril s Patrickom Deboisom o jeho frustráciách z neustáleho konfliktu medzi vývojármi a ľuďmi z operácií. Spoločne spustili prvé podujatie DevOpsDays v Belgicku s cieľom vytvoriť lepší a obratnejší spôsob priblíženia sa k vývoju softvéru. Tento vývoj Agile sa ujal a spoločnosť DevOps odvtedy umožnila spoločnostiam po celom svete rýchlejšie vyrábať lepší softvér (a zvyčajne lacnejší). DevOps nie je výstrelok. Je to všeobecne akceptovaná inžinierska filozofia.

DevOps sa zameriava na ľudí

Každý, kto hovorí, že DevOps je o nástrojovaní, vás chce niečo predať. DevOps je predovšetkým filozofia zameraná na technikov a to, ako môžu lepšie spolupracovať pri vytváraní skvelého softvéru. Dalo by sa minúť milióny na každý nástroj DevOps na svete a stále by ste neboli bližšie k DevOps nirvana.

Namiesto toho sa zamerajte na svoje najdôležitejšie technické prostriedky: inžinierov. Šťastní inžinieri vytvárajú skvelý softvér. Ako robíte šťastných inžinierov? No, vytvárate pracovné prostredie založené na spolupráci, v ktorom sa darí vzájomnému rešpektu, zdieľaným znalostiam a uznaniu tvrdej práce.

Firemná kultúra je základom spoločnosti DevOps

Vaša spoločnosť má kultúru, aj keď sa nechala rozvíjať zotrvačnosťou. Táto kultúra má väčší vplyv na vašu spokojnosť s prácou, produktivitu a rýchlosť tímu, ako si pravdepodobne uvedomujete.

Firemná kultúra je najlepšie opísaná ako nevyslovené očakávania, správanie a hodnoty organizácie. Kultúra hovorí o tom, či je vedenie spoločnosti otvorené novým nápadom. Je to to, čo informuje zamestnanca o tom, či sa má s problémom stretnúť alebo ho zamiesť pod koberec.

Kultúra je niečo, čo treba navrhnúť a zdokonaľovať, nie niečo, čo by sa malo nechať náhode. Aj keď sa aktuálna definícia líši od spoločnosti k spoločnosti a od osoby k človeku, DevOps je v jadre kultúrny prístup k strojárstvu.

Toxická firemná kultúra zabije vašu cestu DevOps skôr, ako sa začne. Aj keď váš inžiniersky tím prijme prístup DevOps, postoje a výzvy väčšej spoločnosti budú krvácať do vášho prostredia.

S DevOps sa vyhnete vine, posilňujete dôveru a zameriavate sa na zákazníka. Dáte svojim inžinierom autonómiu a oprávňujete ich robiť to, čo vedia najlepšie: inžinierske riešenia. Keď začnete implementovať DevOps, dávate svojim inžinierom čas a priestor na prispôsobenie sa im, čo im dáva príležitosť lepšie sa spoznať a budovať vzťahy s inžiniermi s rôznymi špecialitami.

Tiež meriate pokrok a odmeňovanie úspechov. Nikdy neobviňujte jednotlivcov z porúch. Namiesto toho by sa tím mal neustále zlepšovať a výsledky by sa mali oslavovať a odmeňovať.

Dozviete sa pozorovaním procesu a zhromažďovaním údajov

Sledovanie vášho pracovného postupu bez očakávania je účinnou technikou, pomocou ktorej môžete realisticky vidieť úspechy a výzvy vášho pracovného toku. Toto pozorovanie je jediný spôsob, ako nájsť správne riešenie oblastí a problémov, ktoré vytvárajú prekážky vo vašich procesoch.

Rovnako ako v prípade softvéru, aj facka niektorých Kubernetes (alebo iných nových nástrojov) ich nemusí nevyhnutne vyriešiť. Predtým, ako ich vyriešite, musíte vedieť, kde sú problémy. Ako budete pokračovať, zbierate údaje - nemeriame úspech alebo zlyhanie, ale sledujete výkonnosť tímu. Určujete, čo funguje, čo nefunguje a čo sa má nabudúce vyskúšať.

Presviedčanie je kľúčom k prijatiu DevOps

Predaj myšlienky DevOps svojim vodcom, kolegom a zamestnancom nie je ľahký. Tento postup tiež nie je pre inžinierov vždy intuitívny. Nemal by to byť skvelý nápad, jednoducho sa predať? Keby to bolo také ľahké. Kľúčovou koncepciou, ktorú musíte mať vždy na pamäti pri implementácii DevOps je to, že zdôrazňuje ľudí.

takzvané „mäkké zručnosti“ komunikácie a spolupráce sú pre vašu transformáciu DevOps kľúčové. Presvedčiť ostatných ľudí vo vašom tíme a vo vašej spoločnosti, aby si osvojili DevOps, si vyžaduje precvičenie dobrých komunikačných schopností. Včasné rozhovory s kolegami o systéme DevOps vás môžu pripraviť na úspech na ceste - najmä ak narazíte na nečakanú rýchlosť.

V systéme DevOps sú neoceniteľné malé prírastkové zmeny

Aspekt systému DevOps, ktorý kladie dôraz na vykonávanie malých a prírastkových spôsobov, má svoje korene v štíhlej výrobe, ktorá zahŕňa zrýchlenú spätnú väzbu, neustále zlepšovanie a rýchlejšie uvádzanie na trh.

Voda je dobrá metafora pre transformácie DevOps. Voda je jedným z najmocnejších prvkov na svete. Pokiaľ ľudia nesledujú povodňové vody stúpajúce pred nimi, považujú to za relatívne neškodné. Rieka Colorado vyrezávala Grand Canyon. Voda sa v priebehu miliónov rokov pomaly prerezávala kameňom, aby odhalila takmer dve miliardy rokov pôdy a hornín.

Môžete byť ako voda. Buďte pomalá, vytrvalá zmena vo vašej organizácii. Toto je slávny citát z rozhovoru s Bruce Lee, ktorý vás inšpiruje:

Buďte beztvaré, beztvaré, ako voda. Teraz dáte vodu do šálky, stáva sa z nej šálka. Dáte vodu do fľaše, stáva sa z nej fľaša. Dáte to do čajníka, stáva sa z čajníka. Teraz môže voda stekať alebo môže spadnúť. Buď voda môj priateľ.

Vykonanie čiastkových zmien napríklad znamená, že nájdete problém a problém vyriešite. Potom opravíte ďalšiu. Neprijímate príliš rýchlo a nevyberáte si každú bitku na boj. Chápete, že niektoré boje nestoja za energetický alebo sociálny kapitál, ktorý vás môžu stáť.

DevOps v konečnom dôsledku nepredstavuje zoznam krokov, ktoré môžete podniknúť, ale skôr prístup, ktorý by mal usmerňovať rozhodnutia, ktoré robíte pri vývoji.

  1. BusinessOperations ManagementDevOps For Dummies Cheat Sheet
  2. BusinessOperations ManagementBase prevodná cena za plné náklady

Autor: Mark P. Holtzman

Spoločnosť môže stanoviť prevodnú cenu za úplné náklady (známe tiež ako absorpčné náklady), čo je súčet variabilných a fixných nákladov na jednotku. S cieľom zabezpečiť zisk divízie predaja môžu tiež pridať prirážku.

Predpokladajme, že spoločnosť HOO Water Company vyrába pramenitú vodu aj nealkoholické nápoje. Divízia Clor vyrába pramenitú vodu a divízia Shpritz vyrába nealkoholické nápoje. Manažéri HOO povzbudzujú spoluprácu spoločností Clor a Shpritz, aby divízia Shpritz používala na výrobu nealkoholických nápojov pramenitú vodu divízie Clor.

Divízia Clor však predáva svoju vodu aj vonkajším zákazníkom za 0,75 dolárov za galón. V snahe minimalizovať náklady môže spoločnosť Shpritz kúpiť vodu aj od iných dodávateľov ako od spoločnosti Spring.

V tomto roku divízia Clor plánuje vyprodukovať 100 000 galónov pramenitej vody, ale má schopnosť vyrobiť viac vody, ak ju môže predať. Voda spoločnosti Clor má variabilné náklady 0,30 dolárov za galón a musí pokryť fixné náklady 40 000 dolárov.

Divízia Shpritz plánuje vyrobiť 60 000 galónov nealkoholických nápojov; vodu si môže kúpiť od spoločnosti Shpritz alebo od externého dodávateľa. Okrem ceny vody musí spoločnosť Shpritz zaplatiť 0,40 dolárov za galón za arómy a ďalšie prísady na výrobu každého galónu nealkoholických nápojov. Spoločnosť Shpritz tiež platí fixné náklady vo výške 30 000 dolárov ročne. Nealkoholický nápoj spoločnosti Shpritz predáva za 2 doláre za galón.

Najskôr vypočítajte náklady spoločnosti Clor. Fixné náklady predstavujú 40 000 dolárov potrebných na výrobu 100 000 galónov pramenitej vody. Fixné náklady na jednotku potom dosahujú 0,40 USD za galón (40 000 až 100 000 galónov). Variabilné náklady spoločnosti Clor sa rovnajú 0,30 dolárov za galón; pridajte, že k pevným nákladom na jednotku získate celkové náklady 0,70 USD za galón, prevodovú cenu.

Nasledujúci obrázok vysvetľuje, čo sa stane, keď spoločnosť Clor zásobí Shpritz 60 000 jarnou vodou za prevodovú cenu 0,70 USD za galón a zvyšok pre externých zákazníkov za 0,75 USD za galón.

image0.jpg

Tu Clor dostáva tržby od externých zákazníkov vo výške 30 000 dolárov a od spoločnosti Shpritz príjmy zo 42 000 dolárov. Odčítaním variabilných nákladov spoločnosti Clor vo výške 30 000 dolárov a fixných nákladov vo výške 40 000 dolárov sa dosiahne čistý príjem 2 000 dolárov. Spoločnosť Shpritz má zo svojich nealkoholických nápojov príjmy vo výške 120 000 dolárov.

Z tejto sumy musí spoločnosti Clor zaplatiť 42 000 dolárov a ďalších variabilných nákladov 24 000 dolárov. Spoločnosť Shpritz musí tiež zaplatiť fixné náklady v hodnote 30 000 dolárov, čo pre spoločnosť Shpritz predstavuje čistý príjem 24 000 dolárov. HOO Water, ktorá vlastní obe divízie, dosahuje z oboch produktov celkový príjem 26 000 dolárov.

Rozhodnutia založiť transferovú cenu na úplných nákladoch môžu prinútiť manažérov divízií, aby robili zlé rozhodnutia, ktoré poškodzujú celkovú ziskovosť spoločnosti. Predpokladajme, že iná spoločnosť, Malcolm Water, predáva vodu za 0,65 dolárov za galón. (V prípade, že vás zaujíma, môže Malcolm Water za svoju vodu účtovať menej peňazí, pretože jej voda je horšej kvality.) Divízia Shpritz si musí vybrať medzi platením 0,70 dolárov za galón do divízie Clor alebo 0,65 dolára za galón za Malcolm.

Na jednej strane môže Shpritz uprednostňovať obchodovanie s Clor len preto, že obe spoločnosti majú toho istého rodiča. Ak však HOO zaplatí 0,70 dolárov za galón, ale iba 0,65 dolárov za nákup od Malcolma, nemal by HOO kúpiť vodu od lacnejšieho externého predajcu a ušetriť 0,05 USD za galón?

Nie nevyhnutne. Nasledujúci obrázok zobrazuje fiasko, ku ktorému dochádza, keď sa Shpritz pokúša šetriť peniaze nákupom vody od spoločnosti Malcolm.

image1.jpg

Rozhodnutie spoločnosti Shpritz pokúsiť sa znížiť náklady znižuje celkovú ziskovosť spoločnosti HOO Water o 21 000 dolárov. O tom nie je pochýb: ziskovosť spoločnosti Shpritz stúpa. Pretože rozhodnutie o zadaní zákazky subdodávateľovi znižuje variabilné náklady na nákup vody zo 42 000 dolárov na 39 000 dolárov, čistý príjem spoločnosti Shpritz stúpa na 27 000 dolárov.

Avšak rozhodnutie spoločnosti Shpritz bolí Clor a nakoniec znižuje celkovú ziskovosť spoločnosti HOO Water. Predaj spoločnosti Clor spoločnosti Shpritz vo výške 42 000 dolárov úplne vyschol. Jeho variabilné náklady tiež klesajú z 30 000 USD na 12 000 USD.

Fixné náklady spoločnosti Clor vo výške 40 000 dolárov však zostávajú rovnaké, čo núti spoločnosť Clor utrpieť stratu 22 000 dolárov. Celkové zisky spoločnosti HOO Water klesajú z 26 000 dolárov na iba 5 000 dolárov. Zakladanie transferovej ceny na úplných nákladoch viedlo spoločnosť Shpritz k rozhodnutiam, ktoré poškodzujú celkovú ziskovosť spoločnosti.

  1. BusinessMarketingSociálny mediálny marketingAko nájsť svoje kontakty na Instagrame
Instagram pre firmy na figuríny

Autor: Jennifer Herman, Eric Butow, Corey Walker

Ak ste na Instagrame nováčikom, možno vás zaujíma, kde začať. Instagram (a jeho otec, Facebook) vám radi pomôžu nadviazať kontakty. Ľudia nájdete niekoľkými rôznymi spôsobmi.

Nájdite svojich priateľov na Facebooku

Facebook má mimoriadny záujem o to, aby sa Instagram rozrastal, a preto sa snaží povzbudiť vás, aby ste svojich priateľov na Facebooku navýšili a priviedli na Instagram. Je to jednoduchý spôsob, ako nájsť ľudí.

Ak chcete nájsť priateľov na Facebooku, postupujte takto:

  1. Prejdite na svoju stránku profilu Instagram klepnutím na svoju fotku v pravom dolnom rohu obrazovky telefónu. Klepnite na osobu s kladným znamienkom (a možno červeným číslom) v ľavom hornom rohu. Klepnite na odkaz Facebook v hornej časti obrazovky. Potvrďte svoje prihlásenie na Facebook klepnutím na OK. Na obrazovke sa zobrazuje, koľko priateľov z Facebooku máte na Instagrame. Klepnite na Nasledovať alebo Nasledovať. Ak chcete sledovať všetkých svojich priateľov na Facebooku na Instagrame, klepnite na Sledovať všetko. Ak by ste radšej boli viac selektívni, najmä preto, že pravdepodobne propagujete svoj produkt alebo službu, možno budete chcieť sledovať priateľov po jednom. Jednoducho klepnite na Sledovať vedľa každého priateľa, s ktorým sa chcete spojiť, a ďalej sa posúvajte a sledujte ho!
nájsť priateľov na Facebooku

Niektorí z vašich priateľov mohli nastaviť svoje účty na súkromné. V takom prípade sa po klepnutí na Sledovať zobrazí hlásenie Vyžiadané. Predtým, ako si budete môcť pozrieť ich profil a príspevky, musia vás schváliť.

Synchronizuje sa zoznam kontaktov

Instagram vás tiež môže spojiť s kontaktmi uloženými v telefóne alebo tablete. Po aktivácii tejto funkcie sa vaše kontakty pravidelne synchronizujú so servermi Instagramu. Instagram za vami nikoho nesleduje a vy môžete svoje kontakty kedykoľvek odpojiť, aby k nim Instagram nemal prístup.

Táto vlastnosť môže byť najlepšia ako jednorazová práca na začiatku verzus neustále pripojenie na účely ochrany osobných údajov.

Ak chcete prepojiť svoje kontakty, postupujte takto:

  1. Prejdite na svoju stránku profilu Instagram klepnutím na svoju fotku v pravom dolnom rohu obrazovky telefónu. Klepnite na malú osobu so znamienkom plus (a možno červeným číslom) v ľavom hornom rohu. Klepnite na odkaz Kontakty. Na ďalšej obrazovke sa dozviete, že Instagram nájde ľudí, ktorých poznáte, a máte možnosť ich sledovať. Pokračujte klepnutím na Pripojiť kontakty. Ďalšie kontextové okno sa pýta, či má Instagram prístup k vašim kontaktom. Klepnite na Povoliť prístup. Zobrazí sa kontextové okno so žiadosťou o povolenie prístupu Instagramu k vašim kontaktom. Toto je vaša posledná šanca na zrušenie vášho rozhodnutia povoliť Instagramu prístup k vašim kontaktom. Klepnite na OK. Kontextové okno zmizne a zobrazí sa obrazovka Kontakty. Sledujte všetky svoje kontakty na Instagrame klepnutím na Sledovať všetko, alebo vyberte, ktoré kontakty sa majú sledovať klepnutím na Nasledovať vedľa každého z nich.
kontakty na instagrame

Ak si v určitom okamihu zmeníte názor a chcete zakázať prístup Instagramu ku svojim kontaktom, klepnite na ikonu kolieska na svojej profilovej stránke, prejdite nadol na Nastavenia a potom klepnite na Kontakty. Klepnutím na prepínač Pripojiť kontakty sa vrátite na biely, čím sa ukončí prístup na Instagram.

  1. BusinessOperations ManagementVýber najlepšieho poskytovateľa cloudových služieb, funkcií a nástrojov pre vývojárov

Autor: Emily Freeman

Úspech vašej iniciatívy DevOps sa do značnej miery spolieha na tento proces, ale je tiež dôležité použiť správne nástroje. Výber poskytovateľa cloudových služieb nie je ľahká voľba, najmä ak je vaša motivácia DevOps. GCP (Google Cloud Platform), AWS (Amazon Web Services) a Azure majú spoločné viac, ako sa od seba odlišujú.

Vaše rozhodnutie často závisí viac od úrovne pohodlia vášho tímu DevOps s konkrétnym poskytovateľom cloudu alebo od vášho aktuálneho zásobníka viac ako samotný poskytovateľ cloudu. Keď sa rozhodnete prejsť do cloudu, ďalším rozhodnutím je rozhodnúť sa o poskytovateľovi cloudu, ktorý vyhovuje vašim potrebám DevOps. Pri hodnotení poskytovateľov cloudu s ohľadom na princípy DevOps je potrebné zvážiť niekoľko vecí:

  • Pevné záznamy. Cloud, ktorý si vyberiete, by mal mať históriu zodpovedných finančných rozhodnutí a dostatok kapitálu na prevádzkovanie a rozširovanie veľkých dátových centier v priebehu desaťročí. Dodržiavanie a riadenie rizík. Formálna štruktúra a stanovené zásady súladu sú nevyhnutné na zaistenie bezpečnosti a zabezpečenia vašich údajov. V ideálnom prípade by ste si pred podpísaním zmluvy mali skontrolovať audity. Pozitívna povesť. Dôvera zákazníka je absolútne kľúčová. Veríte, že sa môžete spoľahnúť na to, že tento poskytovateľ cloudu bude naďalej rásť a podporovať vaše vyvíjajúce sa potreby DevOps? Dohody o úrovni služieb (SLA). Akú úroveň služieb požadujete? Poskytovatelia cloudu zvyčajne ponúkajú rôzne úrovne spoľahlivosti prevádzky podľa nákladov. Napríklad doba prevádzky o 99,9 percenta bude výrazne lacnejšia ako doba prevádzky o 99,999 percenta. Metriky a monitorovanie. Aké typy štatistík aplikácie, monitorovania a telemetrie dodáva dodávateľ? Uistite sa, že môžete získať primeranú úroveň prehľadu o svojich systémoch čo najbližšie k reálnemu času.

Nakoniec sa uistite, že zvolený poskytovateľ cloudu má vynikajúce technické možnosti, ktoré poskytujú služby, ktoré zodpovedajú vašim konkrétnym potrebám DevOps. Všeobecne platí, že hľadať

  • Vypočítajte schopnosti Riešenia pre ukladanie dát Funkcie nasadenia Protokolovanie a monitorovanie Priateľské užívateľské rozhranie

Mali by ste tiež potvrdiť schopnosť implementovať hybridné cloudové riešenie pre prípad, že budete v určitom okamihu potrebovať, ako aj uskutočňovať HTTP hovory na iné API a služby.

Traja hlavní poskytovatelia cloudu sú Google Cloud Platform (GCP), Microsoft Azure a Amazon webové služby (AWS). Môžete tiež nájsť menších poskytovateľov cloudových služieb a určite niekoľko súkromných poskytovateľov cloudových služieb, ale väčšina toho, čo potrebujete vedieť, pochádza z porovnania verejných poskytovateľov cloudových služieb.

Webové služby Amazon (AWS)

Rovnako ako ostatní hlavní poskytovatelia verejných cloudov, aj AWS poskytuje výpočty na požiadanie prostredníctvom predplatného priebežne. Užívatelia AWS sa môžu prihlásiť na odber ľubovoľného počtu služieb a výpočtových zdrojov. Amazon je súčasným lídrom na trhu medzi poskytovateľmi cloudu a drží väčšinu odberateľov cloudu.

Ponúka robustnú sadu funkcií a služieb v regiónoch po celom svete. Dve najznámejšie služby sú Amazon Elastic Compute Cloud (EC2) a Amazon Simple Storage Service (Amazon S3). Rovnako ako u iných poskytovateľov cloudu sú prístupné služby a infraštruktúra je zabezpečovaná prostredníctvom API.

Microsoft Azure

Predtým, ako spoločnosť Microsoft uviedla tohto poskytovateľa cloudu ako Microsoft Azure, nazývalo sa to Windows Azure. Spoločnosť Microsoft ho navrhla tak, aby urobila presne to, čo názov napovedá - slúži ako poskytovateľ cloudu pre tradične organizácie IT v systéme Windows. Ale keď sa trh stal konkurencieschopnejším a spoločnosť Microsoft začala lepšie porozumieť technickému prostrediu, Azure sa prispôsobil, rástol a vyvíjal.

Aj keď je pravdepodobne menej robustný ako AWS, Azure je dobre zaoblený poskytovateľ cloudových služieb zameraný na skúsenosti používateľov. Prostredníctvom rôznych uvedení produktov na trh a akvizícií - najmä spoločnosti GitHub - spoločnosť Microsoft investovala značné prostriedky do infraštruktúry Linux, čo jej umožnilo poskytovať robustnejšie služby širšiemu publiku.

Platforma Google Cloud Platform (GCP)

Platforma Google Cloud Platform (GCP) má najmenší podiel na trhu troch hlavných poskytovateľov verejných cloudových služieb, ale ponúka značnú skupinu cloudových služieb v takmer dvoch desiatkach geografických regiónov.

Asi najzaujímavejším aspektom GCP je to, že ponúka používateľom rovnakú infraštruktúru, akú používa Google interne. Táto infraštruktúra zahŕňa mimoriadne výkonné služby v oblasti výpočtov, ukladania, analýzy a strojového učenia. V závislosti od konkrétneho produktu môže mať GCP špecializované nástroje, ktoré v AWS a Azure chýbajú (alebo sú menej zrelé).

Nájdenie nástrojov a služieb DevOps v cloude

Doslova stovky nástrojov a služieb sú vám k dispozícii prostredníctvom hlavných poskytovateľov cloudu. Tieto nástroje a služby sa všeobecne delia na tieto kategórie:

  • vypočítať skladovanie Networking Riadenie zdrojov Umelá inteligencia v cloude (AI) identita zabezpečenia bez servera IoT

Nasleduje zoznam najbežnejšie používaných služieb vo všetkých troch hlavných poskytovateľoch cloudu. Tieto služby zahŕňajú nasadenie aplikácií, správu virtuálnych strojov (VM), organizáciu kontajnerov, funkcie bez serverov, úložisko a databázy.

Zahrnuté sú aj ďalšie služby, ako napríklad správa identity, blokové úložisko, privátny cloud, ukladanie tajomstiev a ďalšie. Nie je to ani zďaleka vyčerpávajúci zoznam, ale môže vám slúžiť ako pevný základ, keď začnete skúmať svoje možnosti a získate dojem, čo odlišuje poskytovateľov cloudu.

  • Nasadenie aplikácií: Riešenie platformy ako služba (PaaS) na nasadenie aplikácií v rôznych jazykoch vrátane jazyka Java, .NET, Python, Node.js, C #, Ruby a Go Azure: Azure Cloud Services AWS: AWS Elastic Beanstalk GCP: Google App Engine
  • Správa virtuálnych počítačov (VM): možnosť Infraštruktúra ako služba (IaaS) pre beh virtuálnych počítačov (VM) s operačným systémom Linux alebo Windows Azure: Azure Virtual Machines AWS: Amazon EC2 GCP: Google Compute Engine
  • Managed Kubernetes: Umožňuje lepšiu správu kontajnerov prostredníctvom populárneho orchestra Kuberneta Azure: Azure Kubernetes Service (AKS) AWS: Amazon Elastic Container Service (ECS) pre Kubernetes GCP: Google Kubernetes Engine
  • Serverless: Umožňuje používateľom vytvárať logické pracovné toky funkcií bez serverov Azure: Azure Functions AWS: AWS Lambda GCP: Funkcie služby Google Cloud
  • Cloudové ukladanie: Neštruktúrované ukladanie objektov s ukladaním do vyrovnávacej pamäte Azure: Azure Blob Storage AWS: Amazon S3 GCP: Google Cloud Storage
  • Databázy: databázy SQL a NoSQL, na požiadanie Azure: Azure Cosmos DB AWS: Amazon Relational Database Service (RDS) a Amazon DynamoDB (NoSQL) GCP: Google Cloud SQL a Google Cloud BigTable (NoSQL)

Pri skúmaní troch hlavných poskytovateľov cloudu si všimnete dlhý zoznam služieb. Môžete sa cítiť ohromení stovkami možností, ktoré máte k dispozícii. Ak náhodou nenájdete, čo potrebujete, trh pravdepodobne poskytne niečo podobné. Trh je miestom, kde nezávislí vývojári ponúkajú služby, ktoré sa pripájajú k cloudu - hostované spoločnosťami Azure, AWS alebo GCP.

V nasledujúcej tabuľke sú uvedené ďalšie služby poskytované väčšinou, ak nie všetkými poskytovateľmi cloudu.

Kategória službyfunkčnosť
Blokovať úložiskoUkladanie údajov používané v sieťových prostrediach SAN. Blokové úložisko je podobné ukladaniu údajov na pevný disk.
Virtuálny súkromný cloud (VPC)Logicky izolované zdieľané počítačové zdroje.
POŽARNE dvereZabezpečenie siete, ktoré riadi prevádzku.
Sieť na doručovanie obsahu (CDN)Doručovanie obsahu na základe polohy používateľa. Typicky využíva ukladanie do vyrovnávacej pamäte, vyrovnávanie záťaže a analýzu.
Systém názvov domén (DNS)Prekladač doménových mien na IP adresy prehliadačov.
Single Sign-On (SSO)Riadenie prístupu do viacerých systémov alebo aplikácií s použitím rovnakých oprávnení. Ak ste sa prihlásili do nezávislej aplikácie pomocou poverení Google, Twitter alebo GitHub, použili ste SSO.
Správa identity a prístupu (IAM)Správa prístupových práv používateľov. Vopred určené role majú prístup k množine funkcií; užívatelia majú priradené roly.
Telemetria, monitorovanie a zaznamenávanieNástroje, ktoré poskytujú informácie o aplikáciách na výkon, zaťaženie servera, spotrebu pamäte a ďalšie.
rozmiestnenieNástroje na správu konfigurácie, infraštruktúry a uvoľňovania potrubí.
Cloud shellShell prístup z rozhrania príkazového riadku (CLI) v prehliadači.
Ukladanie tajomstievBezpečné uloženie kľúčov, tokenov, hesiel, certifikátov a ďalších tajomstiev.
Fronty správSprostredkovatelia dynamicky prispôsobených správ.
Strojové učenie (ML)Hlboké vzdelávacie rámce a nástroje pre vedcov údajov.
IoTPripojenie a správa zariadení.