Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk

Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk

Njengoko usebenza kwi-IT, uqala ukuqaphela ukuba iinkqubo zineempawu zazo. Banokuba bhetyebhetye, bathule, bangabikho, kwaye babe ngqongqo. Banokutsala okanye bagxothe. Enye indlela okanye enye, kufuneka "uxoxisane" nabo, uqhube phakathi "kwemigibe" kunye nokwakha amakhonkco entsebenziswano yabo.

Ngoko ke saba newonga lokwakha iqonga lelifu, kwaye ngenxa yoku kufuneka "sicenge" isibini senkqubo ephantsi ukuba isebenze nathi. Ngethamsanqa, sinolwimi "lwe-API", izandla ezithe ngqo kunye nentshiseko enkulu.

Eli nqaku alizukuba lukhuni ngokobuchwephesha, kodwa liza kuchaza iingxaki esiye sadibana nazo ngelixa sisakha ilifu. Ndagqiba ekubeni ndichaze umendo wethu ngendlela yokukhanya kwefantasy yobugcisa malunga nendlela esikhangele ngayo ulwimi oluqhelekileyo kunye neenkqubo kunye nento ephuma kuyo.

Wamkelekile kwikati.

Ukuqala kwendlela

Ngexesha elidlulileyo, iqela lethu lalinikwe umsebenzi wokusungula iqonga lelifu kubathengi bethu. Sinenkxaso yolawulo, izixhobo, istaki sehardware kunye nenkululeko ekukhetheni itekhnoloji yokuphumeza inxalenye yesoftware yenkonzo.

Bekukho nenani leemfuno:

  • inkonzo idinga i-akhawunti yobuqu efanelekileyo;
  • iqonga kufuneka lidityaniswe kwinkqubo ekhoyo yokuhlawula;
  • isoftware kunye nehardware: I-OpenStack + Tungsten Fabric (i-Open Contrail), apho iinjineli zethu zifunde "ukupheka" kakuhle.

Siza kukuxelela elinye ixesha malunga nendlela iqela elihlanganiswe ngayo, i-interface ye-akhawunti yomntu yaphuhliswa kwaye izigqibo zoyilo zenziwe, ukuba uluntu lwaseHabra lunomdla.
Izixhobo esigqibe ukuzisebenzisa:

  • I-Python + Flask + Swagger + SQLAlchemy - iseti yePython esemgangathweni ngokupheleleyo;
  • I-Vue.js ye-frontend;
  • Sagqiba ekubeni senze intsebenziswano phakathi kwamacandelo kunye neenkonzo sisebenzisa iCelery phezu kwe-AMQP.

Ukulindela imibuzo malunga nokukhetha iPython, ndiya kuchaza. Ulwimi lufumene i-niche yalo kwinkampani yethu kwaye incinci, kodwa inkcubeko, iphuhlisiwe ngeenxa zonke. Ngoko ke, kwagqitywa ekubeni kuqaliswe ukwakha inkonzo kuyo. Ngaphezu koko, isantya sophuhliso kwiingxaki ezinjalo sihlala sisenza isigqibo.

Ke, makhe siqale ukuqhelana kwethu.

Ibhili ethe cwaka-ityala

Kudala simazi lomfo. Ebesoloko ehlala ecaleni kwam ethe cwaka ebala into. Ngamanye amaxesha wayethumela izicelo zabasebenzisi kuthi, akhuphe ii-invoyisi zabaxumi, kunye neenkonzo ezilawulwayo. Umntu oqhelekileyo osebenza nzima. Enyanisweni, kwakukho iingxaki. Uthule, ngamanye amaxesha uyacinga kwaye usoloko esengqondweni yakhe.

Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk

I-Billing yinkqubo yokuqala esazama ukwenza ubuhlobo nayo. Kwaye ubunzima bokuqala esadibana nabo kuxa silungisa iinkonzo.

