Infrastructure li Code: yuav ua li cas kov yeej teeb meem siv XP

Nyob zoo, Habr! Yav dhau los, kuv tau yws txog lub neej nyob rau hauv Infrastructure raws li code paradigm thiab tsis muaj dab tsi los daws qhov teeb meem tam sim no. Hnub no kuv rov qab los qhia rau koj paub tias yuav ua li cas thiab cov kev coj ua yuav pab koj kom dim ntawm qhov kev poob siab ntawm kev poob siab thiab coj qhov xwm txheej mus rau qhov raug.

Infrastructure li Code: yuav ua li cas kov yeej teeb meem siv XP

Hauv tsab xov xwm dhau los "Infrastructure li code: thawj tus neeg paub" Kuv tau qhia kuv qhov kev xav ntawm thaj chaw no, sim xav txog qhov xwm txheej tam sim no hauv cheeb tsam no, thiab txawm hais tias kev coj ua qauv paub rau txhua tus neeg tsim khoom tuaj yeem pab tau. Tej zaum nws yuav zoo li muaj ntau qhov kev tsis txaus siab txog lub neej, tab sis tsis muaj cov lus pom zoo rau txoj kev tawm ntawm qhov xwm txheej tam sim no.

Peb yog leej twg, peb nyob qhov twg thiab peb muaj teeb meem dab tsi

Peb tam sim no nyob rau hauv Sre Onboarding Team, uas muaj XNUMX tus programmers thiab peb tus engineers infrastructure. Peb txhua tus sim sau Infrastructure li code (IaC). Peb ua qhov no vim peb yeej paub sau cov cai thiab muaj keeb kwm ntawm kev ua "dhau nruab nrab" cov neeg tsim tawm.

  • Peb muaj cov txheej txheem zoo: muaj keeb kwm yav dhau los, kev paub txog kev coj ua, muaj peev xwm sau cov lej, muaj lub siab xav kawm yam tshiab.
  • Thiab muaj ib feem sagging, uas kuj yog ib qho kev rho tawm: tsis muaj kev paub txog kev kho vajtse.

Cov txheej txheem thev naus laus zis peb siv hauv peb IaC.

  • Terraform rau kev tsim cov peev txheej.
  • Packer rau assembling dluab. Cov no yog Windows, CentOS 7 cov duab.
  • Jsonnet ua kom muaj zog tsim hauv drone.io, nrog rau tsim cov packer json thiab peb terraform modules.
  • Azure.
  • Ansible thaum npaj cov duab.
  • Python rau kev pabcuam pabcuam thiab muab cov ntawv sau.
  • Thiab tag nrho cov no hauv VSCode nrog plugins sib koom ntawm pab pawg.

Xaus los ntawm kuv tsab xov xwm kawg yog zoo li no: Kuv sim instill (ua ntej ntawm tag nrho cov nyob rau hauv kuv tus kheej) optimism, kuv xav hais tias peb yuav sim cov le caag thiab cov kev coj uas paub rau peb nyob rau hauv thiaj li yuav daws tau nrog cov teeb meem thiab complexities uas muaj nyob rau hauv lub cheeb tsam no.

Tam sim no peb tab tom tawm tsam nrog cov teeb meem IaC hauv qab no:

  • Kev tsis zoo ntawm cov cuab yeej thiab txhais tau tias rau kev txhim kho code.
  • Kev xa tawm qeeb. Infrastructure yog ib feem ntawm lub ntiaj teb tiag tiag, thiab nws tuaj yeem ua qeeb.
  • Tsis muaj txoj hauv kev thiab kev coj ua.
  • Peb yog cov tshiab thiab tsis paub ntau.

Extreme Programming (XP) rau kev cawm

Txhua tus neeg tsim khoom tau paub txog Extreme Programming (XP) thiab cov kev coj ua uas sawv tom qab nws. Ntau ntawm peb tau ua haujlwm nrog txoj hauv kev no, thiab nws tau ua tiav. Yog li vim li cas ho tsis siv cov hauv paus ntsiab lus thiab cov kev coj ua uas tau teev tseg rau ntawd los kov yeej cov teeb meem hauv vaj tse? Peb txiav txim siab los coj txoj hauv kev no thiab pom tias muaj dab tsi tshwm sim.

