Stair chruthú seirbhíse néil, blaistithe le cyberpunk

Stair chruthú seirbhíse néil, blaistithe le cyberpunk

De réir mar a oibríonn tú in TF, tosaíonn tú ag tabhairt faoi deara go bhfuil a gcarachtar féin ag córais. Is féidir leo a bheith solúbtha, ciúin, eccentric, agus deireadh. Is féidir leo a mhealladh nó a repel. Bealach amháin nó bealach eile, caithfidh tú “idirbheartaíocht” a dhéanamh leo, ainliú idir “gaistí” agus slabhraí dá n-idirghníomhaíocht a thógáil.

Mar sin bhí sé d’onóir againn ardán scamall a thógáil, agus chuige sin b’éigean dúinn cúpla fochóras a “spreagadh” chun oibriú linn. Ar ámharaí an tsaoil, tá “teanga API”, lámha díreacha againn agus a lán díograis.

Ní hardcore teicniúil a bheidh san alt seo, ach déanfaidh sé cur síos ar na fadhbanna a bhí againn agus an scamall á thógáil. Chinn mé cur síos a dhéanamh ar ár gcosán i bhfoirm fantaisíocht theicniúil éadrom faoin gcaoi a d'fhéachamar le teanga choiteann le córais agus cad a tháinig as.

Fáilte go cat.

Tús an turais

Tamall ó shin, cuireadh de chúram ar ár bhfoireann ardán scamall a sheoladh dár gcliaint. Bhí tacaíocht bhainistíochta, acmhainní, cruach crua-earraí agus saoirse againn maidir le teicneolaíochtaí a roghnú chun an chuid bogearraí den tseirbhís a chur i bhfeidhm.

Bhí roinnt riachtanas ann freisin:

  • tá cuntas áisiúil pearsanta ag teastáil ón tseirbhís;
  • ní mór an t-ardán a chomhtháthú leis an gcóras billeála atá ann cheana;
  • bogearraí agus crua-earraí: Fabraic OpenStack + Tungstain (Contrail Oscailte), a bhfuil foghlamtha ag ár n-innealtóirí conas a “chócaireacht” go maith.

Inseoimid duit am eile faoi conas a cuireadh an fhoireann le chéile, forbraíodh an comhéadan cuntais phearsanta agus rinneadh cinntí dearaidh, má tá suim ag pobal Habra ann.
Na huirlisí a bheartaíomar a úsáid:

  • Python + Flask + Swagger + SQLAlchemy - sraith Python go hiomlán caighdeánach;
  • Vue.js le haghaidh tosaigh;
  • Shocraigh muid an idirghníomhaíocht idir comhpháirteanna agus seirbhísí a dhéanamh ag baint úsáide as Soilire thar AMQP.

Ag súil le ceisteanna faoi roghnú Python, míneoidh mé. Tá a nideoige aimsithe ag an teanga inár gcuideachta agus tá cultúr beag, ach fós féin, tar éis forbairt timpeall uirthi. Mar sin, socraíodh tosú ag tógáil na seirbhíse air. Thairis sin, is minic a bhíonn luas na forbartha i bhfadhbanna den sórt sin cinntitheach.

Mar sin, a ligean ar tús a chur lenár acquaintance.

Bille Chiúin - billeáil

Tá aithne againn ar an bhfear seo le fada an lá. Shuigh sé in aice liom i gcónaí agus rud éigin a chomhaireamh go ciúin. Uaireanta chuir sé iarratais úsáideoirí ar aghaidh chugainn, d'eisigh sé sonraisc chliaint, agus bhainistigh sé seirbhísí. Fear gnáth dícheallach. Fíor, bhí deacrachtaí ann. Bíonn sé ina thost, uaireanta tuisceanach agus go minic ar a intinn féin.

Stair chruthú seirbhíse néil, blaistithe le cyberpunk

Is é an billeáil an chéad chóras a ndearnamar iarracht cairdeas a dhéanamh leis. Agus ba í an chéad deacracht a bhí againn le linn seirbhísí a phróiseáil.

