Uhlu lokuhlola lokudala nokushicilela izinhlelo zokusebenza zewebhu

Ukuze udale uhlelo lwakho lokusebenza lwewebhu esikhathini sethu, akwanele ukukwazi ukulithuthukisa. Isici esibalulekile ukumisa amathuluzi okuthunyelwa kwezicelo, ukuqapha, kanye nokuphatha nokuphatha indawo esebenza kuyo. Njengoba inkathi yokuthunyelwa ngezandla inyamalala, ngisho nakumaphrojekthi amancane, amathuluzi ezishintshayo angaletha izinzuzo ezibonakalayo. Lapho kuthunyelwa "ngesandla", singakhohlwa ukuhambisa okuthile, sicabangele lokhu noma lokho okungafani, sigijime ukuhlolwa okukhohliwe, lolu hlu lungaqhutshwa isikhathi eside.

Lesi sihloko singasiza labo abasanda kufunda izisekelo zokudala izinhlelo zokusebenza zewebhu futhi bafuna ukuqonda kancane mayelana nemigomo nemithetho eyisisekelo.

Ngakho-ke, izinhlelo zokusebenza zokwakha zisengahlukaniswa zibe izingxenye ezi-2: konke okuhlobene nekhodi yesicelo, nakho konke okuhlobene nemvelo lapho le khodi isetshenziswa khona. Ikhodi yesicelo nayo ihlukaniswe yaba ikhodi yeseva (leyo esebenza kuseva, ngokuvamile: ingqondo yebhizinisi, ukugunyazwa, ukugcinwa kwedatha, njll.), kanye nekhodi yeklayenti (leyo esebenza emshinini womsebenzisi: ngokuvamile interface, kanye logic ehlobene nayo).

Asiqale ngolwesithathu.

Isisekelo sokusebenza kwanoma iyiphi ikhodi, isistimu, noma isofthiwe i-Operating System, ngakho-ke ngezansi sizobheka izinhlelo ezidume kakhulu emakethe yokusingatha futhi sizinikeze incazelo emfushane:

IWindows Server - iWindows efanayo, kodwa ngokuhlukahluka kweseva. Okunye ukusebenza okutholakala kunguqulo yeklayenti (evamile) ye-Windows akukho lapha, isibonelo, ezinye izinsiza zokuqoqa izibalo nesofthiwe efanayo, kodwa kukhona isethi yezinsiza zokuphatha inethiwekhi, isofthiwe eyisisekelo yokuphakela amaseva (iwebhu, i-ftp, ...). Sekukonke, iWindows Server ibukeka njengeWindows ejwayelekile, owaka bowaka bodokotela njengeWindows ejwayelekile, nokho, ibiza izikhathi ezi-2 ngaphezu kozakwabo ojwayelekile. Kodwa-ke, uma kubhekwa ukuthi cishe uzothumela uhlelo lokusebenza kuseva ezinikezele/ebonakalayo, izindleko zakho zokugcina, nakuba zinganyuka, azibalulekile. Njengoba iplathifomu yeWindows ithatha indawo enkulu emakethe ye-OS yabathengi, uhlelo lwayo lweseva kuzoba olujwayeleke kakhulu kubasebenzisi abaningi.

