UzÅÄmums URUS izmÄÄ£inÄja Kubernetes dažÄdos veidos: neatkarÄ«ga izvietoÅ”ana uz tukÅ”a metÄla, Google Cloud, un pÄc tam pÄrsÅ«tÄ«ja savu platformu uz Mail.ru Cloud Solutions (MCS) mÄkoni. Igors Å iÅ”kins stÄsta, kÄ viÅi izvÄlÄjÄs jaunu mÄkoÅpakalpojumu sniedzÄju un kÄ viÅiem izdevÄs migrÄt uz to rekordÄ«sÄs divÄs stundÄs (
Ko dara URUS?
Ir daudz veidu, kÄ uzlabot pilsÄtvides kvalitÄti, un viens no tiem ir padarÄ«t to videi draudzÄ«gu. TieÅ”i pie tÄ strÄdÄ uzÅÄmums URUS ā Smart Digital Services. Å eit viÅi ievieÅ” risinÄjumus, kas palÄ«dz uzÅÄmumiem uzraudzÄ«t svarÄ«gus vides rÄdÄ«tÄjus un samazinÄt to negatÄ«vo ietekmi uz vidi. Sensori apkopo datus par gaisa sastÄvu, trokÅ”Åa lÄ«meni un citiem parametriem un pÄc tam nosÅ«ta tos uz vienoto URUS-Ekomon platformu analÄ«zei un ieteikumu sniegÅ”anai.
KÄ URUS darbojas no iekÅ”puses
Tipisks URUS klients ir uzÅÄmums, kas atrodas dzÄ«vojamÄ rajonÄ vai tÄ tuvumÄ. TÄ varÄtu bÅ«t rÅ«pnÄ«ca, osta, dzelzceļa depo vai jebkura cita iekÄrta. Ja mÅ«su klients jau ir saÅÄmis brÄ«dinÄjumu, sodÄ«ts par vides piesÄrÅojumu vai vÄlas mazÄk trokÅ”Åot, samazinÄt kaitÄ«go izmeÅ”u daudzumu, viÅÅ” nÄk pie mums, un mÄs viÅam jau piedÄvÄjam gatavu risinÄjumu vides monitoringam.
H2S koncentrÄcijas monitoringa grafiks parÄda regulÄras nakts emisijas no tuvÄjÄs rÅ«pnÄ«cas
IerÄ«cÄs, kuras izmantojam URUS, ir vairÄki sensori, kas apkopo informÄciju par noteiktu gÄzu saturu, trokÅ”Åu lÄ«meni un citus datus, lai novÄrtÄtu vides situÄciju. PrecÄ«zu sensoru skaitu vienmÄr nosaka konkrÄtais uzdevums.
AtkarÄ«bÄ no mÄrÄ«jumu specifikas ierÄ«ces ar sensoriem var atrasties uz Äku sienÄm, stabiem un citÄs patvaļīgÄs vietÄs. Katra Å”Äda ierÄ«ce apkopo informÄciju, apkopo to un nosÅ«ta uz datu saÅemÅ”anas vÄrteju. Tur mÄs saglabÄjam datus ilgstoÅ”ai glabÄÅ”anai un iepriekÅ” apstrÄdÄjam tos turpmÄkai analÄ«zei. VienkÄrÅ”Äkais piemÄrs tam, ko mÄs iegÅ«stam analÄ«zes rezultÄtÄ, ir gaisa kvalitÄtes indekss, kas pazÄ«stams arÄ« kÄ AQI.
ParalÄli mÅ«su platformÄ darbojas daudzi citi pakalpojumi, taÄu tie galvenokÄrt ir pakalpojumu rakstura. PiemÄram, paziÅojumu dienests nosÅ«ta paziÅojumus klientiem, ja kÄds no uzraudzÄ«tajiem parametriem (piemÄram, CO2 saturs) pÄrsniedz pieļaujamo vÄrtÄ«bu.
KÄ mÄs glabÄjam datus. StÄsts par Kubernetes uz plika metÄla
URUS vides monitoringa projektÄ ir vairÄkas datu noliktavas. VienÄ mÄs glabÄjam āneapstrÄdÄtusā datus - tos, ko saÅÄmÄm tieÅ”i no paÅ”Äm ierÄ«cÄm. Å Ä« krÄtuve ir āmagnÄtiskaā lente, tÄpat kÄ vecÄs kaseÅ”u lentÄs, ar visu indikatoru vÄsturi. Otrs uzglabÄÅ”anas veids tiek izmantots iepriekÅ” apstrÄdÄtiem datiem - datiem no ierÄ«cÄm, kas bagÄtinÄti ar metadatiem par savienojumiem starp sensoriem un paÅ”u ierÄ«Äu rÄdÄ«jumiem, piederÄ«bu organizÄcijÄm, atraÅ”anÄs vietÄm utt. Å Ä« informÄcija ļauj dinamiski novÄrtÄt, kÄ konkrÄtajam rÄdÄ«tÄjam ir izdevies mainÄ«ts noteiktÄ laika periodÄ. MÄs izmantojam āneapstrÄdÄtoā datu krÄtuvi, cita starpÄ, kÄ rezerves kopiju un iepriekÅ” apstrÄdÄtu datu atjaunoÅ”anai, ja rodas tÄda nepiecieÅ”amÄ«ba.
Kad pirms vairÄkiem gadiem meklÄjÄm mÅ«su krÄtuves problÄmu, mums bija divas platformas izvÄles: Kubernetes un OpenStack. Bet, tÄ kÄ pÄdÄjais izskatÄs diezgan briesmÄ«gs (lai par to pÄrliecinÄtos, vienkÄrÅ”i apskatiet tÄ arhitektÅ«ru), mÄs apmetÄmies uz Kubernetes. VÄl viens arguments par labu bija salÄ«dzinoÅ”i vienkÄrÅ”Ä programmatÅ«ras vadÄ«ba, iespÄja elastÄ«gÄk sagriezt pat aparatÅ«ras mezglus atbilstoÅ”i resursiem.
ParalÄli paÅ”as Kubernetes apgÅ«Å”anai mÄs pÄtÄ«jÄm arÄ« datu glabÄÅ”anas veidus, kamÄr visu Kubernetes krÄtuvi saglabÄjÄm savÄ aparatÅ«rÄ, saÅÄmÄm izcilas zinÄÅ”anas. Viss, ko mÄs toreiz dzÄ«vojÄm Kubernetes: pilnÄ«ga krÄtuve, uzraudzÄ«bas sistÄma, CI/CD. Kubernetes mums ir kļuvusi par platformu viss vienÄ.
Bet mÄs gribÄjÄm strÄdÄt ar Kubernetes kÄ pakalpojumu, nevis iesaistÄ«ties tÄ atbalstÄ«Å”anÄ un attÄ«stÄ«bÄ. TurklÄt mums nepatika, cik mums izmaksÄja tÄ uzturÄÅ”ana uz tukÅ”a metÄla, un mums bija nepiecieÅ”ama nepÄrtraukta attÄ«stÄ«ba! PiemÄram, viens no pirmajiem uzdevumiem bija Kubernetes Ingress kontrolleru integrÄÅ”ana mÅ«su organizÄcijas tÄ«kla infrastruktÅ«rÄ. Tas ir apgrÅ«tinoÅ”s uzdevums, Ä«paÅ”i Åemot vÄrÄ to, ka tajÄ laikÄ nekas nebija gatavs programmatiskai resursu pÄrvaldÄ«bai, piemÄram, DNS ierakstiem vai IP adreÅ”u pieŔķirÅ”anai. VÄlÄk mÄs sÄkÄm eksperimentÄt ar ÄrÄjo datu glabÄÅ”anu. MÄs nekad nesaÅÄmÄm PVC kontroliera ievieÅ”anu, taÄu jau tad kļuva skaidrs, ka Ŕī ir liela darba joma, kurÄ nepiecieÅ”ami Ä«paÅ”i speciÄlisti.
PÄrslÄgÅ”anÄs uz Google Cloud Platform ir pagaidu risinÄjums
MÄs sapratÄm, ka tÄ nevar turpinÄties, un pÄrvietojÄm savus datus no tukÅ”a metÄla uz Google Cloud Platform. Faktiski tajÄ laikÄ Krievijas uzÅÄmumam nebija daudz interesantu iespÄju: bez Google Cloud Platform lÄ«dzÄ«gu pakalpojumu piedÄvÄja tikai Amazon, taÄu mÄs joprojÄm izvÄlÄjÄmies Google risinÄjumu. Tad mums tas likÄs ekonomiski izdevÄ«gÄk, tuvÄk Upstream, nemaz nerunÄjot par to, ka pats Google ir sava veida PoC Kubernetes in Production.
PirmÄ lielÄkÄ problÄma parÄdÄ«jÄs pie apvÄrÅ”Åa, kad mÅ«su klientu bÄze pieauga. Kad mums radÄs nepiecieÅ”amÄ«ba uzglabÄt personas datus, mÄs bijÄm izvÄles priekÅ”Ä: vai nu sadarbojamies ar Google un pÄrkÄpjam Krievijas likumus, vai arÄ« meklÄjam alternatÄ«vu Krievijas FederÄcijÄ. IzvÄle kopumÄ bija paredzama. š
KÄ mÄs redzÄjÄm ideÄlo mÄkoÅpakalpojumu
MeklÄÅ”anas sÄkumÄ mÄs jau zinÄjÄm, ko vÄlamies iegÅ«t no topoÅ”Ä mÄkoÅpakalpojuma sniedzÄja. KÄdu pakalpojumu mÄs meklÄjÄm:
- Ätri un elastÄ«gi. TÄds, lai mÄs jebkurÄ laikÄ varÄtu Ätri pievienot jaunu mezglu vai kaut ko izvietot.
- LÄti. MÄs bijÄm ļoti noraizÄjuÅ”ies par finanÅ”u jautÄjumu, jo mums bija ierobežoti resursi. Jau iepriekÅ” zinÄjÄm, ka vÄlamies strÄdÄt ar Kubernetes, un tagad uzdevums bija minimizÄt tÄ izmaksas, lai palielinÄtu vai vismaz saglabÄtu Ŕī risinÄjuma lietoÅ”anas efektivitÄti.
- AutomatizÄta. MÄs plÄnojÄm strÄdÄt ar pakalpojumu caur API, bez vadÄ«tÄjiem un telefona zvaniem vai situÄcijÄm, kad ÄrkÄrtas režīmÄ manuÄli jÄpaceļ vairÄki desmiti mezglu. TÄ kÄ lielÄkÄ daļa mÅ«su procesu ir automatizÄti, to paÅ”u gaidÄ«jÄm arÄ« no mÄkoÅpakalpojuma.
- Ar serveriem Krievijas FederÄcijÄ. Protams, mÄs plÄnojÄm ievÄrot Krievijas tiesÄ«bu aktus un to paÅ”u 152-FZ.
Tolaik KrievijÄ bija maz Kubernetes aaS nodroÅ”inÄtÄju, un, izvÄloties pakalpojumu sniedzÄju, mums bija svarÄ«gi neapdraudÄt savas prioritÄtes. Mail.ru Cloud Solutions komanda, ar kuru mÄs sÄkÄm strÄdÄt un joprojÄm sadarbojamies, nodroÅ”inÄja mums pilnÄ«bÄ automatizÄtu pakalpojumu, API atbalstu un Ärtu vadÄ«bas paneli, kas ietver Horizon - ar to mÄs varÄtu Ätri palielinÄt patvaļīgu skaitu mezglu.
KÄ mums izdevÄs migrÄt uz MCS divÄs stundÄs
Å Ädos gÄjienos daudzi uzÅÄmumi saskaras ar grÅ«tÄ«bÄm un neveiksmÄm, bet mÅ«su gadÄ«jumÄ tÄdu nebija. Mums paveicÄs: tÄ kÄ mÄs jau strÄdÄjÄm pie Kubernetes pirms migrÄcijas sÄkuma, mÄs vienkÄrÅ”i izlabojÄm trÄ«s failus un palaidÄm savus pakalpojumus jaunajÄ mÄkoÅa platformÄ MCS. AtgÄdinÄÅ”u, ka lÄ«dz tam laikam mÄs beidzot bijÄm pametuÅ”i pliko metÄlu un dzÄ«vojÄm Google mÄkoÅu platformÄ. TÄpÄc pati pÄrvietoÅ”ana aizÅÄma ne vairÄk kÄ divas stundas, kÄ arÄ« nedaudz vairÄk laika (apmÄram stunda) pagÄja datu kopÄÅ”anai no mÅ«su ierÄ«cÄm. Toreiz mÄs jau izmantojÄm Spinnaker (vairÄku mÄkoÅu CD pakalpojumu, lai nodroÅ”inÄtu nepÄrtrauktu piegÄdi). MÄs to arÄ« Ätri pievienojÄm jaunajam klasterim un turpinÄjÄm strÄdÄt kÄ parasti.
Pateicoties izstrÄdes procesu un CI/CD automatizÄcijai, Kubernetes URUS pÄrvalda viens speciÄlists (un tas esmu es). KÄdÄ posmÄ ar mani strÄdÄja cits sistÄmas administrators, bet tad izrÄdÄ«jÄs, ka mÄs jau esam automatizÄjuÅ”i visu galveno rutÄ«nu un mÅ«su galvenÄ produkta uzdevumi bija arvien vairÄk un bija jÄga novirzÄ«t resursus tam.
MÄs saÅÄmÄm to, ko gaidÄ«jÄm no mÄkoÅa pakalpojumu sniedzÄja, jo sÄkÄm sadarbÄ«bu bez ilÅ«zijÄm. Ja arÄ« bija kÄdi negadÄ«jumi, tie galvenokÄrt bija tehniski un tÄdi, kurus varÄtu viegli izskaidrot ar pakalpojuma relatÄ«vo svaigumu. Galvenais, lai MCS komanda Ätri novÄrÅ” trÅ«kumus un Ätri atbild uz jautÄjumiem kurjeros.
Ja salÄ«dzinu savu pieredzi ar Google Cloud Platform, viÅu gadÄ«jumÄ es pat nezinÄju, kur atrodas atsauksmju poga, jo tÄ vienkÄrÅ”i nebija vajadzÄ«ga. Un, ja radÄs kÄdas problÄmas, Google pati vienpusÄji izsÅ«tÄ«ja paziÅojumus. Bet MCS gadÄ«jumÄ, manuprÄt, liela priekÅ”rocÄ«ba ir tÄ, ka viÅi ir maksimÄli tuvu Krievijas klientiem - gan Ä£eogrÄfiski, gan mentÄli.
KÄ mÄs redzam darbu ar mÄkoÅiem nÄkotnÄ
Tagad mÅ«su darbs ir cieÅ”i saistÄ«ts ar Kubernetes, un tas mums pilnÄ«bÄ atbilst no infrastruktÅ«ras uzdevumu viedokļa. TÄpÄc mÄs neplÄnojam no tÄ nekur migrÄt, lai gan mÄs pastÄvÄ«gi ievieÅ”am jaunas prakses un pakalpojumus, lai vienkÄrÅ”otu rutÄ«nas uzdevumus un automatizÄtu jaunus, palielinÄtu pakalpojumu stabilitÄti un uzticamÄ«bu... Tagad mÄs ievieÅ”am pakalpojumu Chaos Monkey (konkrÄti , mÄs izmantojam chaoskube, taÄu tas nemaina koncepciju: ), kuru sÄkotnÄji izveidoja Netflix. Chaos Monkey veic vienu vienkÄrÅ”u darbÄ«bu: tas nejauÅ”Ä laikÄ izdzÄÅ” nejauÅ”u Kubernetes aplikumu. Tas ir nepiecieÅ”ams, lai mÅ«su pakalpojums varÄtu normÄli darboties ar gadÄ«jumu skaitu nā1, tÄpÄc mÄs apmÄcÄm sevi bÅ«t gataviem jebkurÄm problÄmÄm.
Tagad es redzu treÅ”o puÅ”u risinÄjumu izmantoÅ”anu - tÄs paÅ”as mÄkoÅu platformas - kÄ vienÄ«go pareizo lietu jauniem uzÅÄmumiem. Parasti ceļojuma sÄkumÄ viÅiem ir ierobežoti resursi ā gan cilvÄkresursi, gan finansiÄli, un sava mÄkoÅa vai datu centra izveide un uzturÄÅ”ana ir pÄrÄk dÄrga un darbietilpÄ«ga. MÄkoÅpakalpojumu sniedzÄji ļauj minimizÄt Ŕīs izmaksas, no tiem var Ätri iegÅ«t pakalpojumu darbÄ«bai nepiecieÅ”amos resursus Å”eit un tagad un pÄc tam par Å”iem resursiem samaksÄt. Kas attiecas uz uzÅÄmumu URUS, tad pagaidÄm paliksim uzticÄ«gi Kubernetes mÄkonÄ«. Bet kas zina, mums var nÄkties paplaÅ”inÄties Ä£eogrÄfiski vai ieviest risinÄjumus, pamatojoties uz kÄdu konkrÄtu aprÄ«kojumu. Vai varbÅ«t patÄrÄto resursu daudzums attaisnos paÅ”u Kubernetes uz pliko metÄlu, kÄ vecajos labajos laikos. š
Ko mÄs iemÄcÄ«jÄmies, strÄdÄjot ar mÄkoÅpakalpojumiem
MÄs sÄkÄm lietot Kubernetes uz plika metÄla, un pat tur tas bija labs savÄ veidÄ. Bet tÄ stiprÄs puses tika atklÄtas tieÅ”i kÄ aaS komponents mÄkonÄ«. Izvirzot mÄrÄ·i un maksimÄli visu automatizÄjot, varÄsiet izvairÄ«ties no pÄrdevÄju bloÄ·ÄÅ”anÄs un pÄrvietoÅ”anÄs starp mÄkoÅpakalpojumu sniedzÄjiem prasÄ«s pÄris stundas, un nervu Ŕūnas paliks pie mums. MÄs varam ieteikt citiem uzÅÄmumiem: ja vÄlaties uzsÄkt savu (mÄkoÅa) pakalpojumu ar ierobežotiem resursiem un maksimÄlo attÄ«stÄ«bas Ätrumu, sÄciet tÅ«lÄ«t ar mÄkoÅa resursu nomu un izveidojiet savu datu centru pÄc tam, kad Forbes par jums rakstÄ«s.
Avots: www.habr.com