Mar shampla, nuair a chruthaítear nó nuair a scriostar é, téann tasc isteach sa scuaine billeála inmheánach. Mar sin, cuirtear córas oibre asincrónach le seirbhísí i bhfeidhm. Chun ár gcineálacha seirbhíse a phróiseáil, bhí orainn ár dtascanna a “chur” sa scuaine seo. Agus anseo ritheamar isteach fadhb: easpa doiciméadú.

Stair chruthú seirbhíse néil, blaistithe le cyberpunk

Ag breithiúnas leis an gcur síos ar an API bogearraí, is féidir an fhadhb seo a réiteach fós, ach ní raibh am againn innealtóireacht droim ar ais a dhéanamh, agus mar sin ghlacamar an loighic lasmuigh agus d'eagraíomar scuaine tasc ar bharr RabbitMQ. Is é an cliant a thionscnaíonn oibríocht ar sheirbhís óna chuntas pearsanta, déantar “tasc” Soilire ar an inneall agus déantar é ar thaobh na billeála agus OpenStack. Déanann soilire go leor áisiúil chun tascanna a bhainistiú, athrá a eagrú agus monatóireacht a dhéanamh ar stádas. Is féidir leat tuilleadh a léamh faoi “soilire”, mar shampla, anseo.

Chomh maith leis sin, níor chuir billeáil stop le tionscadal a d'éirigh as airgead. Cumarsáid a dhéanamh leis na forbróirí, fuair muid amach go bhfuil nuair a ríomh staitisticí (agus ní mór dúinn a chur i bhfeidhm go díreach den chineál seo loighic), tá idirghaol casta na rialacha stad. Ach ní luíonn na samhlacha seo go maith lenár réaltachtaí. Chuireamar i bhfeidhm é freisin trí thascanna ar Soilire, ag tabhairt an loighic bainistíochta seirbhíse go dtí an taobh backend.

Mar thoradh ar an dá fhadhb thuas d'éirigh an cód beagán faoi bhláth agus sa todhchaí beidh orainn athfhachtóir a dhéanamh chun an loighic le haghaidh oibriú le tascanna a aistriú go seirbhís ar leith. Ní mór dúinn freisin roinnt faisnéise faoi úsáideoirí agus a gcuid seirbhísí a stóráil inár dtáblaí chun tacú leis an loighic seo.

Fadhb eile is ea ciúnas.

Freagraíonn Billy go ciúin “OK” ar roinnt iarratais API. Bhí sé seo amhlaidh, mar shampla, nuair a rinneamar íocaíochtaí geallta le linn na tástála (tuilleadh air sin níos déanaí). Rinneadh na hiarratais i gceart agus ní fhacamar aon earráidí.

Stair chruthú seirbhíse néil, blaistithe le cyberpunk

Bhí orm staidéar a dhéanamh ar na logaí agus mé ag obair leis an gcóras tríd an Chomhéadain. Iompaigh sé amach go ndéanann an bhilleáil féin iarratais den chineál céanna, ag athrú an raon feidhme chuig úsáideoir ar leith, mar shampla, admin, é a rith sa pharaiméadar su.

Go ginearálta, in ainneoin na bearnaí sa doiciméadú agus lochtanna beaga API, chuaigh gach rud go maith. Is féidir logaí a léamh fiú faoi ualach trom má thuigeann tú conas atá siad struchtúrtha agus cad ba cheart a lorg. Tá struchtúr an bhunachair sonraí ornáideach, ach sách loighciúil agus ar bhealaí áirithe fiú tarraingteach.

Mar sin, chun achoimre a dhéanamh, baineann na príomhfhadhbanna a tháinig muid chun solais ag an gcéim idirghníomhaíochta le gnéithe cur chun feidhme córais ar leith:

  • “gnéithe” neamhdhoiciméadaithe a chuaigh i bhfeidhm orainn ar bhealach amháin nó ar bhealach eile;
  • foinse dúnta (tá an billeáil scríofa i C++), mar thoradh air sin - ní féidir fadhb 1 a réiteach ar aon bhealach seachas “triail agus earráid”.

