Programovanie

Prečo sa Jenkins stáva motorom devopsov

Trendy ako agilný vývoj, vývoj a nepretržitá integrácia hovoria o potrebe moderného podniku budovať softvér hyperefektívne - a v prípade potreby zapnúť desetník.

Tento posledný manéver predstavuje spôsob, akým sa spoločnosť CloudBees stala spoločnosťou, ktorou je dnes. Kedysi nezávislý verejný poskytovateľ cloudu PaaS pre programátory Java (vysoko hodnotený Andrewom Oliverom v kategórii „Ktorý podivný PaaS by som mal použiť?“), Spoločnosť CloudBees pred 18 mesiacmi prudko otočila, aby sa znovu stala vedúcim poskytovateľom Jenkins, veľmi populárneho zdrojový nástroj na riadenie procesu vývoja softvéru.

Podľa generálneho riaditeľa Sasha Laboureyho, ako poskytovateľa Java PaaS CloudBees „pekne rástol“, ale „veľa väčších ľudí s väčšími kontrolami“ váhalo s páchaním na nestabilnom trhu PaaS, ktorému chýbala štandardizácia. V rovnakom čase Jenkins štartoval ako raketa - a Labourey videl veľkú príležitosť, najmä preto, že CloudBees už Jenkins ponúkol ako službu a už si najal Jensuovho tvorcu Kohsuke Kawaguchiho. Hlavným jedlom sa stala príloha Jenkins.

Jenkinov juggernaut

Čo stojí za popularitou Jenkinsovej? Jednoducho povedané, Jenkins sa stal štandardom otvoreného zdroja pre správu dev stránky devops, od správy zdrojového kódu až po doručenie kódu do výroby. Podľa Laboureyho „komunita vníma Jenkins ako nástroj na orchestráciu a automatizáciu ... Myslím si, že dôvod, prečo sa Jenkins stal de facto motorom, je ten, že sa dá mimoriadne dobre zapojiť.“ Vznikol ekosystém s viac ako 1 100 zásuvnými modulmi, ktorý zákazníkom umožňuje pridávať najrôznejšie funkcie a integrovať Jenkins so všetkým od Active Directory cez GitHub až po OpenShift PaaS.

Jenkins je riešenie pre nepretržitú integráciu (CI) a nepretržité doručovanie (CD). Myšlienkou CI je zlúčiť kód od jednotlivých vývojárov do projektu viackrát za deň a neustále testovať, aby sa zabránilo následným problémom. CD posúva tento krok o krok ďalej, aby zabezpečil, že všetok zlúčený kód je vždy v stave pripravenom na výrobu. Jenkins umožňuje vývojárom tento proces čo najviac automatizovať - ​​až do okamihu nasadenia. Labourey uvádza príklad:

Povedzme, že spoločnosť používa na nasadzovanie na AWS šéfkuchára alebo bábku. Jenkins to nenahradí. Jenkins bude volať Puppet, aby to urobil - OK, tu sú kúsky, zavolajme tento Puppet scenár a pozrime sa, ako to funguje. A na výstupe z realizácie Puppet bude záležitosť pre Jenkinsa, pretože by sa mohlo rozhodnúť rozvinutie nasadenia a podniknutie ďalších krokov. Hovoríme tomu „potrubie“. Je to naozaj táto séria krokov. Môže to byť päť krokov alebo 50 krokov.

Jenkins slúži ako motor pracovného toku na správu tohto potrubia CI / CD od zdroja k dodaniu, hovorí Labourey, ale popri tom môže byť na vykonávanie rôznych funkcií použitých mnoho rôznych nástrojov.

Docker je jedným z týchto nástrojov a Docker v spolupráci s Jenkinsom výrazne ovplyvňuje vývojové tímy. Každý vie, že Docker zefektívňuje vývoj a výrazne uľahčuje nasadenie, ale Labourey poznamenáva, že tiež pomáha udržiavať čestnosť vývojárov: Už nemôžu obviňovať určitú nesprávnu konfiguráciu vývojového prostredia, keď dôjde k zlyhaniu a spáleniu zostavy. Na fyzickom stroji sa vývojové prostredie postupne poškodzuje a neúmyselne spôsobuje rozbitie zostavenia. Keď však kódujete na pôvodnom obrázku Dockeru, môžete viniť iba svoj chybný kód, keď sa zostavy nespustia.

Spoločne Jenkins a jeho integrovaný ekosystém poskytujú koordinujúcu softvérovú infraštruktúru pre agilný vývoj a v širšom zmysle tvoria „jadro iniciatívy devops“, hovorí Labourey.

Dostať sa odtiaľto

Celá táto automatizácia a efektivita vývoja znejú skvele, ale čo organizácie, ktoré sotva ovinuli hlavu agilným vývojom? Labourey ponúka rady, ako sa brodiť na CI / CD:

Myslím, že najlepší spôsob, ako to urobiť, je začať od malého. Vyberte projekt. Nehovorte: „Dobre, teraz máme obchod s nepretržitým doručovaním, všetko ide týmto spôsobom.“ Začnite s tímom, ktorý je ochotný, ktorý je možno flexibilnejší ako iné tímy, možno novší členovia tímu, menej zakorenení v existujúcom spôsobe robenia vecí. Vyberte si ľahký projekt. Nesnažte sa to využiť na to, aby ste povedali, že ak bude fungovať, bude fungovať všetko. Nepokúšajte sa zlyhať; skús uspieť. Vyberte si ochotný tím, vyberte ľahký projekt a choďte tam. Tento tím bude vaším najlepším predajcom, pretože teraz môžete ukázať, že to funguje. Môžu hovoriť o tom, ako sa ich práca zlepšila, pretože, úprimne povedané, stará cesta je nudná.

Súčasťou procesu, poznamenáva Labourey, je „získanie poznatkov, ktoré ticho sedia v mozgu ľudí, a ich logické využitie.“ To sa nestáva zo dňa na deň. Rozvojové organizácie často začínajú vytĺkaním CI a postupom času sa dostávajú k CD.

Rozvojové organizácie majú zvyčajne veľmi rozdielne a veľmi špecifické požiadavky. Takže CloudBees ponúka generickú verziu SaaS založenú na predplatnom, ktorú prevádzkuje CloudBees, aj verziu „súkromného SaaS“, ktorú môžu zákazníci nasadiť buď na AWS alebo Azure (alebo lokálne na OpenStack) a prispôsobiť si ju podľa svojho srdca.

Je ťažké zveličiť význam riadenia, automatizácie a racionalizácie vývojového procesu. CI / CD je pre devops ústredný bod a úspešná implementácia devops má zase dôsledky, ktoré presahujú rámec IT až po samotné podnikanie. Neustále zdokonaľovanie softvéru neustále zdokonaľuje produkty a služby. Napríklad spoločnosť Tesla zaznamenala vážny neúspech, keď sa jeden z jej modelov vznietil - a zavedenie softvérovej aktualizácie tento problém napravilo cez noc.

„Je zaujímavé, ak dosiahnete o 10 percent vyššiu efektivitu; ak miniete ročne 100 miliónov dolárov v oblasti IT, super - máte 10 miliónov dolárov, ktoré môžete minúť niekde inde,“ hovorí Labourey. „Skutočnou výhodou však je, keď si podnik uvedomí, že využitím týchto nástrojov a tohto spôsobu konania môže zvýšiť tržby o 10 percent.“

$config[zx-auto] not found$config[zx-overlay] not found