Kev saib xyuas puas tuag? - Kev saib xyuas nyob ntev

Kev saib xyuas puas tuag? - Kev saib xyuas nyob ntev

Txij li xyoo 2008, peb lub tuam txhab tau koom nrog hauv kev tswj hwm kev tsim kho vaj tse thiab kev txhawb nqa thoob plaws hauv lub vev xaib: peb muaj ntau dua 400 tus neeg siv khoom, uas yog kwv yees li 15% ntawm Lavxias e-lag luam. Yog li ntawd, kev txhawb nqa ntau yam architecture. Yog tias ib yam dab tsi poob, peb yuav tsum kho nws li ntawm 15 feeb. Tab sis kom nkag siab tias muaj xwm txheej tshwm sim, koj yuav tsum tau saib xyuas qhov project thiab teb rau qhov xwm txheej. Yuav ua li cas qhov no?

Kuv ntseeg tias muaj teeb meem hauv kev teeb tsa kev saib xyuas kom raug. Yog hais tias tsis muaj teeb meem, ces kuv cov lus yuav muaj ib tug thesis: "Thov nruab Prometheus + Grafana thiab plugins 1, 2, 3." Hmoov tsis zoo, nws tsis ua haujlwm li ntawd ntxiv lawm. Thiab qhov teeb meem tseem ceeb yog tias txhua tus neeg tseem ntseeg hauv qee yam uas muaj nyob rau xyoo 2008, hais txog cov khoom siv software.

Hais txog lub koom haum ntawm kev saib xyuas, kuv yuav venture hais tias ... tej yaam num uas muaj peev xwm saib xyuas tsis muaj nyob. Thiab qhov xwm txheej yog qhov phem heev uas yog tias ib yam dab tsi poob, muaj kev pheej hmoo tias nws yuav mus tsis tau pom - tom qab tag nrho, txhua tus paub tseeb tias "txhua yam raug saib xyuas."
Tej zaum txhua yam raug saib xyuas. Tab sis li cas?

Peb txhua tus tau ntsib ib zaj dab neeg zoo li hauv qab no: ib qho devops, qee tus thawj coj ua haujlwm, pab pawg txhim kho tuaj rau lawv thiab hais tias - "peb raug tso tawm, tam sim no saib xyuas." Saib xyuas dab tsi? Nws ua haujlwm li cas?

OK. Peb saib xyuas txoj kev qub qub. Thiab nws twb tau hloov lawm, thiab nws hloov tawm tias koj tau saib xyuas kev pabcuam A, uas tau los ua kev pabcuam B, uas cuam tshuam nrog kev pabcuam C. Tab sis pab pawg txhim kho qhia koj: "Nruab software, nws yuav tsum saib xyuas txhua yam!"

Yog li dab tsi tau hloov? - Txhua yam tau hloov pauv!

Xyoo 2008 Txhua yam zoo

Muaj ob peb tus tsim tawm, ib tus neeg rau zaub mov, ib tus neeg rau zaub mov database. Txhua yam mus ntawm no. Peb muaj qee cov ntaub ntawv, peb nruab zabbix, Nagios, cacti. Thiab tom qab ntawd peb teeb tsa cov lus ceeb toom meej ntawm CPU, ntawm kev ua haujlwm disk, thiab ntawm qhov chaw disk. Peb kuj ua ob peb phau ntawv txheeb xyuas kom ntseeg tau tias lub xaib teb thiab cov lus txiav txim tuaj txog hauv cov ntaub ntawv. Thiab qhov ntawd yog nws - peb muaj kev tiv thaiv ntau dua lossis tsawg dua.

Yog tias peb sib piv cov haujlwm uas tus thawj tswj hwm tau ua tom qab muab kev saib xyuas, ces 98% ntawm nws yog qhov tsis siv neeg: tus neeg ua haujlwm saib xyuas yuav tsum nkag siab yuav ua li cas rau nruab Zabbix, yuav ua li cas teeb tsa thiab teeb tsa kev ceeb toom. Thiab 2%.

Kev saib xyuas puas tuag? - Kev saib xyuas nyob ntev

2010 Lub nra hnyav zuj zus

Peb tab tom pib ntsuas lub vev xaib, ntxiv lub tshuab tshawb nrhiav. Peb xav kom paub tseeb tias cov khoom catalog muaj tag nrho cov khoom. Thiab qhov kev tshawb nrhiav cov khoom ua haujlwm. Tias cov ntaub ntawv tau ua haujlwm, qhov kev txiav txim tau raug ua, tias lub vev xaib teb sab nraud thiab teb los ntawm ob lub servers thiab tus neeg siv tsis raug ncaws tawm ntawm lub xaib thaum nws rov qab mus rau lwm lub server, thiab lwm yam. Muaj ntau qhov chaw.

Tsis tas li ntawd, lub koom haum cuam tshuam nrog kev tsim kho vaj tse tseem yog qhov loj tshaj plaws hauv tus thawj coj lub taub hau. Tseem muaj ib lub tswv yim nyob rau hauv kuv lub taub hau hais tias tus neeg ua tus saib xyuas yog tus neeg uas yuav nruab zabbix thiab yuav configure nws.

