4 engineers, 7000 servers thiab ib qho kev sib kis thoob ntiaj teb

Hlo Habr! Kuv nthuav qhia rau koj mloog cov lus txhais ntawm tsab xov xwm "4 Engineers, 7000 Servers, Thiab Ib Lub Ntiaj Teb Kev Sib Tw" by Adib Daw.

Yog tias cov xov xwm ntawd tsis xa me ntsis tshee rau koj tus txha nraub qaum, koj yuav tsum hla mus rau kab lus tom ntej lossis mus saib peb nplooj ntawv nplooj siab rau kev ua haujlwm hauv lub tuam txhab - peb xav tham.

Peb yog leej twg

Peb yog ib pab neeg ntawm 4 penguins uas nyiam sau code thiab ua haujlwm nrog kho vajtse. Nyob rau hauv peb lub sij hawm spare, peb yog lub luag hauj lwm rau deploying, tswj thiab ua hauj lwm ib tug fleet ntawm tshaj 7000 lub cev servers khiav Linux, faib thoob plaws 3 txawv cov ntaub ntawv chaw nyob rau hauv lub tebchaws United States.

Peb kuj muaj lub sijhawm los ua qhov no 10 km deb ntawm qhov chaw, los ntawm kev nplij siab ntawm peb tus kheej lub chaw ua haujlwm, uas yog nyob deb ntawm lub puam ntawm hiav txwv Mediterranean.

Teeb meem ntawm nplai

Thaum nws ua rau muaj kev nkag siab zoo rau kev pib pib los ntawm kev tuav nws cov txheej txheem hauv huab vim qhov kev nqis peev qis qis, peb ntawm Outbrain txiav txim siab siv peb tus kheej cov servers. Peb tau ua qhov no vim hais tias cov nqi ntawm huab infrastructure nyob deb tshaj cov nqi ntawm kev khiav hauj lwm peb tus kheej cov cuab yeej nyob rau hauv cov ntaub ntawv chaw tom qab kev loj hlob mus rau ib tug tej theem. Tsis tas li ntawd, koj lub server muab qhov siab tshaj plaws ntawm kev tswj hwm thiab kev daws teeb meem muaj peev xwm.

Thaum peb txhim kho, teeb meem ib txwm nyob ze. Ntxiv mus, lawv feem ntau tuaj ua pab pawg. Kev tswj hwm lub neej ntawm tus neeg rau zaub mov yuav tsum tau txhim kho tus kheej tsis tu ncua txhawm rau txhawm rau ua haujlwm tau zoo hauv cov ntsiab lus ntawm kev nce nrawm ntawm cov servers. Software txoj hauv kev los tswj cov pab pawg neeg rau zaub mov hauv cov chaw khaws ntaub ntawv sai sai ua tsis tau zoo. Tshawb nrhiav, daws teeb meem, thiab txo qis kev ua tsis tiav thaum ua tau raws li QoS cov qauv dhau los ua ib qho teeb meem ntawm kev sib tw ntawm cov khoom siv sib txawv heev, sib txawv ntawm kev ua haujlwm, hloov kho lub sijhawm kawg, thiab lwm yam zoo uas tsis muaj leej twg xav txhawj txog.

Master koj Domains

Yuav kom daws tau ntau yam teeb meem no, peb rhuav tshem cov neeg rau zaub mov lifecycle hauv Outbrain rau hauv nws cov khoom tseem ceeb thiab hu ua lawv lub npe. Piv txwv li, ib lub npe suav nrog cov khoom yuav tsum tau ua, lwm qhov suav nrog kev thauj mus los cuam tshuam nrog cov khoom lag luam lub neej voj voog, thiab qhov thib peb suav nrog kev sib txuas lus nrog cov neeg ua haujlwm hauv cheeb tsam. Muaj lwm qhov hais txog kev saib xyuas kho vajtse, tab sis peb yuav tsis piav qhia tag nrho cov ntsiab lus. Peb lub hom phiaj yog los kawm thiab txhais cov npe kom lawv thiaj li paub daws teeb meem siv code. Thaum ib qho kev ua haujlwm abstraction raug tsim, nws raug xa mus rau cov txheej txheem phau ntawv uas tau siv, sim, thiab ua kom zoo. Thaum kawg, tus sau tau teeb tsa los koom ua ke nrog lwm cov npe ntawm APIs, tsim kom muaj kev sib koom ua ke, muaj zog, thiab ib txwm hloov kho kho vajtse lifecycle system uas siv tau, kuaj tau, thiab pom tau. Ib yam li tag nrho peb lwm cov tshuab tsim khoom.

