Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk

Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk

Thaum koj ua haujlwm hauv IT, koj pib pom tias cov tshuab muaj lawv tus cwj pwm. Lawv tuaj yeem hloov tau, ntsiag to, eccentric, thiab stern. Lawv tuaj yeem nyiam lossis tawm tsam. Ib txoj hauv kev los yog lwm qhov, koj yuav tsum "sib tham" nrog lawv, ua haujlwm ntawm "qhov teeb meem" thiab tsim cov saw hlau ntawm lawv cov kev sib cuam tshuam.

Yog li peb muaj kev hwm ntawm kev tsim lub huab platform, thiab rau qhov no peb yuav tsum tau "swm" ob peb lub subsystems ua haujlwm nrog peb. Hmoov zoo, peb muaj "API lus", txhais tes ncaj qha thiab muaj kev txaus siab heev.

Kab lus no yuav tsis yog technically hardcore, tab sis yuav piav qhia txog cov teeb meem uas peb ntsib thaum tsim huab. Kuv txiav txim siab los piav txog peb txoj hauv kev hauv daim ntawv ntawm lub teeb pom kev zoo txog qhov peb tau saib rau ib hom lus nrog cov tshuab thiab dab tsi tawm ntawm nws.

Zoo siab txais tos miv.

Pib ntawm txoj kev taug

Qee lub sij hawm dhau los, peb pab neeg tau ua haujlwm nrog kev tshaj tawm huab platform rau peb cov neeg siv khoom. Peb muaj kev tswj hwm kev txhawb nqa, peev txheej, kho vajtse pawg thiab kev ywj pheej hauv kev xaiv cov thev naus laus zis los siv cov software ib feem ntawm cov kev pabcuam.

Kuj tseem muaj ntau qhov kev xav tau:

  • qhov kev pabcuam xav tau ib tus account tus kheej yooj yim;
  • lub platform yuav tsum tau muab tso rau hauv cov nqi them nqi uas twb muaj lawm;
  • software thiab hardware: OpenStack + Tungsten Fabric (Open Contrail), uas peb cov engineers tau kawm "ua noj" zoo heev.

Peb mam li qhia rau koj lwm lub sijhawm hais txog yuav ua li cas pab pawg tau sib sau ua ke, tus kheej tus account interface tau tsim thiab tsim kev txiav txim siab, yog tias Habra zej zog txaus siab.
Cov cuab yeej peb txiav txim siab siv:

  • Python + Flask + Swagger + SQLAlchemy - tus qauv Python tag nrho;
  • Vue.js for frontend;
  • Peb txiav txim siab los ua kev sib cuam tshuam ntawm cov khoom siv thiab cov kev pabcuam siv Celery tshaj AMQP.

Xav txog cov lus nug txog kev xaiv Python, Kuv yuav piav qhia. Cov lus tau pom nws cov niche hauv peb lub tuam txhab thiab me me, tab sis tseem kab lis kev cai, tau tsim nyob ib puag ncig nws. Yog li ntawd, nws tau txiav txim siab pib tsim cov kev pabcuam ntawm nws. Ntxiv mus, qhov ceev ntawm txoj kev loj hlob nyob rau hauv xws li teeb meem yog feem ntau txiav txim siab.

Yog li, cia peb pib peb cov neeg paub.

Silent Bill - kev them nqi

Peb twb paub tus txiv neej no ntev lawm. Nws ib txwm zaum ntawm kuv ib sab thiab ntsiag to suav ib yam dab tsi. Qee lub sij hawm nws xa cov neeg siv thov rau peb, muab cov ntawv xa nyiaj rau cov neeg siv khoom, thiab cov kev pabcuam tswj hwm. Ib tug neeg ua haujlwm hnyav. Muaj tseeb, muaj teeb meem. Nws nyob ntsiag to, qee zaum xav thiab feem ntau ntawm nws lub siab.

Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk

Kev them nqi yog thawj qhov uas peb tau sim ua phooj ywg nrog. Thiab thawj qhov nyuaj uas peb ntsib yog thaum ua cov kev pabcuam.

