Ang mga developer gikan sa Mars, ang mga admin gikan sa Venus

Ang mga developer gikan sa Mars, ang mga admin gikan sa Venus

Ang mga sulagma kay sulagma, ug sa pagkatinuod kini sa laing planeta...

Gusto nakong ipaambit ang tulo ka mga istorya sa kalampusan ug kapakyasan bahin sa kung giunsa ang usa ka backend developer nagtrabaho sa usa ka team nga adunay mga admin.

Usa ka istorya.
Web studio, ang gidaghanon sa mga empleyado mahimong maihap sa usa ka kamot. Karon ikaw usa ka layout designer, ugma ikaw usa ka backender, pagkaugma ikaw usa ka admin. Sa usa ka bahin, makaangkon ka og talagsaong kasinatian. Sa laing bahin, adunay kakulang sa katakus sa tanan nga mga lugar. Nahinumdom pa ko sa unang adlaw sa trabaho, berde pa ko, ang boss nag-ingon: "Open putty," apan wala ko kabalo kung unsa kini. Ang komunikasyon sa mga admin wala iapil, tungod kay ikaw mismo ang admin. Atong tagdon ang mga bentaha ug disbentaha niini nga sitwasyon.

+ Ang tanang gahom anaa sa imong mga kamot.
+ Dili kinahanglan nga magpakilimos bisan kinsa alang sa pag-access sa server.
+ Dali nga oras sa reaksyon sa tanan nga direksyon.
+ Nagpauswag pag-ayo sa mga kahanas.
+ Pagbaton og kompleto nga pagsabot sa arkitektura sa produkto.

- Taas nga responsibilidad.
- Risgo sa paglapas sa produksyon.
β€” Lisod nga mahimong maayong espesyalista sa tanang bahin.

Dili interesado, magpadayon ta

Ang ikaduhang istorya.
Dako nga kompanya, dako nga proyekto. Adunay usa ka departamento sa administrasyon nga adunay 5-7 nga mga empleyado ug daghang mga grupo sa pagpauswag. Kung nagtrabaho ka sa ingon nga kompanya, ang matag admin naghunahuna nga wala ka mianhi dinhi aron magtrabaho sa usa ka produkto, apan aron maguba ang usa ka butang. Ni ang gipirmahan nga NDA o ang pagpili sa interbyu wala magpakita kung dili. Dili, kini nga tawo mianhi dinhi uban sa iyang hugaw nga gagmay nga mga kamot aron gub-on ang among produksiyon sa paghalok. Busa, sa ingon nga tawo kinahanglan nimo ang usa ka minimum nga komunikasyon; labing menos, mahimo nimong ihulog ang usa ka sticker agig tubag. Ayaw tubaga ang mga pangutana bahin sa arkitektura sa proyekto. Kini mao ang advisable nga dili paghatag og access hangtud nga ang team lead mangutana. Ug kung mangayo siya, ibalik niya kini nga adunay mas gamay nga mga pribilehiyo kaysa ilang gipangayo. Halos tanang komunikasyon sa maong mga admin masuhop sa black hole tali sa development department ug sa administration department. Imposible nga masulbad dayon ang mga isyu. Apan dili ka makaadto sa personal - ang mga admin busy kaayo 24/7. (Unsa ang imong gibuhat sa tanang panahon?) Pipila ka mga kinaiya sa pasundayag:

  • Ang kasagaran nga oras sa pag-deploy sa produksiyon mao ang 4-5 ka oras
  • Ang labing taas nga oras sa pag-deploy sa produksiyon 9 ka oras
  • Alang sa usa ka developer, ang usa ka aplikasyon sa produksiyon usa ka itom nga kahon, sama sa server sa produksiyon mismo. Pila ang tanan?
  • Ubos nga kalidad sa pagpagawas, kanunay nga mga sayup
  • Ang developer dili moapil sa proseso sa pagpagawas

Aw, unsa ang akong gipaabut, siyempre, ang mga bag-ong tawo dili gitugotan sa paghimo. Aw, okay, nga nakakuha og pasensya, nagsugod kami nga makuha ang pagsalig sa uban. Apan sa pipila ka rason, ang mga butang dili kaayo yano sa mga admin.