Tab sis tib lub sijhawm, kev ua haujlwm tshwm sim ntawm kev kuaj xyuas sab nraud, ntawm kev tsim cov txheej txheem tshawb nrhiav indexer query scripts, ib txheej ntawm cov ntawv txheeb xyuas tias kev tshawb nrhiav hloov pauv thaum lub sij hawm indexing txheej txheem, ib txheej ntawm cov ntawv txheeb xyuas tias cov khoom raug xa mus rau cov khoom siv. kev pabcuam xa khoom, thiab lwm yam. thiab lwm yam.

Kev saib xyuas puas tuag? - Kev saib xyuas nyob ntev

Nco tseg: Kuv tau sau "ib txheej ntawm cov ntawv sau" 3 zaug. Ntawd yog, tus neeg saib xyuas tsis yog tus uas tsuas yog nruab zabbix. Nov yog tus neeg uas pib coding. Tab sis tsis muaj dab tsi tau hloov pauv hauv pab pawg lub siab.

Tab sis lub ntiaj teb no hloov, ua ntau thiab nyuaj. Ib txheej virtualization thiab ntau lub tshuab tshiab tau ntxiv. Lawv pib sib cuam tshuam. Leej twg hais tias "tsim zoo li microservices?" Tab sis txhua qhov kev pabcuam tseem zoo li lub vev xaib ib tus zuj zus. Peb tuaj yeem tig mus rau nws thiab nkag siab tias nws muab cov ntaub ntawv tsim nyog thiab ua haujlwm ntawm nws tus kheej. Thiab yog tias koj yog ib tus thawj coj tas li koom nrog hauv ib txoj haujlwm uas tau tsim los rau 5-7-10 xyoo, qhov kev paub no nthuav tawm: qib tshiab tshwm - koj pom nws, lwm qib tshwm - koj pom nws ...

Kev saib xyuas puas tuag? - Kev saib xyuas nyob ntev

Tab sis tsis tshua muaj leej twg nrog ib qhov project rau 10 xyoo.

Monitoringman tus resume

Piv txwv tias koj tuaj rau qhov pib tshiab uas tam sim ntawd ntiav 20 tus tsim tawm, sau 15 microservices, thiab koj yog tus thawj tswj hwm uas tau hais rau: "Tsim CI / CD. Thov." Koj tau tsim CI / CD thiab mam li nco dheev koj hnov: "Nws nyuaj rau peb ua haujlwm nrog ntau lawm hauv "lub voos xwmfab", tsis nkag siab tias daim ntawv thov yuav ua haujlwm li cas hauv nws. Ua peb lub sandbox hauv tib "lub voos xwmfab".
Koj ua ib lub sandbox hauv lub voos xwmfab no. Lawv tam sim ntawd qhia rau koj: "Peb xav tau ib theem database uas hloov tshiab txhua hnub los ntawm kev tsim khoom, kom peb nkag siab tias nws ua haujlwm ntawm cov ntaub ntawv, tab sis tib lub sijhawm tsis ua rau cov ntaub ntawv tsim tawm."

Koj nyob hauv txhua qhov no. Muaj 2 lub lis piam ua ntej qhov kev tso tawm, lawv hais rau koj: "Tam sim no cia saib tag nrho cov no ..." Qhov ntawd yog. saib xyuas cov vaj tse hauv pawg, saib xyuas microservice architecture, saib xyuas kev ua haujlwm nrog cov kev pabcuam sab nraud ...

Thiab kuv cov npoj yaig coj cov tswv yim ib txwm tawm ntawm lawv lub taub hau thiab hais tias: "Zoo, txhua yam yog qhov tseeb ntawm no! Nruab ib qhov kev pab cuam uas yuav saib xyuas tag nrho cov no. " Yog, yog: Prometheus + Grafana + plugins.
Thiab lawv ntxiv: "Koj muaj ob lub lis piam, xyuas kom txhua yam muaj kev nyab xeeb."

Hauv ntau qhov haujlwm uas peb pom, ib tus neeg tau faib rau kev saib xyuas. Xav txog tias peb xav ntiav ib tus neeg los saib xyuas 2 lub lis piam, thiab peb sau ntawv mus rau nws. Tus neeg no yuav tsum muaj txuj ci dab tsi, muab txhua yam peb tau hais los txog tam sim no?

  • Nws yuav tsum nkag siab txog kev saib xyuas thiab tshwj xeeb ntawm kev ua haujlwm ntawm cov txheej txheem hlau.
  • Nws yuav tsum nkag siab txog qhov tshwj xeeb ntawm kev saib xyuas Kubernetes (thiab txhua tus xav mus rau "lub voos xwmfab", vim tias koj tuaj yeem paub qhov tseeb ntawm txhua yam, zais, vim tias tus thawj tswj hwm yuav cuam tshuam nrog lwm tus) - nws tus kheej, nws cov infrastructure, thiab nkag siab txog kev saib xyuas cov ntawv thov. sab hauv.
  • Nws yuav tsum nkag siab tias cov kev pabcuam sib txuas lus nrog lwm tus hauv txoj kev tshwj xeeb, thiab paub qhov tshwj xeeb ntawm kev pabcuam cuam tshuam nrog ib leeg. Nws yog qhov ua tau kom pom ib qhov project uas qee qhov kev pabcuam sib txuas lus synchronously, vim tias tsis muaj lwm txoj hauv kev. Piv txwv li, lub backend mus ntawm REST, ntawm gRPC rau cov kev pabcuam catalog, tau txais cov npe ntawm cov khoom thiab xa rov qab. Koj tos tsis tau ntawm no. Thiab nrog lwm cov kev pabcuam nws ua haujlwm asynchronously. Hloov daim ntawv xaj mus rau qhov kev pabcuam xa khoom, xa ntawv, thiab lwm yam.
    Tej zaum koj twb tau ua luam dej los ntawm tag nrho cov no? Thiab tus admin, uas yuav tsum tau saib xyuas qhov no, tau dhau los ua tsis meej pem.
  • Nws yuav tsum muaj peev xwm npaj thiab npaj kom raug - raws li kev ua haujlwm tau dhau los ua ntau dua.
  • Yog li ntawd, nws yuav tsum tsim ib lub tswv yim los ntawm cov kev pabcuam tsim kom nkag siab txog kev saib xyuas tshwj xeeb. Nws xav tau kev nkag siab txog qhov project architecture thiab nws txoj kev loj hlob + kev nkag siab txog cov thev naus laus zis siv hauv kev txhim kho.

