Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk

Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk

Yayin da kuke aiki a cikin IT, kun fara lura cewa tsarin yana da nasu hali. Za su iya zama masu sassauƙa, shiru, eccentric, da tsauri. Suna iya jawo hankali ko tunkude. Wata hanya ko wata, dole ne ku "tattaunawa" tare da su, yin motsa jiki tsakanin "ramuka" da kuma gina sarƙoƙi na hulɗar su.

Don haka muna da darajar gina dandalin girgije, kuma saboda wannan muna buƙatar "lallashe" wasu ƙananan tsarin aiki tare da mu. Abin farin ciki, muna da "harshen API", hannaye kai tsaye da kuma sha'awar gaske.

Wannan labarin ba zai zama mai wuyar fasaha ba, amma zai bayyana matsalolin da muka fuskanta yayin gina girgije. Na yanke shawarar bayyana hanyarmu a cikin hanyar fasahar fasaha mai haske game da yadda muke neman harshe gama gari tare da tsarin da abin da ya fito daga ciki.

Barka da zuwa cat.

Fara daga tafiya

Wani lokaci da ya wuce, an ba ƙungiyarmu alhakin ƙaddamar da dandamali na girgije don abokan cinikinmu. Muna da goyon bayan gudanarwa, albarkatu, tarin kayan masarufi da yanci a zabar fasahar aiwatar da ɓangaren software na sabis.

Akwai kuma buƙatu da yawa:

  • sabis ɗin yana buƙatar asusun sirri mai dacewa;
  • dole ne a haɗa dandamali cikin tsarin lissafin da ake da shi;
  • software da hardware: OpenStack + Tungsten Fabric (Open Contrail), wanda injiniyoyinmu suka koya don "dafa" da kyau.

Za mu gaya muku wani lokaci game da yadda ƙungiyar ta taru, an ƙirƙira keɓancewar asusun asusu kuma an yanke shawarar ƙira, idan al'ummar Habra na da sha'awar.
Kayan aikin da muka yanke shawarar amfani da su:

  • Python + Flask + Swagger + SQLAlchemy - ingantaccen saitin Python gaba ɗaya;
  • Vue.js don gaba;
  • Mun yanke shawarar yin hulɗar tsakanin sassan da ayyuka ta amfani da Seleri akan AMQP.

Tsammanin tambayoyi game da zabar Python, zan yi bayani. Harshen ya samo asali a cikin kamfaninmu kuma ƙarami, amma har yanzu al'ada, ya ci gaba a kusa da shi. Saboda haka, an yanke shawarar fara gina sabis a kai. Bugu da ƙari, saurin ci gaba a cikin irin waɗannan matsalolin sau da yawa yana da mahimmanci.

Don haka, bari mu fara saninmu.

Silent Bill - lissafin kuɗi

Mun dade da sanin wannan mutumin. Kullum ya zauna kusa dani ya yi shiru yana kirga wani abu. Wani lokaci ya tura mana buƙatun mai amfani, ya ba da daftarin abokin ciniki, da sabis ɗin sarrafawa. Mutumin talakawa mai aiki tuƙuru. Gaskiya, akwai matsaloli. Ya yi shiru, wani lokacin yana tunani kuma sau da yawa a kan kansa.

Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk

Biyan kuɗi shine tsarin farko da muka yi ƙoƙarin yin abota da shi. Kuma matsalar farko da muka fuskanta ita ce lokacin sarrafa ayyukan.

Misali, lokacin ƙirƙira ko sharewa, ɗawainiya yana shiga cikin layin lissafin kuɗi. Don haka, ana aiwatar da tsarin aikin asynchronous tare da ayyuka. Don aiwatar da nau'ikan sabis ɗinmu, muna buƙatar "sanya" ayyukanmu cikin wannan jerin gwano. Kuma a nan mun shiga cikin matsala: rashin takardun shaida.

Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk

Yin la'akari da bayanin API ɗin software, har yanzu yana yiwuwa a magance wannan matsala, amma ba mu da lokaci don yin aikin injiniya na baya, don haka mun ɗauki ma'anar a waje kuma muka shirya jerin ayyuka a saman RabbitMQ. Abokin ciniki ya fara aiki akan sabis daga asusunsa na sirri, yana juya zuwa "aiki" na Celery a bayan baya kuma ana yin shi akan lissafin kuɗi da kuma OpenStack. Seleri yana sa ya dace sosai don sarrafa ayyuka, tsara maimaitawa da saka idanu. Kuna iya karanta ƙarin game da "selery", misali, a nan.