Piv txwv li, thaum tsim los yog tshem tawm, ib txoj haujlwm nkag mus rau hauv cov nqi them nyiaj sab hauv. Yog li, ib qho kev ua haujlwm asynchronous nrog cov kev pabcuam raug siv. Txhawm rau ua tiav peb hom kev pabcuam, peb yuav tsum "tso" peb cov dej num rau hauv kab no. Thiab ntawm no peb tau khiav mus rau qhov teeb meem: tsis muaj ntaub ntawv.

Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk

Kev txiav txim siab los ntawm cov lus piav qhia ntawm software API, nws tseem tuaj yeem daws qhov teeb meem no, tab sis peb tsis muaj sijhawm los ua qhov rov qab engineering, yog li peb coj lub logic sab nraud thiab teeb tsa cov haujlwm ua haujlwm rau saum RabbitMQ. Kev ua haujlwm ntawm ib qho kev pabcuam yog pib los ntawm tus neeg siv khoom los ntawm nws tus kheej tus account, hloov mus rau Celery "ua haujlwm" ntawm lub backend thiab ua rau ntawm daim nqi thiab OpenStack sab. Celery ua rau nws yooj yim heev los tswj cov dej num, teeb tsa kev rov ua dua thiab saib xyuas cov xwm txheej. Koj tuaj yeem nyeem ntxiv txog "celery", piv txwv li, no.

Tsis tas li ntawd, kev them nqi tsis tau tso tseg ib txoj haujlwm uas tsis muaj nyiaj. Kev sib txuas lus nrog cov neeg tsim khoom, peb pom tias thaum xam cov txheeb cais (thiab peb yuav tsum tau ua raws nraim li cov laj thawj no), muaj kev sib cuam tshuam ntawm kev txwv txoj cai. Tab sis cov qauv no tsis haum rau peb qhov tseeb. Peb kuj tau siv nws los ntawm kev ua haujlwm ntawm Celery, noj cov kev pabcuam kev tswj xyuas kev pabcuam rau sab nraub qaum.

Ob qho tib si ntawm cov teeb meem saum toj no ua rau cov cai dhau los ua me ntsis bloated thiab yav tom ntej peb yuav tau refactor thiaj li yuav txav tau lub logic rau kev ua hauj lwm nrog cov hauj lwm rau hauv ib qho kev pab cuam. Peb kuj yuav tsum khaws qee cov ntaub ntawv hais txog cov neeg siv thiab lawv cov kev pabcuam hauv peb lub rooj los txhawb qhov kev xav no.

Lwm qhov teeb meem yog kev ntsiag to.

Billy ntsiag to teb "OK" rau qee qhov kev thov API. Qhov no yog qhov teeb meem, piv txwv li, thaum peb tau them cov nyiaj tau cog lus thaum lub sij hawm xeem (ntxiv rau qhov ntawd tom qab). Cov kev thov raug ua kom raug thiab peb tsis pom muaj qhov yuam kev.

Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk

Kuv yuav tsum kawm cov cav thaum ua haujlwm nrog lub kaw lus los ntawm UI. Nws muab tawm tias kev them nqi nws tus kheej ua qhov kev thov zoo sib xws, hloov qhov peev txheej rau ib tus neeg siv tshwj xeeb, piv txwv li, admin, hla nws hauv su parameter.

Feem ntau, txawm tias qhov khoob ntawm cov ntaub ntawv thiab cov teeb meem API me, txhua yam mus zoo heev. Cov cav tuaj yeem nyeem tau txawm tias nyob rau hauv qhov hnyav yog tias koj nkag siab tias lawv tau teeb tsa li cas thiab yuav nrhiav dab tsi. Cov qauv ntawm cov ntaub ntawv yog ornate, tab sis kuj logical thiab nyob rau hauv qee txoj kev txawm txaus nyiam.

Yog li, kom xaus, cov teeb meem tseem ceeb uas peb tau ntsib nyob rau theem kev sib cuam tshuam yog cuam tshuam nrog kev siv cov yam ntxwv ntawm ib qho system tshwj xeeb:

  • undocumented "feature" uas cuam tshuam rau peb nyob rau hauv ib txoj kev los yog lwm yam;
  • kaw qhov chaw (sau nqi yog sau hauv C ++), vim li ntawd - nws tsis tuaj yeem daws teeb meem 1 hauv txhua txoj kev uas tsis yog "kev sim thiab ua yuam kev".