Unix-isistimu efanayo. Umsebenzi wendabuko kulezi zinhlelo awudingi ukuba khona kwesixhumi esibonakalayo esijwayelekile, esinikeza umsebenzisi ikhonsoli kuphela njengento yokulawula. Kumsebenzisi ongenalwazi, ukusebenza ngale fomethi kungaba nzima, ziyini izindleko zokuphuma kusihleli sombhalo esidume kakhulu kudatha Vim, umbuzo ohlobene nalokhu usuthole ukubukwa okungaphezu kwezigidi ezingu-6 eminyakeni engu-1.8. Ukusabalalisa okuyinhloko (izinguqulo) zalo mndeni yilezi: I-Debian - ukusatshalaliswa okudumile, izinguqulo zephakheji kuyo zigxile kakhulu ku-LTS (Ukuxhaswa Kwesikhathi Eside - ukwesekwa isikhathi eside), okuvezwa ngokwethembeka okuphezulu kanye nokuzinza kwesistimu namaphakheji; Ubuntu - iqukethe ukusabalalisa kwawo wonke amaphakheji ezinguqulweni zawo zakamuva, ezingase zithinte ukuzinza, kodwa ikuvumela ukuthi usebenzise ukusebenza okuza nezinguqulo ezintsha; I-Red Hat Enterprise Linux - OS, ebekwe ukuze isetshenziselwe ukuhweba, iyakhokhwa, nokho, ihlanganisa ukwesekwa okuvela kubathengisi besofthiwe, amaphakheji athile okuphathelene namaphakheji abashayeli; I-CentOS - umthombo ovulekile okuhlukile kwe-Red Hat Enterprise Linux, ebonakala ngokungabikho kwamaphakheji okuphathelene nokusekelwa.

Kulabo abasanda kuqala ukufunda le ndawo, izincomo zami kuzoba amasistimu IWindows Server, noma Ubuntu. Uma sicabangela iWindows, lokhu ngokuyinhloko ukujwayela kohlelo, Ubuntu - ukubekezelela okwengeziwe kuzibuyekezo, futhi, ngokwesibonelo, izinkinga ezimbalwa lapho kwethulwa amaphrojekthi kubuchwepheshe obudinga izinguqulo ezintsha.

Ngakho-ke, ngemva kokunquma nge-OS, ake siqhubekele kusethi yamathuluzi avumela ukuthi usebenzise (ukufaka), ubuyekeze futhi uqaphe isimo sohlelo lokusebenza noma izingxenye zalo kuseva.

Isinqumo esilandelayo esibalulekile kuzoba ukubekwa kwesicelo sakho kanye neseva kuso. Okwamanje, ezivame kakhulu izindlela ezi-3:

  • Ukusingatha (ukugcina) iseva ngokwakho kuyindlela evumelana kakhulu nesabelomali, kodwa kuzodingeka u-ode i-IP emile kumhlinzeki wakho ukuze insiza yakho ingashintshi ikheli layo ngokuhamba kwesikhathi.
  • Qasha Iseva Ezinikele (VDS) - futhi uyilawule ngokuzimela futhi ukale imithwalo
  • Khokha (ngokuvamile bakunikeza ithuba lokuzama ukusebenza kwenkundla mahhala) ukuze ubhalisele ukusingathwa kwamafu okuthile, lapho imodeli yokukhokha yezinsiza ezisetshenzisiwe ivame kakhulu. Abameleli abavelele kakhulu balesi siqondiso: I-Amazon AWS (banikeza unyaka wamahhala wokusebenzisa izinsizakalo, kodwa ngomkhawulo wanyanga zonke), i-Google Cloud (banikeza i-$ 300 ku-akhawunti, engasetshenziswa phakathi nonyaka ezinsizeni zokubamba ifu) , Yandex.Cloud (banikeza ama-ruble angu-4000 . Izinyanga ezingu-2), i-Microsoft Azure (nikeza ukufinyelela kwamahhala kumasevisi athandwayo unyaka, + ruble 12 nganoma yiziphi izinsizakalo inyanga eyodwa). Ngakho-ke, ungazama noma yibaphi kulaba bahlinzeki ngaphandle kokusebenzisa isenti, kodwa ukuthola umbono olinganiselwe mayelana nekhwalithi kanye nezinga lesevisi enikeziwe.

Ngokuya endleleni ekhethiwe, okuwukuphela kwento ezoshintsha esikhathini esizayo ukuthi ubani obhekene nalokhu noma leyo ndawo yokuphatha. Uma uzisingatha, khona-ke kufanele uqonde ukuthi noma yikuphi ukuphazamiseka kugesi, i-intanethi, iseva ngokwayo, isofthiwe efakwe kuyo - konke lokhu kulele emahlombe akho ngokuphelele. Nokho, ukuqeqeshwa nokuhlolwa, lokhu kungaphezu kokwanele.

