Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk

Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk

Bi o ṣe n ṣiṣẹ ni IT, o bẹrẹ lati ṣe akiyesi pe awọn eto ni ihuwasi tiwọn. Wọn le rọ, ipalọlọ, eccentric, ati ẹhin. Wọn le fa tabi kọ. Ni ọna kan tabi omiiran, o ni lati “dunadura” pẹlu wọn, ọgbọn laarin “awọn ọfin” ati kọ awọn ẹwọn ti ibaraenisepo wọn.

Nitorinaa a ni ọlá ti kikọ ipilẹ awọsanma kan, ati fun eyi a nilo lati “yi” awọn ọna ṣiṣe abẹlẹ meji kan lati ṣiṣẹ pẹlu wa. O da, a ni “ede API”, ọwọ taara ati itara pupọ.

Nkan yii kii yoo jẹ ogbontarigi imọ-ẹrọ, ṣugbọn yoo ṣapejuwe awọn iṣoro ti a koju lakoko kikọ awọsanma naa. Mo pinnu lati ṣe apejuwe ọna wa ni irisi irokuro imọ-ẹrọ ina nipa bi a ṣe wa ede ti o wọpọ pẹlu awọn eto ati ohun ti o jade.

Kaabo si ologbo.

Ibẹrẹ ọna

Ni akoko diẹ sẹyin, ẹgbẹ wa ni iṣẹ ṣiṣe lati ṣe ifilọlẹ Syeed awọsanma fun awọn alabara wa. A ni atilẹyin iṣakoso, awọn orisun, akopọ ohun elo ati ominira ni yiyan awọn imọ-ẹrọ lati ṣe apakan sọfitiwia ti iṣẹ naa.

Awọn nọmba kan ti awọn ibeere tun wa:

  • iṣẹ naa nilo akọọlẹ ti ara ẹni ti o rọrun;
  • Syeed gbọdọ wa ni idapo sinu eto isanwo ti o wa;
  • sọfitiwia ati ohun elo: OpenStack + Tungsten Fabric (Open Contrail), eyiti awọn onimọ-ẹrọ wa ti kọ lati “se” daradara.

A yoo sọ fun ọ ni akoko miiran nipa bii ẹgbẹ naa ṣe pejọ, wiwo akọọlẹ ti ara ẹni ni idagbasoke ati awọn ipinnu apẹrẹ ti a ṣe, ti agbegbe Habra ba nifẹ si.
Awọn irinṣẹ ti a pinnu lati lo:

  • Python + Flask + Swagger + SQLAlchemy - eto Python boṣewa pipe;
  • Vue.js fun iwaju;
  • A pinnu lati ṣe ibaraenisepo laarin awọn paati ati awọn iṣẹ nipa lilo Seleri lori AMQP.

Awọn ibeere ifojusọna nipa yiyan Python, Emi yoo ṣalaye. Ede naa ti rii onakan rẹ ni ile-iṣẹ wa ati kekere kan, ṣugbọn sibẹ aṣa, ti ni idagbasoke ni ayika rẹ. Nitorinaa, o pinnu lati bẹrẹ kikọ iṣẹ naa lori rẹ. Pẹlupẹlu, iyara ti idagbasoke ni iru awọn iṣoro nigbagbogbo jẹ ipinnu.

Nitorinaa, jẹ ki a bẹrẹ ojulumọ wa.

Bill ipalọlọ - ìdíyelé

A ti mọ ọkunrin yii fun igba pipẹ. O nigbagbogbo joko tókàn si mi ati ki o si ipalọlọ kà nkankan. Nigba miiran o firanṣẹ awọn ibeere olumulo si wa, ti ṣe awọn risiti alabara, ati awọn iṣẹ iṣakoso. Arakunrin ti n ṣiṣẹ takuntakun. Lóòótọ́, àwọn ìṣòro wà. O dakẹ, nigbamiran o ronu ati nigbagbogbo lori ọkan ara rẹ.

Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk

Ìdíyelé ni akọkọ eto ti a gbiyanju lati ṣe awọn ọrẹ pẹlu. Ati pe iṣoro akọkọ ti a pade ni nigba awọn iṣẹ ṣiṣe.