Cia peb nco txog qhov xwm txheej ib txwm muaj: qee qhov kev pabcuam hauv PHP, qee qhov kev pabcuam nyob hauv Go, qee qhov kev pabcuam hauv JS. Lawv ua hauj lwm nrog ib leeg. Qhov no yog qhov lo lus "microservice" los ntawm: muaj ntau tus neeg lub tshuab uas cov neeg tsim khoom tsis tuaj yeem nkag siab txog qhov project tag nrho. Ib feem ntawm pab neeg sau cov kev pabcuam hauv JS uas ua haujlwm ntawm lawv tus kheej thiab tsis paub yuav ua li cas lwm qhov system ua haujlwm. Lwm ntu sau cov kev pabcuam hauv Python thiab tsis cuam tshuam nrog lwm cov kev pabcuam ua haujlwm li cas; lawv raug cais tawm hauv lawv thaj chaw. Qhov thib peb yog sau cov kev pabcuam hauv PHP lossis lwm yam.
Tag nrho cov 20 tus neeg no tau muab faib ua 15 cov kev pabcuam, thiab tsuas muaj ib tus thawj coj uas yuav tsum nkag siab tag nrho cov no. Nres! peb tsuas yog muab faib ua 15 microservices vim 20 tus neeg tsis tuaj yeem nkag siab tag nrho cov kab ke.

Tab sis nws yuav tsum tau saib xyuas qee yam ...

Qhov tshwm sim yog dab tsi? Raws li qhov tshwm sim, muaj ib tus neeg tuaj nrog txhua yam uas tag nrho pab pawg neeg tsim khoom tsis tuaj yeem nkag siab, thiab tib lub sijhawm nws kuj yuav tsum paub thiab ua tau raws li peb tau hais los saum toj no - kho vajtse infrastructure, Kubernetes infrastructure, thiab lwm yam.

Kuv yuav hais li cas... Houston, peb muaj teeb meem.

Saib xyuas qhov project software niaj hnub no yog qhov project software hauv nws tus kheej

Los ntawm kev ntseeg cuav uas kev saib xyuas yog software, peb tsim kev ntseeg hauv txuj ci tseem ceeb. Tab sis tej txuj ci tseem ceeb, alas, tsis tshwm sim. Koj tsis tuaj yeem nruab zabbix thiab cia siab tias txhua yam ua haujlwm. Tsis muaj qhov taw tes rau kev txhim kho Grafana thiab vam tias txhua yam yuav zoo. Feem ntau ntawm cov sij hawm yuav raug siv rau kev teeb tsa kev txheeb xyuas kev ua haujlwm ntawm cov kev pabcuam thiab lawv cov kev sib raug zoo nrog ib leeg, xyuas seb cov txheej txheem sab nraud ua haujlwm li cas. Qhov tseeb, 90% ntawm lub sijhawm yuav tsis siv rau kev sau ntawv, tab sis ntawm kev tsim software. Thiab nws yuav tsum tau ua haujlwm los ntawm ib pab neeg uas nkag siab txog kev ua haujlwm ntawm qhov project.
Yog tias qhov xwm txheej no ib tus neeg raug pov rau hauv kev saib xyuas, ces kev puas tsuaj yuav tshwm sim. Qhov twg yog qhov tshwm sim txhua qhov chaw.

Piv txwv li, muaj ntau yam kev pab cuam uas sib txuas lus nrog ib leeg ntawm Kafka. Qhov kev txiav txim tuaj txog, peb tau xa lus hais txog qhov kev txiav txim rau Kafka. Muaj kev pabcuam uas mloog cov ntaub ntawv hais txog kev txiav txim thiab xa cov khoom. Muaj ib qho kev pabcuam uas mloog cov ntaub ntawv hais txog kev txiav txim thiab xa ib tsab ntawv rau tus neeg siv. Thiab tom qab ntawd ib pawg ntau cov kev pabcuam tshwm sim, thiab peb pib tsis meej pem.

