Äau Habr! PiedÄvÄju jÅ«su uzmanÄ«bai raksta tulkojumu
Ja Å”is virsraksts neizraisa vieglus drebuļus, jums vajadzÄtu pÄriet uz nÄkamo rindkopu vai apmeklÄt mÅ«su lapu, kas veltÄ«ta
Kas mÄs esam
MÄs esam 4 pingvÄ«nu komanda, kam patÄ«k rakstÄ«t kodu un strÄdÄt ar aparatÅ«ru. SavÄ brÄ«vajÄ laikÄ mÄs esam atbildÄ«gi par vairÄk nekÄ 7000 fizisko serveru, kuros darbojas Linux, izvietoÅ”anu, uzturÄÅ”anu un darbÄ«bu, kas ir sadalÄ«ti 3 dažÄdos datu centros visÄ ASV.
Mums bija arÄ« iespÄja to izdarÄ«t 10 000 km attÄlumÄ no objektiem, no mÅ«su paÅ”u biroja ÄrtÄ«bÄm, kas atrodas neliela brauciena attÄlumÄ no VidusjÅ«ras pludmales.
MÄroga problÄmas
Lai gan jaunuzÅÄmumam ir jÄga sÄkt ar tÄs infrastruktÅ«ras mitinÄÅ”anu mÄkonÄ« salÄ«dzinoÅ”i zemo sÄkotnÄjo ieguldÄ«jumu dÄļ, mÄs uzÅÄmumÄ Outbrain nolÄmÄm izmantot savus serverus. MÄs to darÄ«jÄm, jo āāmÄkoÅa infrastruktÅ«ras izmaksas ievÄrojami pÄrsniedz mÅ«su paÅ”u iekÄrtu ekspluatÄcijas izmaksas, kas atrodas datu centros pÄc izstrÄdes lÄ«dz noteiktam lÄ«menim. TurklÄt jÅ«su serveris nodroÅ”ina visaugstÄkÄs kontroles un problÄmu novÄrÅ”anas iespÄjas.
Mums attÄ«stoties, problÄmas vienmÄr ir blakus. TurklÄt viÅi parasti nÄk grupÄs. Servera dzÄ«ves cikla pÄrvaldÄ«ba prasa pastÄvÄ«gu sevis pilnveidoÅ”anu, lai varÄtu pareizi darboties serveru skaita straujÄ pieauguma apstÄkļos. ProgrammatÅ«ras metodes serveru grupu pÄrvaldÄ«bai datu centros Ätri kļūst smagnÄjas. Kļūmju noteikÅ”ana, traucÄjummeklÄÅ”ana un mazinÄÅ”ana, izpildot QoS standartus, kļūst par ļoti dažÄdu aparatÅ«ras masÄ«vu, dažÄdu darba slodžu, jauninÄÅ”anas termiÅu un citu jauku lietu žonglÄÅ”anu, par ko neviens nevÄlas uztraukties.
PÄrvaldiet savus domÄnus
Lai atrisinÄtu daudzas no Ŕīm problÄmÄm, Outbrain servera dzÄ«ves ciklu sadalÄ«jÄm tÄ galvenajos komponentos un nosaucÄm tos par domÄniem. PiemÄram, viens domÄns aptver aprÄ«kojuma prasÄ«bas, otrs attiecas uz loÄ£istiku, kas saistÄ«ta ar krÄjumu dzÄ«ves ciklu, un treÅ”Ä attiecas uz saziÅu ar lauka personÄlu. Ir vÄl viens, kas attiecas uz aparatÅ«ras novÄrojamÄ«bu, taÄu mÄs neaprakstÄ«sim visus punktus. MÅ«su mÄrÄ·is bija izpÄtÄ«t un definÄt domÄnus, lai tos varÄtu abstrahÄt, izmantojot kodu. Kad darba abstrakcija ir izstrÄdÄta, tÄ tiek pÄrnesta uz manuÄlu procesu, kas tiek izvietots, pÄrbaudÄ«ts un pilnveidots. Visbeidzot, domÄns ir konfigurÄts, lai integrÄtos ar citiem domÄniem, izmantojot API, veidojot holistisku, dinamisku un pastÄvÄ«gi attÄ«stoÅ”u aparatÅ«ras dzÄ«ves cikla sistÄmu, kas ir izvietojama, pÄrbaudÄma un novÄrojama. TÄpat kÄ visas pÄrÄjÄs mÅ«su ražoÅ”anas sistÄmas.
Å Ä«s pieejas pieÅemÅ”ana ļÄva mums pareizi atrisinÄt daudzas problÄmas ā izveidojot rÄ«kus un automatizÄciju.
NepiecieÅ”ams domÄns
Lai gan pirmajÄs dienÄs e-pasts un izklÄjlapas bija dzÄ«votspÄjÄ«gs veids, kÄ apmierinÄt pieprasÄ«jumu, tas nebija veiksmÄ«gs risinÄjums, it Ä«paÅ”i, ja serveru skaits un ienÄkoÅ”o pieprasÄ«jumu apjoms sasniedza noteiktu lÄ«meni. Lai labÄk organizÄtu ienÄkoÅ”os pieprasÄ«jumus un noteiktu prioritÄtes tiem, Åemot vÄrÄ straujo paplaÅ”inÄÅ”anos, mums bija jÄizmanto biļeÅ”u pÄrdoÅ”anas sistÄma, kas varÄja piedÄvÄt:
- IespÄja pielÄgot tikai atbilstoÅ”o lauku skatu (vienkÄrÅ”i)
- AtvÄrtÄs API (paplaÅ”inÄmas)
- MÅ«su komandai zinÄms (saprotams)
- IntegrÄcija ar mÅ«su esoÅ”ajÄm darbplÅ«smÄm (vienota)
TÄ kÄ mÄs izmantojam Jira, lai pÄrvaldÄ«tu savus sprintus un iekÅ”Äjos uzdevumus, mÄs nolÄmÄm izveidot citu projektu, kas palÄ«dzÄtu mÅ«su klientiem iesniegt biļetes un izsekot to rezultÄtiem. Jira izmantoÅ”ana ienÄkoÅ”ajiem pieprasÄ«jumiem un iekÅ”Äjo uzdevumu pÄrvaldÄ«bai ļÄva mums izveidot vienu Kanban paneli, kas ļÄva mums aplÅ«kot visus procesus kopumÄ. MÅ«su iekÅ”Äjie āklientiā redzÄja tikai aprÄ«kojuma pieprasÄ«jumus, neiedziļinoties mazÄk nozÄ«mÄ«gÄs papildu uzdevumu detaļÄs (piemÄram, rÄ«ku uzlaboÅ”ana, kļūdu laboÅ”ana).
Kanban dÄlis JirÄ
KÄ bonuss bija tas, ka rindas un prioritÄtes tagad bija redzamas ikvienam, ļÄva saprast, ākur rindÄā atrodas konkrÄtais pieprasÄ«jums un kas bija pirms tÄ. Tas ļÄva Ä«paÅ”niekiem mainÄ«t savu pieprasÄ«jumu prioritÄtes, nesazinoties ar mums. Velciet to un viss. Tas arÄ« ļÄva mums pÄrraudzÄ«t un novÄrtÄt mÅ«su SLA saskaÅÄ ar pieprasÄ«jumu veidiem, pamatojoties uz Jira Ä£enerÄtajiem rÄdÄ«tÄjiem.
IekÄrtas dzÄ«ves cikla domÄns
MÄÄ£iniet iedomÄties katrÄ servera plauktÄ izmantotÄs aparatÅ«ras pÄrvaldÄ«bas sarežģītÄ«bu. VÄl ļaunÄk ir tas, ka daudzas aparatÅ«ras daļas (RAM, ROM) var pÄrvietot no noliktavas uz servera telpu un atpakaļ. Tie arÄ« neizdodas vai tiek norakstÄ«ti un nomainÄ«ti un atdoti piegÄdÄtÄjam nomaiÅai/remontam. Tas viss ir jÄpaziÅo izvietoÅ”anas dienesta darbiniekiem, kas iesaistÄ«ti iekÄrtas fiziskajÄ apkopÄ. Lai atrisinÄtu Ŕīs problÄmas, mÄs izveidojÄm iekÅ”Äjo rÄ«ku ar nosaukumu Floppy. ViÅa uzdevums ir:
- Sakaru vadÄ«Å”ana ar lauka personÄlu, visas informÄcijas apkopoÅ”ana;
- āNoliktavasā datu atjauninÄÅ”ana pÄc katra pabeigta un pÄrbaudÄ«ta iekÄrtu apkopes darba.
SavukÄrt noliktava tiek vizualizÄta, izmantojot Grafana, ko mÄs izmantojam visu mÅ«su rÄdÄ«tÄju uzzÄ«mÄÅ”anai. TÄdÄjÄdi mÄs izmantojam vienu un to paÅ”u rÄ«ku noliktavas vizualizÄcijai un citÄm ražoÅ”anas vajadzÄ«bÄm.
Noliktavas aprÄ«kojuma vadÄ«bas panelis GrafÄnÄ
Serveru ierÄ«cÄm, kurÄm ir garantija, mÄs izmantojam citu rÄ«ku, ko saucam par DispeÄeru. ViÅÅ”:
- Apkopo sistÄmas žurnÄlus;
- Ä£enerÄ pÄrskatus pÄrdevÄja pieprasÄ«tajÄ formÄtÄ;
- Izveido pieprasÄ«jumu no pÄrdevÄja, izmantojot API;
- SaÅem un saglabÄ lietojumprogrammas identifikatoru, lai turpinÄtu izsekot tÄs norisei.
Kad mÅ«su prasÄ«ba ir pieÅemta (parasti darba laikÄ), rezerves daļa tiek nosÅ«tÄ«ta uz atbilstoÅ”o datu centru un darbinieki to pieÅem.
Jenkins konsoles izvade
KomunikÄcijas domÄns
Lai neatpaliktu no mÅ«su biznesa straujÄs izaugsmes, kas prasa arvien lielÄku kapacitÄti, mums bija jÄpielÄgo veids, kÄ strÄdÄjam ar tehniskajiem speciÄlistiem vietÄjos datu centros. Ja sÄkumÄ palielinÄÅ”ana nozÄ«mÄja jaunu serveru iegÄdi, tad pÄc konsolidÄcijas projekta (pamatojoties uz pÄreju uz Kubernetes) kļuva pavisam kas cits. MÅ«su evolÅ«cija no āstatÄ«vu pievienoÅ”anasā lÄ«dz āserveru atkÄrtotai izmantoÅ”anaiā.
Izmantojot jaunu pieeju, bija nepiecieÅ”ami arÄ« jauni rÄ«ki, kas ļÄva ÄrtÄk sazinÄties ar datu centra personÄlu. Å ie rÄ«ki bija nepiecieÅ”ami, lai:
- VienkÄrŔība;
- Autonomija;
- EfektivitÄte;
- Uzticamība.
Mums bija jÄizslÄdz sevi no Ä·Ädes un jÄstrukturÄ darbs tÄ, lai tehniÄ·i varÄtu tieÅ”i strÄdÄt ar serveru aprÄ«kojumu. Bez mÅ«su iejaukÅ”anÄs un regulÄri neizvirzot visus Å”os jautÄjumus par darba slodzi, darba laiku, aprÄ«kojuma pieejamÄ«bu utt.
Lai to panÄktu, mÄs uzstÄdÄ«jÄm iPad katrÄ datu centrÄ. PÄc savienojuma izveides ar serveri notiks sekojoÅ”ais:
- IerÄ«ce apstiprina, ka Å”im serverim patieÅ”Äm ir nepiecieÅ”ams zinÄms darbs;
- Lietojumprogrammas, kas darbojas serverÄ«, ir aizvÄrtas (ja nepiecieÅ”ams);
- Slack kanÄlÄ ir ievietots darba instrukciju komplekts, kurÄ izskaidrotas nepiecieÅ”amÄs darbÄ«bas;
- PÄc darba pabeigÅ”anas ierÄ«ce pÄrbauda servera gala stÄvokļa pareizÄ«bu;
- Ja nepiecieÅ”ams, restartÄjiet lietojumprogrammas.
TurklÄt, lai palÄ«dzÄtu tehniÄ·im, mÄs sagatavojÄm arÄ« robotu Slack. Pateicoties plaÅ”ajam iespÄju klÄstam (mÄs pastÄvÄ«gi paplaÅ”inÄjÄm funkcionalitÄti), robots atviegloja viÅu darbu un ievÄrojami atviegloja mÅ«su dzÄ«vi. TÄdÄ veidÄ mÄs optimizÄjÄm lielÄko daļu serveru pÄrvietoÅ”anas un uzturÄÅ”anas procesa, izslÄdzot sevi no darbplÅ«smas.
iPad vienÄ no mÅ«su datu centriem
AparatÅ«ras domÄns
Lai droÅ”i mÄrogotu mÅ«su datu centra infrastruktÅ«ru, ir nepiecieÅ”ama laba katra komponenta redzamÄ«ba, piemÄram:
- Aparatūras kļūmes noteikŔana
- Servera stÄvokļi (aktÄ«vs, mitinÄts, zombiju utt.)
- EnerÄ£ijas patÄriÅÅ”
- Programmaparatūras versija
- Visa Ŕī uzÅÄmuma analÄ«ze
MÅ«su risinÄjumi ļauj mums pieÅemt lÄmumus par to, kÄ, kur un kad iegÄdÄties aprÄ«kojumu, dažreiz pat pirms tas faktiski ir nepiecieÅ”ams. TÄpat, nosakot dažÄdu iekÄrtu slodzes lÄ«meni, varÄjÄm panÄkt uzlabotu resursu sadali. Jo Ä«paÅ”i enerÄ£ijas patÄriÅÅ”. Tagad mÄs varam pieÅemt apzinÄtus lÄmumus par servera izvietojumu, pirms tas ir uzstÄdÄ«ts plauktÄ un pievienots strÄvas avotam, visÄ tÄ dzÄ«ves ciklÄ un lÄ«dz tÄ iespÄjamai izbeigÅ”anai.
EnerÄ£ijas informÄcijas panelis GrafÄnÄ
Un tad parÄdÄ«jÄs Covid-19...
MÅ«su komanda rada tehnoloÄ£ijas, kas sniedz iespÄju mediju uzÅÄmumiem un izdevÄjiem tieÅ”saistÄ palÄ«dzÄt apmeklÄtÄjiem atrast atbilstoÅ”u saturu, produktus un pakalpojumus, kas viÅus varÄtu interesÄt. MÅ«su infrastruktÅ«ra ir izstrÄdÄta, lai apkalpotu trafiku, kas rodas, kad tiek izlaistas dažas aizraujoÅ”as ziÅas.
IntensÄ«vais plaÅ”saziÅas lÄ«dzekļu atspoguļojums saistÄ«bÄ ar Covid-19, kÄ arÄ« satiksmes pieaugums nozÄ«mÄja, ka mums steidzami jÄiemÄcÄs tikt galÄ ar Å”o spiedienu. TurklÄt tas viss bija jÄdara globÄlÄs krÄ«zes laikÄ, kad tika traucÄtas piegÄdes Ä·Ädes un lielÄkÄ daļa darbinieku atradÄs mÄjÄs.
Bet, kÄ jau teicÄm, mÅ«su modelÄ« jau ir pieÅemts, ka:
- MÅ«su datu centru aprÄ«kojums mums lielÄkoties ir fiziski nepieejams;
- GandrÄ«z visus fiziskos darbus veicam attÄlinÄti;
- Darbs tiek veikts asinhroni, autonomi un plaÅ”Ä mÄrogÄ;
- IekÄrtu pieprasÄ«jumu apmierinÄm, izmantojot "bÅ«vÄt no detaļÄm" metodi, nevis iegÄdÄjoties jaunas iekÄrtas;
- Mums ir noliktava, kas ļauj radÄ«t kaut ko jaunu, nevis tikai veikt kÄrtÄjos remontdarbus.
LÄ«dz ar to globÄlie ierobežojumi, kas daudziem uzÅÄmumiem liedza fiziski piekļūt saviem datu centriem, mÅ«s maz ietekmÄja, savukÄrt attiecÄ«bÄ uz rezerves daļÄm un serveriem, jÄ, mÄs centÄmies nodroÅ”inÄt stabilu iekÄrtu darbÄ«bu. Bet tas tika darÄ«ts ar mÄrÄ·i novÄrst iespÄjamos incidentus, kad pÄkÅ”Åi atklÄjas, ka kÄda aparatÅ«ra nav pieejama. MÄs nodroÅ”inÄjÄm, ka mÅ«su rezerves tiek aizpildÄ«tas, necenÅ”oties apmierinÄt paÅ”reizÄjo pieprasÄ«jumu.
RezumÄjot, vÄlos teikt, ka mÅ«su pieeja darbam datu centru nozarÄ pierÄda, ka ir iespÄjams piemÄrot laba koda dizaina principus datu centra fiziskajÄ pÄrvaldÄ«bÄ. Un, iespÄjams, jums tas liksies interesanti.
OriÄ£inÄls:
Avots: www.habr.com