Ar ámharaí an tsaoil, tá API measartha fairsing ag an táirge agus tá na fochórais seo a leanas comhtháite againn inár gcuntas pearsanta:

  • modúl tacaíochta teicniúla - déantar iarratais ó do chuntas pearsanta a “sheachfhreastalaí” do bhilleáil thrédhearcach do chliaint seirbhíse;
  • modúl airgeadais - is féidir leat sonraisc a eisiúint do chliaint reatha, díscríobh a dhéanamh agus doiciméid íocaíochta a ghiniúint;
  • modúl rialaithe seirbhíse - le haghaidh seo bhí orainn ár láimhseálaí féin a chur i bhfeidhm. Chuaigh inleathnú an chórais isteach inár lámha agus “mhúinte” cineál nua seirbhíse do Billy.
    Bhí sé rud beag de hassle, ach bealach amháin nó eile, sílim go mbeidh Billy agus mé ag teacht chomh maith.

Ag siúl trí pháirceanna tungstain – Fabraic Tungstain

Réimsí tungstain breactha leis na céadta sreanga, ag dul trí na mílte giotán faisnéise. Bailítear faisnéis ina “phaicéid”, arna pharsáil, ag tógáil bealaí casta, amhail is dá mba le draíocht é.

Stair chruthú seirbhíse néil, blaistithe le cyberpunk

Is é seo fearann ​​an dara córas a raibh orainn cairde a dhéanamh leis - Tungstain Fabric (TF), OpenContrail roimhe seo. Is é an tasc atá aige ná trealamh líonra a bhainistiú, astarraingt bogearraí a sholáthar dúinn mar úsáideoirí. TF - SDN, a chuimsíonn an loighic chasta a bhaineann le bheith ag obair le trealamh líonra. Tá alt maith faoin teicneolaíocht féin, mar shampla, anseo.

Tá an córas comhtháite le OpenStack (a phléitear thíos) tríd an breiseán Neutron.

Stair chruthú seirbhíse néil, blaistithe le cyberpunk
Idirghníomhú seirbhísí OpenStack.

Chuir na guys ón roinn oibríochtaí sinn ar an gcóras seo. Bainimid úsáid as API an chórais chun stoic líonra ár seirbhísí a bhainistiú. Níor chruthaigh sé aon fhadhbanna tromchúiseacha nó míchaoithiúlachtaí dúinn go fóill (ní féidir liom labhairt ar son na mbuachaillí ón OE), ach bhí roinnt rudaí aisteacha san idirghníomhaíocht.

D’fhéach an chéad cheann mar seo: orduithe a d’éiligh go n-aischuirfí cuid mhór sonraí chuig an consól ásc nuair a bhíothas ag nascadh trí SSH “croch suas” an nasc, agus d’oibrigh gach rud i gceart trí VNC.

Stair chruthú seirbhíse néil, blaistithe le cyberpunk

Dóibh siúd nach bhfuil eolach ar an bhfadhb, tá cuma an-ghreannmhar air: oibríonn ls / root i gceart, agus, mar shampla, “reoiteann” an barr go hiomlán. Ar ámharaí an tsaoil, tá fadhbanna den chineál céanna againn roimhe seo. Socraíodh é tríd an MTU a thiúnadh ar an mbealach ó na nóid ríomh go dtí na ródairí. Dála an scéil, ní fadhb TF é seo.

Ní raibh an chéad fhadhb eile ach timpeall an chúinne. I nóiméad “álainn” amháin, d’imigh draíocht an ródaithe, díreach mar sin. Tá deireadh curtha ag TF le ródú an trealaimh a bhainistiú.

Stair chruthú seirbhíse néil, blaistithe le cyberpunk