Tshawb xyuas qhov siv tau ntawm XP txoj hauv kev rau koj qhov kev lag luamNov yog cov lus piav qhia ntawm ib puag ncig uas XP yog qhov zoo rau, thiab nws cuam tshuam li cas rau peb:

1. Dynamically hloov software yuav tsum. Nws pom tseeb rau peb tias lub hom phiaj kawg yog dab tsi. Tab sis cov ntsiab lus tuaj yeem sib txawv. Peb tus kheej txiav txim siab qhov twg peb xav tau tsheb tavxij, yog li cov kev cai hloov pauv raws sijhawm (tsuas yog los ntawm peb tus kheej). Yog tias peb coj pab pawg SRE, uas ua qhov kev ua haujlwm ntawm nws tus kheej, thiab nws tus kheej txwv cov kev cai thiab kev ua haujlwm, ces qhov no haum zoo.

2. Cov kev pheej hmoo tshwm sim los ntawm lub sijhawm ua haujlwm ruaj khov siv cov cuab yeej tshiab. Tej zaum peb yuav ntsib kev pheej hmoo thaum siv qee yam tsis paub rau peb. Thiab qhov no yog 100% peb cov ntaub ntawv. Peb qhov project tag nrho yog kev siv thev naus laus zis uas peb tsis tau paub txog. Feem ntau, qhov no yog qhov teeb meem tas li, vim tias ... Muaj ntau yam tshiab technologies tshwm sim nyob rau hauv lub infrastructure sector txhua lub sijhawm.

3,4. Pab pawg me me, koom ua ke txuas ntxiv txhim kho. Cov cuab yeej siv hluav taws xob uas koj siv tau tso cai rau kev ntsuas kev ua haujlwm thiab kev ua haujlwm. Ob lub ntsiab lus no tsis zoo rau peb. Ua ntej, peb tsis yog ib pab neeg sib koom ua ke, thiab qhov thib ob, muaj cuaj ntawm peb, uas tuaj yeem suav tias yog pab pawg loj. Txawm hais tias, raws li qee qhov kev txhais ntawm pab pawg "loj", ntau yog 14+ tus neeg.

Cia peb saib qee qhov kev coj ua XP thiab lawv cuam tshuam li cas rau kev ceev thiab kev tawm tswv yim zoo.

XP Feedback Loop Txoj Cai

Hauv kuv qhov kev nkag siab, kev tawm tswv yim yog cov lus teb rau lo lus nug, kuv puas ua qhov yog, peb puas mus qhov ntawd? XP muaj lub tswv yim los saum ntuj rau qhov no: lub sij hawm tawm tswv yim voj. Qhov nthuav yog qhov qis dua peb, qhov nrawm dua peb tuaj yeem tau txais OS los teb cov lus nug tsim nyog.

Infrastructure li Code: yuav ua li cas kov yeej teeb meem siv XP

Qhov no yog lub ntsiab lus nthuav dav rau kev sib tham, uas hauv peb txoj kev lag luam IT nws muaj peev xwm sai sai tau txais OS. Xav txog tias nws mob npaum li cas los ua ib qhov project rau rau lub hlis thiab tsuas yog tom qab ntawd pom tias muaj qhov yuam kev thaum pib. Qhov no tshwm sim nyob rau hauv tsim thiab nyob rau hauv tej kev tsim kho ntawm complex systems.

Hauv peb qhov xwm txheej ntawm IaC, cov lus tawm tswv yim pab peb. Kuv mam li hloov kho me me rau daim duab saum toj no: txoj kev npaj tso tawm tsis muaj lub voj voog txhua hli, tab sis tshwm sim ntau zaus hauv ib hnub. Muaj qee qhov kev coj ua khi rau lub voj voog OS no uas peb yuav saib kom meej ntxiv.

Tseem ceeb: kev tawm tswv yim tuaj yeem yog kev daws teeb meem rau txhua qhov teeb meem uas tau teev tseg saum toj no. Ua ke nrog XP kev coj ua, nws tuaj yeem rub koj tawm ntawm kev poob siab ntawm kev poob siab.

Yuav ua li cas rub koj tus kheej tawm ntawm lub abyss ntawm kev poob siab: peb kev coj ua

Kev sim

Cov kev ntsuam xyuas tau hais ob zaug hauv XP tawm tswv yim voj. Tsis yog li ntawd xwb. Lawv tseem ceeb heev rau tag nrho cov txheej txheem Extreme Programming.