Act 1. Ang admin dili makita.
Ang adlaw sa pagpagawas, ang developer ug admin dili makigsulti. Ang admin walay pangutana. Apan masabtan nimo kung ngano sa ulahi. Ang admin usa ka maprinsipyo nga tawo, walay mga mensahero, dili ihatag ang iyang numero sa telepono kang bisan kinsa, ug walay profile sa mga social network. Walay bisan usa ka litrato niya bisan asa, unsa imong hitsura dude? Naglingkod kami uban sa responsableng manedyer sulod sa mga 15 ka minuto sa kalibog, naningkamot sa pag-establisar sa komunikasyon uban niining Voyager 1, unya usa ka mensahe ang makita sa corporate email nga iyang nahuman. Magsuwat ba kami pinaagi sa koreo? Ngano dili? Kombenyente, dili ba? Aw, sige, magpabugnaw ta. Nagpadayon na ang proseso, wala nay balikan. Basaha pag-usab ang mensahe. "Nahuman ko". Unsa imong nahuman? asa man Asa man ko mangita nimo? Dinhi imong nasabtan ngano nga ang 4 ka oras alang sa pagpagawas normal. Nakakuha kami usa ka shock sa pag-uswag, apan nahuman namon ang pagpagawas. Wala nay tinguha nga buhian.

Buhat 2. Dili kana nga bersyon.
Ang sunod nga pagpagawas. Nakuha ang kasinatian, nagsugod kami sa paghimo og mga lista sa gikinahanglan nga software ug mga librarya alang sa server alang sa mga administrador, nga nagpakita sa mga bersyon alang sa pipila. Sama sa kanunay, nakadawat kami usa ka huyang nga signal sa radyo nga adunay nahuman ang admin didto. Nagsugod ang pagsulay sa pagbag-o, nga molungtad mga usa ka oras. Ang tanan daw nagtrabaho, apan adunay usa ka kritikal nga bug. Ang hinungdanon nga pagpaandar dili molihok. Ang misunod nga pipila ka oras mao ang pagsayaw gamit ang mga tamburin, pagpanag-an sa mga nataran sa kape, ug usa ka detalyado nga pagrepaso sa matag piraso sa code. Ang admin nag-ingon nga iyang gibuhat ang tanan. Ang aplikasyon nga gisulat sa hiwi nga mga developer dili molihok, apan ang server nagtrabaho. Naa bay pangutana para niya? Sa katapusan sa usa ka oras sa katapusan makuha namo ang admin nga ipadala ang bersyon sa librarya sa production server ngadto sa chat ug bingo - dili kini ang among gikinahanglan. Gihangyo namo ang admin nga i-install ang gikinahanglan nga bersyon, apan isip tubag nakadawat kami nga dili niya kini mahimo tungod sa pagkawala niini nga bersyon sa OS package manager. Dinhi, gikan sa mga recess sa iyang panumduman, ang manedyer nahinumdom nga ang laing admin nakasulbad na niini nga problema pinaagi lamang sa pag-assemble sa gikinahanglan nga bersyon pinaagi sa kamot. Apan dili, dili kini buhaton sa atoa. Ang mga regulasyon nagdili. Karl, pila na ka oras nga naglingkod dinhi, unsa ang limitasyon sa oras?! Nakakuha kami og laing kakurat ug sa usa ka paagi matapos ang pagpagawas.

Act 3, mubo
Ang dinalian nga tiket, ang yawe nga pag-andar dili molihok alang sa usa sa mga tiggamit sa produksiyon. Gigugol namo ang pipila ka oras sa pagtuktok ug pagsusi. Sa usa ka palibot sa pag-uswag, ang tanan molihok. Adunay usa ka tin-aw nga pagsabut nga kini usa ka maayong ideya nga tan-awon ang mga log sa php-fpm. Walay log system sama sa ELK o Prometheus sa proyekto niadtong panahona. Nag-abli kami og tiket sa departamento sa administrasyon aron mahatagan sila og access sa php-fpm logs sa server. Dinhi kinahanglan nimo nga masabtan nga nangayo kami og access alang sa usa ka rason, wala ka ba mahinumdom mahitungod sa black hole ug mga admin nga busy 24/7? Kung hangyoon nimo sila sa pagtan-aw sa mga troso sa ilang kaugalingon, nan kini usa ka "wala niini nga kinabuhi" nga prayoridad nga buluhaton. Gihimo ang tiket, nakadawat kami dayon nga tubag gikan sa pinuno sa departamento sa administrasyon: "Dili nimo kinahanglan ang pag-access sa mga log sa produksiyon, pagsulat nga wala mga bug." Usa ka kurtina.