D'oibríomar le Openstack ón leibhéal riaracháin agus ina dhiaidh sin bhogamar go dtí an leibhéal úsáideora riachtanach. Is cosúil go ndéanann SDN “fuadach” ar raon feidhme an úsáideora a dhéanann na gníomhartha. Is é fírinne an scéil go n-úsáidtear an cuntas riaracháin céanna chun TF agus OpenStack a nascadh. Nuair a bhí an t-athrú chuig an úsáideoir, d'imigh an “draíochta”. Socraíodh cuntas ar leith a chruthú chun oibriú leis an gcóras. Thug sé seo deis dúinn oibriú gan an fheidhmiúlacht chomhtháthaithe a bhriseadh.

Cruthanna Beatha Sileacain - OpenStack

Cónaíonn créatúr silicone a bhfuil cruth aisteach air in aice le páirceanna tungstain. An chuid is mó ar fad, tá an chuma ar an leanbh atá rófhásta atá in ann sinn a bhrú le luascadh amháin, ach níl aon ionsaí follasach ag teacht uaidh. Ní chuireann sé faoi deara eagla, ach spreagann a mhéid eagla. Mar a dhéanann castacht a bhfuil ag tarlú thart.

Stair chruthú seirbhíse néil, blaistithe le cyberpunk

Is é OpenStack croílár ár n-ardán.

Tá roinnt fochóras ag OpenStack, agus is mó a n-úsáidtear Nova, Glance agus Cinder díobh faoi láthair. Tá a API féin ag gach ceann acu. Tá Nova freagrach as acmhainní a ríomh agus as cruthú cásanna, tá Cinder freagrach as toirteanna agus a gcuid pictiúr a bhainistiú, is seirbhís íomhá é Glance a bhainistíonn teimpléid OS agus faisnéis mheabhrach orthu.

Ritheann gach seirbhís i gcoimeádán, agus is é an bróicéir teachtaireachta an “coinín bán” - RabbitMQ.

Thug an córas seo an trioblóid is mó gan choinne dúinn.

Agus ní raibh an chéad fhadhb fada le teacht nuair a rinneamar iarracht toirt breise a nascadh leis an bhfreastalaí. Dhiúltaigh an Cinder API an tasc seo a dhéanamh. Níos cruinne, má chreideann tú OpenStack féin, tá an nasc bunaithe, ach níl aon fheiste diosca taobh istigh den fhreastalaí fíorúil.

Stair chruthú seirbhíse néil, blaistithe le cyberpunk

Shocraigh muid malairt slí a dhéanamh agus d’iarramar an beart céanna ó Nova API. Is é an toradh a cheanglaíonn an gléas i gceart agus go bhfuil sé inrochtana laistigh den fhreastalaí. Dealraíonn sé go dtarlaíonn an fhadhb nuair nach bhfreagraíonn bloc-stóráil do Cinder.

Bhí deacracht eile ag fanacht linn agus muid ag obair le dioscaí. Níorbh fhéidir toirt an chórais a dhícheangal ón bhfreastalaí.

Arís, tá OpenStack féin ag “mionnú” go bhfuil an nasc scriosta aige agus anois is féidir leat oibriú i gceart leis an toirt ar leithligh. Ach ní raibh an API categorically ag iarraidh oibríochtaí a dhéanamh ar an diosca.

Stair chruthú seirbhíse néil, blaistithe le cyberpunk

Anseo bheartaíomar gan dul i ngleic go háirithe, ach ár ndearcadh ar loighic na seirbhíse a athrú. Má tá cás ann, ní mór toirt córais a bheith ann freisin. Mar sin, ní féidir leis an úsáideoir "diosca" an chórais a bhaint nó a dhíchumasú gan an "freastalaí" a scriosadh.

Is sraith córas sách casta é OpenStack lena loighic idirghníomhaíochta féin agus API ornáideach. Cuidíonn doiciméadú measartha mionsonraithe linn agus, ar ndóigh, triail agus earráid (cá mbeimis gan é).

Rith tástála

Rinneamar seoladh tástála i mí na Nollag anuraidh. Ba é an príomhthasc ná ár dtionscadal a thástáil i mód comhraic ón taobh teicniúil agus ón taobh UX. Tugadh cuireadh go roghnach don lucht féachana agus cuireadh deireadh leis an tástáil. Mar sin féin, tá an rogha fágtha againn rochtain ar thástáil a iarraidh ar ár suíomh Gréasáin.

