Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk

Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk

Njengoba usebenza ku-IT, uqala ukuqaphela ukuthi amasistimu anesimilo sawo. Angakwazi ukuguquguquka, athule, angabonakali, futhi aqine. Angakwazi ukuheha noma axoshe. Ngandlela thize, kufanele "uxoxisane" nabo, uqondise phakathi "kwezingibe" futhi wakhe amaketanga okuxhumana kwabo.

Ngakho-ke sibe nelungelo lokwakha inkundla yamafu, futhi ngenxa yalokhu kwakudingeka "sincenge" amasistimu angaphansi ambalwa ukuthi asebenze nathi. Ngenhlanhla, “sinolimi lwe-API”, izandla eziqondile kanye nomdlandla omkhulu.

Lesi sihloko ngeke sibe lukhuni ngokwezobuchwepheshe, kodwa sizochaza izinkinga esihlangabezane nazo ngenkathi sisakha ifu. Nginqume ukuchaza indlela yethu ngendlela yenganekwane elula yobuchwepheshe mayelana nokuthi silubheke kanjani ulimi olujwayelekile olunamasistimu nokuthi yini eyaphuma kulo.

Siyakwamukela kukati.

Qala kohambo

Esikhathini esithile esidlule, ithimba lethu lalinikezwe umsebenzi wokwethula inkundla yefu yamakhasimende ethu. Besinokwesekwa kwabaphathi, izinsiza, isitaki sezingxenyekazi zekhompuyutha kanye nenkululeko ekukhetheni ubuchwepheshe bokusebenzisa ingxenye yesofthiwe yesevisi.

Bekukhona nenani lezidingo:

  • isevisi idinga i-akhawunti yomuntu siqu elula;
  • inkundla kufanele ihlanganiswe ohlelweni olukhona lokukhokha;
  • isofthiwe ne-hardware: Indwangu ye-OpenStack + Tungsten (I-Open Contrail), onjiniyela bethu abaye bayifunda “ukuyipheka” kahle kakhulu.

Sizokutshela ngesinye isikhathi mayelana nokuthi ithimba lihlanganiswe kanjani, isixhumi esibonakalayo se-akhawunti yomuntu siqu sathuthukiswa futhi kwenziwa izinqumo zokuklama, uma umphakathi we-Habra unentshisekelo.
Amathuluzi esinqume ukuwasebenzisa:

  • I-Python + Flask + Swagger + SQLAlchemy - isethi yePython ejwayelekile ngokuphelele;
  • I-Vue.js ye-frontend;
  • Sinqume ukwenza ukuxhumana phakathi kwezingxenye namasevisi sisebenzisa i-Celery phezu kwe-AMQP.

Ukulindela imibuzo mayelana nokukhetha iPython, ngizokuchaza. Ulimi seluthole indawo yalo enkampanini yethu futhi isiko elincane, kodwa namanje, selithuthukile kulo. Ngakho-ke, kwanqunywa ukuba kuqalwe ukwakha inkonzo kuso. Ngaphezu kwalokho, isivinini sokuthuthukiswa kwezinkinga ezinjalo ngokuvamile sinquma.

Ngakho-ke, ake siqale ukwazana kwethu.

Umthethosivivinywa othule - inkokhelo

Kade sazana nalo mfana. Wayehlala eduze kwami ​​futhi ethule ebala okuthile. Ngezinye izikhathi wayedlulisela izicelo zabasebenzisi kithi, akhiphe ama-invoyisi eklayenti, namasevisi aphethwe. Umfana ojwayelekile osebenza kanzima. Yiqiniso, kwakunezinkinga. Uthule, kwesinye isikhathi uyacabanga futhi uvamise ukuba sengqondweni yakhe.

Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk

Ukukhokhisa uhlelo lokuqala esizame ukwenza ubungane nalo. Futhi ubunzima bokuqala esihlangabezane nabo kwakungesikhathi sicubungula amasevisi.