Fun apẹẹrẹ, nigba ti ṣẹda tabi paarẹ, iṣẹ-ṣiṣe kan lọ sinu isinyi ìdíyelé inu. Nitorinaa, eto iṣẹ asynchronous pẹlu awọn iṣẹ ti wa ni imuse. Lati ṣe ilana awọn iru iṣẹ wa, a nilo lati “fi” awọn iṣẹ-ṣiṣe wa sinu isinyi yii. Ati pe nibi a sare sinu iṣoro kan: aini ti iwe.

Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk

Ni idajọ nipasẹ apejuwe API sọfitiwia, o tun ṣee ṣe lati yanju iṣoro yii, ṣugbọn a ko ni akoko lati ṣe imọ-ẹrọ yiyipada, nitorinaa a mu ọgbọn naa ni ita ati ṣeto isinyi iṣẹ-ṣiṣe lori oke RabbitMQ. Iṣiṣẹ kan lori iṣẹ kan ti bẹrẹ nipasẹ alabara lati akọọlẹ ti ara ẹni, yipada si “iṣẹ-ṣiṣe” Seleri kan ni ẹhin ati pe o ṣe lori ìdíyelé ati ẹgbẹ OpenStack. Seleri jẹ ki o rọrun pupọ lati ṣakoso awọn iṣẹ ṣiṣe, ṣeto awọn atunwi ati ipo atẹle. O le ka diẹ sii nipa “seleri”, fun apẹẹrẹ, nibi.

Paapaa, isanwo ko da iṣẹ akanṣe kan ti o pari ni owo. Ibaraẹnisọrọ pẹlu awọn olupilẹṣẹ, a rii pe nigbati o ba n ṣe iṣiro awọn iṣiro (ati pe a nilo lati ṣe imuse iru ọgbọn yii gangan), ibaramu eka kan wa ti awọn ofin idaduro. Ṣugbọn awọn awoṣe wọnyi ko baamu daradara pẹlu awọn otitọ wa. A tun ṣe imuse rẹ nipasẹ awọn iṣẹ ṣiṣe lori Seleri, mu ọgbọn iṣakoso iṣẹ si ẹgbẹ ẹhin.

Mejeji ti awọn iṣoro ti o wa loke yori si koodu di kekere ti o pọ ati ni ọjọ iwaju a yoo ni lati ṣe atunṣe lati le gbe ọgbọn-ọrọ fun ṣiṣẹ pẹlu awọn iṣẹ-ṣiṣe sinu iṣẹ lọtọ. A tun nilo lati tọju alaye diẹ nipa awọn olumulo ati awọn iṣẹ wọn sinu awọn tabili wa lati ṣe atilẹyin ọgbọn yii.

Iṣoro miiran jẹ ipalọlọ.

Billy dakẹ dahun “Ok” si diẹ ninu awọn ibeere API. Eyi jẹ ọran, fun apẹẹrẹ, nigba ti a ṣe awọn sisanwo ti awọn sisanwo ti a ṣe ileri lakoko idanwo naa (diẹ sii lori iyẹn nigbamii). Awọn ibeere naa ti ṣiṣẹ ni deede ati pe a ko rii awọn aṣiṣe eyikeyi.

Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk

Mo ni lati ṣe iwadi awọn akọọlẹ lakoko ti n ṣiṣẹ pẹlu eto nipasẹ UI. O wa jade pe ìdíyelé funrararẹ ṣe awọn ibeere ti o jọra, yiyipada iwọn si olumulo kan pato, fun apẹẹrẹ, abojuto, gbigbe ni paramita su.

Ni gbogbogbo, laibikita awọn ela ninu iwe ati awọn abawọn API kekere, ohun gbogbo lọ daradara. Awọn akọọlẹ le ka paapaa labẹ ẹru iwuwo ti o ba loye bi wọn ṣe ṣeto ati kini lati wa. Awọn ọna ti awọn database jẹ ornate, sugbon oyimbo mogbonwa ati ni diẹ ninu awọn ọna ani wuni.

Nitorinaa, lati ṣe akopọ, awọn iṣoro akọkọ ti a pade ni ipele ibaraenisepo ni ibatan si awọn ẹya imuse ti eto kan pato:

  • “awọn ẹya ara ẹrọ” ti ko ni iwe-aṣẹ ti o kan wa ni ọna kan tabi omiiran;
  • orisun ti a ti pa (ti kọ ìdíyelé ni C ++), bi abajade - ko ṣee ṣe lati yanju iṣoro 1 ni eyikeyi ọna miiran ju "idanwo ati aṣiṣe".