Act 4 ug sa unahan
Nagkolekta gihapon kami og daghang mga problema sa produksiyon, tungod sa lainlaing mga bersyon sa mga librarya, wala ma-configure nga software, wala maandam nga mga load sa server, ug uban pang mga problema. Siyempre, adunay usab mga bug sa code, dili namo mabasol ang mga admin sa tanan nga mga sala, maghisgot lang kami og usa pa ka tipikal nga operasyon alang sa maong proyekto. Kami adunay daghang mga background nga mga trabahante nga gilunsad pinaagi sa superbisor, ug pipila ka mga script kinahanglan idugang sa cron. Usahay kining mao nga mga trabahante mihunong sa pagtrabaho. Ang load sa queue server mitubo sa kusog nga kilat, ug ang masulub-on nga mga tiggamit mitan-aw sa nagtuyok nga loader. Aron dali nga ayuhon ang ingon nga mga trabahante, igo na nga i-restart sila, apan pag-usab, usa ra ka tagdumala ang makahimo niini. Samtang gihimo ang ingon nga sukaranan nga operasyon, usa ka tibuuk nga adlaw ang mahimong molabay. Dinhi, siyempre, angay nga matikdan nga ang hiwi nga mga programmer kinahanglan magsulat sa mga mamumuo aron dili sila mahagsa, apan kung mahulog sila, maayo nga masabtan kung ngano, nga usahay imposible tungod sa kakulang sa pag-access sa produksiyon, sa kurso, ug ingon nga sangputanan, ang kakulang sa mga troso gikan sa developer.

Transpigurasyon.
Naagwanta kining tanan sulod sa taas nga panahon, uban sa team nagsugod kami sa paggiya sa direksyon nga mas malampuson alang kanamo. Sa pag-summarize, unsa nga mga problema ang atong giatubang?

  • Kakulang sa kalidad nga komunikasyon tali sa mga developer ug departamento sa administrasyon
  • Ang mga tagdumala, kini nahimo (!), Wala gyud makasabut kung giunsa ang pagkahan-ay sa aplikasyon, kung unsa ang mga dependency niini ug kung giunsa kini molihok.
  • Ang mga developers wala makasabut sa unsa nga paagi nga ang produksyon palibot nagtrabaho ug, ingon sa usa ka resulta, dili epektibo nga pagtubag sa mga problema.
  • Ang proseso sa pag-deploy dugay kaayo.
  • Dili lig-on nga pagpagawas.

Unsa may atong nabuhat?
Alang sa matag pagpagawas, usa ka lista sa Release Notes ang nahimo, nga naglakip sa usa ka lista sa trabaho nga kinahanglan buhaton sa server para sa sunod nga pagpagawas aron magtrabaho. Ang lista adunay daghang mga seksyon, trabaho nga kinahanglan buhaton sa administrador, ang tawo nga responsable sa pagpagawas, ug ang developer. Ang mga developers nakadawat og non-root access sa tanang production server, nga nagpadali sa pag-uswag sa kinatibuk-an ug ilabi na sa pagsulbad sa problema. Ang mga developers usab adunay usa ka pagsabut sa unsa nga paagi sa produksyon sa mga buhat, unsa nga mga serbisyo kini gibahin ngadto sa, diin ug sa unsa nga paagi sa daghan nga mga replicas gasto. Ang pipila sa mga karga sa kombat nahimong mas klaro, nga sa walay duhaduha nakaapekto sa kalidad sa code. Ang komunikasyon sa panahon sa proseso sa pagpagawas nahitabo sa chat sa usa sa mga instant messenger. Una, kami adunay usa ka talaan sa tanan nga mga aksyon, ug ikaduha, ang komunikasyon nahitabo sa usa ka mas duol nga palibot. Ang pagbaton ug kasaysayan sa mga aksyon labaw pa sa kausa nagtugot sa mga bag-ong empleyado sa pagsulbad sa mga problema nga mas paspas. Kini usa ka paradox, apan kini kanunay nga nakatabang sa mga admin mismo. Dili ko moingon nga sigurado, apan para nako ang mga admin nagsugod na nga mas masabtan kung giunsa ang proyekto ug kung giunsa kini gisulat. Usahay gipaambit pa namo ang pipila ka mga detalye sa usag usa. Ang kasagaran nga oras sa pagpagawas gipakunhod ngadto sa usa ka oras. Usahay kami nahuman sa 30-40 minuto. Ang gidaghanon sa mga bug mikunhod pag-ayo, kung dili napulo ka pilo. Siyempre, ang ubang mga hinungdan nakaimpluwensya usab sa pagkunhod sa oras sa pagpagawas, sama sa mga autotest. Human sa matag pagpagawas, nagsugod kami sa paghimo sa retrospectives. Aron ang tibuuk nga grupo adunay ideya kung unsa ang bag-o, kung unsa ang nabag-o, ug kung unsa ang gitangtang. Ikasubo, ang mga admin dili kanunay moadto kanila, aw, ang mga admin kay busy... Ang akong katagbawan sa trabaho isip usa ka developer sa walay duhaduha misaka. Kung dali nimo masulbad ang halos bisan unsang problema nga naa sa imong lugar nga adunay katakus, gibati nimo nga labaw. Sa ulahi, akong masabtan nga sa pipila ka mga gidak-on gipaila namo ang usa ka devops nga kultura, dili sa hingpit, siyempre, apan bisan ang pagsugod sa pagbag-o makapahingangha.