Umzekelo, xa uyiliwe okanye icinyiwe, umsebenzi ungena kumgca wokuhlawula wangaphakathi. Ngaloo ndlela, inkqubo yomsebenzi we-asynchronous kunye neenkonzo iphunyeziwe. Ukusetyenzwa kweentlobo zeenkonzo zethu, kufuneka "sibeke" imisebenzi yethu kulo mgca. Kwaye apha siye sadibana nengxaki: ukungabikho kwamaxwebhu.

Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk

Ukuqwalasela inkcazo ye-software ye-API, kusenokwenzeka ukusombulula le ngxaki, kodwa asizange sibe nexesha lokwenza ubunjineli be-reverse, ngoko ke sathatha i-logic ngaphandle kwaye salungiselela umgca womsebenzi phezu kwe-RabbitMQ. Ukusebenza kwinkonzo kuqalwa ngumxhasi kwi-akhawunti yakhe yomntu, ujika ube "umsebenzi" weCelery kwi-backend kwaye wenziwa kwicala lokuhlawula kunye ne-OpenStack. I-Celery yenza kube lula ukulawula imisebenzi, ukulungelelanisa ukuphindaphinda kunye nokubeka iliso kwimeko. Unokufunda ngakumbi malunga ne "celery", umzekelo, apha.

Kwakhona, ukuhlawula akuzange kuyimise iprojekthi eyayiphelelwa yimali. Ukunxibelelana nabaphuhlisi, safumanisa ukuba xa sibala izibalo (kwaye kufuneka siphumeze ngokuchanekileyo olu hlobo lwengqiqo), kukho ukudibanisa okuyinkimbinkimbi kwemithetho yokumisa. Kodwa ezi modeli azihambelani kakuhle neenyani zethu. Siphinde sayiphumeza ngemisebenzi kwiCelery, sithatha ingqiqo yolawulo lwenkonzo kwicala elingasemva.

Zombini ezi ngxaki zingentla zikhokelele ekubeni ikhowudi ibe neblooded encinci kwaye kwixa elizayo kuya kufuneka siphinde sihlaziye ukuze sihambise ingqiqo yokusebenza ngemisebenzi kwinkonzo eyahlukileyo. Kwakhona kufuneka sigcine ulwazi malunga nabasebenzisi kunye neenkonzo zabo kwiitafile zethu ukuxhasa le ngqiqo.

Enye ingxaki kukuthula.

UBilly uphendula ngokuthe cwaka "Kulungile" kwezinye izicelo ze-API. Oku kwaba njalo, umzekelo, xa sasisenza iintlawulo zeentlawulo ezithenjisiweyo ngexesha lovavanyo (ngaphezulu koko kamva). Izicelo zenziwe ngokuchanekileyo kwaye asibonanga naziphi na iimpazamo.

Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk

Kwafuneka ndifunde iilogi ngelixa ndisebenza nenkqubo nge-UI. Kuye kwavela ukuba i-billing ngokwayo yenza izicelo ezifanayo, ukutshintsha umda kumsebenzisi othile, umzekelo, umlawuli, ugqithise kwiparameter ye-su.

Ngokubanzi, ngaphandle kwezithuba kumaxwebhu kunye neziphene ezincinci ze-API, yonke into ihambe kakuhle. Iilogi zinokufundwa naphantsi komthwalo onzima ukuba uyayiqonda indlela ezakhiwe ngayo kunye nokuba ukhangele ntoni. Ubume besiseko sedatha buhonjiswe, kodwa busengqiqweni kwaye ngandlela thile bunomtsalane.

Ke, ukushwankathela, ezona ngxaki ziphambili esiye sadibana nazo kwinqanaba lokusebenzisana zinxulumene neempawu zokuphunyezwa kwenkqubo ethile:

  • “iinkalo” ezingabhalwanga eziye zasichaphazela ngandlel’ ithile;
  • umthombo ovaliweyo (i-billing ibhaliwe kwi-C ++), ngenxa yoko, akunakwenzeka ukusombulula ingxaki ye-1 nangayiphi na indlela ngaphandle "kovavanyo kunye nephutha".