O da, ọja naa ni API ti o gbooro ati pe a ti ṣepọ awọn ọna ṣiṣe abẹlẹ wọnyi sinu akọọlẹ ti ara ẹni:

  • module atilẹyin imọ-ẹrọ - awọn ibeere lati akọọlẹ ti ara ẹni jẹ “aṣoju” si ìdíyelé ni gbangba fun awọn alabara iṣẹ;
  • module owo - ngbanilaaye lati fun awọn risiti si awọn alabara lọwọlọwọ, ṣe awọn kikọ silẹ ati ṣe awọn iwe isanwo;
  • module iṣakoso iṣẹ - fun eyi a ni lati ṣe imuse oluṣakoso tiwa. Imudara ti eto naa dun si ọwọ wa ati pe a “kọ” Billy iru iṣẹ tuntun kan.
    O je kan bit ti a wahala, ṣugbọn ona kan tabi miiran, Mo ro pe Billy ati Emi yoo gba pẹlú.

Rin nipasẹ awọn aaye tungsten - Tungsten Fabric

Awọn aaye Tungsten ti sami pẹlu awọn ọgọọgọrun awọn okun waya, ti n kọja awọn ẹgbẹẹgbẹrun awọn alaye diẹ nipasẹ wọn. Alaye ti wa ni gbigba sinu “awọn apo-iwe”, atupalẹ, kikọ awọn ipa ọna eka, bi ẹnipe nipa idan.

Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk

Eyi ni agbegbe ti eto keji pẹlu eyiti a ni lati ṣe awọn ọrẹ - Tungsten Fabric (TF), OpenContrail tẹlẹ. Iṣe-ṣiṣe rẹ ni lati ṣakoso ohun elo nẹtiwọọki, pese abstraction sọfitiwia si wa bi awọn olumulo. TF - SDN, ṣe akopọ ọgbọn-ọrọ eka ti ṣiṣẹ pẹlu ohun elo nẹtiwọọki. Nkan ti o dara wa nipa imọ-ẹrọ funrararẹ, fun apẹẹrẹ, nibi.

Awọn eto ti wa ni ese pẹlu OpenStack (sisọ ni isalẹ) nipasẹ Neutron itanna.

Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk
Ibaṣepọ ti awọn iṣẹ OpenStack.

Awọn eniyan lati ẹka iṣẹ ṣiṣe ṣafihan wa si eto yii. A lo API eto lati ṣakoso akopọ nẹtiwọọki ti awọn iṣẹ wa. Ko ti fa awọn iṣoro to ṣe pataki tabi awọn aibalẹ sibẹsibẹ (Emi ko le sọ fun awọn eniyan buruku lati OE), ṣugbọn diẹ ninu awọn oddities ti wa ni ibaraenisepo.

Ni igba akọkọ ti dabi eyi: awọn aṣẹ ti o nilo ṣiṣejade iye nla ti data si console apẹẹrẹ nigbati o ba sopọ nipasẹ SSH nirọrun “fikun” asopọ, lakoko ti VNC ohun gbogbo ṣiṣẹ ni deede.

Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk

Fun awọn ti ko faramọ iṣoro naa, o dabi ohun ti o dun: ls / root ṣiṣẹ ni deede, lakoko ti, fun apẹẹrẹ, oke “didi” patapata. O da, a ti pade iru awọn iṣoro tẹlẹ. O ti pinnu nipasẹ yiyi MTU lori ipa-ọna lati awọn apa oniṣiro si awọn olulana. Nipa ọna, eyi kii ṣe iṣoro TF.

Nigbamii ti isoro je o kan ni ayika igun. Ni akoko “ẹwa” kan, idan ti afisona parẹ, bii iyẹn. TF ti dẹkun iṣakoso ipa-ọna lori ẹrọ naa.

Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk

A ṣiṣẹ pẹlu Openstack lati ipele abojuto ati lẹhin iyẹn gbe lọ si ipele olumulo ti o nilo. SDN han lati “jija” ipari ti olumulo nipasẹ ẹniti o ṣe awọn iṣe. Otitọ ni pe akọọlẹ abojuto kanna ni a lo lati sopọ TF ati OpenStack. Ni igbesẹ ti yi pada si olumulo, “idan” naa parẹ. O ti pinnu lati ṣẹda akọọlẹ lọtọ lati ṣiṣẹ pẹlu eto naa. Eyi gba wa laaye lati ṣiṣẹ laisi fifọ iṣẹ iṣọpọ.

