Celý Seznam.cz postupně přechází na model, kde v interním cloudu provozuje každou službu vývojový tým, který za ní stojí...
Hned se mi vybavil článek z heuréky, kde mají taky týmy zodpovědnost jen za svojí "kostičku". A ejhle jak to tehdá dopadlo. Věřím, že máte lépe nastavené krizové scénáře.
https://www.lupa.cz/clanky/jak-robot-spamoval-e-maily-uzivatelu-heureky-a-jak-jsme-to-vyresili/
Jo, to jsem taky nepochopil. To mají členové všech vývojových týmů běžně přístup k produkčním datům, když to provozují? A když služba spadne v pátek večer, tak do pondělního rána neběží? Nebo snad každý tým drží 24/7 pohotovosti? Nechci podceňovat velikosti týmů pro ty služby, ale nepředpokládám, že jich bude moc, to by byl pěkný opruz, to bych se jim na to mohl vy... Tyhle tendence dělat z programátorů adminy fakt nemám rád. Já taky nechci po adminech, aby mi hledali a opravovali chyby ve zdrojovém kódu programů.
Ve vetsi firme je zodpovednost vsech tymu nutnost.
Admini jsou zodpovedni za to, ze bezi HW a SW infrastruktura. S infrastrukturou si rozumeji a vedi, jak ji nahodit.
Neco jineho je to u aplikaci. Kdyz sluzba spadne v patek vecer, tak admini mohou leda tak do soboty vecera cist zdrojaky a pak to mozna opravit. Developeri by meli vedet vice.
Odpovednost za vlastni sluzbu zlepsuje i sluzbu. Neni treba Dev opakovat, ze ten rucni failover na 50 kroku proste nefunguje. Sami se tomu vyhnou.
I v našem megacorpu zavedli oncally devu. Dost to pomohlo aby se některá jelita poučila přesně z důvodu které píšeš. Chyběla kultura odpovědnosti. Nebylo výjimkou u některých týmů řešit patching a release v pátek vecer. Typicky to chtěli devove ale odpovědnost za průser byla na těch mámach na matersky co delali aplikační adminy - alias tlacitkovy klikac se znalosti SQL.
Na druhou stranu to bývá i draha sranda neboť někteří berou ctvrt mega měsíčně hrubého.
Ono typicky high level dev většinou práci házel na aplikační support( tohle lidé jsou málokdy schopni něco technicky udělat ve smyslu opravy) nebo na admin. Admin většinou umí opravit leccos ale nerozumi aplikačními stacku ( ne fakt nerozumím 2000 ruznych aplikací naráz).
> Nebylo výjimkou u některých týmů řešit patching a release
> v pátek vecer. Typicky to chtěli devove...
To nechápu. Vývojáři udělají verzi zahrnující nějaké featury. Ta se otestuje a je připravená k nasazení. O jejím nasazení rozhoduje product owner / project manager / nějaký jiný manager. Ale rozhodně ne vývojář.
> Neco jineho je to u aplikaci. Kdyz sluzba spadne v patek vecer,
> tak admini mohou leda tak do soboty vecera cist zdrojaky...
Ještě existuje taková věc, říká se jí provozní dokumentace. To je to, co mají číst admini. Zdrojáky číst nemají, stejně jako vývojáři nemají dělat adminy, už proto, že je k tomu potřebná jiná sada znalostí i osobních vlastností. Samozřejmě může nastat situace, kdy ani provozní dokumentace nepomůže a pak je potřeba okamžitá akce vývojářů, ale to je něco, co nastává maximálně jednou za hoooodně dlouho (na dobře vedeném projektu).
> Neni treba Dev opakovat, ze ten rucni failover
> na 50 kroku proste nefunguje.
To je samozřejmě otázka požadavků na SW / akceptačních kritérií.
Co píšete jen potvrzuje, že snahy o přenášení provozních věcí na vývojáře jsou znakem špatného managementu. (Mluvím o velkých firmách, ne startupech o pěti lidech celkem, tam je situace samozřejmě jiná.)
> Věřím, že máte lépe nastavené krizové scénáře.
Našťastie áno. Aspoň si to myslíme :).
> To mají členové všech vývojových týmů běžně přístup k produkčním datům, když to provozují?
Iba tí, ktorí splnia nutné podmienky, okrem iného podpis NDA.
> A když služba spadne v pátek večer, tak do pondělního rána neběží? Nebo snad každý tým drží 24/7 pohotovosti? Nechci podceňovat velikosti týmů pro ty služby, ale nepředpokládám, že jich bude moc, to by byl pěkný opruz, to bych se jim na to mohl vy... Tyhle tendence dělat z programátorů adminy fakt nemám rád. Já taky nechci po adminech, aby mi hledali a opravovali chyby ve zdrojovém kódu programů.
Záleží vždy od povahy problému. Ako už ste dostali v odpovedi od niehoko iného, admini spravujú infraštruktúru, hardware, Kubernetes... cloud ako taký. Admini do zdrojového kódu nezasahujú.
Potom sú tu problémy, ktoré automaticky vyrieši orchestrácia, DDoS ochrana, balancer, či automatické škálovanie.
Vývojári riešia len problémy, ktoré sú spôsobené chybami v kóde. Nikto nie je tlačený do držania pohotovostí 24/7, je to vždy o dobrovoľnosti, a títo vývojári sa vždy striedajú. Vždy sa vzájomne dohodnú komu sa zrovna hodí držať pohotovosť aby to nekonfliktovalo s nikoho osobným životom (tak ako to len ide), a sú za to patrične kompenzovaní. Adminov z nich nerobíme, ako každý iný programátor aj naši vývojári riešia funkcionalitu a opravy chýb, a niektorí dobrovoľne môžu riešiť aj akútne chyby ktoré sa objavia v produkcii mimo pracovnú dobu.
> O jejím nasazení rozhoduje product owner / project manager / nějaký jiný manager. Ale rozhodně ne vývojář.
Samozrejme. Ale keď sa vyskytne akútny problém v produkcii, ktorý musí riešiť vývojár, tak pripraví a nasadí novú verziu, ktorá obsahuje iba opravu toho problému a nič ďalšie.
> Samozřejmě může nastat situace, kdy ani provozní dokumentace nepomůže a pak je potřeba okamžitá akce vývojářů, ale to je něco, co nastává maximálně jednou za hoooodně dlouho (na dobře vedeném projektu).
Áno, je nutné zároveň celý systém správne nastaviť a hlavne sa vyhnúť nezmyselným extrémom ktoré ste spomínali (admini zasahujú do kódu, príp. z vývojárov sú admini). Na tejto službe sme zatiaľ nemali žiaden pohotovostný incident pre vývojárov. Na hlavnej stránke sme naposledy incident mali pred viac než 3 rokmi.