Jinsi ya kuhamia wingu kwa saa mbili shukrani kwa Kubernetes na automatisering

Jinsi ya kuhamia wingu kwa saa mbili shukrani kwa Kubernetes na automatisering

URUS ilijaribu Kubernetes katika aina mbalimbali: kujituma kwenye metali tupu, kwenye Google Cloud, na kisha kuhamisha mfumo wake hadi Mail.ru Cloud Solutions (MCS). Igor Shishkin anaelezea jinsi walivyochagua mtoa huduma mpya wa wingu na jinsi walivyoweza kuhamia kwake katika muda wa saa mbili zilizorekodiwa.t3ran), msimamizi mkuu wa mfumo wa URUS.

URUS hufanya nini?

Kuna njia nyingi za kuboresha ubora wa mazingira ya mijini, na moja wapo ni kuifanya iwe rafiki kwa mazingira. Hiki ndicho hasa ambacho URUS — Smart Digital Services inafanya kazi. Wanatekeleza suluhisho zinazosaidia biashara kufuatilia viashiria muhimu vya mazingira na kupunguza athari zao mbaya kwa mazingira. Vihisi hukusanya data kuhusu ubora wa hewa, viwango vya kelele, na vigezo vingine, kisha huituma kwenye jukwaa la umoja la URUS — Ecomon kwa ajili ya uchambuzi na mapendekezo.

Jinsi URUS inavyofanya kazi kutoka ndani

Mteja wa kawaida wa URUS ni kampuni iliyoko ndani au karibu na eneo la makazi. Hii inaweza kuwa kiwanda, bandari, kituo cha reli, au kituo kingine chochote. Ikiwa mteja wetu tayari amepokea onyo, ametozwa faini kwa kuchafua mazingira, au anataka kupunguza kelele na uzalishaji wa hewa chafu unaodhuru, huja kwetu, na tunawapa suluhisho la ufuatiliaji wa mazingira muhimu.

Jinsi ya kuhamia wingu kwa saa mbili shukrani kwa Kubernetes na automatisering
Grafu ya ufuatiliaji wa ukolezi wa H2S inaonyesha uzalishaji wa kawaida wa usiku kutoka kwa kiwanda kilicho karibu.

Vifaa tunavyotumia katika URUS vina vitambuzi vingi vinavyokusanya taarifa kuhusu mkusanyiko wa gesi fulani, viwango vya kelele, na data nyingine ili kutathmini hali ya mazingira. Idadi kamili ya vitambuzi huamuliwa kila mara na kazi mahususi.

Jinsi ya kuhamia wingu kwa saa mbili shukrani kwa Kubernetes na automatisering
Kulingana na mahitaji maalum ya kipimo, vifaa vya vitambuzi vinaweza kuwekwa kwenye kuta za majengo, nguzo, na maeneo mengine yasiyopangwa. Kila kifaa hukusanya data, huikusanya, na kuituma kwenye lango la data. Huko, tunahifadhi data kwa ajili ya kuhifadhi kwa muda mrefu na kuichakata kwa ajili ya uchambuzi unaofuata. Mfano rahisi zaidi wa kile tunachopata kutokana na uchambuzi huu ni kiashiria cha ubora wa hewa, pia kinachojulikana kama AQI.

Jukwaa letu pia linaendesha huduma zingine nyingi, lakini kimsingi ni za usaidizi. Kwa mfano, huduma ya arifa hutuma arifa kwa wateja ikiwa vigezo vyovyote vinavyofuatiliwa (tuseme, viwango vya CO2) vinazidi kikomo kinachoruhusiwa.

Jinsi Tunavyohifadhi Data: Hadithi ya Kubernetes kwenye Bare Metal