Ohun alumọni Lifeforms - OpenStack

Ẹda silikoni ti o ni apẹrẹ bizarre n gbe nitosi awọn aaye tungsten. Ju gbogbo rẹ̀ lọ, ó dà bí ọmọ tí ó ti dàgbà jù tí ó lè fi ọ̀kọ̀ọ̀kan gbá wa mọ́lẹ̀, ṣùgbọ́n kò sí ìkà tí ó hàn gbangba tí ó ti ọ̀dọ̀ rẹ̀ wá. Ko fa iberu, ṣugbọn iwọn rẹ nfa iberu. Gẹgẹ bi idiju ti ohun ti n ṣẹlẹ ni ayika.

Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk

OpenStack jẹ ipilẹ ti pẹpẹ wa.

OpenStack ni ọpọlọpọ awọn ọna ṣiṣe abẹlẹ, eyiti a lo lọwọlọwọ Nova, Glance ati Cinder pupọ julọ. Olukuluku wọn ni API tirẹ. Nova jẹ iduro fun awọn orisun iṣiro ati ṣiṣẹda awọn iṣẹlẹ, Cinder jẹ iduro fun ṣiṣakoso awọn iwọn didun ati awọn aworan iwoye wọn, Glance jẹ iṣẹ aworan kan ti o ṣakoso awọn awoṣe OS ati alaye metain lori wọn.

Iṣẹ kọọkan n ṣiṣẹ ninu apoti kan, ati alagbata ifiranṣẹ jẹ “ehoro funfun” - RabbitMQ.

Eto yii fun wa ni wahala airotẹlẹ julọ.

Ati pe iṣoro akọkọ ko pẹ ni wiwa nigba ti a gbiyanju lati so iwọn didun afikun pọ si olupin naa. Cinder API kọ laipẹ lati ṣe iṣẹ-ṣiṣe yii. Ni deede diẹ sii, ti o ba gbagbọ OpenStack funrararẹ, asopọ ti wa ni idasilẹ, ṣugbọn ko si ẹrọ disiki inu olupin foju.

Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk

A pinnu lati ya irin-ajo ati beere igbese kanna lati Nova API. Abajade ni pe ẹrọ naa so pọ daradara ati pe o wa laarin olupin naa. O han pe iṣoro naa waye nigbati ibi-ipamọ-ipamọ ko dahun si Cinder.

Iṣoro miiran n duro de wa nigbati a ba n ṣiṣẹ pẹlu awọn disiki. Iwọn iwọn eto ko le ge asopọ lati olupin naa.

Lẹẹkansi, OpenStack funrararẹ “bura” pe o ti pa asopọ run ati ni bayi o le ṣiṣẹ ni deede pẹlu iwọn didun lọtọ. Ṣugbọn API ni pato ko fẹ lati ṣe awọn iṣẹ lori disiki naa.

Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk

Nibi a pinnu lati ma ja ni pataki, ṣugbọn lati yi oju wa pada ti ọgbọn ti iṣẹ naa. Ti apẹẹrẹ ba wa, iwọn eto gbọdọ tun wa. Nitorinaa, olumulo ko le yọkuro tabi mu eto “disk” kuro laisi piparẹ “olupin”.

OpenStack jẹ eto awọn ọna ṣiṣe eka pupọ pẹlu ọgbọn ibaraenisepo tirẹ ati API ornate. A ṣe iranlọwọ nipasẹ awọn iwe alaye ti o tọ ati, nitorinaa, idanwo ati aṣiṣe (nibo ni a yoo wa laisi rẹ).

Ṣiṣe idanwo

A ṣe ifilọlẹ idanwo kan ni Oṣu kejila ọdun to kọja. Iṣẹ akọkọ ni lati ṣe idanwo iṣẹ akanṣe wa ni ipo ija lati ẹgbẹ imọ-ẹrọ ati lati ẹgbẹ UX. A pe awọn olugbo ni yiyan ati pe idanwo naa ti wa ni pipade. Sibẹsibẹ, a tun ti fi aṣayan silẹ lati beere iraye si idanwo lori oju opo wẹẹbu wa.