Nws yog xav tias koj muaj kev xeem Unit thiab Txais. Qee tus muab tswv yim rau koj hauv ob peb feeb, lwm tus hauv ob peb hnub, yog li lawv siv sijhawm ntev los sau thiab raug tshuaj xyuas tsawg dua.

Muaj ib qho kev sim classic pyramid, uas qhia tau hais tias yuav tsum muaj kev sim ntau dua.

Infrastructure li Code: yuav ua li cas kov yeej teeb meem siv XP

Lub moj khaum no siv rau peb li cas hauv qhov project IaC? Qhov tseeb... tsis yog kiag li.

  • Chav ntsuas, txawm tias qhov tseeb tias yuav tsum muaj ntau ntawm lawv, tsis tuaj yeem muaj ntau dhau. Los yog lawv tab tom sim ib yam dab tsi tsis ncaj ncees lawm. Qhov tseeb, peb tuaj yeem hais tias peb tsis sau lawv txhua. Tab sis ntawm no yog ob peb daim ntawv thov rau cov kev sim no uas peb tuaj yeem ua tau:
    1. Kuaj jsonnet code. Qhov no, piv txwv li, yog peb cov drone sib dhos pipeline, uas yog qhov nyuaj heev. Lub jsonnet code tau zoo los ntawm kev xeem.
      Peb siv qhov no Chav ntsuas lub moj khaum rau Jsonnet.
    2. Kev ntsuam xyuas rau cov ntawv sau uas raug tua thaum cov peev txheej pib. Cov ntawv sau tau sau hauv Python, thiab yog li kev xeem tuaj yeem sau rau ntawm lawv.
  • Nws muaj peev xwm tuaj yeem tshawb xyuas qhov teeb tsa hauv kev sim, tab sis peb tsis ua li ntawd. Nws kuj tseem tuaj yeem teeb tsa kev txheeb xyuas cov cai tswj xyuas cov cai ntawm tflint ua. Txawm li cas los xij, cov tshev mis tsuas yog yooj yim heev rau terraform, tab sis ntau cov ntawv xeem tau sau rau AWS. Thiab peb nyob ntawm Azure, yog li qhov no dua tsis siv.
  • Kev xeem sib xyaw ua ke: nws nyob ntawm seb koj faib lawv li cas thiab qhov chaw koj muab tso rau. Tab sis lawv pib ua haujlwm.

    Qhov no yog qhov kev xeem sib xyaw ua ke zoo li.

    Infrastructure li Code: yuav ua li cas kov yeej teeb meem siv XP

    Qhov no yog ib qho piv txwv thaum tsim cov duab hauv Drone CI. Txhawm rau ncav cuag lawv, koj yuav tsum tau tos 30 feeb rau daim duab Packer, tom qab ntawd tos lwm 15 feeb kom lawv dhau. Tab sis lawv muaj nyob!

    Daim duab pov thawj algorithm

    1. Packer yuav tsum xub npaj cov duab kom tiav.
    2. Tom ntej no mus rau qhov kev xeem muaj ib tug terraform nrog ib lub xeev hauv zos, uas peb siv los deploy daim duab no.
    3. Thaum nthuav tawm, ib qho me me uas nyob ze yog siv los ua kom yooj yim rau kev ua haujlwm nrog cov duab.
    4. Thaum VM raug xa tawm los ntawm daim duab, cov tshev tuaj yeem pib. Yeej, kev kuaj xyuas yog nqa los ntawm lub tsheb. Nws xyuas seb cov ntawv sau ua haujlwm li cas thaum pib thiab ua haujlwm daemons li cas. Txhawm rau ua qhov no, ntawm ssh lossis winrm peb nkag mus rau hauv lub tshuab tshiab tau tsa thiab xyuas cov xwm txheej teeb tsa lossis seb cov kev pabcuam puas.

  • Qhov xwm txheej zoo ib yam nrog kev sib koom ua ke hauv cov qauv rau terraform. Ntawm no yog ib lub rooj luv luv piav qhia txog cov yam ntxwv ntawm cov kev sim no.

    Infrastructure li Code: yuav ua li cas kov yeej teeb meem siv XP

    Cov lus teb ntawm cov raj xa dej yog nyob ib ncig ntawm 40 feeb. Txhua yam tshwm sim rau lub sijhawm ntev heev. Nws tuaj yeem siv rau kev thim rov qab, tab sis rau kev txhim kho tshiab nws feem ntau tsis muaj tseeb. Yog tias koj npaj siab heev rau qhov no, npaj cov ntawv sau ua haujlwm, ces koj tuaj yeem txo nws mus rau 10 feeb. Tab sis cov no tseem tsis yog Chav ntsuas, uas ua 5 daim hauv 100 vib nas this.