Hmoov zoo, cov khoom lag luam muaj qhov dav dav API thiab peb tau koom ua ke cov subsystems hauv qab no rau hauv peb tus kheej tus account:

  • kev txhawb nqa module - thov los ntawm koj tus kheej tus account yog "proxied" rau kev them nqi pob tshab rau cov neeg siv khoom;
  • Module nyiaj txiag - tso cai rau koj tawm cov ntawv xa nyiaj rau cov neeg siv khoom tam sim no, sau tawm thiab tsim cov ntaub ntawv them nyiaj;
  • kev pab tswj module - rau qhov no peb yuav tsum tau siv peb tus kheej handler. Qhov kev nthuav dav ntawm lub kaw lus ua si rau hauv peb txhais tes thiab peb "qhia" Billy ib hom kev pabcuam tshiab.
    Nws yog me ntsis ntawm hassle, tab sis ib txoj kev los yog lwm yam, kuv xav tias Billy thiab kuv yuav tau nrog.

Taug kev los ntawm tungsten teb - Tungsten Fabric

Tungsten teb dotted nrog pua pua ntawm cov xov hlau, hla ntau txhiab cov ntaub ntawv los ntawm lawv. Cov ntaub ntawv raug sau rau hauv "pob ntawv", parsed, tsim txoj kev nyuaj, zoo li yog los ntawm khawv koob.

Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk

Qhov no yog tus thawj tswj hwm thib ob uas peb yuav tsum ua phooj ywg - Tungsten Fabric (TF), yav tas los OpenContrail. Nws txoj hauj lwm yog los tswj cov khoom siv network, muab cov software abstraction rau peb cov neeg siv. TF - SDN, encapsulates lub complex logic ntawm kev ua hauj lwm nrog network khoom. Muaj ib tsab xov xwm zoo txog kev siv tshuab nws tus kheej, piv txwv li, S, SѓS,.

Lub kaw lus tau koom ua ke nrog OpenStack (sib tham hauv qab no) ntawm Neutron plugin.

Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk
Kev sib cuam tshuam ntawm cov kev pabcuam OpenStack.

Cov txiv neej los ntawm lub chaw ua haujlwm tau qhia peb txog qhov system no. Peb siv qhov system API los tswj cov pawg network ntawm peb cov kev pabcuam. Nws tseem tsis tau ua rau peb muaj teeb meem loj lossis teeb meem tsis tau (Kuv tsis tuaj yeem hais lus rau cov txiv neej los ntawm OE), tab sis muaj qee qhov tsis zoo hauv kev sib cuam tshuam.

Thawj qhov zoo li no: cov lus txib uas yuav tsum tau tso tawm ntau cov ntaub ntawv mus rau qhov piv txwv console thaum txuas ntawm SSH tsuas yog "hanged" qhov kev sib txuas, thaum ntawm VNC txhua yam ua haujlwm raug.

Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk

Rau cov neeg uas tsis paub txog qhov teeb meem, nws zoo li funny heev: ls / hauv paus ua haujlwm kom raug, thaum, piv txwv li, sab saum toj "freezes" kiag li. Hmoov zoo, peb tau ntsib teeb meem zoo sib xws ua ntej. Nws tau txiav txim siab los ntawm kev kho MTU ntawm txoj hauv kev los ntawm cov kab laum rau lub routers. Los ntawm txoj kev, qhov no tsis yog teeb meem TF.

Qhov teeb meem tom ntej yog nyob ib ncig ntawm lub ces kaum. Nyob rau hauv ib lub sijhawm "zoo nkauj", cov khawv koob ntawm txoj kev ploj mus, ib yam li ntawd. TF tau tso tseg kev tswj xyuas cov khoom siv.

Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk

Peb tau ua haujlwm nrog Openstack los ntawm qib admin thiab tom qab ntawd tsiv mus rau qib neeg siv xav tau. SDN zoo nkaus li "hijack" lub peev xwm ntawm tus neeg siv los ntawm tus neeg ua haujlwm. Qhov tseeb yog tias tib tus account admin siv los txuas TF thiab OpenStack. Nyob rau theem ntawm kev hloov mus rau tus neeg siv, "magic" ploj lawm. Nws tau txiav txim siab los tsim ib tus account cais los ua haujlwm nrog lub kaw lus. Qhov no tso cai rau peb ua haujlwm yam tsis muaj kev sib koom ua ke ua haujlwm.

Silicon Lifeforms - OpenStack