Thiab yog tias koj tseem muab qhov no rau tus thawj tswj hwm thiab cov tsim tawm ntawm theem thaum muaj sijhawm luv luv ua ntej tso tawm, tus neeg yuav tsum nkag siab tag nrho cov txheej txheem no. Cov. Ib qhov project ntawm qhov ntsuas no yuav siv sijhawm ntau heev, thiab qhov no yuav tsum tau muab coj los ua rau hauv kev txhim kho.
Tab sis feem ntau, tshwj xeeb tshaj yog nyob rau hauv startups, peb pom li cas kev soj ntsuam ncua mus txog rau thaum tom qab. "Tam sim no peb yuav ua pov thawj ntawm Lub Tswv Yim, peb yuav pib nrog nws, cia nws poob - peb npaj txhij los txi. Thiab tom qab ntawd peb yuav saib xyuas txhua yam. " Thaum (lossis yog) qhov project pib coj nyiaj, kev lag luam xav ntxiv ntau yam ntxiv - vim tias nws tau pib ua haujlwm, uas txhais tau tias nws yuav tsum tau dov tawm ntxiv! Thiab koj nyob rau ntawm qhov chaw uas koj thawj zaug yuav tsum tau saib xyuas txhua yam dhau los, uas tsis yog 1% ntawm lub sijhawm, tab sis ntau ntxiv. Thiab los ntawm txoj kev, cov neeg tsim khoom yuav xav tau kev saib xyuas, thiab nws yooj yim dua kom cia lawv ua haujlwm ntawm cov yam ntxwv tshiab. Raws li qhov tshwm sim, cov yam ntxwv tshiab tau sau, txhua yam tau rub tawm, thiab koj nyob hauv qhov tsis muaj qhov kawg.

Yog li yuav ua li cas saib xyuas qhov project pib txij thaum pib, thiab yuav ua li cas yog tias koj tau txais ib qhov project uas yuav tsum tau saib xyuas, tab sis koj tsis paub yuav pib qhov twg?

Ua ntej, koj yuav tsum npaj.

Lyrical digression: feem ntau lawv pib nrog kev saib xyuas cov vaj tse. Piv txwv li, peb muaj Kubernetes. Cia peb pib los ntawm kev txhim kho Prometheus nrog Grafana, txhim kho plugins rau kev saib xyuas "lub voos xwmfab". Tsis tsuas yog cov neeg tsim khoom, tab sis kuj cov thawj coj muaj qhov tsis zoo ntawm kev coj ua: "Peb yuav nruab qhov plugin no, tab sis lub plugin tej zaum paub yuav ua li cas." Cov neeg nyiam pib nrog qhov yooj yim thiab ncaj ncees, tsis yog nrog cov haujlwm tseem ceeb. Thiab kev saib xyuas infrastructure yog ib qho yooj yim.

Ua ntej, txiav txim siab seb koj xav saib xyuas li cas, thiab tom qab ntawd xaiv lub cuab yeej, vim lwm tus neeg tsis tuaj yeem xav rau koj. Thiab lawv yuav tsum? Lwm tus neeg xav rau lawv tus kheej, hais txog lub ntiaj teb kev ua haujlwm - lossis tsis xav txhua thaum lub plugin no tau sau. Thiab tsuas yog vim tias qhov plugin no muaj 5 txhiab tus neeg siv tsis tau txhais hais tias nws yog qhov siv tau. Tej zaum koj yuav dhau los ua 5001st vim tias twb muaj 5000 tus neeg nyob ntawd ua ntej.

Yog tias koj pib saib xyuas cov txheej txheem thiab qhov backend ntawm koj daim ntawv thov tsis teb, txhua tus neeg siv yuav poob kev sib txuas nrog daim ntawv thov mobile. Ib qho yuam kev yuav tshwm sim. Lawv yuav tuaj rau koj thiab hais tias "Daim ntawv thov tsis ua haujlwm, koj ua dab tsi ntawm no?" - "Peb tab tom saib xyuas." - "Koj saib xyuas li cas yog tias koj tsis pom tias daim ntawv thov tsis ua haujlwm?!"

  1. Kuv ntseeg tias koj yuav tsum tau pib soj ntsuam raws nraim ntawm tus neeg siv qhov nkag. Yog tias tus neeg siv tsis pom tias daim ntawv thov ua haujlwm, qhov ntawd yog nws, nws yog qhov ua tsis tiav. Thiab qhov kev saib xyuas yuav tsum ceeb toom txog qhov no ua ntej.
  2. Thiab tsuas yog tom qab ntawd peb tuaj yeem saib xyuas cov infrastructure. Los yog ua nyob rau hauv parallel. Nws yooj yim dua nrog kev tsim kho vaj tsev - ntawm no peb tuaj yeem thaum kawg tsuas yog nruab zabbix.
  3. Thiab tam sim no koj yuav tsum mus rau cov hauv paus hniav ntawm daim ntawv thov kom nkag siab qhov twg yam tsis ua haujlwm.

Kuv lub tswv yim tseem ceeb yog tias kev saib xyuas yuav tsum mus ua ke nrog txoj kev txhim kho. Yog tias koj cuam tshuam rau pab pawg saib xyuas rau lwm yam dej num (tsim CI / CD, sandboxing, kev tsim kho vaj tse), kev saib xyuas yuav pib lag luam thiab koj yuav tsis tau txais kev txhim kho (lossis sai dua lossis tom qab koj yuav tsum nres nws).

Txhua yam los ntawm qib

Qhov no yog li cas kuv pom lub koom haum ntawm kev saib xyuas.

1) Kev siv qib:

  • saib xyuas daim ntawv thov kev lag luam logic;
  • saib xyuas kev ntsuas kev noj qab haus huv ntawm cov kev pabcuam;
  • kev saib xyuas kev koom ua ke.