Isibonelo, uma udaliwe noma ususwa, umsebenzi ungena emgqeni wokukhokha wangaphakathi. Ngakho-ke, uhlelo lomsebenzi we-asynchronous nezinsizakalo luyasetshenziswa. Ukuze sicubungule izinhlobo zesevisi yethu, kwakudingeka “sibeke” imisebenzi yethu kulo mugqa. Futhi lapha sihlangabezane nenkinga: ukuntuleka kwemibhalo.

Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk

Uma sibheka incazelo ye-software ye-API, kusengenzeka ukuxazulula le nkinga, kodwa asizange sibe naso isikhathi sokwenza ubunjiniyela obuhlanekezelwe, ngakho-ke sikhiphe i-logic ngaphandle futhi sahlela umugqa womsebenzi phezu kwe-RabbitMQ. Umsebenzi wenkonzo uqalwa iklayenti ku-akhawunti yakhe yomuntu siqu, uphenduka “umsebenzi” kaCelery ngemuva futhi wenziwa ohlangothini lokukhokha kanye ne-OpenStack. I-Celery yenza kube lula ukuphatha imisebenzi, ukuhlela ukuphindaphinda nokuqapha isimo. Ungafunda kabanzi mayelana ne "celery", isibonelo, lapha.

Futhi, ukukhokha akuzange kumise umsebenzi owaphelelwa yimali. Ukuxhumana nonjiniyela, sithole ukuthi lapho sibala izibalo (futhi sidinga ukusebenzisa lolu hlobo lwengqondo ngqo), kunokuhlobana okuyinkimbinkimbi kwemithetho yokumisa. Kodwa lawa mamodeli awahambisani kahle namaqiniso ethu. Siphinde sakusebenzisa ngemisebenzi ku-Celery, siyisa umqondo wokuphatha isevisi ohlangothini olungemuva.

Zombili lezi zinkinga ezingenhla ziholele ekutheni ikhodi ikhukhumale kancane futhi ngokuzayo kuzodingeka senze kabusha ukuze sisuse umqondo wokusebenza ngemisebenzi uye kwisevisi ehlukile. Kudingeka futhi sigcine ulwazi oluthile mayelana nabasebenzisi nezinkonzo zabo kumathebula ethu ukuze sisekele lo mqondo.

Enye inkinga ukuthula.

U-Billy uphendula buthule ngokuthi “Kulungile” kwezinye izicelo ze-API. Lokhu kwaba njalo, isibonelo, lapho senza izinkokhelo zezinkokhelo ezithenjisiwe ngesikhathi sokuhlolwa (okuningi ngalokho kamuva). Izicelo zenziwe ngendlela efanele futhi asibonanga phutha.

Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk

Kwadingeka ngifunde izingodo ngenkathi ngisebenza nesistimu nge-UI. Kuvele ukuthi inkokhiso ngokwayo yenza izicelo ezifanayo, ishintsha indawo ibe kumsebenzisi othile, isibonelo, umlawuli, ukuyidlulisela kupharamitha ye-su.

Ngokuvamile, naphezu kwezikhala zemibhalo kanye namaphutha amancane e-API, konke kuhambe kahle impela. Izingodo zingafundwa ngisho nangaphansi komthwalo osindayo uma uqonda ukuthi zakhiwe kanjani nokuthi yini okufanele uyibheke. Isakhiwo se-database sihlotshisiwe, kodwa sinengqondo futhi ngezinye izindlela siyakhanga.

Ngakho-ke, ukufingqa, izinkinga ezinkulu esihlangabezane nazo esigabeni sokusebenzisana zihlobene nezici zokuqalisa zohlelo oluthile:

  • “izici” ezingabhaliwe ezisithinte ngandlela thize;
  • umthombo ovaliwe (inkokhelo ibhalwe ku-C++), ngenxa yalokho - akunakwenzeka ukuxazulula inkinga 1 nganoma iyiphi indlela ngaphandle kokuthi "isivivinyo nephutha".