Qhov tsis muaj qhov ntsuas ntsuas thaum sib sau ua ke cov duab lossis terraform modules txhawb kom hloov chaw ua haujlwm kom cais cov kev pabcuam uas tsuas yog khiav ntawm REST, lossis rau Python scripts.

Piv txwv li, peb xav tau kom paub tseeb tias thaum lub tshuab virtual pib, nws sau npe nws tus kheej hauv kev pabcuam ScaleFT, thiab thaum lub tshuab virtual raug puas tsuaj, nws deleted nws tus kheej.

Txij li thaum peb muaj ScaleFT ua ib qho kev pabcuam, peb raug yuam ua haujlwm nrog nws los ntawm API. Muaj ib daim ntawv qhwv uas koj tuaj yeem rub thiab hais tias: "Mus rau hauv thiab rho tawm qhov no thiab qhov ntawd." Nws khaws tag nrho cov teeb tsa tsim nyog thiab nkag mus.

Peb tuaj yeem sau cov kev xeem ib txwm rau qhov no, txij li nws tsis txawv ntawm cov software zoo tib yam: qee yam apiha raug thuam, koj rub nws, thiab pom dab tsi tshwm sim.

Infrastructure li Code: yuav ua li cas kov yeej teeb meem siv XP

Cov txiaj ntsig ntawm kev xeem: Chav ntsuas, uas yuav tsum muab rau OS hauv ib feeb, tsis muab nws. Thiab hom kev sim siab dua hauv cov pyramid tau zoo, tab sis tsuas yog npog ib feem ntawm cov teeb meem.

Pair programming

Kev ntsuam xyuas yog, ntawm chav kawm, zoo. Koj tuaj yeem sau ntau ntawm lawv, lawv tuaj yeem ua ntau hom. Lawv yuav ua hauj lwm ntawm lawv qib thiab muab tswv yim rau peb. Tab sis qhov teeb meem nrog qhov kev ntsuam xyuas tsis zoo, uas muab qhov ceev tshaj plaws OS, tseem nyob. Nyob rau tib lub sijhawm, kuv tseem xav tau ceev OS uas yooj yim thiab qab ntxiag ua haujlwm nrog. Tsis txhob hais txog qhov zoo ntawm qhov kev daws teeb meem. Hmoov zoo, muaj cov txheej txheem uas tuaj yeem muab kev tawm tswv yim sai dua li cov kev xeem hauv chav. Qhov no yog khub programming.

Thaum sau cov lej, koj xav tau cov lus qhia txog nws qhov zoo sai li sai tau. Yog lawm, koj tuaj yeem sau txhua yam hauv cov haujlwm tshwj xeeb (kom tsis txhob cuam tshuam dab tsi rau leej twg), thov rub tawm hauv Github, muab nws rau ib tus neeg uas nws lub tswv yim muaj qhov hnyav, thiab tos cov lus teb.

Tab sis koj tuaj yeem tos ntev. Tib neeg txhua tus tsis khoom, thiab cov lus teb, txawm tias muaj ib qho, yuav tsis yog qhov zoo tshaj plaws. Xav tias cov lus teb tuaj tam sim ntawd, tus neeg tshuaj xyuas tam sim ntawd nkag siab tag nrho lub tswv yim, tab sis cov lus teb tseem tuaj lig, tom qab qhov tseeb. Kuv xav tias nws ua ntej. Qhov no yog dab tsi khub programming yog tsom rau - tam sim ntawd, thaum lub sijhawm sau ntawv.

Hauv qab no yog cov khub programming style thiab lawv qhov kev siv tau hauv kev ua haujlwm ntawm IaC:

1. Classic, Kev paub + Kev paub, ua haujlwm los ntawm timer. Ob lub luag haujlwm - tus tsav tsheb thiab navigator. Ob tug neeg. Lawv ua hauj lwm rau tib txoj cai thiab hloov lub luag hauj lwm tom qab ib lub sij hawm predetermined lub sij hawm.