2) Infrastructure theem:

  • kev saib xyuas qib orchestration;
  • system software xyuas;
  • hlau ntsuas qib.

3) Ib zaug ntxiv cov ntawv thov - tab sis raws li cov khoom lag luam engineering:

  • sau thiab saib xyuas daim ntawv thov;
  • APM;
  • taug qab.

4) Kev ceeb toom:

  • lub koom haum ntawm kev ceeb toom;
  • lub koom haum ntawm lub luag haujlwm system;
  • lub koom haum ntawm "knowledge base" thiab workflow rau qhov xwm txheej ua.

ib qho tseem ceeb: Peb tau txais kev ceeb toom tsis yog tom qab, tab sis tam sim ntawd! Tsis tas yuav tso saib xyuas thiab "yuav ua li cas tom qab" xam seb leej twg yuav tau txais kev ceeb toom. Tom qab tag nrho, dab tsi yog lub luag haujlwm ntawm kev saib xyuas: kom nkag siab qhov twg hauv qhov system ib yam dab tsi ua haujlwm tsis raug, thiab qhia rau cov neeg paub txog nws. Yog tias koj tso qhov no mus txog thaum kawg, cov neeg ncaj ncees yuav paub tias ib yam dab tsi ua tsis ncaj ncees tsuas yog hu rau "tsis muaj dab tsi ua haujlwm rau peb."

Daim Ntawv Thov Txheej - Kev Lag Luam Logic Saib Xyuas

Ntawm no peb tab tom tham txog kev tshuaj xyuas qhov tseeb tias daim ntawv thov ua haujlwm rau tus neeg siv.

Qib no yuav tsum tau ua thaum lub sij hawm txhim kho. Piv txwv li, peb muaj ib qho kev cai Prometheus: nws mus rau lub server uas ua cov tshev, rub qhov kawg, thiab qhov kawg mus thiab kuaj API.

Thaum feem ntau nug kom saib xyuas cov nplooj ntawv hauv tsev kom paub tseeb tias qhov chaw ua haujlwm, cov programmers muab tus kov uas tuaj yeem rub tau txhua zaus lawv xav tau kom paub tseeb tias API ua haujlwm. Thiab cov programmers tam sim no tseem coj thiab sau /api/test/helloworld
Tib txoj hauv kev kom paub tseeb tias txhua yam ua haujlwm? - Tsis yog!

  • Tsim cov tshev no yog qhov tseem ceeb ntawm cov neeg tsim khoom. Chav ntsuas yuav tsum tau sau los ntawm cov programmers uas sau cov cai. Vim tias yog tias koj xau nws mus rau tus thawj tswj hwm, "Tus txiv neej, ntawm no yog cov npe ntawm API cov txheej txheem rau tag nrho 25 lub luag haujlwm, thov saib xyuas txhua yam!" - tsis muaj dab tsi yuav ua haujlwm.
  • Yog tias koj luam "nyob zoo ntiaj teb", tsis muaj leej twg yuav paub tias API yuav tsum tau ua thiab ua haujlwm. Txhua qhov kev hloov pauv API yuav tsum ua rau muaj kev hloov pauv hauv cov tshev.
  • Yog tias koj twb muaj qhov teeb meem zoo li no, nres cov yam ntxwv thiab faib cov neeg tsim khoom uas yuav sau cov tshev no, lossis lees txais qhov poob, lees tias tsis muaj dab tsi raug kuaj xyuas thiab yuav ua tsis tiav.

Cov lus qhia txuj ci:

  • Nco ntsoov npaj cov neeg rau zaub mov sab nraud los npaj cov tshev - koj yuav tsum paub tseeb tias koj qhov project nkag mus rau lub ntiaj teb sab nraud.
  • Npaj cov tshev hla tag nrho API raws tu qauv, tsis yog cov ntsiab lus ntawm tus kheej nkaus xwb.
  • Tsim ib qho prometheus-endpoint nrog cov txiaj ntsig kev xeem.

Daim ntawv thov txheej - kev ntsuas kev noj qab haus huv

Tam sim no peb tab tom tham txog kev ntsuas kev noj qab haus huv sab nraud ntawm cov kev pabcuam.

Peb tau txiav txim siab tias peb saib xyuas tag nrho cov "kev tuav" ntawm daim ntawv thov siv cov kev txheeb xyuas sab nraud, uas peb hu los ntawm kev saib xyuas sab nraud. Tab sis cov no yog "kuav" uas tus neeg siv "pom". Peb xav kom paub tseeb tias peb cov kev pabcuam lawv tus kheej ua haujlwm. Muaj ib zaj dab neeg zoo dua ntawm no: K8s tau kuaj xyuas kev noj qab haus huv, kom tsawg kawg "lub voos xwmfab" nws tus kheej tuaj yeem ntseeg tau tias qhov kev pabcuam ua haujlwm. Tab sis ib nrab ntawm cov tshev kuv tau pom yog tib daim ntawv "nyob zoo ntiaj teb". Cov. Yog li nws rub ib zaug tom qab xa mus, nws teb tias txhua yam zoo - yog txhua yam. Thiab cov kev pabcuam, yog tias nws muab nws tus kheej API, muaj ntau cov ntsiab lus nkag rau tib API, uas tseem yuav tsum tau saib xyuas, vim peb xav paub tias nws ua haujlwm. Thiab peb twb tau saib xyuas nws sab hauv.