Mradi wa ufuatiliaji wa mazingira wa URUS hutumia maghala kadhaa ya data. Moja huhifadhi data ghafi—data inayopatikana moja kwa moja kutoka kwa vifaa vyenyewe. Ghala hili ni mkanda wa sumaku, sawa na kaseti za zamani, zenye historia ya usomaji wote. Aina ya pili ya ghala hutumika kwa data iliyosindikwa mapema—data kutoka kwa vifaa vilivyojazwa metadata kuhusu miunganisho ya vitambuzi na usomaji wa vifaa, miunganisho ya shirika, maeneo, na kadhalika. Taarifa hii inaturuhusu kutathmini kwa njia ya mabadiliko jinsi kiashiria fulani kimebadilika kwa kipindi fulani cha muda. Pia tunatumia ghala ghafi ya data kama nakala rudufu na kwa kurejesha data iliyosindikwa mapema, iwapo kuna haja ya kutokea.

Tulipokuwa tunatafuta suluhisho la tatizo letu la hifadhi miaka michache iliyopita, tulikuwa na chaguo mbili za mfumo: Kubernetes na OpenStack. Lakini kwa kuwa mfumo wa mwisho unaonekana wa kutisha sana (angalia tu usanifu wake ili kuona hili), tulikubaliana na Kubernetes. Hoja nyingine iliyoipendelea ilikuwa usimamizi wake rahisi wa programu na uwezo wa kudhibiti rasilimali kwa urahisi zaidi hata kwenye nodi za maunzi.

Tulipokuwa tukiifahamu Kubernetes yenyewe, pia tulichunguza mbinu za kuhifadhi data. Tulipokuwa tukiendesha hifadhi yetu yote huko Kubernetes kwa kutumia vifaa vyetu wenyewe, tulipata utaalamu bora. Kila kitu tulichokuwa nacho wakati huo kilikuwa kikiendeshwa kwenye Kubernetes: hifadhi ya hali ya juu, mfumo wa ufuatiliaji, na CI/CD. Kubernetes ikawa jukwaa letu la yote katika moja.

Lakini tulitaka kufanya kazi na Kubernetes kama huduma, badala ya kuidumisha na kuiendeleza. Zaidi ya hayo, hatukuridhika na gharama ya kuidumisha kwenye chuma tupu, na tulihitaji uundaji wa mara kwa mara! Kwa mfano, moja ya kazi za kwanza ilikuwa kuunganisha vidhibiti vya Kubernetes Ingress katika miundombinu ya mtandao wa shirika letu. Hii ilikuwa kazi ngumu, hasa ikizingatiwa kwamba wakati huo, hakuna kitu kilichokuwa tayari kwa usimamizi wa rasilimali za programu kama vile rekodi za DNS au utoaji. Anwani za IPBaadaye, tulianza kujaribu kuhifadhi data ya nje. Hatukuweza kamwe kutekeleza kidhibiti cha PVC, lakini hata wakati huo ikawa wazi kwamba huu ulikuwa mradi mkubwa unaohitaji wataalamu waliojitolea.

Kubadilisha hadi Jukwaa la Wingu la Google ni suluhisho la muda

Tuligundua kuwa hatungeweza kuendelea hivi na tukahamisha data yetu kutoka kwa chuma tupu hadi kwenye Jukwaa la Wingu la Google. Kwa kweli, hakukuwa na chaguzi nyingi za kuvutia kwa kampuni ya Urusi wakati huo: mbali na Jukwaa la Wingu la Google, ni Amazon pekee iliyotoa huduma kama hiyo, lakini hatimaye tulikubaliana na suluhisho la Google. Ilionekana kuwa na gharama nafuu zaidi kwetu wakati huo, karibu na Upstream, bila kusahau kwamba Google yenyewe ni aina ya PoC kwa Kubernetes katika Uzalishaji.

Tatizo kubwa la kwanza lilionekana wazi kadri idadi ya wateja wetu ilivyoongezeka. Tulipohitaji kuhifadhi data binafsi, tulikabiliwa na chaguo: ama kufanya kazi na Google na kukiuka sheria za Urusi, au kutafuta njia mbadala nchini Urusi. Chaguo lilikuwa la kutabirika kwa kiasi kikubwa. 🙂