Ib tug txawv txawv zoo li silicone tsiaj nyob ze ntawm tungsten teb. Feem ntau ntawm tag nrho cov, nws zoo li ib tug me nyuam overgrown uas tuaj yeem tsoo peb nrog ib lub viav vias, tab sis tsis muaj qhov pom tseeb los ntawm nws. Nws tsis ua rau ntshai, tab sis nws qhov loj me txhawb kev ntshai. Raws li qhov nyuaj ntawm qhov tshwm sim nyob ib puag ncig.

Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk

OpenStack yog qhov tseem ceeb ntawm peb lub platform.

OpenStack muaj ntau lub subsystems, uas tam sim no peb siv Nova, Glance thiab Cinder nquag nquag. Txhua tus ntawm lawv muaj nws tus kheej API. Nova yog lub luag haujlwm rau kev suav cov peev txheej thiab tsim cov xwm txheej, Cinder yog lub luag haujlwm rau kev tswj cov ntim thiab lawv cov duab thaij duab, Glance yog ib qho kev pabcuam duab uas tswj hwm OS cov qauv thiab cov ntaub ntawv metainformation ntawm lawv.

Txhua qhov kev pabcuam khiav hauv ib lub thawv, thiab cov lus qhia yog "dawb luav" - RabbitMQ.

Cov kab ke no ua rau peb muaj teeb meem tsis txaus ntseeg tshaj plaws.

Thiab thawj qhov teeb meem tsis ntev los no thaum peb sim txuas ntxiv ntim rau lub server. Cinder API ncaj nraim tsis kam ua txoj haujlwm no. Ntau qhov tseeb, yog tias koj ntseeg tias OpenStack nws tus kheej, kev sib txuas tau tsim, tab sis tsis muaj cov cuab yeej disk hauv lub server virtual.

Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk

Peb tau txiav txim siab taug kev thiab thov tib yam kev txiav txim los ntawm Nova API. Qhov tshwm sim yog tias lub cuab yeej txuas kom raug thiab nkag mus rau hauv lub server. Nws zoo nkaus li qhov teeb meem tshwm sim thaum thaiv-kho tsis teb rau Cinder.

Lwm qhov nyuaj tos peb thaum ua haujlwm nrog disks. Lub kaw lus ntim tsis tuaj yeem raug txiav tawm ntawm lub server.

Ntxiv dua thiab, OpenStack nws tus kheej "swears" tias nws tau rhuav tshem qhov kev sib txuas thiab tam sim no koj tuaj yeem ua haujlwm nrog ntim cais. Tab sis API categorically tsis xav ua haujlwm ntawm lub disk.

Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk

Ntawm no peb tau txiav txim siab tsis tawm tsam tshwj xeeb, tab sis hloov peb txoj kev xav ntawm lub logic ntawm kev pabcuam. Yog tias muaj ib qho piv txwv, kuj yuav tsum muaj qhov ntim qhov system. Yog li ntawd, tus neeg siv tseem tsis tuaj yeem tshem tawm lossis kaw lub kaw lus "disk" yam tsis tau tshem tawm "server".

OpenStack yog cov txheej txheem nyuaj nrog nws tus kheej kev sib cuam tshuam logic thiab ornate API. Peb tau txais kev pab los ntawm cov ntaub ntawv ntxaws ntxaws thiab, tau kawg, kev sim thiab kev ua yuam kev (qhov twg peb yuav tsis muaj nws).

Khiav khiav

Peb tau ua qhov kev sim pib thaum lub Kaum Ob Hlis xyoo tas los. Lub luag haujlwm tseem ceeb yog sim peb qhov project hauv kev sib ntaus sib tua los ntawm sab txuj ci thiab los ntawm UX sab. Cov neeg tuaj saib tau raug caw xaiv thiab qhov kev xeem raug kaw. Txawm li cas los xij, peb kuj tau tso qhov kev xaiv los thov kev nkag mus rau kev sim ntawm peb lub vev xaib.

Qhov kev sim nws tus kheej, ntawm chav kawm, tsis yog tsis muaj nws lub sijhawm lom zem, vim qhov no yog qhov uas peb qhov kev lom zem nyuam qhuav pib.