Yuav ua li cas siv qhov no kom raug technically: txhua qhov kev pabcuam nthuav tawm qhov kawg ntawm nws qhov kev ua haujlwm tam sim no, thiab hauv daim duab Grafana (lossis lwm daim ntawv thov) peb pom cov xwm txheej ntawm txhua qhov kev pabcuam.

  • Txhua qhov kev hloov pauv API yuav tsum ua rau muaj kev hloov pauv hauv cov tshev.
  • Tsim ib qho kev pabcuam tshiab tam sim nrog kev ntsuas kev noj qab haus huv.
  • Tus thawj coj tuaj yeem tuaj rau cov neeg tsim khoom thiab nug "ntxiv rau kuv ob peb yam ntxwv kom kuv nkag siab txhua yam thiab ntxiv cov ntaub ntawv hais txog qhov no rau kuv qhov kev saib xyuas." Tab sis cov neeg tsim khoom feem ntau teb, "Peb yuav tsis ntxiv dab tsi ob lub lis piam ua ntej tso tawm."
    Qhia rau cov neeg saib xyuas kev txhim kho paub tias yuav muaj kev poob zoo li no, qhia rau cov thawj coj kev txhim kho paub thiab. Vim tias thaum txhua yam poob, ib tug neeg tseem yuav hu xov tooj thiab thov kom saib xyuas "kev pabcuam poob tas li" (c)
  • Los ntawm txoj kev, faib cov neeg tsim tawm los sau cov plugins rau Grafana - qhov no yuav yog qhov kev pab zoo rau cov thawj coj.

Daim Ntawv Thov Txheej - Kev Sib Koom Tes Saib Xyuas

Kev saib xyuas kev sib koom ua ke tsom rau kev saib xyuas kev sib txuas lus ntawm kev lag luam-tseem ceeb.

Piv txwv li, muaj 15 qhov kev pabcuam sib txuas lus. Cov no tsis yog cov chaw sib cais lawm. Cov. peb tsis tuaj yeem rub qhov kev pabcuam ntawm nws tus kheej, tau /helloworld thiab nkag siab tias qhov kev pabcuam tau ua haujlwm. Vim tias qhov kev txiav txim hauv lub vev xaib yuav tsum xa cov ntaub ntawv hais txog kev txiav txim rau lub npav - los ntawm lub tsheb npav, qhov kev pabcuam hauv tsev yuav tsum tau txais cov lus no thiab ua haujlwm nrog nws ntxiv. Thiab cov kev pabcuam xa email yuav tsum ua qhov no ib yam ntxiv, thiab lwm yam.

Yog li ntawd, peb tsis tuaj yeem nkag siab, poking ntawm txhua qhov kev pabcuam, uas txhua yam ua haujlwm. Vim peb muaj ib lub tsheb npav uas txhua yam sib txuas lus thiab sib cuam tshuam.
Yog li ntawd, theem no yuav tsum tau kos npe rau theem ntawm kev sim cov kev pabcuam rau kev cuam tshuam nrog lwm cov kev pabcuam. Nws yog tsis yooj yim sua kom npaj kev sib txuas lus saib xyuas los ntawm kev saib xyuas cov lus broker. Yog tias muaj ib qho kev pabcuam uas teeb meem cov ntaub ntawv thiab cov kev pabcuam uas tau txais, thaum saib xyuas tus broker peb tsuas yog pom cov ntaub ntawv uas ya ntawm ib sab mus rau sab. Txawm hais tias peb tau tswj hwm los saib xyuas kev sib cuam tshuam ntawm cov ntaub ntawv no sab hauv - tias qee tus neeg tsim khoom tshaj tawm cov ntaub ntawv, ib tus neeg nyeem nws, qhov ntws mus txuas ntxiv mus rau Kafka - qhov no tseem yuav tsis muab cov ntaub ntawv rau peb yog tias ib qho kev pabcuam xa cov lus hauv ib lub version. , tab sis lwm qhov kev pabcuam tsis xav tias qhov no version thiab hla nws. Peb yuav tsis paub txog qhov no, txij li cov kev pabcuam yuav qhia peb tias txhua yam ua haujlwm.

Qhov kuv pom zoo ua:

  • Rau kev sib txuas lus synchronous: qhov kawg ua rau kev thov rau cov kev pabcuam cuam tshuam. Cov. Peb coj qhov kawg no, rub ib tsab ntawv hauv qhov kev pabcuam, uas mus rau txhua lub ntsiab lus thiab hais tias "Kuv tuaj yeem rub tau, thiab rub tau, Kuv tuaj yeem rub tau ... "
  • Rau kev sib txuas lus asynchronous: cov lus xa tuaj - qhov kawg tshawb xyuas lub tsheb npav rau cov lus sim thiab qhia txog kev ua haujlwm.
  • Rau kev sib txuas lus asynchronous: cov lus xa tawm - qhov kawg xa cov lus xeem rau lub npav.