Kev siv txoj hauv kev no ua rau peb daws tau ntau yam teeb meem kom raug - los ntawm kev tsim cov cuab yeej thiab automation.

Xav tau Domain

Txawm hais tias email thiab spreadsheets yog ib txoj hauv kev siv tau los ua kom tau raws li qhov xav tau thaum ntxov, nws tsis yog qhov kev daws teeb meem zoo, tshwj xeeb tshaj yog thaum tus naj npawb ntawm cov servers thiab qhov ntim ntawm cov lus thov nkag mus txog qee theem. Txhawm rau txhim kho kom zoo dua thiab ua qhov tseem ceeb ntawm cov lus thov tuaj rau ntawm lub ntsej muag ntawm kev nthuav dav sai, peb yuav tsum siv daim pib uas tuaj yeem muab:

  • Muaj peev xwm los kho qhov pom ntawm tsuas yog thaj chaw cuam tshuam (yooj yim)
  • Qhib APIs (extensible)
  • Paub rau peb pab neeg (to taub)
  • Kev koom ua ke nrog peb cov haujlwm uas twb muaj lawm (unified)

Txij li thaum peb siv Jira los tswj peb cov sprints thiab cov dej num sab hauv, peb txiav txim siab los tsim lwm qhov project uas yuav pab peb cov neeg siv khoom xa daim pib thiab taug qab lawv cov txiaj ntsig. Siv Jira rau kev thov tuaj thiab rau kev tswj cov dej num sab hauv tau tso cai rau peb los tsim ib lub rooj tsav xwm Kanban uas tso cai rau peb saib tag nrho cov txheej txheem tag nrho. Peb sab hauv "cov neeg siv khoom" pom tsuas yog thov rau cov cuab yeej siv, tsis tas yuav nkag mus rau cov ntsiab lus tseem ceeb ntawm cov haujlwm ntxiv (xws li kev txhim kho cov cuab yeej, kho cov kab).

4 engineers, 7000 servers thiab ib qho kev sib kis thoob ntiaj teb
Kanban pawg thawj coj saib hauv Jira

Raws li qhov txiaj ntsig, qhov tseeb tias cov kab thiab qhov tseem ceeb tam sim no pom rau txhua tus neeg ua rau nws nkag siab "qhov twg hauv kab" qhov kev thov tshwj xeeb yog thiab qhov ua ntej nws. Qhov no tso cai rau cov tswv tuaj yeem rov ua dua lawv tus kheej cov lus thov yam tsis tas yuav tiv tauj peb. Luag nws thiab qhov ntawd yog nws. Nws kuj tau tso cai rau peb saib xyuas thiab ntsuas peb SLAs raws li kev thov hom raws li qhov ntsuas tau tsim hauv Jira.

Khoom siv Lifecycle Domain

Sim xav txog qhov nyuaj ntawm kev tswj cov khoom siv hauv txhua lub server khib. Dab tsi yog qhov phem dua yog tias ntau cov khoom kho vajtse (RAM, ROM) tuaj yeem txav los ntawm lub tsev khaws khoom mus rau chav neeg rau zaub mov thiab rov qab. Lawv kuj ua tsis tau lossis raug sau tawm thiab hloov thiab xa rov qab mus rau tus neeg muag khoom rau kev hloov / kho. Tag nrho cov no yuav tsum tau tshaj tawm rau cov neeg ua haujlwm pabcuam colocation koom nrog hauv kev saib xyuas lub cev ntawm cov khoom siv. Txhawm rau daws cov teeb meem no, peb tsim cov cuab yeej sab hauv hu ua Floppy. Nws txoj haujlwm yog:

  • Kev tswj hwm kev sib txuas lus nrog cov neeg ua haujlwm hauv cheeb tsam, sib sau ua ke ntawm txhua yam ntaub ntawv;
  • Hloov kho cov ntaub ntawv "warehouse" tom qab txhua qhov ua tiav thiab tshawb xyuas cov khoom siv tu cov haujlwm.