Uma ungenawo umshini owengeziwe ongadlala indima yeseva, uzofuna ukusebenzisa indlela yesibili noma yesithathu. Icala lesibili liyafana nelokuqala, ngaphandle kokuthi ususa umthwalo wokutholakala kweseva namandla ayo emahlombe osingathi. Ukuphathwa kweseva nesofthiwe kusengaphansi kolawulo lwakho.

Futhi ekugcineni, inketho yokuqasha umthamo wabahlinzeki bamafu. Lapha ungakwazi ukusetha ukulawula okuzenzakalelayo kwanoma yini ngaphandle kokungena emininingwaneni eminingi yobuchwepheshe. Ngaphezu kwalokho, esikhundleni somshini owodwa, ungaba nezimo eziningana ezisebenzayo ezihambisanayo, okungenzeka, ngokwesibonelo, zibe nesibopho sezingxenyeni ezihlukene zohlelo lokusebenza, kuyilapho zingahlukani kakhulu ezindlekweni ekubeni neseva ezinikezele. Futhi futhi, akhona amathuluzi omculo we-orchestration, ukufakwa kweziqukathi, ukuthunyelwa okuzenzakalelayo, ukuhlanganiswa okuqhubekayo nokunye okuningi! Sizobheka ezinye zalezi zinto ngezansi.

Ngokuvamile, ingqalasizinda yeseva ibukeka kanje: sinento ebizwa ngokuthi "i-orchestrator" ("i-orchestration" inqubo yokuphatha izimo zeseva ezimbalwa), elawula izinguquko zemvelo esimweni seseva, isitsha se-virtualization (ngokuzithandela, kodwa ngempela. esetshenziswa kaningi), okukuvumela ukuthi uhlukanise uhlelo lokusebenza zibe izendlalelo ezinengqondo ezihlukene, kanye nesofthiwe Yokuhlanganisa Okuqhubekayoβ€”evumela izibuyekezo kumakhodi aphethwe β€œngemibhalo.”

Ngakho-ke, i-orchestration ikuvumela ukuthi ubone isimo samaseva, ukhiphe noma ubuyisele emuva izibuyekezo endaweni yeseva, njalonjalo. Ekuqaleni, lesi sici cishe ngeke sikuthinte, ngoba ukuze uhlele noma yini, udinga amaseva amaningana (ungaba neyodwa, kodwa kungani lokhu kudingekile?), Futhi ukuze ube namaseva amaningana, uwadinga. Kumathuluzi akule ndlela, ethandwa kakhulu yi-Kubernetes, eyakhiwe ngu -Google.

Isinyathelo esilandelayo i-virtualization ezingeni le-OS. Namuhla, umqondo we "dockerization" ususakazekile, ovela ethuluzini Docker, ehlinzeka ngokusebenza kweziqukathi ezihlukanisiwe kwezinye, kodwa ezethulwe kumongo wesistimu eyodwa yokusebenza. Kusho ukuthini lokhu: kulowo nalowo walezi ziqukathi ungaqhuba isicelo, noma isethi yezinhlelo zokusebenza, ezokholelwa ukuthi yizo kuphela kuyo yonke i-OS, ngaphandle kokusola ukuthi kukhona omunye umuntu kulo mshini. Lo msebenzi uwusizo kakhulu ekuqaliseni izinhlelo ezifanayo zezinguqulo ezihlukene, noma izinhlelo zokusebenza ezingqubuzanayo, kanye nokuhlukanisa izingcezu zohlelo lokusebenza zibe izendlalelo. Lokhu kusakazwa kwesendlalelo kungabhalwa kamuva kube isithombe, esingasetshenziswa, isibonelo, ukuphakela uhlelo lokusebenza. Okusho ukuthi, ngokufaka lesi sithombe bese usebenzisa iziqukathi eziqukethe, uthola indawo eseyenziwe ngomumo yokusebenzisa uhlelo lwakho lokusebenza! Ezinyathelweni zokuqala, ungasebenzisa leli thuluzi kokubili ngezinjongo zolwazi futhi uthole izinzuzo zangempela ngokuhlukanisa uhlelo lokusebenza lube izendlalelo ezihlukene. Kepha kufanelekile ukusho lapha ukuthi akuwona wonke umuntu odinga i-dockerization, hhayi njalo. I-Dockerization ilungile ezimweni lapho uhlelo lokusebenza "luhlukaniswe", luhlukaniswe izingxenye ezincane, ngayinye inomthwalo wemisebenzi yayo, okuthiwa "i-microservice architecture".