Cia peb xav txog qhov sib xws ntawm peb cov teeb meem nrog style:

  • Teeb meem: kev tsis zoo ntawm cov cuab yeej thiab cov cuab yeej rau kev txhim kho code.
    Kev cuam tshuam tsis zoo: nws yuav siv sij hawm ntev dua los txhim kho, peb qeeb qeeb, kev ua haujlwm / lub suab sib dhos poob.
    Peb sib ntaus li cas: peb siv cov cuab yeej sib txawv, ib qho IDE thiab kuj kawm luv luv.
  • Teeb meem: Kev xa tawm qeeb.
    Kev cuam tshuam tsis zoo: nce lub sijhawm nws siv los tsim ib qho kev ua haujlwm ntawm cov lej. Peb dhuav thaum tos, peb txhais tes ncav tes ua lwm yam thaum peb tos.
    Peb sib ntaus li cas: peb tsis kov yeej nws.
  • Teeb meem: tsis muaj txoj hauv kev thiab kev coj ua.
    Kev cuam tshuam tsis zoo: tsis muaj kev paub txog kev ua kom zoo thiab yuav ua li cas tsis zoo. Lengthes qhov tau txais kev tawm tswv yim.
    Peb sib ntaus li cas: kev sib pauv kev xav thiab kev coj ua hauv khub ua haujlwm yuav luag daws qhov teeb meem.

Qhov teeb meem tseem ceeb ntawm kev siv cov qauv no hauv IaC yog qhov tsis sib xws ntawm kev ua haujlwm. Hauv kev txhim kho software ib txwm muaj, koj muaj lub zog sib xws. Koj tuaj yeem siv sijhawm tsib feeb thiab sau N. Siv sijhawm 10 feeb thiab sau 2N, 15 feeb - 3N. Ntawm no koj tuaj yeem siv tsib feeb thiab sau N, thiab tom qab ntawd siv sijhawm 30 feeb ntxiv thiab sau ib feem kaum ntawm N. Ntawm no koj tsis paub dab tsi, koj nyam, ruam. Kev tshawb nrhiav siv sijhawm thiab cuam tshuam los ntawm kev ua haujlwm nws tus kheej.

Xaus: hauv nws daim ntawv ntshiab nws tsis haum rau peb.

2. Ping-pong. Txoj hauv kev no suav nrog ib tus neeg sau qhov kev xeem thiab lwm tus ua qhov kev siv rau nws. Muab rau hauv tus account qhov tseeb tias txhua yam yog qhov nyuaj nrog Chav ntsuas, thiab koj yuav tsum sau ib qho kev xeem sib xyaw ua ke uas yuav siv sij hawm ntev rau qhov kev pab cuam, txhua qhov yooj yim ntawm ping-pong ploj mus.

Kuv tuaj yeem hais tias peb tau sim cais lub luag haujlwm los tsim cov ntawv xeem thiab siv cov cai rau nws. Ib tug neeg tuaj koom nrog tsab ntawv, nyob rau hauv ib feem ntawm txoj hauj lwm no nws yog lub luag hauj lwm, nws muaj lo lus kawg. Thiab lwm tus yog lub luag haujlwm rau kev siv. Nws ua haujlwm zoo. Qhov zoo ntawm tsab ntawv nrog rau txoj kev no nce.

Xaus: alas, kev ua haujlwm nrawm tsis tso cai rau kev siv ping-pong raws li kev xyaum ua khub hauv IaC.

3.Strong Style. Kev xyaum nyuaj. Lub tswv yim yog tias ib tus neeg koom ua tus thawj coj navigator, thiab tus thib ob siv lub luag haujlwm ntawm tus tsav tsheb. Hauv qhov no, txoj cai los txiav txim siab tsuas yog nrog tus navigator. Tus tsav tsheb tsuas yog luam tawm thiab tuaj yeem cuam tshuam dab tsi tshwm sim nrog ib lo lus. Lub luag haujlwm tsis hloov mus ntev.

Zoo rau kev kawm, tab sis yuav tsum muaj kev txawj ntse muaj zog. Qhov no yog qhov uas peb poob siab. Cov txheej txheem nyuaj. Thiab nws tsis txawm hais txog infrastructure.