Lub warehouse, nyob rau hauv lem, yog visualized siv Grafana, uas peb siv los npaj tag nrho peb metrics. Yog li, peb siv tib lub cuab yeej rau kev tsim khoom hauv tsev thiab rau lwm qhov kev xav tau ntau lawm.

4 engineers, 7000 servers thiab ib qho kev sib kis thoob ntiaj tebWarehouse khoom tswj vaj huam sib luag hauv Grafana

Rau cov khoom siv server uas nyob hauv warranty, peb siv lwm lub cuab yeej peb hu rau Dispatcher. Nws:

  • Sau cov ntawv kaw lus;
  • Tsim cov ntawv ceeb toom raws li tus neeg muag khoom xav tau;
  • Tsim kev thov los ntawm tus neeg muag khoom ntawm API;
  • Tau txais thiab khaws cov ntaub ntawv teev npe rau kev taug qab nws qhov kev nce qib ntxiv.

Thaum peb qhov kev thov raug lees txais (feem ntau nyob rau hauv lub sijhawm ua haujlwm), qhov khoom seem raug xa mus rau qhov chaw cov ntaub ntawv tsim nyog thiab txais los ntawm cov neeg ua haujlwm.

4 engineers, 7000 servers thiab ib qho kev sib kis thoob ntiaj teb
Jenkins console tso zis

Kev sib txuas lus Domain

Txhawm rau kom muaj kev loj hlob sai ntawm peb txoj kev lag luam, uas yuav tsum tau muaj peev xwm nce ntxiv, peb yuav tsum hloov txoj hauv kev uas peb ua haujlwm nrog cov kws tshaj lij hauv cov ntaub ntawv hauv zos. Yog tias thaum xub thawj qhov kev nce qib txhais tau tias yuav cov servers tshiab, tom qab kev sib sau ua ke (raws li kev hloov mus rau Kubernetes) nws tau dhau los ua ib yam dab tsi txawv kiag li. Peb evolution los ntawm "ntxiv racks" rau "repurposing servers."

Kev siv txoj hauv kev tshiab kuj xav tau cov cuab yeej tshiab uas ua rau nws muaj peev xwm cuam tshuam nrog kev sib raug zoo nrog cov neeg ua haujlwm hauv cov ntaub ntawv. Cov cuab yeej no yuav tsum tau:

  • Yooj yim;
  • Kev ywj pheej;
  • Kev ua tau zoo;
  • Kev ntseeg tau.

Peb yuav tsum tsis suav peb tus kheej los ntawm cov saw hlau thiab cov qauv ua haujlwm kom cov kws tshaj lij tuaj yeem ua haujlwm ncaj qha nrog cov khoom siv server. Yog tsis muaj peb cov kev cuam tshuam thiab tsis tas yuav nce tag nrho cov teeb meem no hais txog kev ua haujlwm, sijhawm ua haujlwm, khoom siv, thiab lwm yam.

Txhawm rau ua tiav qhov no, peb tau nruab iPads hauv txhua qhov chaw khaws ntaub ntawv. Tom qab txuas mus rau lub server, cov hauv qab no yuav tshwm sim:

  • Lub cuab yeej lees paub tias tus neeg rau zaub mov no tiag tiag xav tau qee yam haujlwm;
  • Cov ntawv thov khiav ntawm lub server raug kaw (yog tias tsim nyog);
  • Cov lus qhia ua haujlwm tau muab tso rau ntawm Slack channel piav qhia cov kauj ruam uas yuav tsum tau ua;
  • Thaum ua tiav kev ua haujlwm, lub cuab yeej kuaj xyuas qhov tseeb ntawm lub xeev kawg ntawm lub server;
  • Restarts apps yog tias tsim nyog.

Tsis tas li ntawd, peb kuj tau npaj Slack bot los pab tus kws tshaj lij. Ua tsaug rau ntau lub peev xwm (peb tau txuas ntxiv ua haujlwm tas li), bot ua rau lawv txoj haujlwm yooj yim dua, thiab ua rau peb lub neej yooj yim dua. Txoj kev no peb optimized feem ntau ntawm cov txheej txheem ntawm repurposing thiab tswj cov servers, tshem tawm peb tus kheej los ntawm kev ua haujlwm.

4 engineers, 7000 servers thiab ib qho kev sib kis thoob ntiaj teb
iPad nyob rau hauv ib qho ntawm peb cov ntaub ntawv chaw

Hardware Domain