Hakanan, lissafin kuɗi bai hana aikin da kuɗi ya ƙare ba. Sadarwa tare da masu haɓakawa, mun gano cewa lokacin da ake ƙididdige ƙididdiga (kuma muna buƙatar aiwatar da irin wannan nau'in dabaru), akwai ƙayyadaddun alaƙar ka'idojin dakatarwa. Amma waɗannan samfuran ba su dace da gaskiyar mu ba. Mun kuma aiwatar da shi ta hanyar ayyuka akan Celery, ɗaukar dabarun sarrafa sabis zuwa gefen baya.

Duk matsalolin da ke sama sun haifar da lambar ta zama ɗan kumbura kuma a nan gaba za mu sake sakewa don matsar da ma'anar yin aiki tare da ayyuka a cikin sabis na daban. Hakanan muna buƙatar adana wasu bayanai game da masu amfani da ayyukansu a cikin tebur ɗinmu don tallafawa wannan dabaru.

Wata matsalar kuma ita ce shiru.

Billy a shiru ya amsa "Ok" ga wasu buƙatun API. Haka lamarin ya kasance, alal misali, lokacin da muka biya biyan kuɗin da aka alkawarta yayin gwajin (ƙari akan wancan daga baya). An aiwatar da buƙatun daidai kuma ba mu ga wasu kurakurai ba.

Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk

Dole ne in yi nazarin rajistan ayyukan yayin aiki tare da tsarin ta UI. Ya bayyana cewa lissafin kuɗi da kansa yana yin irin wannan buƙatun, yana canza iyaka zuwa takamaiman mai amfani, misali, admin, yana wuce shi a cikin sigar su.

Gabaɗaya, duk da raguwa a cikin takaddun da ƙananan lahani na API, komai ya tafi da kyau. Ana iya karanta logs ko da a ƙarƙashin nauyi mai nauyi idan kun fahimci yadda aka tsara su da abin da za ku nema. Tsarin ma'ajin bayanai yana da kyan gani, amma yana da ma'ana kuma a wasu hanyoyi ma yana da kyau.

Don haka, don taƙaitawa, manyan matsalolin da muka ci karo da su a matakin hulɗa suna da alaƙa da fasalin aiwatar da takamaiman tsari:

  • “fasalolin” mara izini waɗanda suka shafe mu ta wata hanya ko wata;
  • Rufaffen tushe (an rubuta lissafin kuɗi a cikin C ++), sakamakon haka - ba shi yiwuwa a warware matsalar 1 ta kowace hanya ban da "gwaji da kuskure".

An yi sa'a, samfurin yana da faffadan API kuma mun haɗa waɗannan ƙananan tsarin cikin asusun mu:

  • Tsarin goyan bayan fasaha - buƙatun daga asusun ku na keɓaɓɓen suna “waɗanda ke da alaƙa” zuwa lissafin kuɗi a bayyane ga abokan cinikin sabis;
  • tsarin kudi - yana ba ku damar ba da daftari ga abokan ciniki na yanzu, yin rubuce-rubuce da samar da takaddun biyan kuɗi;
  • tsarin kula da sabis - don wannan dole ne mu aiwatar da namu mai sarrafa. Ƙaddamar da tsarin ya kunna a hannunmu kuma mun "koyawa" Billy sabon nau'in sabis.
    Ya kasance ɗan wahala, amma wata hanya ko wata, ina tsammanin ni da Billy za mu daidaita.

Tafiya ta filayen tungsten - Tungsten Fabric

Filayen Tungsten masu cike da ɗaruruwan wayoyi, suna wuce dubunnan bayanai ta cikin su. Ana tattara bayanai a cikin "fakitoci", rarrabawa, gina hanyoyi masu rikitarwa, kamar ta sihiri.

Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk

Wannan shi ne yanki na tsarin na biyu wanda dole ne mu yi abokai da shi - Tungsten Fabric (TF), wanda a da OpenContrail. Ayyukansa shine sarrafa kayan aikin cibiyar sadarwa, samar da abstraction na software a gare mu a matsayin masu amfani. TF - SDN, yana ƙaddamar da hadaddun dabaru na aiki tare da kayan aikin cibiyar sadarwa. Akwai labari mai kyau game da fasahar kanta, alal misali, a nan.

An haɗa tsarin tare da OpenStack (wanda aka tattauna a ƙasa) ta hanyar Neutron plugin.

Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk
Haɗin kai na ayyukan OpenStack.

Mutanen da ke sashen ayyuka sun gabatar da mu ga wannan tsarin. Muna amfani da API ɗin tsarin don sarrafa tarin ayyukanmu. Bai haifar mana da wata matsala mai tsanani ko rashin jin daɗi ba tukuna (ba zan iya yin magana ga mutanen OE ba), amma an sami wasu rashin daidaituwa a cikin hulɗa.

Na farko yayi kama da haka: umarnin da ke buƙatar fitar da adadi mai yawa na bayanai zuwa na'ura wasan bidiyo na misali lokacin haɗawa ta hanyar SSH kawai "sun rataye" haɗin, yayin da ta hanyar VNC komai yayi aiki daidai.

Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk

Ga wadanda ba su saba da matsalar ba, yana kama da ban dariya: ls / tushen yana aiki daidai, yayin da, alal misali, saman "daskare" gaba daya. Abin farin ciki, mun fuskanci irin waɗannan matsalolin a baya. An yanke shawarar ta hanyar kunna MTU akan hanya daga nodes na lissafi zuwa masu amfani da hanyoyin sadarwa. Af, wannan ba matsalar TF ba ce.

Matsala ta gaba ta kasance a kusa da kusurwa. A cikin wani lokaci "kyakkyawan", sihirin kwatancen ya ɓace, kamar haka. TF ta dakatar da sarrafa kayan aiki.

Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk

Mun yi aiki tare da Opentack daga matakin gudanarwa kuma bayan haka mun matsa zuwa matakin mai amfani da ake buƙata. SDN ya bayyana yana "sata" iyakar mai amfani da wanda ake aiwatar da ayyukan. Gaskiyar ita ce ana amfani da asusun admin iri ɗaya don haɗa TF da OpenStack. A mataki na canzawa zuwa mai amfani, "sihiri" ya ɓace. An yanke shawarar ƙirƙirar asusun daban don aiki tare da tsarin. Wannan ya ba mu damar yin aiki ba tare da karya aikin haɗin kai ba.

Silicon Lifeforms - OpenStack

Wata halitta mai siffar siliki mai ban mamaki tana zaune kusa da filayen tungsten. Fiye da duka, yana kama da yaro mai girma wanda zai iya murkushe mu da motsi ɗaya, amma babu wani zalunci a fili daga gare shi. Ba ya haifar da tsoro, amma girmansa yana sa tsoro. Kamar yadda da sarkakiyar abubuwan da ke faruwa a kusa.

Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk

OpenStack shine jigon dandalinmu.

OpenStack yana da tsarin ƙasa da yawa, waɗanda muke amfani da su a halin yanzu Nova, Glance da Cinder sosai. Kowannen su yana da nasa API. Nova ne ke da alhakin ƙididdige albarkatu da ƙirƙirar yanayi, Cinder yana da alhakin sarrafa juzu'i da hotunan su, Glance sabis ne na hoto wanda ke sarrafa samfuran OS da bayanan metain akan su.

Kowane sabis yana gudana a cikin akwati, kuma dillalin saƙo shine "fararen zomo" - RabbitMQ.

Wannan tsarin ya ba mu matsala mafi ban mamaki.

Kuma matsala ta farko ba ta daɗe ba lokacin da muka yi ƙoƙarin haɗa ƙarin ƙara zuwa uwar garken. Cinder API gabaɗaya ya ƙi yin wannan aikin. Hakazalika, idan kun gaskanta OpenStack kanta, haɗin yana kafa, amma babu na'urar diski a cikin uwar garken kama-da-wane.

Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk

Mun yanke shawarar ɗaukar hanya kuma mun nemi wannan mataki daga Nova API. Sakamakon shine cewa na'urar ta haɗu daidai kuma ana iya samun dama ga uwar garke. Ya bayyana cewa matsalar tana faruwa lokacin da block-storage bai amsa Cinder ba.

Wata wahala ta jira mu lokacin aiki da faifai. Ba za a iya cire haɗin ƙarar tsarin daga uwar garken ba.

Bugu da ƙari, OpenStack kanta "ya yi rantsuwa" cewa ya lalata haɗin kuma yanzu za ku iya aiki daidai da ƙarar daban. Amma API ɗin ba ya son yin ayyuka akan faifai.

Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk

A nan mun yanke shawarar kada mu yi yaƙi musamman, amma don canza ra'ayinmu game da dabaru na sabis. Idan akwai misali, dole ne kuma a sami ƙarar tsarin. Don haka, mai amfani ba zai iya cirewa ko kashe tsarin “faifan” ba tare da share “uwar garken”.

OpenStack wani tsari ne mai rikitarwa mai rikitarwa tare da dabarun mu'amala da API mai kyau. Ana taimaka mana ta cikakkun bayanai dalla-dalla kuma, ba shakka, gwaji da kuskure (inda za mu kasance ba tare da shi ba).

Gwaji gudu

Mun gudanar da kaddamar da gwaji a watan Disambar bara. Babban aikin shine gwada aikin mu a yanayin fama daga bangaren fasaha da kuma daga bangaren UX. An gayyato masu sauraro zaɓaɓɓu kuma an rufe gwajin. Koyaya, mun kuma bar zaɓi don neman damar yin gwaji akan gidan yanar gizon mu.

Jarabawar da kanta, ba shakka, ba ta kasance ba tare da lokacin ban dariya ba, domin a nan ne abubuwan da suka faru suka fara farawa.

Da fari dai, mun ɗan tantance sha'awar aikin da ɗan kuskure ba daidai ba kuma dole ne mu ƙara ƙididdige ƙididdiga daidai yayin gwajin. Harka gama gari don tari, amma akwai wasu nuances anan ma. Takaddun don takamaiman sigar TF na nuna takamaiman sigar kernel akan wanda aka gwada aiki tare da vRouter. Mun yanke shawarar ƙaddamar da nodes tare da ƙarin kwayayen kwanan nan. Sakamakon haka, TF ba ta sami hanyoyi daga nodes ba. Dole na yi gaggawar mirgina kwayayen.

Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk

Wani abin sha'awa yana da alaƙa da aikin maɓallin “canja kalmar sirri” a cikin keɓaɓɓen asusun ku.

Mun yanke shawarar yin amfani da JWT don tsara hanyar shiga asusunmu don kada mu yi aiki da taro. Tun da tsarin sun bambanta kuma sun watsu sosai, muna sarrafa alamar kanmu, wanda muke "nannade" zaman daga lissafin kuɗi da alama daga OpenStack. Lokacin da aka canza kalmar sirri, alamar, ba shakka, "ta yi kyau", tun da bayanan mai amfani ba su da inganci kuma yana buƙatar sake fitowa.

Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk

Mun rasa ma'anar wannan batu, kuma babu isassun albarkatun da za a iya kammala wannan yanki cikin sauri. Dole ne mu yanke aikin kafin ƙaddamar da gwajin.
A halin yanzu muna fitar da mai amfani idan an canza kalmar wucewa.

Duk da waɗannan nuances, gwaji ya yi kyau. A cikin makonni biyu, kusan mutane 300 ne suka tsaya. Mun sami damar kallon samfurin ta idanun masu amfani, gwada shi a aikace kuma mu tattara ra'ayi mai inganci.

Don ci gaba

Ga yawancin mu, wannan shine aikin farko na wannan sikelin. Mun koyi darussa da yawa masu mahimmanci game da yadda ake aiki tare da yin yanke shawara na gine-gine da ƙira. Yadda za a haɗa hadaddun tsarin tare da ƙananan albarkatun kuma mirgine su cikin samarwa.

Tabbas, akwai wani abu da za a yi aiki a kan duka cikin sharuddan lamba da kuma a musaya na haɗin tsarin tsarin. Aikin matashi ne, amma muna cike da buri na haɓaka shi zuwa sabis mai inganci kuma mai dacewa.

Mun riga mun sami damar shawo kan tsarin. Bill yana kula da kirgawa, lissafin kuɗi, da buƙatun mai amfani a cikin kabad ɗinsa. “Sihirin” filayen tungsten yana ba mu ingantaccen sadarwa. Kuma kawai OpenStack wani lokaci yana da ban mamaki, yana ihu wani abu kamar "'WSREP bai riga ya shirya kumburi don amfani da aikace-aikacen ba." Amma wannan labari ne kwata-kwata...

Mun ƙaddamar da sabis ɗin kwanan nan.
Kuna iya samun duk cikakkun bayanai akan mu shafin.

Tarihin ƙirƙirar sabis na girgije, mai ɗanɗano tare da cyberpunk
Ƙungiyar Ci gaban CLO

hanyoyi masu amfani

OpenStack

Tungsten Fabric

source: www.habr.com

Add a comment