Ngenhlanhla, umkhiqizo une-API ebanzi futhi sihlanganise amasistimu angaphansi alandelayo ku-akhawunti yethu yomuntu siqu:

  • imojula yosekelo lobuchwepheshe - izicelo ezivela ku-akhawunti yakho "zifakwe" ekukhokheni ngokusobala kumakhasimende esevisi;
  • imodyuli yezezimali - ikuvumela ukuthi ukhiphe ama-invoyisi kumakhasimende amanje, wenze ukubhala futhi ukhiqize imibhalo yokukhokha;
  • imojula yokulawula isevisi - kulokhu bekufanele sisebenzise isibambi sethu. Ukunwebeka kwesistimu kudlale ezandleni zethu futhi "safundisa" uBilly uhlobo olusha lwesevisi.
    Kube wuhlupho, kodwa ngandlela thize, ngicabanga ukuthi mina noBilly sizozwana.

Ukuhamba emasimini e-tungsten - Indwangu ye-Tungsten

Izinkambu ze-Tungsten zinamakhulu ezintambo, ezidlulisa izinkulungwane zezingcezu zolwazi kuzo. Ulwazi luqoqwe “kumaphakethe”, lucutshungulwe, lwakhiwe imizila eyinkimbinkimbi, njengokungathi ngomlingo.

Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk

Lesi yisizinda sohlelo lwesibili obekumele senze ngalo ubungane - i-Tungsten Fabric (TF), eyake yabizwa nge-OpenContrail. Umsebenzi wayo ukuphatha okokusebenza kwenethiwekhi, ukuhlinzeka ngokufushaniswa kwesoftware kithina njengabasebenzisi. I-TF - SDN, ihlanganisa i-logic eyinkimbinkimbi yokusebenza ngemishini yenethiwekhi. Kukhona isihloko esihle mayelana nobuchwepheshe uqobo, isibonelo, lapha.

Isistimu ihlanganiswe ne-OpenStack (okuxoxwe ngayo ngezansi) nge-plugin ye-Neutron.

Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk
Ukusebenzisana kwezinsizakalo ze-OpenStack.

Abafana bomnyango wezokusebenza basazisile ngalolu hlelo. Sisebenzisa i-API yesistimu ukuphatha isitaki senethiwekhi yamasevisi ethu. Ayikasibangela izinkinga ezinkulu noma iziphazamiso okwamanje (angikwazi ukukhulumela abafana abavela ku-OE), kodwa kube khona okungaqondakali ekusebenzisaneni.

Eyokuqala yayibukeka kanje: imiyalo eyayidinga ukukhipha inani elikhulu ledatha kukhonsoli yesibonelo lapho uxhuma nge-SSH imane “imise” uxhumano, kuyilapho nge-VNC yonke into isebenza kahle.

Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk

Kulabo abangayazi inkinga, kubukeka kuhlekisa kakhulu: ls / impande isebenza kahle, kuyilapho, ngokwesibonelo, "iqhwa" ngokuphelele. Ngenhlanhla, sike sahlangabezana nezinkinga ezifanayo ngaphambili. Kwanqunywa ngokulungisa i-MTU emzileni osuka ku-compute nodes ukuya kuma-routers. Ngendlela, lokhu akuyona inkinga ye-TF.

Inkinga elandelayo yayisiseduze. Ngomzuzu owodwa “omuhle”, umlingo womzila wanyamalala, kanjalo nje. I-TF iyekile ukuphatha umzila kumishini.

Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk

Sisebenze ne-Openstack kusuka ezingeni lomlawuli futhi ngemva kwalokho sathuthela kuleveli yomsebenzisi edingekayo. I-SDN ibonakala "intshontsha" ububanzi bomsebenzisi okwenziwa ngaye izenzo. Iqiniso liwukuthi i-akhawunti efanayo yomqondisi isetshenziselwa ukuxhuma i-TF ne-OpenStack. Esinyathelweni sokushintshela kumsebenzisi, "umlingo" wanyamalala. Kunqunywe ukuthi kwakhiwe i-akhawunti ehlukile ukuze isebenze nesistimu. Lokhu kusivumele ukuthi sisebenze ngaphandle kokuphula umsebenzi wokuhlanganisa.