Ngethamsanqa, imveliso ine-API ebanzi kwaye sidibanise ezi subsystems zilandelayo kwiakhawunti yethu yobuqu:

  • Imodyuli yenkxaso yobuchwephesha - izicelo ezisuka kwiakhawunti yakho zobuqu "zifakwe kwi-proxied" ekuhlawuleni ngokungafihlisiyo kubaxhasi benkonzo;
  • imodyuli yezemali - ikuvumela ukuba ukhuphe ii-invoyisi kubathengi bangoku, wenze ukubhala kunye nokuvelisa amaxwebhu okuhlawula;
  • Imodyuli yolawulo lwenkonzo - koku kuye kwafuneka siphumeze isiphatho sethu. Ukwandiswa kwenkqubo kudlale ezandleni zethu kwaye "safundisa" uBilly uhlobo olutsha lwenkonzo.
    Ibiyingxaki, kodwa ngenye indlela okanye enye, ndicinga ukuba mna noBilly siza kuvana.

Ukuhamba kwiindawo ze-tungsten-Tungsten Fabric

Amabala eTungsten anamakhulukhulu eengcingo, egqithisa amawaka olwazi kuwo. Ulwazi luqokelelwa “kwiipakethi”, lucazululwe, lwenze iindlela ezintsonkothileyo, njengokungathi ngomlingo.

Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk

Lo ngummandla wenkqubo yesibini apho kwafuneka senze abahlobo - iTungsten Fabric (TF), eyayikade i-OpenContrail. Umsebenzi wayo kukulawula izixhobo zenethiwekhi, ukubonelela nge-software abstraction kuthi njengabasebenzisi. I-TF - SDN, ifakela ingqiqo enzima yokusebenza kunye nezixhobo zenethiwekhi. Kukho inqaku elilungileyo malunga netekhnoloji ngokwayo, umzekelo, apha.

Inkqubo idityaniswe ne-OpenStack (ixoxwe ngezantsi) nge-plugin ye-Neutron.

Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk
Ukusebenzisana kweenkonzo ze-OpenStack.

Abafana besebe lemisebenzi basazisile kule nkqubo. Sisebenzisa inkqubo ye-API ukulawula ukupakishwa kwenethiwekhi yeenkonzo zethu. Akuzange kusibangele iingxaki ezinzulu okanye ukuphazamiseka okwangoku (andikwazi ukuthetha kubafana abavela kwi-OE), kodwa kukho izinto ezingaqhelekanga ekusebenzisaneni.

Eyokuqala yayijongeka ngolu hlobo: imiyalelo eyayifuna ukukhupha isixa esikhulu sedatha kwi-console yomzekelo xa uqhagamshela nge-SSH ngokulula "ixhonywe phezulu" udibaniso, ngelixa ngeVNC yonke into yayisebenza ngokuchanekileyo.

Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk

Kulabo abangaqhelananga nale ngxaki, kubonakala kuhlekisayo: ls / ingcambu isebenza ngokuchanekileyo, ngelixa, umzekelo, "umkhenkce" ngokupheleleyo. Ngethamsanqa, siye sadibana neengxaki ezifanayo ngaphambili. Kugqitywe ngokulungelelanisa i-MTU kwindlela esuka kwii-compute nodes ukuya kwii-routers. Ngendlela, oku akuyongxaki yeTF.

Ingxaki elandelayo yayikufuphi nje. Ngomzuzu omnye "omhle", umlingo womzila wanyamalala, kanye ngolo hlobo. I-TF iyekile ukulawula indlela kwisixhobo.

Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk

Sisebenze kunye ne-Openstack ukusuka kwinqanaba lolawulo kwaye emva koko safudukela kwinqanaba elifunekayo lomsebenzisi. I-SDN ibonakala "iqweqwedisa" umda womsebenzisi lowo izenzo zenziwa nguye. Inyaniso kukuba i-akhawunti efanayo yomlawuli isetyenziselwa ukudibanisa i-TF kunye ne-OpenStack. Kwinqanaba lokutshintshela kumsebenzisi, "umlingo" wanyamalala. Kwagqitywa ekubeni kwenziwe i-akhawunti eyahlukileyo ukuze isebenze kunye nenkqubo. Oku kusivumele ukuba sisebenze ngaphandle kokwaphula umsebenzi wokudibanisa.