Cov ntsiab lus: nws tuaj yeem siv tau, peb tsis tso tseg sim.

4. Mobbing, swarming thiab txhua tus paub tab sis tsis tau teev cov qauv Peb tsis xav txog nws, vim Peb tsis tau sim nws thiab nws tsis tuaj yeem tham txog nws hauv cov ntsiab lus ntawm peb txoj haujlwm.

Cov txiaj ntsig dav dav ntawm kev siv khub programming:

  • Peb muaj qhov tsis sib xws ntawm kev ua haujlwm, uas yog qhov tsis meej pem.
  • Peb tau khiav mus rau qhov kev txawj ntse tsis txaus. Thiab qhov chaw kawm tsis pab kov yeej cov kev tsis txaus no ntawm peb li.
  • Kev sim ntev thiab teeb meem nrog cov cuab yeej ua rau kev sib koom ua ke nyuaj.

5. Txawm li cas los xij, muaj kev vam meej. Peb tuaj nrog peb tus kheej txoj kev "Convergence - Divergence". Kuv yuav piav luv luv tias nws ua haujlwm li cas.

Peb muaj cov neeg koom tes ruaj khov rau ob peb hnub (tsawg dua ib lub lis piam). Peb ua ib txoj hauj lwm ua ke. Peb zaum ua ke ib pliag: ib tug sau, lwm tus zaum thiab saib pab neeg txhawb nqa. Tom qab ntawd peb tawg mus rau qee lub sijhawm, txhua tus ua qee yam ywj pheej, tom qab ntawd peb tuaj ua ke dua, synchronize sai heev, ua ib yam dab tsi ua ke thiab sib cais dua.

Kev npaj thiab kev sib txuas lus

Qhov kawg thaiv ntawm kev coj ua los ntawm kev daws teeb meem OS yog lub koom haum ua haujlwm nrog cov haujlwm lawv tus kheej. Qhov no kuj suav nrog kev sib pauv kev paub uas tsis yog kev ua haujlwm ntawm khub. Cia peb saib peb yam kev coj ua:

1. Lub hom phiaj los ntawm tsob ntoo lub hom phiaj. Peb tau teeb tsa kev tswj hwm tag nrho ntawm qhov project los ntawm ib tsob ntoo uas mus tas li mus rau yav tom ntej. Technically, kev taug qab yog ua tiav hauv Miro. Muaj ib txoj haujlwm - nws yog lub hom phiaj nruab nrab. Los ntawm nws mus rau cov hom phiaj me me lossis pab pawg ua haujlwm. Cov hauj lwm lawv tus kheej yog los ntawm lawv. Txhua yam haujlwm raug tsim thiab tswj xyuas ntawm lub rooj tsavxwm no.

Infrastructure li Code: yuav ua li cas kov yeej teeb meem siv XP

Cov tswv yim no tseem muab cov lus tawm tswv yim, uas tshwm sim ib hnub ib zaug thaum peb sib koom ua ke ntawm kev sib tw. Muaj ib txoj kev npaj nyob rau hauv pem hauv ntej ntawm txhua tus, tab sis tsim thiab qhib tag nrho, tso cai rau txhua tus paub txog qhov tshwm sim thiab peb tau nce mus deb npaum li cas.

Qhov zoo ntawm kev pom kev pom kev ua haujlwm:

  • Kev ua txhaum. Txhua txoj haujlwm ua rau qee lub hom phiaj thoob ntiaj teb. Cov hauj lwm tau muab faib ua cov hom phiaj me me. Infrastructure domain nws tus kheej yog heev technical. Nws tsis yog ib txwm paub meej tam sim ntawd qhov cuam tshuam tshwj xeeb, piv txwv li, sau phau ntawv khiav ntawm kev tsiv mus rau lwm qhov nginx muaj rau kev lag luam. Muaj daim npav hom phiaj nyob ze ua kom pom tseeb dua.
    Infrastructure li Code: yuav ua li cas kov yeej teeb meem siv XP
    Causality yog ib qho tseem ceeb ntawm cov teeb meem. Nws ncaj qha teb cov lus nug: "Kuv puas ua qhov yog?"
  • Parallelism. Muaj cuaj ntawm peb, thiab nws tsuas yog lub cev tsis tuaj yeem cuam tshuam txhua tus ntawm ib txoj haujlwm. Cov hauj lwm los ntawm ib cheeb tsam yuav tsis txaus ib txwm. Peb raug yuam kom ua haujlwm sib luag ntawm pawg ua haujlwm me. Tib lub sijhawm, cov pab pawg zaum ntawm lawv txoj haujlwm rau qee lub sijhawm, lawv tuaj yeem txhawb nqa los ntawm lwm tus. Qee zaum tib neeg poob ntawm pawg neeg ua haujlwm no. Ib tug neeg mus so, ib tug neeg ua ntawv ceeb toom rau DevOps conf, ib tug neeg sau ib tsab xov xwm ntawm Habr. Paub tias lub hom phiaj thiab cov dej num twg tuaj yeem ua tau ua ke yog qhov tseem ceeb heev.