Ní raibh an tástáil féin, ar ndóigh, gan a chuimhneacháin greannmhar, mar is é seo an áit a bhfuil ár n-eachtraí díreach ag tosú.

Ar an gcéad dul síos, rinneamar measúnú mícheart ar an spéis sa tionscadal agus bhí orainn nóid a ríomh go tapa le linn na tástála. Cás coitianta le haghaidh braisle, ach bhí roinnt nuances anseo freisin. Léiríonn an doiciméadú le haghaidh leagan sonrach de TF an leagan sonrach den eithne ar a ndearnadh tástáil ar obair le vRouter. Shocraigh muid nóid a sheoladh le heithne níos déanaí. Mar thoradh air sin, ní bhfuair TF bealaí ó na nóid. Bhí orm na heithne a rolladh siar go práinneach.

Stair chruthú seirbhíse néil, blaistithe le cyberpunk

Baineann fiosracht eile le feidhmiúlacht an chnaipe “athraigh pasfhocal” i do chuntas pearsanta.

Shocraigh muid JWT a úsáid chun rochtain ar ár gcuntas pearsanta a eagrú ionas nach n-oibreodh muid le seisiúin. Ós rud é go bhfuil na córais éagsúil agus scaipthe go forleathan, bainistímid ár n-chomhartha féin, ina ndéanaimid “fillte” seisiúin ó bhilleáil agus comhartha ó OpenStack. Nuair a athraítear an focal faire, ar ndóigh, téann an comhartha "go holc", ós rud é nach bhfuil na sonraí úsáideora bailí a thuilleadh agus ní mór é a atheisiúint.

Stair chruthú seirbhíse néil, blaistithe le cyberpunk

Chaill muid radharc ar an bpointe seo, agus ní raibh go leor acmhainní ann chun an píosa seo a chríochnú go tapa. Bhí orainn an fheidhmiúlacht a ghearradh amach díreach roimh an tástáil a sheoladh.
Faoi láthair déanaimid logáil amach don úsáideoir má athraíodh an pasfhocal.

In ainneoin na nuances seo, d'éirigh go maith leis an tástáil. I gceann cúpla seachtain, stop thart ar 300 duine ag. Bhíomar in ann breathnú ar an táirge trí shúile na n-úsáideoirí, é a thástáil i ngníomh agus aiseolas ardchaighdeáin a bhailiú.

Le leanúint

I gcás go leor againn, is é seo an chéad tionscadal den scála seo. D’fhoghlaimíomar roinnt ceachtanna luachmhara faoi conas oibriú mar fhoireann agus cinntí ailtireachta agus dearaidh a dhéanamh. Conas córais chasta a chomhtháthú gan mórán acmhainní agus iad a rolladh isteach i dtáirgeadh.

Ar ndóigh, tá rud éigin le bheith ag obair air i dtéarmaí cód agus i gcomhéadan comhtháthú córas. Tá an tionscadal sách óg, ach táimid lán d’uaillmhianta chun é a fhás ina sheirbhís iontaofa agus áisiúil.

Bhíomar in ann na córais a chur ina luí cheana féin. Láimhseálann Bill go dúthrachtach comhaireamh, billeáil, agus iarratais úsáideoirí ina closet. Soláthraíonn “draíocht” réimsí tungstain cumarsáid chobhsaí dúinn. Agus ní bhíonn ach OpenStack uaireanta capricious, ag béicíl rud éigin cosúil le “'Nach bhfuil nód ullmhaithe fós ag WSREP le haghaidh úsáid feidhmchlár.” Ach sin scéal go hiomlán difriúil...

Sheolamar an tseirbhís le déanaí.
Is féidir leat a fháil amach na sonraí go léir ar ár Líne.

Stair chruthú seirbhíse néil, blaistithe le cyberpunk
Foireann Forbartha CLO

naisc úsáideacha

OpenStack

Fabraic tungstain

Foinse: will.com

Add a comment