Kile tulichokiona kama huduma bora ya wingu

Kufikia wakati tulipoanza kutafuta, tayari tulikuwa tunajua tunachotaka kutoka kwa mtoa huduma wa wingu wa siku zijazo. Tulikuwa tunatafuta huduma gani?

  • Haraka na rahisi kubadilikaMoja inayoturuhusu kuongeza nodi mpya au kusambaza kitu haraka wakati wowote.
  • Gharama nafuuTulikuwa na wasiwasi sana kuhusu suala la kifedha, kwani tulikuwa na rasilimali chache. Tayari tulijua tulitaka kufanya kazi na Kubernetes, na sasa changamoto ilikuwa kupunguza gharama yake ili kuongeza au angalau kudumisha ufanisi wa suluhisho hili.
  • KiotomatikiTulipanga kufanya kazi na huduma hii kupitia API, bila mameneja, simu, au hali ambapo tulilazimika kuzindua nodi nyingi kwa mikono wakati wa dharura. Kwa kuwa michakato yetu mingi ni otomatiki, tulitarajia vivyo hivyo kutoka kwa huduma ya wingu.
  • Na seva nchini UrusiBila shaka, tulipanga kufuata sheria za Urusi na Sheria hiyo ya Shirikisho nambari 152.

Wakati huo, kulikuwa na watoa huduma wachache wa AaS Kubernetes nchini Urusi, na ilikuwa muhimu kwetu kuzingatia vipaumbele vyetu wakati wa kuchagua mtoa huduma. Timu ya Mail.ru Cloud Solutions, ambayo tulianza kufanya kazi nayo na kuendelea kushirikiana, ilitupatia huduma otomatiki kikamilifu, usaidizi wa API, na paneli ya udhibiti rahisi kutumia ambayo ilijumuisha Horizon, ikituruhusu kusambaza haraka idadi yoyote ya nodi.

Jinsi Tulivyohamia MCS kwa Saa Mbili

Makampuni mengi hukutana na matatizo na vikwazo wakati wa uhamiaji kama huo, lakini katika hali yetu, hakukuwa na hata kimoja. Tulikuwa na bahati: kwa kuwa tayari tulikuwa tunaendesha Kubernetes kabla ya uhamiaji, tulirekebisha faili tatu tu na kuzindua huduma zetu kwenye jukwaa jipya la wingu, MCS. Kama ukumbusho, kufikia wakati huo tulikuwa tumeacha kabisa metali tupu na tulikuwa tunatumia Jukwaa la Wingu la Google. Kwa hivyo uhamiaji wenyewe haukuchukua zaidi ya saa mbili, pamoja na muda zaidi kidogo (kama saa moja) kunakili data kutoka kwa vifaa vyetu. Wakati huo, tayari tulikuwa tunatumia Spinnaker (huduma ya CD ya wingu nyingi kwa Uwasilishaji Endelevu). Tuliiongeza haraka kwenye kundi jipya na tukaendelea kufanya kazi kama kawaida.

Shukrani kwa otomatiki ya michakato ya maendeleo na CI/CD, Kubernetes katika URUS sasa inashughulikiwa na mtaalamu mmoja (mimi). Wakati mmoja, nilikuwa na msimamizi mwingine wa mfumo akifanya kazi nami, lakini ilibainika kuwa tayari tulikuwa tumejiendesha kiotomatiki kazi zote kuu za kawaida, na bidhaa yetu kuu ilikuwa inazidi kuwa ngumu, na hivyo kuifanya iwe muhimu kuzingatia rasilimali zetu kwenye hilo.

Tulipokea kile tulichotarajia kutoka kwa mtoa huduma wa wingu, kwani tuliingia katika ushirikiano nao bila udanganyifu wowote. Matukio yoyote yalikuwa ya kiufundi zaidi na yanaelezewa kwa urahisi na ujipya wa huduma hiyo. Muhimu zaidi, timu ya MCS hutatua haraka masuala yoyote na kujibu maswali haraka kupitia programu za kutuma ujumbe.