2. Hloov cov thawj coj ntawm cov rooj sib tham thaum sawv ntxov. Ntawm kev sawv ntsug peb muaj qhov teeb meem no - tib neeg ua ntau yam haujlwm sib luag. Qee lub sij hawm cov dej num tau txuas nrog xoob thiab tsis muaj kev nkag siab txog leej twg ua dab tsi. Thiab kev xav ntawm lwm tus neeg hauv pab pawg tseem ceeb heev. Qhov no yog cov ntaub ntawv ntxiv uas tuaj yeem hloov kho qhov kev daws teeb meem. Tau kawg, feem ntau muaj ib tus neeg nrog koj, tab sis cov lus qhia thiab cov lus qhia yeej ib txwm muaj txiaj ntsig.

Txhawm rau txhim kho qhov xwm txheej no, peb siv cov txheej txheem "Hloov Cov Thawj Coj Sawv Cev". Tam sim no lawv tau tig raws li ib daim ntawv teev npe, thiab qhov no muaj nws cov txiaj ntsig. Thaum nws yog koj tig, koj raug yuam kom dhia dej thiab nkag siab tias yuav ua li cas thiaj li khiav tau lub rooj sib tham Scrum zoo.

Infrastructure li Code: yuav ua li cas kov yeej teeb meem siv XP

3. Sab hauv demo. Kev pab daws teeb meem los ntawm kev sib koom ua ke, kev pom ntawm tsob ntoo teeb meem thiab kev pab ntawm cov rooj sib tham thaum sawv ntxov yog qhov zoo, tab sis tsis zoo tagnrho. Raws li ob peb, koj tsuas yog txwv los ntawm koj qhov kev paub. Cov ntoo ua haujlwm pab kom thoob ntiaj teb nkag siab tias leej twg ua dab tsi. Thiab tus tshaj tawm thiab cov npoj yaig ntawm lub rooj sib tham thaum sawv ntxov yuav tsis nkag mus tob rau hauv koj cov teeb meem. Lawv yeej yuav nco ib yam dab tsi.

Qhov kev daws teeb meem tau pom nyob rau hauv kev qhia txog kev ua haujlwm rau ib leeg thiab tom qab ntawd sib tham. Peb ntsib ib zaug ib lub lim tiam rau ib teev thiab qhia cov ntsiab lus ntawm kev daws teeb meem rau cov dej num uas peb tau ua dhau lub lim tiam dhau los.

Thaum lub sijhawm ua qauv qhia, nws yuav tsum tau nthuav tawm cov ntsiab lus ntawm txoj haujlwm thiab nco ntsoov ua kom pom nws txoj haujlwm.

Daim ntawv tshaj tawm tuaj yeem ua los ntawm kev txheeb xyuas.1. Nkag mus rau hauv cov ntsiab lus. Lub luag haujlwm los ntawm qhov twg, vim li cas ho tseem tsim nyog?

2. Cov teeb meem tau daws ua ntej li cas? Piv txwv li, yuav tsum tau txhaj nas loj heev, lossis nws ua tsis tau dab tsi hlo li.

3. Peb txhim kho nws li cas. Piv txwv li: "Saib, tam sim no muaj scriptosik, ntawm no yog readme."

4. Qhia seb nws ua haujlwm li cas. Nws raug nquahu kom siv ncaj qha rau qee tus neeg siv qhov xwm txheej. Kuv xav X, Kuv ua Y, Kuv pom Y (lossis Z). Piv txwv li, kuv xa NGINX, haus luam yeeb url, thiab tau 200 OK. Yog tias qhov kev txiav txim ntev, npaj ua ntej kom koj tuaj yeem qhia nws tom qab. Nws raug nquahu kom tsis txhob tawg nws ntau dhau ib teev ua ntej demo, yog tias nws tsis yooj yim.