Ua ntej, peb ua qee yam tsis raug ntsuas qhov kev txaus siab hauv qhov project thiab yuav tsum tau ntxiv cov lej suav sai sai thaum lub sijhawm xeem. Ib rooj plaub rau pawg, tab sis muaj qee qhov nuances ntawm no thiab. Cov ntaub ntawv rau ib qho version tshwj xeeb ntawm TF qhia txog cov version tshwj xeeb ntawm cov ntsiav uas ua haujlwm nrog vRouter tau sim. Peb txiav txim siab tso cov nodes nrog cov kernels tsis ntev los no. Yog li ntawd, TF tsis tau txais txoj hauv kev los ntawm cov nodes. Kuv yuav tsum ceev nrooj rov qab cov kernels.

Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk

Lwm qhov kev xav paub yog cuam tshuam nrog kev ua haujlwm ntawm "hloov password" khawm hauv koj tus kheej tus account.

Peb txiav txim siab siv JWT los npaj kev nkag mus rau peb tus kheej tus account kom tsis txhob ua haujlwm nrog kev sib tham. Txij li thaum lub tshuab muaj ntau haiv neeg thiab dav tawg, peb tswj peb tus kheej token, nyob rau hauv uas peb "qhib" ntu ntawm kev them nqi thiab ib tug token los ntawm OpenStack. Thaum tus password raug hloov, lub token, ntawm chav kawm, "mus phem", vim cov ntaub ntawv tus neeg siv tsis siv tau lawm thiab nws yuav tsum tau muab rov qab.

Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk

Peb poob qhov pom ntawm qhov taw tes no, thiab tsuas yog tsis muaj peev txheej txaus los ua kom tiav cov khoom no sai sai. Peb yuav tsum tau txiav tawm qhov kev ua haujlwm ua ntej pib qhov kev sim.
Tam sim no peb logout tus neeg siv yog tias tus password raug hloov lawm.

Txawm hais tias cov nuances no, kev sim ua tau zoo. Hauv ob peb lub lis piam, kwv yees li 300 tus neeg nres. Peb tuaj yeem saib cov khoom los ntawm qhov muag ntawm cov neeg siv khoom, sim nws hauv kev nqis tes ua thiab sau cov lus qhia zoo.

Kom txuas ntxiv

Rau ntau ntawm peb, qhov no yog thawj qhov project ntawm qhov ntsuas no. Peb tau kawm ntau cov lus qhia tseem ceeb txog kev ua haujlwm ua pab pawg thiab txiav txim siab txog kev tsim vaj tsev thiab tsim qauv. Yuav ua li cas koom ua ke cov txheej txheem nyuaj nrog cov peev txheej me me thiab yob lawv rau hauv kev tsim khoom.

Ntawm chav kawm, muaj ib yam dab tsi ua hauj lwm rau ob qho tib si nyob rau hauv cov nqe lus ntawm code thiab nyob rau hauv lub interfaces ntawm lub system integration. Peb tes num yog heev hluas, tab sis peb muaj tag nrho ntawm ambitions loj hlob nws mus rau hauv ib tug txhim khu kev qha thiab yooj yim kev pab cuam.

Peb twb muaj peev xwm yaum cov tshuab. Bill dutifully lis suav, nqi, thiab cov neeg siv thov hauv nws lub txee dai khaub ncaws. Lub "magic" ntawm tungsten teb muab kev sib txuas lus ruaj khov rau peb. Thiab tsuas yog OpenStack qee zaum tau txais kev txaus siab, qw ib yam dab tsi zoo li "'WSREP tseem tsis tau npaj cov node rau kev siv daim ntawv thov." Tab sis qhov ntawd yog ib zaj dab neeg sib txawv kiag li ...

Peb nyuam qhuav pib qhov kev pabcuam.
Koj tuaj yeem nrhiav tau tag nrho cov ntsiab lus ntawm peb qhov chaw.

Keeb kwm ntawm kev tsim huab huab kev pabcuam, flavored nrog cyberpunk
Pab pawg tsim kho CLO

Pab kev sib txuas lus

OpenStack

tungsten ntaub

Tau qhov twg los: www.hab.com

Yuav txhim khu kev qha hosting rau cov chaw nrog DDoS tiv thaiv, VPS VDS servers 🔥 Yuav lub vev xaib hosting txhim khu kev qha nrog kev tiv thaiv DDoS, VPS VDS servers | ProHoster