Ikatulong istorya
Pagsugod. Usa ka admin, gamay nga departamento sa pag-uswag. Sa pag-abot ako usa ka kompleto nga zero, tungod kay ... Wala koy access bisan asa gawas sa mail. Nagsulat kami sa admin ug nangayo og access. Dugang pa, adunay kasayuran nga nahibal-an niya ang bag-ong empleyado ug kinahanglan nga mag-isyu sa mga logins / password. Naghatag sila og access gikan sa repository ug VPN. Nganong hatagan ug access ang wiki, teamcity, rundesk? Wala’y kapuslanan nga mga butang alang sa usa ka tawo nga gitawag aron isulat ang tibuuk nga bahin sa backend. Sa paglabay lamang sa panahon kita makakuha og access sa pipila ka mga himan. Ang pag-abot, siyempre, gisugat sa kawalay pagsalig. Gisulayan nako nga hinayhinay nga mabati kung giunsa ang mga imprastraktura sa proyekto naglihok pinaagi sa mga chat ug nanguna nga mga pangutana. Sa panguna wala ako makaila sa bisan unsa. Ang produksiyon parehas nga itom nga kahon sama kaniadto. Apan labaw pa niana, bisan ang mga server sa entablado nga gigamit alang sa pagsulay usa ka itom nga kahon. Wala kami'y mahimo gawas sa pag-deploy sa usa ka sanga gikan sa Git didto. Dili usab namo ma-configure ang among aplikasyon sama sa .env files. Ang pag-access alang sa ingon nga mga operasyon wala gihatag. Kinahanglan ka nga magpakilimos aron mausab ang linya sa config sa imong aplikasyon sa test server. (Adunay usa ka teorya nga hinungdanon alang sa mga admin nga mabati ang ilang kaugalingon nga hinungdanon sa proyekto; kung dili sila hangyoon nga usbon ang mga linya sa mga config, dili na sila kinahanglan). Aw, sama sa kanunay, dili ba kini kombenyente? Kini dali nga makalaay, pagkahuman sa usa ka direkta nga panag-istoryahanay sa admin nahibal-an namon nga ang mga nag-develop natawo aron magsulat og dili maayo nga code, sa kinaiyanhon nga walay katakus nga mga indibidwal ug mas maayo nga ipahilayo sila sa produksiyon. Apan dinhi usab gikan sa mga server sa pagsulay, kung mahimo. Ang panagbangi dali nga migrabe. Walay communication sa admin. Misamot ang kahimtang sa kamatuoran nga siya nag-inusara. Ang mosunod maoy kasagarang hulagway. Ipagawas. Ang pila ka gamit dili molihok. Nagkinahanglan kami og taas nga panahon aron mahibal-an kung unsa ang nahitabo, lainlaing mga ideya gikan sa mga developer ang gilabay sa chat, apan ang admin sa ingon nga sitwasyon kasagarang maghunahuna nga ang mga developers ang mabasol. Unya nisuwat siya sa chat, wait, gi correct ko niya. Kung gihangyo nga magbilin usa ka istorya nga adunay kasayuran bahin sa kung unsa ang problema, nakadawat kami mga makahilo nga pasangil. Sama sa, ayaw ibutang ang imong ilong kung diin kini dili angay. Ang mga developers kinahanglang magsulat og code. Ang sitwasyon diin daghang mga lihok sa lawas sa usa ka proyekto ang moagi sa usa ka tawo ug siya lamang ang adunay access sa paghimo sa mga operasyon nga gikinahanglan sa tanan hilabihan ka makapasubo. Ang ingon nga tawo usa ka makalilisang nga bottleneck. Kung ang mga ideya sa Devops maningkamot nga makunhuran ang oras-sa-merkado, nan ang ingon nga mga tawo mao ang labing daotan nga kaaway sa mga ideya sa Devops. Ikasubo, ang kurtina nagsira dinhi.

PS Paghuman ug gamay bahin sa mga developers vs admin sa mga chat sa mga tawo, nahimamat nako ang mga tawo nga nag-ambit sa akong kasakit. Apan aduna usay niingon nga wala pa sila makasugat og ingon niini. Sa usa ka komperensya sa devops, gipangutana nako si Anton Isanin (Alfa Bank) kung giunsa nila pag-atubang ang problema sa bottleneck sa porma sa mga admin, diin siya miingon: "Gipulihan namon sila sa mga buton." By the way podcast uban sa iyang partisipasyon. Ganahan ko motuo nga daghan pa ang maayo nga admin kaysa mga kaaway. Ug oo, ang litrato sa sinugdanan usa ka tinuud nga sulat.

Tinubdan: www.habr.com

Idugang sa usa ka comment