Iifom zoBomi zeSilicon-OpenStack

Isidalwa se-silicone esimile ngendlela engaqhelekanga sihlala kufutshane namabala e-tungsten. Ngaphezu kwako konke, kubonakala ngathi umntwana okhulileyo unokusityumza ngojingi omnye, kodwa akukho lugonyamelo olucacileyo oluphuma kuye. Ayibangeli uloyiko, kodwa ubukhulu bayo bubangela uloyiko. Njengoko kwenza ubunzima bento eyenzekayo ngeenxa zonke.

Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk

I-OpenStack ngundoqo weqonga lethu.

I-OpenStack ineenkqubo ezisezantsi ezininzi, esizisebenzisa ngoku iNova, Glance kunye neCinder kakhulu. Ngamnye kubo une-API yakhe. I-Nova inoxanduva lokuqulunqa izixhobo kunye nokudalwa kweemeko, i-Cinder inoxanduva lokulawula umthamo kunye ne-snapshots zabo, i-Glance yinkonzo yomfanekiso olawula ii-templates ze-OS kunye ne-metainformation kubo.

Inkonzo nganye isebenza kwisikhongozeli, kwaye umthengisi womyalezo “ngumvundla omhlophe”- RabbitMQ.

Le nkqubo yasinika eyona ngxaki sasingayilindelanga.

Kwaye ingxaki yokuqala yayingekude xa sizama ukudibanisa ivolumu eyongezelelweyo kumncedisi. I-Cinder API yala ngokupheleleyo ukwenza lo msebenzi. Ngokuchanekileyo, ukuba uyakholelwa i-OpenStack ngokwayo, uxhulumaniso lusekiwe, kodwa akukho sixhobo sediski ngaphakathi kweseva yenyani.

Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk

Sigqibe ekubeni siphambuke kwaye sacela isenzo esifanayo kwiNova API. Isiphumo kukuba isixhobo siqhagamshela ngokuchanekileyo kwaye siyafikeleleka kwiseva. Kubonakala ngathi ingxaki yenzeka xa ibhloko-yokugcina ingaphenduli kwiCinder.

Obunye ubunzima besilindele xa sisebenza ngeediski. Umthamo wenkqubo awukwazanga ukuqhawuka kwiseva.

Kwakhona, i-OpenStack ngokwayo "ifunga" ukuba itshabalalise uxhumano kwaye ngoku unokusebenza ngokuchanekileyo kunye nevolumu ngokwahlukileyo. Kodwa i-API khange ifune ukwenza imisebenzi kwidiski.

Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk

Apha siye sagqiba ekubeni singalwi ngokukodwa, kodwa sitshintshe imbono yethu yengqiqo yenkonzo. Ukuba kukho umzekelo, kufuneka kubekho umthamo wenkqubo. Ngoko ke, umsebenzisi akakwazi ukususa okanye ukukhubaza inkqubo "idiski" ngaphandle kokucima "umncedisi".

I-OpenStack yisethi entsonkothileyo yeenkqubo ezinengqiqo yayo yokunxibelelana kunye ne-API embejembeje. Sincedwa ngamaxwebhu aneenkcukacha ezifanelekileyo kwaye, ngokuqinisekileyo, uvavanyo kunye nempazamo (besiya kuba phi ngaphandle kwayo).

Uvavanyo lokuqhuba

Senze uvavanyo losungulo kweyoMnga kulo nyaka uphelileyo. Umsebenzi oyintloko wawukuvavanya iprojekthi yethu kwimodi yokulwa ukusuka kwicala lobugcisa kunye ne-UX. Abaphulaphuli bamenywe ngokuzikhethela kwaye uvavanyo lwavalwa. Nangona kunjalo, sikwashiye ukhetho lokucela ukufikelela kuvavanyo kwiwebhusayithi yethu.