Ngaphezu kwalokho, ngaphezu kokuhlinzeka ngemvelo, sidinga ukuqinisekisa ukuthunyelwa okunekhono kwesicelo, okuhlanganisa zonke izinhlobo zokuguqulwa kwekhodi, ukufakwa kwemitapo yolwazi ehlobene nezinhlelo zokusebenza namaphakheji, ukuhlolwa okusebenzayo, izaziso mayelana nale misebenzi, njalonjalo. Lapha sidinga ukunaka umqondo onjengokuthi "Ukuhlanganiswa Okuqhubekayo" (I-CI - Ukuhlanganiswa Okuqhubekayo). Amathuluzi ayinhloko kule ndawo okwamanje i-Jenkins (isofthiwe ye-CI ebhalwe nge-Java ingase ibonakale iyinkimbinkimbi ekuqaleni), I-Travis CI (ibhalwe ngoRuby, i-subjective, ilula kancane Jenkins, nokho, ulwazi oluthile emkhakheni wokucushwa kokuthunyelwa lusadingeka), I-Gitlab CI (ibhalwe ku Ruby futhi Hamba).

Ngakho-ke, ngemva kokukhuluma ngendawo uhlelo lwakho lokusebenza oluzosebenza kuyo, yisikhathi sokuthi ekugcineni sibheke ukuthi yimaphi amathuluzi umhlaba wesimanje osinikeza wona ukuze senze lezi zinhlelo zokusebenza.

Ake siqale ngezisekelo: Emuva emuva (i-backend) - ingxenye yeseva. Ukukhethwa kolimi, isethi yemisebenzi eyisisekelo kanye nesakhiwo esichazwe ngaphambilini (uhlaka) lapha kunqunywa ikakhulukazi izintandokazi zomuntu siqu, kodwa nokho, kufanelekile ukusho ukuze kucatshangelwe (umbono wombhali ngezilimi uncike kakhulu, nakuba unesimangalo. encazelweni engachemile):

  • I-Python iwulimi olunobungane ngokwanele kumsebenzisi ongenalwazi, ithethelela amaphutha athile, kodwa futhi ingaba nesandla esiqinile kunjiniyela ukuze angenzi lutho olubi. Kakade ulimi oluvuthiwe nolunengqondo, olwavela ngo-1991.
  • I-Go - ulimi oluvela kwa-Google, nalo lunobungane futhi luwusizo, kulula ukuhlanganisa nokuthola ifayela elisebenzisekayo kunoma iyiphi inkundla. Kungaba lula futhi kube mnandi, noma kungaba yinkimbinkimbi futhi kube bucayi. Okusha nabancane, kuvele muva nje, ngo-2009.
  • Ukugqwala mdala kancane kunozakwabo wangaphambili, owakhululwa ngo-2006, kodwa usemncane impela uma uqhathaniswa nontanga yakhe. Iqondiswe konjiniyela abanolwazi olunzulu, nakuba isazama ukuxazulula imisebenzi eminingi esezingeni eliphansi yomhleli.
  • IJava ingumakadebona wentuthuko yezohwebo, eyethulwa ngo-1995, futhi ingolunye lwezilimi ezisetshenziswa kakhulu ekuthuthukisweni kwezinhlelo zebhizinisi namuhla. Ngemiqondo yayo eyisisekelo nokusetha okunzima, isikhathi sokusebenza singaba inselele impela koqalayo.
  • I-ASP.net iyinkundla yokuthuthukisa uhlelo lokusebenza ekhishwe ngabakwaMicrosoft. Ukubhala ukusebenza, ulimi lwe-C # (olubizwa ngokuthi C Sharp), olwavela ngo-2000, lusetshenziswa kakhulu. Ubunkimbinkimbi bayo buqhathaniswa nezinga eliphakathi kweJava neRust.
  • I-PHP, eyayisetshenziselwa ukucubungula ngaphambili kwe-HTML, okwamanje, nakuba iphethe ubuholi obuphelele emakethe yolimi, kunomkhuba obheke ekwehleni kokusetshenziswa. Inomkhawulo ophansi wokungena kanye nokulula kwekhodi yokubhala, kodwa ngesikhathi esifanayo, lapho kwakhiwa izinhlelo zokusebenza ezinkulu, ukusebenza kolimi kungase kunganele.