I-Silicon Lifeforms - i-OpenStack

Isidalwa se-silicone esimise ngendlela eyinqaba sihlala eduze kwamasimu e-tungsten. Okukhulu kunakho konke, kubukeka njengengane ekhule isikwazi ukusichoboza ngomjiko owodwa, kodwa abukho ulaka olusobala oluvela kuye. Ayikubangeli ukwesaba, kodwa ubukhulu bayo bubangela ukwesaba. Njengoba kwenza inkimbinkimbi yalokho okwenzekayo nxazonke.

Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk

I-OpenStack iwumgogodla wesikhulumi sethu.

I-OpenStack inamasistimu angaphansi ambalwa, okwamanje esisebenzisa kakhulu i-Nova, Glance kanye ne-Cinder. Ngayinye yazo ine-API yayo. I-Nova inomthwalo wemfanelo wokubala izinsiza nokudala izimo, i-Cinder inesibopho sokuphatha amavolumu nezifinyezo zawo, i-Glance iyisevisi yesithombe elawula izifanekiso ze-OS nolwazi lwemininingwane kuzo.

Isevisi ngayinye isebenza esitsheni, futhi umthengisi wemiyalezo “unogwaja omhlophe” - RabbitMQ.

Lesi simiso sisinike inkinga ebesingayilindele.

Futhi inkinga yokuqala ayibanga isikhathi eside ukufika lapho sizama ukuxhuma ivolumu eyengeziwe kuseva. I-Cinder API yenqabe ngokuphelele ukwenza lo msebenzi. Ngokunembayo, uma ukholelwa i-OpenStack ngokwayo, uxhumano luyasungulwa, kodwa ayikho idivayisi yediski ngaphakathi kweseva ebonakalayo.

Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk

Sinqume ukuthatha indlela ephambukela futhi sacela isenzo esifanayo ku-Nova API. Umphumela uba ukuthi idivayisi ixhuma kahle futhi ifinyeleleka ngaphakathi kweseva. Kubonakala sengathi inkinga yenzeka lapho i-block-storage ingaphenduli ku-Cinder.

Obunye ubunzima besilindele lapho sisebenza ngamadiski. Ivolumu yesistimu ayikwazanga ukunqanyulwa kuseva.

Futhi, i-OpenStack ngokwayo "ifunga" ukuthi ibhubhise uxhumano futhi manje usungakwazi ukusebenza kahle ngevolumu ngokwehlukana. Kodwa i-API ngokwezigaba yayingafuni ukwenza imisebenzi kudiski.

Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk

Lapha sinqume ukuthi singalwi ikakhulukazi, kodwa siguqule umbono wethu ngomqondo wenkonzo. Uma kunesibonelo, kufanele futhi kube nevolumu yesistimu. Ngakho-ke, umsebenzisi akakwazi ukususa noma ukukhubaza "idiski" yesistimu ngaphandle kokususa "iseva".

I-OpenStack iyisethi eyinkimbinkimbi yezinhlelo ezinomqondo wayo wokusebenzisana kanye ne-API ehlotshisiwe. Sisizwa imibhalo enemininingwane eminingi futhi, kunjalo, ukuzama namaphutha (besiyoba kuphi ngaphandle kwawo).

Ukugijima kokuhlola

Senze isivivinyo sokwethulwa ngoZibandlela wonyaka odlule. Umsebenzi oyinhloko kwakuwukuhlola iphrojekthi yethu kumodi yokulwa kusukela ohlangothini lwezobuchwepheshe kanye nohlangothi lwe-UX. Izithameli zimenywe ngokukhetha futhi ukuhlolwa kwavalwa. Nokho, siphinde sashiya inketho yokucela ukufinyelela ekuhloleni kuwebhusayithi yethu.