Raws li feem ntau tshwm sim: peb muaj kev pabcuam uas cuam tshuam cov ntaub ntawv rau hauv lub npav. Peb tuaj rau qhov kev pabcuam no thiab hais kom koj qhia peb txog nws txoj kev noj qab haus huv kev koom ua ke. Thiab yog tias qhov kev pabcuam xav tau tsim cov lus nyob rau lwm qhov (WebApp), ces nws yuav tsim cov lus xeem no. Thiab yog tias peb khiav ib qho kev pabcuam ntawm OrderProcessing sab, nws thawj zaug tshaj tawm qhov nws tuaj yeem tshaj tawm kev ywj pheej, thiab yog tias muaj qee yam kev vam khom, ces nws nyeem cov ntawv xeem ntawm lub npav, nkag siab tias nws tuaj yeem ua lawv, tshaj tawm thiab , yog tias tsim nyog, tshaj tawm lawv ntxiv, thiab txog qhov no nws hais tias - txhua yam zoo, Kuv muaj sia nyob.

Feem ntau peb hnov ​​​​cov lus nug "peb tuaj yeem sim qhov no ntawm cov ntaub ntawv sib ntaus li cas?" Piv txwv li, peb tab tom tham txog tib yam kev txiav txim. Qhov kev txiav txim xa xov mus rau lub tsev khaws khoom uas cov khoom raug sau tawm: peb tsis tuaj yeem sim qhov no ntawm cov ntaub ntawv sib ntaus sib tua, vim tias "Kuv cov khoom yuav raug muab tshem tawm!" Kev daws: Npaj tag nrho qhov kev xeem no thaum pib. Koj kuj tseem muaj cov kev sim ntsuas uas ua rau kev thuam. Yog li, ua nws nyob rau theem tob uas koj muaj kev sib txuas lus channel uas tsis ua rau kev ua haujlwm ntawm kev lag luam.

Infrastructure theem

Infrastructure saib xyuas yog ib yam dab tsi uas tau ntev tau txiav txim siab saib xyuas nws tus kheej.

  • Kev saib xyuas kev tsim kho vaj tse tuaj yeem thiab yuav tsum tau pib ua txheej txheem cais.
  • Koj yuav tsum tsis txhob pib nrog kev saib xyuas kev tsim kho vaj tse ntawm txoj haujlwm khiav, txawm tias koj xav tau tiag tiag. Qhov no yog qhov mob rau txhua tus devops. "Ua ntej kuv yuav saib xyuas pawg, Kuv yuav saib xyuas cov txheej txheem" ​​- i.e. Ua ntej, nws yuav saib xyuas cov lus dag hauv qab no, tab sis yuav tsis mus rau hauv daim ntawv thov. Vim hais tias daim ntawv thov yog ib qho incomprehensible yam rau devops. Nws tau xau rau nws, thiab nws tsis nkag siab tias nws ua haujlwm li cas. Thiab nws nkag siab txog infrastructure thiab pib nrog nws. Tab sis tsis yog - koj ib txwm yuav tsum tau saib xyuas daim ntawv thov ua ntej.
  • Tsis txhob mus hla nrog cov xov tooj ceeb toom. Xav txog qhov nyuaj ntawm cov txheej txheem niaj hnub no, cov lus ceeb toom tau ya tas li, thiab koj yuav tsum ua li cas nrog cov lus ceeb toom no. Thiab tus neeg hu xov tooj, tau saib ntau pua ntawm kev ceeb toom tom ntej, yuav txiav txim siab "Kuv tsis xav xav txog nws." Kev ceeb toom tsuas yog ceeb toom txog tej yam tseem ceeb.

Daim ntawv thov qib raws li chav ua lag luam

Cov ntsiab lus tseem ceeb:

  • ELK. Qhov no yog tus qauv kev lag luam. Yog tias vim qee yam koj tsis sib sau ua ke, pib ua tam sim ntawd.
  • APM. Sab nraud APMs raws li ib txoj hauv kev los kaw daim ntawv thov ceev ceev (NewRelic, BlackFire, Datadog). Koj tuaj yeem nruab qhov khoom no ib ntus kom tsawg kawg qee yam nkag siab tias muaj dab tsi tshwm sim nrog koj.
  • Tracing. Hauv kaum ob ntawm microservices, koj yuav tsum taug qab txhua yam, vim tias qhov kev thov tsis nyob ntawm nws tus kheej. Nws yog qhov nyuaj heev los ntxiv tom qab, yog li nws yog qhov zoo dua los teem caij tam sim hauv kev txhim kho - qhov no yog kev ua haujlwm thiab kev siv hluav taws xob ntawm cov neeg tsim khoom. Yog tias koj tseem tsis tau siv nws, siv nws! Saib Jaeger/Zipkin