Uvavanyo ngokwalo, ewe, belungekho ngaphandle kwamaxesha ahlekisayo, kuba kulapho ii-adventures zethu ziqala khona.

Okokuqala, sivavanye ngokungachanekanga umdla kwiprojekthi kwaye kuye kwafuneka ukuba songeze ngokukhawuleza iinodi zekhompyuter ngexesha lovavanyo. Ityala eliqhelekileyo leqela, kodwa bekukho ama-nuances apha. Amaxwebhu oguqulelo oluthile lwe-TF lubonisa uhlobo oluthile lwekernel apho umsebenzi nge-vRouter wavavanywa khona. Sigqibe kwelokuba siqalise ii-node ngeekernel zamva nje. Ngenxa yoko, i-TF ayizange ifumane iindlela ezivela kwiindawo. Kuye kwanyanzeleka ukuba ndibuyisele umva iinkozo ngokukhawuleza.

Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk

Omnye umdla unxulumene nokusebenza kweqhosha elithi "tshintsha igama lokugqitha" kwiakhawunti yakho.

Sigqibe kwelokuba sisebenzise i-JWT ukulungiselela ukufikelela kwiakhawunti yethu ukuze singasebenzi ngeeseshoni. Ekubeni iinkqubo zihlukeneyo kwaye zihlakazekile ngokubanzi, silawula ithokheni yethu, apho "sivala" iiseshini ezivela kwi-billing kunye nethokheni evela kwi-OpenStack. Xa igama eligqithisiweyo litshintshiwe, ithokheni, ngokuqinisekileyo, "ihamba kakubi", ekubeni idatha yomsebenzisi ayisasebenzi kwaye kufuneka iphinde ikhutshwe.

Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk

Siye saphulukana nombono wale ngongoma, kwaye bekungekho zixhobo zaneleyo zokugqiba esi siqwenga ngokukhawuleza. Kuye kwafuneka sinqumle ukusebenza ngaphambi nje kokuba siqalise uvavanyo.
Ngoku siphuma ngaphandle komsebenzisi ukuba igama lokugqitha litshintshiwe.

Ngaphandle kwezi nuances, uvavanyo lwahamba kakuhle. Kwiiveki ezimbalwa, abantu abamalunga nama-300 bema. Siye sakwazi ukujonga imveliso ngamehlo abasebenzisi, siyivavanye ngesenzo kwaye siqokelele ingxelo ekumgangatho ophezulu.

Ukuqhubeka

Kwabaninzi bethu, le yiprojekthi yokuqala yesi sikali. Sifunde izifundo ezininzi ezibalulekileyo malunga nokusebenza njengeqela nokwenza izigqibo zoyilo noyilo. Indlela yokudibanisa iinkqubo ezinzima kunye nezixhobo ezincinci kunye nokuziqengqa kwimveliso.

Ngokuqinisekileyo, kukho into esebenzayo kuzo zombini ngokwemigaqo yekhowudi kunye nakwii-interfaces zokudityaniswa kwenkqubo. Iprojekthi iselula kakhulu, kodwa sizele ngamabhongo okuyikhulisa ibe yinkonzo ethembekileyo nefanelekileyo.

Sele sikwazile ukucenga iinkqubo. UBill uphatha ngokufanelekileyo ukubala, ukuhlawula, kunye nezicelo zabasebenzisi kwikhabhathi yakhe. "Umlingo" wamasimi e-tungsten usinika unxibelelwano oluzinzile. Kwaye kuphela i-OpenStack ngamanye amaxesha iba yinto engenamsebenzi, ikhwaza into efana "'I-WSREP ayikalungiseleli indawo yokusetyenziswa kwesicelo." Kodwa elo libali elahluke ngokupheleleyo...

Kutshanje siphehlelele inkonzo.
Unokufumana zonke iinkcukacha kwinqaku lethu indawo.

Imbali yokudalwa kwenkonzo yefu, efakwe kwi-cyberpunk
IQela loPhuhliso lwe-CLO

amakhonkco aluncedo

OpenStack

Ilaphu leTungsten

umthombo: www.habr.com

Yongeza izimvo