Isivivinyo ngokwaso, vele, besinganazo izikhathi ezihlekisayo, ngoba yilapho izigigaba zethu ziqala khona.

Okokuqala, sahlola ngokungalungile intshisekelo kuphrojekthi futhi kwadingeka sengeze ngokushesha amanodi wokubala ngesikhathi sokuhlolwa. Icala elivamile leqoqo, kodwa kwakukhona ama-nuances lapha futhi. Amadokhumenti enguqulo ethile ye-TF abonisa inguqulo ethile ye-kernel okwahlolwa kuyo ukusebenza nge-vRouter. Sinqume ukwethula ama-node anezinhlamvu zakamuva. Ngenxa yalokho, i-TF ayizange ithole imizila evela kumanodi. Kwadingeka ngihlehlise ngokushesha izinhlamvu.

Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk

Enye ilukuluku ihlobene nokusebenza kwenkinobho "shintsha iphasiwedi" ku-akhawunti yakho yomuntu siqu.

Sinqume ukusebenzisa i-JWT ukuhlela ukufinyelela ku-akhawunti yethu yomuntu siqu ukuze singasebenzi namaseshini. Njengoba amasistimu ehlukene futhi ehlakazeke kakhulu, siphatha ithokheni yethu, lapho "sigoqa" izikhathi ezivela ekukhokheni kanye nethokheni evela ku-OpenStack. Uma iphasiwedi ishintshiwe, ithokheni, yebo, "ihamba kabi", ngoba idatha yomsebenzisi ayisavumelekile futhi idinga ukukhishwa kabusha.

Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk

Silahlekelwe umbono waleli phuzu, futhi zazingekho izinsiza ezanele zokuqeda lesi siqeshana ngokushesha. Bekumele sinqamule ukusebenza ngaphambi nje kokuthi sethule isivivinyo.
Okwamanje siphuma ngemvume kumsebenzisi uma iphasiwedi ishintshiwe.

Naphezu kwalawa ma-nuances, ukuhlolwa kuhambe kahle. Emasontweni ambalwa, abantu abangaba ngu-300 bafika. Sikwazile ukubuka umkhiqizo ngeso labasebenzisi, siwuhlole ngesenzo futhi siqoqe impendulo yekhwalithi ephezulu.

Ukuze iqhubeke

Kwabaningi bethu, lena iphrojekthi yokuqala yalesi sikali. Sifunde izifundo eziningi ezibalulekile mayelana nokuthi singasebenza kanjani njengeqembu futhi senze izinqumo zezakhiwo nezokuklama. Ungawahlanganisa kanjani amasistimu ayinkimbinkimbi anezinsiza ezincane bese uwagoqa ekukhiqizeni.

Kunjalo, kukhona okumele kusetshenzwe kukho kokubili ngokwekhodi kanye nasezindaweni zokuhlangana zokuhlanganiswa kwesistimu. Le phrojekthi isencane kakhulu, kodwa sigcwele izifiso zokuyikhulisa ibe isevisi ethembekile nelula.

Sesivele sikwazile ukuncenga izinhlelo. UBill uphatha ngokunenzuzo izicelo zokubala, ukukhokha, nezabasebenzisi ekhabetheni lakhe. "Umlingo" wamasimu we-tungsten usinikeza ukuxhumana okuzinzile. Futhi i-OpenStack kuphela ngezinye izikhathi eba nengqondo, imemeza okuthile njengokuthi “'I-WSREP ayikalungiseli indawo yokusetshenziswa kohlelo lokusebenza. Kodwa leyo indaba ehluke ngokuphelele...

Sisanda kwethula isevisi.
Ungathola yonke imininingwane kwethi yethu isayithi.

Umlando wokudalwa kwesevisi yamafu, enongwe nge-cyberpunk
Ithimba lokuthuthukisa i-CLO

Izixhumanisi eziwusizo

I-OpenStack

Indwangu ye-Tungsten

Source: www.habr.com

Engeza amazwana