Idanwo naa funrararẹ, nitorinaa, kii ṣe laisi awọn akoko alarinrin rẹ, nitori eyi ni ibiti awọn iṣẹlẹ wa ti n bẹrẹ.

Ni akọkọ, a ṣe iṣiro diẹ ti ko tọ si iwulo ninu iṣẹ akanṣe ati pe a ni lati ṣafikun awọn apa oniṣiro ni kiakia lakoko idanwo naa. Ọran ti o wọpọ fun iṣupọ kan, ṣugbọn diẹ ninu awọn nuances wa nibi paapaa. Awọn iwe fun ẹya kan pato ti TF tọkasi ẹya pato ti ekuro lori eyiti iṣẹ pẹlu vRouter ti ni idanwo. A pinnu lati ṣe ifilọlẹ awọn apa pẹlu awọn ekuro aipẹ diẹ sii. Bi abajade, TF ko gba awọn ipa-ọna lati awọn apa. Mo ni lati yi awọn kernel pada ni kiakia.

Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk

Iwariiri miiran jẹ ibatan si iṣẹ ṣiṣe ti bọtini “ayipada ọrọ igbaniwọle” ninu akọọlẹ ti ara ẹni.

A pinnu láti lo JWT láti ṣètò àyè sí àkáǹtì ti ara ẹni kí a má bàa ṣiṣẹ́ pẹ̀lú àwọn àkókò. Niwọn bi awọn ọna ṣiṣe ti yatọ ati tuka kaakiri, a ṣakoso aami tiwa, ninu eyiti a “fi ipari si” awọn akoko lati ìdíyelé ati ami kan lati OpenStack. Nigbati ọrọ igbaniwọle ba yipada, ami naa, dajudaju, “lọ buburu”, nitori data olumulo ko wulo ati pe o nilo lati tun gbejade.

Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk

A padanu aaye yii, ati pe ko si awọn orisun ti o to lati pari nkan yii ni kiakia. A ni lati ge iṣẹ naa kuro ni kete ṣaaju ifilọlẹ idanwo naa.
Lọwọlọwọ a jade kuro ni olumulo ti ọrọ igbaniwọle ba ti yipada.

Pelu awọn nuances wọnyi, idanwo lọ daradara. Ni ọsẹ meji kan, nipa awọn eniyan 300 duro. A ni anfani lati wo ọja naa nipasẹ awọn oju ti awọn olumulo, ṣe idanwo rẹ ni iṣe ati gba awọn esi didara ga.

Lati tesiwaju

Fun ọpọlọpọ wa, eyi ni iṣẹ akanṣe akọkọ ti iwọn yii. A kọ awọn nọmba kan ti awọn ẹkọ ti o niyelori nipa bi a ṣe le ṣiṣẹ bi ẹgbẹ kan ati ṣe awọn ipinnu ayaworan ati apẹrẹ. Bii o ṣe le ṣepọ awọn eto idiju pẹlu awọn orisun kekere ki o yi wọn sinu iṣelọpọ.

Nitoribẹẹ, ohunkan wa lati ṣiṣẹ lori mejeeji ni awọn ofin ti koodu ati ni awọn atọkun ti iṣọpọ eto. Ise agbese na jẹ ọmọde pupọ, ṣugbọn a kun fun awọn ireti lati dagba sii sinu iṣẹ ti o gbẹkẹle ati irọrun.

A ti tẹlẹ ni anfani lati persuade awọn ọna šiše. Bill fi ọwọ ṣe itọju kika, ìdíyelé, ati awọn ibeere olumulo ninu kọlọfin rẹ. "idan" ti awọn aaye tungsten pese wa pẹlu ibaraẹnisọrọ iduroṣinṣin. Ati pe OpenStack nikan ni igba miiran ti n pariwo, ti n pariwo nkan bii “'WSREP ko tii pese ipade fun lilo ohun elo.” Ṣugbọn iyẹn jẹ itan ti o yatọ patapata…

Laipẹ a ṣe ifilọlẹ iṣẹ naa.
O le wa jade gbogbo awọn alaye lori wa Aaye.

Awọn itan ti awọn ẹda ti a awọsanma iṣẹ, adun pẹlu cyberpunk
CLO Development Team

wulo awọn ọna asopọ

OpenStack

Tungsten Fabric

orisun: www.habr.com

Fi ọrọìwòye kun