Yebo, ingxenye yokugcina yohlelo lwethu lokusebenza - ebonakala kakhulu kumsebenzisi - Frontend (i-frontend) - ubuso bohlelo lwakho lokusebenza; kungale ngxenye lapho umsebenzisi axhumana khona ngokuqondile.

Ngaphandle kokungena emininingwaneni, i-frontend yesimanje ime phezu kwezinsika ezintathu, izinhlaka (hhayi kakhulu), zokudala izixhumanisi zabasebenzisi. Ngakho, ezintathu ezithandwa kakhulu yilezi:

  • I-ReactJS ayilona uhlaka, kodwa umtapo wolwazi. Eqinisweni, uhlaka luyahluka esihlokweni salo sokuziqhenya kuphela lapho kungekho eminye imisebenzi "ngaphandle kwebhokisi" kanye nesidingo sokuyifaka ngesandla. Ngakho, kukhona ukuhlukahluka okuningana "kokulungiselela" kwalo mtapo wolwazi, okwakha izinhlaka eziyingqayizivele. Kungaba nzima kancane koqalayo, ngenxa yezimiso ezithile eziyisisekelo, kanye nokusetha okunolaka kwemvelo yokwakha. Kodwa-ke, ukuze uqalise ngokushesha, ungasebenzisa iphakheji ye-"create-react-app".
  • I-VueJS iwuhlaka lokwakha izixhumanisi zabasebenzisi. Kulo zintathu, kuthatha ngokufanelekile isihloko sohlaka olusebenziseka kalula kakhulu; ekuthuthukisweni ku-Vue, umgoqo wokungena ungaphansi kunalowo wabanye abazalwane abashiwo. Ngaphezu kwalokho, ungomncane phakathi kwabo.
  • I-Angular ibhekwa njengeyinkimbinkimbi kakhulu yalezi zinhlaka, okuwukuphela kwayo okudingayo UhloboScript (isengezo solimi lwe-Javascript). Ngokuvamile kusetshenziselwa ukwakha izinhlelo zokusebenza zamabhizinisi amakhulu.

Uma sifingqa lokho okulotshwe ngenhla, singaphetha ngokuthi manje ukuthunyelwa kwesicelo kwehluke kakhulu endleleni le nqubo eqhube ngayo phambilini. Kodwa-ke, akekho okuvimbela ukuthi wenze "ukuthunyelwa" ngendlela yakudala. Kodwa ingabe isikhathi esincane esilondolozwe ekuqaleni sifanele inani elikhulu lamaphutha unjiniyela okhetha le ndlela okuzodingeka awanyathele? Ngikholwa ukuthi impendulo ingucha. Ngokuchitha isikhathi esithe xaxa uzijwayeza lawa mathuluzi (futhi awudingi okungaphezu kwalokho, ngoba udinga ukuqonda ukuthi uyazidinga yini kuphrojekthi yakho yamanje noma cha), ungadlala, unciphise kakhulu, isibonelo. , amacala amaphutha ayisipoki kuye ngendawo ezungezile futhi avela kuphela kuseva yokukhiqiza, ukuhlaziya kwasebusuku ukuthi yini eholele ekuphahlazekeni kweseva nokuthi kungani ingeke iqale, nokunye okuningi.

Source: www.habr.com

Engeza amazwana