Ikilinganishwa na uzoefu wangu na Jukwaa la Wingu la Google, sikujua hata kitufe cha maoni kilikuwa wapi kwa sababu hakukuwa na haja ya kufanya hivyo. Na ikiwa matatizo yoyote yangetokea, Google yenyewe ingetuma arifa moja kwa moja. Lakini kwa MCS, naona faida kubwa kuwa ziko karibu sana na wateja wao wa Urusi—kijiografia na kibinafsi.

Jinsi tunavyoona wingu likifanya kazi katika siku zijazo

Kazi yetu kwa sasa imeunganishwa sana na Kubernetes, na inatufaa kikamilifu kutoka kwa mtazamo wa miundombinu. Kwa hivyo, hatuna mipango ya kuhama kutoka hapo, ingawa tunaanzisha kila mara desturi na huduma mpya ili kurahisisha kazi za kawaida na kufanya kazi mpya kiotomatiki, na kuongeza uthabiti na uaminifu wa huduma. Kwa sasa tunazindua huduma ya Chaos Monkey (hasa, tunatumia chaoskube, lakini hiyo haibadilishi dhana :)), ambayo iliundwa awali kwenye Netflix. Chaos Monkey hufanya jambo moja rahisi: hufuta pod yoyote katika Kubernetes wakati wowote. Hii ni muhimu ili huduma yetu iweze kufanya kazi kawaida na matukio ya n-1, na inatufunza kuwa tayari kwa matatizo yoyote.

Sasa naona matumizi ya suluhisho za watu wengine—kwa mfano, majukwaa ya wingu—kama chaguo pekee linalofaa kwa makampuni changa. Kwa kawaida, mwanzoni, huwa na rasilimali chache, za kibinadamu na kifedha, na kujenga na kudumisha kituo chao cha wingu au data ni ghali sana na hutumia nguvu kazi nyingi. Watoa huduma za wingu hukuruhusu kupunguza gharama hizi; wanakuruhusu kupata haraka rasilimali unazohitaji ili kuendesha huduma zako mara moja, na kuzilipa unapoendelea. Kuhusu URUS, tutabaki kujitolea kwa Kubernetes katika wingu kwa sasa. Lakini nani anajua, labda tutalazimika kupanua kijiografia au kutekeleza suluhisho kulingana na vifaa maalum. Au labda idadi kubwa ya rasilimali zinazotumiwa itahalalisha kutumia Kubernetes zetu za chuma, kama ilivyokuwa katika siku nzuri za zamani. 🙂

Tulichojifunza kutokana na uzoefu wetu na huduma za wingu

Tulianza kutumia Kubernetes kwenye chuma tupu, na hata hapo ilikuwa na faida zake. Lakini nguvu zake zilidhihirika kama sehemu ya AaS kwenye wingu. Tukijiwekea lengo na kuendesha kila kitu kiotomatiki iwezekanavyo, tunaweza kuepuka kufungiwa kwa wachuuzi, na kuhama kati ya watoa huduma za wingu kutachukua saa kadhaa, na kutuokoa usumbufu. Ushauri wetu kwa makampuni mengine: ikiwa unataka kuzindua huduma yako mwenyewe (wingu) yenye rasilimali chache na kasi ya juu ya maendeleo, anza sasa hivi kwa kukodisha rasilimali za wingu, na ujenge kituo chako cha data baada ya Forbes kuandika kukuhusu.

Chanzo: mapenzi.com

Nunua upangishaji wa kuaminika wa tovuti zilizo na ulinzi wa DDoS, seva za VPS VDS 🔥 Nunua upangishaji wa tovuti unaoaminika kwa ulinzi wa DDoS, seva za VPS VDS | ProHoster