ceeb toom

  • Lub koom haum ntawm kev ceeb toom: nyob rau hauv cov xwm txheej ntawm kev saib xyuas ib pawg ntawm cov khoom, yuav tsum muaj kev sib koom ua ke rau kev xa cov ntawv ceeb toom. Koj tuaj yeem nyob hauv Grafana. Nyob rau sab hnub poob, txhua tus siv PagerDuty. Kev ceeb toom yuav tsum meej (xws li lawv tuaj qhov twg ...). Thiab nws raug nquahu kom tswj tau tias cov ntawv ceeb toom tau txais txhua
  • Lub koom haum ntawm lub luag haujlwm system: ceeb toom yuav tsum tsis txhob xa mus rau txhua tus (txhua leej txhua tus yuav hnov ​​​​mob hauv pawg neeg, lossis tsis muaj leej twg yuav hnov ​​​​qab). Cov neeg tsim khoom kuj tseem yuav tsum tau hu xov tooj: nco ntsoov txheeb xyuas thaj chaw ntawm lub luag haujlwm, ua cov lus qhia meej thiab sau rau hauv nws tias leej twg yuav hu rau hnub Monday thiab Wednesday, thiab leej twg yuav hu rau hnub Tuesday thiab Friday ( txwv tsis pub lawv yuav tsis hu leej twg txawm nyob hauv Qhov xwm txheej ntawm qhov teeb meem loj - lawv yuav ntshai tsam koj los yog cuam tshuam : tib neeg feem ntau tsis nyiam hu thiab tsa lwm tus neeg, tshwj xeeb yog hmo ntuj). Thiab piav qhia tias kev thov kev pab tsis yog qhov qhia txog kev tsis muaj peev xwm ("Kuv thov kev pab, txhais tau tias kuv yog ib tus neeg ua haujlwm phem"), txhawb kev thov kev pab.
  • Lub koom haum ntawm "kev paub hauv paus" thiab kev ua haujlwm rau kev ua haujlwm ntawm qhov xwm txheej: rau txhua qhov xwm txheej loj, yuav tsum tau npaj ib qho kev kuaj mob tom qab, thiab raws li kev ntsuas ib ntus, kev nqis tes ua uas yuav daws qhov teeb meem yuav tsum tau sau tseg. Thiab ua kom nws ua ib qho kev xyaum uas rov ceeb toom yog kev txhaum; lawv yuav tsum tau kho nyob rau hauv code los yog infrastructure ua hauj lwm.

Technology pawg

Cia peb xav tias peb pawg yog raws li hauv qab no:

  • Kev sau cov ntaub ntawv - Prometheus + Grafana;
  • kev soj ntsuam xyuas - ELK;
  • rau APM lossis Tracing - Jaeger (Zipkin).

Kev saib xyuas puas tuag? - Kev saib xyuas nyob ntev

Kev xaiv ntawm kev xaiv tsis yog qhov tseem ceeb. Vim tias yog thaum pib koj nkag siab yuav ua li cas saib xyuas lub kaw lus thiab sau ib txoj kev npaj, ces koj pib xaiv cov cuab yeej kom haum koj cov kev xav tau. Cov lus nug yog qhov koj xaiv los saib xyuas thawj qhov chaw. Vim tias tej zaum cov cuab yeej koj xaiv thaum pib tsis haum koj cov kev xav tau txhua.

Ob peb lub ntsiab lus uas kuv pom nyob txhua qhov chaw tsis ntev los no:

Prometheus raug thawb hauv Kubernetes - leej twg tuaj nrog qhov no?! Yog tias koj pawg poob, koj yuav ua li cas? Yog hais tias koj muaj ib tug complex pawg nyob rau hauv, ces yuav tsum muaj ib co kev soj ntsuam system nyob rau hauv lub pawg, thiab ib co sab nraud, uas yuav sau cov ntaub ntawv los ntawm sab hauv pawg.

Hauv pawg peb sau cov cav thiab lwm yam. Tab sis kev saib xyuas yuav tsum nyob sab nraud. Feem ntau, nyob rau hauv ib pawg uas muaj Promtheus ntsia sab hauv, kuj tseem muaj cov tshuab ua haujlwm sab nraud ntawm qhov chaw ua haujlwm. Yuav ua li cas yog tias koj cov kev sib txuas mus rau lub ntiaj teb sab nraud tau poob thiab daim ntawv thov tsis ua haujlwm? Nws hloov tawm tias txhua yam zoo nyob hauv, tab sis nws tsis ua kom yooj yim rau cov neeg siv.

tshawb pom

  • Kev soj ntsuam kev txhim kho tsis yog kev teeb tsa ntawm cov khoom siv hluav taws xob, tab sis kev txhim kho cov khoom siv software. 98% ntawm kev soj ntsuam niaj hnub no yog coding. Coding hauv cov kev pabcuam, coding kev kuaj xyuas sab nraud, kuaj xyuas cov kev pabcuam sab nraud, thiab qhov ntawd yog txhua yam.
  • Tsis txhob nkim koj cov neeg tsim khoom lub sijhawm rau kev saib xyuas: nws tuaj yeem siv li 30% ntawm lawv txoj haujlwm, tab sis nws tsim nyog.
  • Devops, tsis txhob txhawj tias koj tsis tuaj yeem saib xyuas ib yam dab tsi, vim qee yam yog txoj kev xav sib txawv kiag li. Koj tsis yog programmer, thiab saib xyuas haujlwm yog lawv txoj haujlwm.
  • Yog tias qhov project twb tau ua haujlwm thiab tsis tau saib xyuas (thiab koj yog tus thawj tswj hwm), faib cov peev txheej rau kev saib xyuas.
  • Yog hais tias cov khoom twb nyob rau hauv ntau lawm, thiab koj yog ib tug devops uas tau hais kom "tsim saib xyuas" - sim piav qhia rau kev tswj qhov kuv tau sau tag nrho cov no txog.

Nov yog qhov txuas ntxiv ntawm tsab ntawv ceeb toom ntawm lub rooj sib tham Saint Highload ++.

Yog tias koj txaus siab rau kuv lub tswv yim thiab kev xav ntawm nws thiab cov ncauj lus ntsig txog, ces ntawm no koj tuaj yeem ua tau nyeem channel πŸ™‚

Tau qhov twg los: www.hab.com

Ntxiv ib saib