Reliably scaling peb data center infrastructure yuav tsum tau zoo visibility rau txhua yam, piv txwv li:

  • Kev kuaj xyuas ntawm hardware tsis ua haujlwm
  • Server states (active, hosted, zombie, thiab lwm yam)
  • Hwj chim Siab
  • Firmware version
  • Analytics rau tag nrho cov lag luam no

Peb cov kev daws teeb meem tso cai rau peb txiav txim siab yuav ua li cas, qhov twg thiab thaum twg yuav khoom siv, qee zaum txawm tias ua ntej nws xav tau tiag tiag. Tsis tas li ntawd, los ntawm kev txiav txim siab txog qib ntawm kev thauj khoom ntawm cov cuab yeej sib txawv, peb tuaj yeem ua tiav kev faib cov peev txheej. Tshwj xeeb, kev siv hluav taws xob. Tam sim no peb tuaj yeem txiav txim siab paub txog kev tso npe ntawm tus neeg rau zaub mov ua ntej nws tau teeb tsa hauv lub khib nyiab thiab txuas nrog lub zog hluav taws xob, thoob plaws nws lub neej thiab mus txog thaum nws so haujlwm.

4 engineers, 7000 servers thiab ib qho kev sib kis thoob ntiaj teb
Zog Dashboard hauv Grafana

Thiab tom qab ntawd COVID-19 tshwm sim ...

Peb pab neeg tsim cov thev naus laus zis uas txhawb nqa cov tuam txhab tshaj tawm xov xwm thiab tshaj tawm hauv online los pab cov neeg tuaj saib pom cov ntsiab lus, cov khoom lag luam thiab cov kev pabcuam uas yuav nyiam rau lawv. Peb cov kev tsim kho vaj tse yog tsim los pab cov tsheb khiav tawm thaum qee cov xov xwm zoo siab tshaj tawm.

Kev tshaj tawm xov xwm hnyav nyob ib puag ncig COVID-19, ua ke nrog kev nce tsheb khiav mus los, txhais tau tias peb xav tau ceev ceev kom kawm paub daws cov kev ntxhov siab no. Tsis tas li ntawd, txhua yam no yuav tsum tau ua thaum muaj kev kub ntxhov thoob ntiaj teb, thaum cov saw hlau tau cuam tshuam thiab feem ntau ntawm cov neeg ua haujlwm nyob hauv tsev.

Tab sis, raws li peb tau hais, peb tus qauv twb xav tias:

  • Cov khoom siv hauv peb cov chaw khaws ntaub ntawv yog, feem ntau, lub cev tsis tuaj yeem nkag rau peb;
  •  Peb yuav luag tag nrho lub cev ua haujlwm nyob deb;
  • Kev ua haujlwm yog ua asynchronously, autonomously thiab ntawm qhov loj;
  • Peb ua tau raws li qhov xav tau ntawm cov cuab yeej siv "tsim los ntawm qhov chaw" txoj kev es tsis txhob yuav cov khoom siv tshiab;
  • Peb muaj ib lub tsev rau khoom uas tso cai rau peb los tsim ib yam dab tsi tshiab, thiab tsis yog tsuas yog ua cov kev kho niaj hnub.

Yog li, kev txwv thoob ntiaj teb uas tiv thaiv ntau lub tuam txhab los ntawm kev nkag mus rau lub cev rau lawv cov chaw zov me nyuam muaj kev cuam tshuam me ntsis rau peb. Tab sis qhov no tau ua tiav nrog lub hom phiaj ntawm kev tiv thaiv cov xwm txheej tshwm sim thaum nws maj mam hloov tawm tias qee yam khoom siv tsis muaj. Peb tau ua kom ntseeg tau tias peb cov peev txheej tau ua tiav yam tsis muaj lub hom phiaj kom tau raws li qhov xav tau tam sim no.

Hauv cov ntsiab lus, kuv xav hais tias peb txoj hauv kev los ua haujlwm hauv kev lag luam hauv cov ntaub ntawv pov thawj pom tau tias nws muaj peev xwm siv cov ntsiab lus ntawm kev tsim qauv zoo rau kev tswj lub cev ntawm cov ntaub ntawv chaw. Thiab tej zaum koj yuav pom nws nthuav.

Thawj: tyts

Tau qhov twg los: www.hab.com

Ntxiv ib saib