5. Piav seb qhov kev daws teeb meem tau zoo npaum li cas, qhov teeb meem tseem tshuav, dab tsi ua tsis tiav, dab tsi yuav txhim kho yav tom ntej. Piv txwv li, tam sim no CLI, ces yuav muaj tag nrho automation hauv CI.

Nws raug nquahu rau txhua tus neeg hais lus kom nws mus rau 5-10 feeb. Yog tias koj cov lus hais yog qhov tseem ceeb thiab yuav siv sijhawm ntev dua, ua haujlwm ua ntej hauv sre-takeover channel.

Tom qab lub ntsej muag-to-face ib txwm muaj kev sib tham hauv xov. Qhov no yog qhov uas cov lus teb peb xav tau ntawm peb cov haujlwm tshwm sim.

Infrastructure li Code: yuav ua li cas kov yeej teeb meem siv XP
Yog li ntawd, ib qho kev ntsuam xyuas yog ua los txiav txim seb qhov muaj txiaj ntsig ntawm qhov tshwm sim. Nov yog cov lus teb rau lub ntsiab lus ntawm kev hais lus thiab qhov tseem ceeb ntawm txoj haujlwm.

Infrastructure li Code: yuav ua li cas kov yeej teeb meem siv XP

Cov lus xaus ntev thiab dab tsi ntxiv

Tej zaum nws yuav zoo li lub suab ntawm tsab xov xwm yog me ntsis pessimistic. Qhov no tsis yog lawm. Ob theem qis ntawm kev tawm tswv yim, xws li kev sim thiab kev sib koom ua ke, ua haujlwm. Tsis zoo li hauv kev loj hlob ib txwm muaj, tab sis muaj txiaj ntsig zoo los ntawm nws.

Kev ntsuam xyuas, hauv lawv daim ntawv tam sim no, tsuas yog ib feem ntawm txoj cai. Muaj ntau configuration functions xaus untested. Lawv cuam tshuam rau qhov ua haujlwm tiag tiag thaum sau cov lej qis. Txawm li cas los xij, muaj qhov cuam tshuam los ntawm kev sib koom ua ke, thiab lawv tso cai rau koj kom tsis txhob ntshai ua refactorings. Qhov no yog qhov ua tau zoo heev. Tsis tas li ntawd, nrog rau kev hloov pauv ntawm kev tsom mus rau kev loj hlob hauv cov lus qib siab (peb muaj python, mus), qhov teeb meem ploj mus. Thiab koj tsis xav tau ntau cov tshev rau "kua nplaum"; ib qho kev kuaj xyuas kev sib xyaw ua ke yog txaus.

Ua haujlwm ua khub nyob ntawm ntau tus neeg tshwj xeeb. Muaj qhov ua haujlwm zoo thiab peb cov kev txawj ntse. Nrog qee tus neeg nws ua haujlwm zoo heev, nrog rau lwm tus nws ua haujlwm tsis zoo. Muaj yeej muaj txiaj ntsig los ntawm qhov no. Nws yog qhov tseeb tias txawm tias cov kev cai ntawm kev ua haujlwm ntawm khub tsis tau pom zoo, qhov tseeb ntawm kev ua haujlwm ua ke muaj txiaj ntsig zoo rau qhov zoo ntawm qhov tshwm sim. Tus kheej, kuv pom kev ua haujlwm ua khub yooj yim dua thiab txaus siab dua.

Cov txheej txheem siab dua ntawm kev cuam tshuam rau OS - kev npaj thiab ua haujlwm nrog cov haujlwm ua kom muaj txiaj ntsig zoo: kev sib pauv kev paub zoo thiab txhim kho kev txhim kho zoo.

Cov ntsiab lus luv luv hauv ib kab

  • HR cov kws kho mob ua haujlwm hauv IaC, tab sis nrog kev ua haujlwm tsawg dua.
  • Txhim kho qhov ua haujlwm.
  • Tuaj nrog koj tus kheej cov txheej txheem them nyiaj thiab kev coj ua.

Tau qhov twg los: www.hab.com

Ntxiv ib saib