Uluhlu lokukhangela lokudala kunye nokupapasha usetyenziso lwewebhu

Ukuze wenze isicelo sakho sewebhu kwixesha lethu, akwanelanga ukukwazi ukuyiphuhlisa. Umba obalulekileyo kukuseka izixhobo zokusasazwa kwezicelo, ukubeka iliso, kunye nokulawula nokulawula indawo esebenza kuyo. Njengoko ixesha lokuthunyelwa kwezandla liphela ekulibaleni, nakwiiprojekthi ezincinci, izixhobo ezizenzekelayo zinokuzisa izibonelelo ezibonakalayo. Xa uhambisa "ngesandla", sinokulibala ukuhambisa into ethile, sithathele ingqalelo le nto okanye loo nto, siqhube uvavanyo olulibalekileyo, olu luhlu lunokuqhubeka ixesha elide.

Eli nqaku linokunceda abo bafunda nje iziseko zokudala izicelo zewebhu kwaye bafuna ukuqonda okuncinci malunga nemigaqo esisiseko kunye nemigaqo.

Ngoko ke, izicelo zokwakha zisenokwahlulwa zibe ziinxalenye ezi-2: yonke into ehambelana nekhowudi yesicelo, kunye nayo yonke into ehambelana nokusingqongileyo apho le khowudi iqhutywe khona. Ikhowudi yesicelo, ngokulandelayo, ikwahlulwe kwikhowudi yeseva (leyo isebenza kumncedisi, rhoqo: ingqiqo yezoshishino, ugunyaziso, ukugcinwa kwedatha, njl. njl.), kunye nekhowudi yomxhasi (lowo osebenza kumatshini womsebenzisi: rhoqo. ujongano, kunye nengqiqo ehambelana nayo).

Masiqale ngolwesithathu.

Isiseko sokusebenza kwayo nayiphi na ikhowudi, inkqubo, okanye isoftware yiNkqubo yokuSebenza, ngoko ke ngezantsi siza kujonga iinkqubo ezidumileyo kwiimarike zokubamba kwaye sizinike inkcazo emfutshane:

Windows Server -iWindows efanayo, kodwa kwinguqu yeseva. Umsebenzi othile okhoyo kumthengi (oqhelekileyo) uguqulelo lweWindows alukho apha, umzekelo, ezinye iinkonzo zokuqokelela izibalo kunye nesoftware efanayo, kodwa kukho iseti yezixhobo zolawulo lwenethiwekhi, isoftware esisiseko yokuthumela abancedisi (web, ftp, ...). Ngokubanzi, iWindows Server ijongeka njengeWindows eqhelekileyo, abantu abathi banolwazi lokunyanga kodwa bengenalo njengeWindows eqhelekileyo, nangona kunjalo, ixabisa amaxesha ama-2 ngaphezulu kunomlingani wayo oqhelekileyo. Nangona kunjalo, ngenxa yokuba uya kuthumela isicelo kwiseva ezinikeleyo / eyinyani, iindleko zokugqibela zakho, nangona zinokunyuka, azibalulekanga. Kuba iqonga leWindows likwindawo enkulu kwintengiso ye-OS yabathengi, uhlelo lwayo lweseva luya kuba lolona luqhelekileyo kubasebenzisi abaninzi.

Unix-inkqubo efanayo. Umsebenzi wemveli kwezi nkqubo awufuni ubukho bomzobo oqhelekileyo wojongano, ukunika umsebenzisi ikhonsoli kuphela njengento yokulawula. Kumsebenzisi ongenamava, ukusebenza ngolu hlobo kunokuba nzima, lithini ixabiso lokuphuma kumhleli wokubhaliweyo owaziwa kakhulu kwidatha. vΓ­m, umbuzo onxulumene nale sele ufumene iimbono ezingaphezu kwe-6 yezigidi kwiminyaka eyi-1.8. Unikezelo oluphambili (ukuhlelwa) kolu sapho zezi: I-Debian - usasazo oludumileyo, iinguqulelo zephakheji kuyo zigxile kakhulu kwi-LTS (Inkxaso yexesha elide - inkxaso ixesha elide), elibonakaliswa ngokuthembeka okuphezulu kunye nokuzinza kwenkqubo kunye neepakethi; Ubuntu - iqulethe ukuhanjiswa kwazo zonke iipakethe kwiinguqulelo zabo zamva nje, ezinokuchaphazela uzinzo, kodwa ikuvumela ukuba usebenzise ukusebenza okuza neenguqulelo ezintsha; I-Red Hat Enterprise Linux – OS, ibekwe kusetyenziso lwezorhwebo, ihlawulwe, nangona kunjalo, ibandakanya inkxaso evela kubathengisi besoftware, ezinye iipakethe zobunikazi kunye neepakethe zokuqhuba; I-CentOS - umthombo ovulekileyo ukwahluka kweRed Hat Enterprise Linux, ephawulwa ngokungabikho kweepakethe zobunini kunye nenkxaso.

Kwabo baqalayo ukuyiqonda le ndawo, iingcebiso zam ziya kuba ziinkqubo Windows Server, okanye Ubuntu. Ukuba sijonga iWindows, ke oku ngokuyintloko kukuqhelana kwenkqubo, Ubuntu - ukunyamezela ngakumbi kuhlaziyo, kwaye, ngokomzekelo, iingxaki ezimbalwa xa usungula iiprojekthi kwiiteknoloji ezifuna iinguqulelo ezintsha.

Ngoko, emva kokuba sigqibe kwi-OS, masiqhubele phambili kwiseti yezixhobo ezikuvumela ukuba usebenzise (ufake), uhlaziye kwaye ubeke iliso kwimeko yesicelo okanye iinxalenye zayo kumncedisi.

Isigqibo esilandelayo esibalulekileyo siya kuba kukubekwa kwesicelo sakho kunye nomncedisi waso. Okwangoku, ezona zixhaphakileyo ziindlela ezi-3:

  • Ukusingatha (ukugcina) iseva ngokwakho kuyona ndlela i-budget-friendly option, kodwa kuya kufuneka ulandele i-IP engatshintshiyo kumnikezeli wakho ukuze isibonelelo sakho singatshintshi idilesi yayo ngexesha.
  • Ukurenta i-Server ezinikeleyo (VDS) - kwaye uyilawule ngokuzimeleyo kunye nemithwalo yesikali
  • Hlawula (kaninzi bakunika ithuba lokuzama ukusebenza kweqonga simahla) ukuze ubhalisele ukusingathwa kwamafu athile, apho imodeli yentlawulo yezixhobo ezisetyenzisiweyo ixhaphake kakhulu. Abameli ababalaseleyo bolu lwalathiso: I-Amazon AWS (inika unyaka wamahhala wokusebenzisa iinkonzo, kodwa kunye nomda wenyanga), i-Google Cloud (inika i-$ 300 kwi-akhawunti, enokuchithwa ngonyaka kwiinkonzo zokubamba ifu) , Yandex.Cloud (banikela nge-4000 ruble . kwiinyanga ezi-2), iMicrosoft Azure (ukunika ukufikelela kwamahhala kwiinkonzo ezidumileyo ngonyaka, + i-ruble ye-12 nayiphi na inkonzo inyanga enye). Ke, unokuzama nawuphi na kwaba baboneleli ngaphandle kokuchitha nepeni, kodwa ufumane uluvo oluqikelelweyo malunga nomgangatho kunye nenqanaba lenkonzo enikezelweyo.

Ngokuxhomekeke kwindlela ekhethiweyo, ekuphela kwento eya kutshintsha kwixesha elizayo kukuba ngubani ojongene nale nto okanye loo ndawo yolawulo. Ukuba uyazibamba, ngoko kufuneka uqonde ukuba nakuphi na ukuphazamiseka kombane, i-Intanethi, iseva ngokwayo, isofthiwe efakwe kuyo - konke oku kulele emagxeni akho. Nangona kunjalo, kuqeqesho kunye novavanyo, oku kungaphezulu kokwaneleyo.

Ukuba awunawo umatshini owongezelelweyo onokudlala indima yomncedisi, ngoko uya kufuna ukusebenzisa indlela yesibini okanye yesithathu. Icala lesibini lifana nelokuqala, ngaphandle kokuba utshintshe uxanduva lokufumaneka komncedisi kunye namandla akhe kumagxa omgcini. Ulawulo lweseva kunye nesoftware isephantsi kolawulo lwakho.

Kwaye ekugqibeleni, ukhetho lokurenta umthamo wababoneleli belifu. Apha unokuseta ulawulo oluzenzekelayo malunga nayo nantoni na ngaphandle kokungena kwiinkcukacha ezininzi zobugcisa. Ukongeza, endaweni yomatshini omnye, unokuba neemeko ezininzi ezisebenzayo ezihambelanayo, ezinokuthi, umzekelo, zibe noxanduva lwamacandelo ahlukeneyo esicelo, ngelixa ungahlukanga kakhulu kwiindleko zokuba ngumnini womncedisi ozinikeleyo. Kwaye kwakhona, kukho izixhobo ze-orchestration, i-containerization, ukuthunyelwa ngokuzenzekelayo, ukudibanisa okuqhubekayo kunye nokunye okuninzi! Siza kujonga ezinye zezi zinto ngezantsi.

Ngokubanzi, isiseko seseva sijongeka ngolu hlobo: sinento ebizwa ngokuba yi "orchestrator" ("i-orchestration" yinkqubo yokulawula iimeko ezininzi zeseva), elawula utshintsho lwemo engqongileyo kumzekelo weseva, isikhongozeli se-virtualization (ukhetho, kodwa kakhulu. esetyenziswa rhoqo), ekuvumela ukuba wahlule usetyenziso ngokwamaleko azimeleyo, kunye nesoftware yoHlaziyo oluqhubekayo-ivumela uhlaziyo lwekhowudi ebanjwe "ngezikripthi."

Ke, i-orchestration ikuvumela ukuba ubone imeko yeeseva, ukhuphe okanye ubuyisele umva uhlaziyo kwindawo yeseva, njalo njalo. Ekuqaleni, lo mbandela awunakwenzeka ukuba uchaphazeleke, kuba ukuze wenze nantoni na, ufuna iiseva ezininzi (unokuba nenye, kodwa kutheni le nto iyimfuneko?), Kwaye ukuze ube neeseva ezininzi, uyafuna. Phakathi kwezixhobo ezikule ndlela, eyona idumileyo yiKubernetes, ephuhliswe ngu Uphando.

Inyathelo elilandelayo kukubonwa kwinqanaba le-OS. Namhlanje, ingcamango ye "dockerization" iye yasasazeka, evela kwisixhobo Docker, ebonelela ngokusebenza kwezikhongozeli zodwa omnye komnye, kodwa ziqaliswe kumxholo wenkqubo enye yokusebenza. Kuthetha ukuthini oku: kwisikhongozeli ngasinye ungaqhuba isicelo, okanye iseti yezicelo, eziya kukholelwa ukuba zizo zodwa kwi-OS yonke, ngaphandle kokukrokrela ubukho bomnye umntu kulo matshini. Lo msebenzi uluncedo kakhulu ekundululeni usetyenziso olufanayo lweenguqulelo ezahlukeneyo, okanye izicelo eziphikisanayo ngokulula, kunye nokwahlula amaqhekeza esicelo ngokwamaleko. Olu lwaleko lwesamente lungabhalwa kamva kumfanekiso, onokusetyenziswa, umzekelo, ukuhambisa isicelo. Oko kukuthi, ngokufaka lo mfanekiso kunye nokuthumela izitya ezikuwo, ufumana indawo esele ilungile yokuqhuba isicelo sakho! Kumanyathelo okuqala, ungasebenzisa esi sixhobo zombini ngeenjongo zolwazi kunye nokufumana inzuzo yokwenyani ngokwahlula ingqiqo yesicelo kwiileya ezahlukeneyo. Kodwa kufanelekile ukuthetha apha ukuba ayinguye wonke umntu ofuna i-dockerization, kwaye ayisoloko. I-Dockerization ifanelekile kwiimeko apho isicelo "siqhekekile", sahlulwe saziinxalenye ezincinci, nganye inoxanduva lomsebenzi wayo, okubizwa ngokuba yi "microservice architecture".

Ukongezelela, ngaphezu kokubonelela ngokusingqongileyo, kufuneka siqinisekise ukuhanjiswa okufanelekileyo kwesicelo, okubandakanya zonke iintlobo zokuguqulwa kwekhowudi, ukufakwa kweelayibrari ezinxulumene nesicelo kunye neepakethi, iimvavanyo eziqhubayo, izaziso malunga nale misebenzi, njalo njalo. Apha kufuneka sinikele ingqalelo kwingcamango efana nethi "Udibaniso oluqhubekayo" (I-CI - uHlanganiso oluqhubekayo). Izixhobo eziphambili kule ndawo okwangoku ziJenkins (isoftware yeCI ebhalwe kwiJava inokubonakala inzima ekuqaleni), UTravis CI (ibhalwe ngoRuby, i-subjective, ilula noko Jenkins, nangona kunjalo, ulwazi oluthile kwintsimi yolungiselelo lokusasazwa lusafuneka), Gitlab CI (ibhalwe kwi Ruby kwaye Hamba).

Ke, emva kokuthetha ngendawo apho isicelo sakho siza kusebenza khona, lixesha lokuba ekugqibeleni sijonge ukuba zeziphi izixhobo zehlabathi lanamhlanje elisinika zona ukwenza ezi zicelo.

Masiqale ngezinto ezisisiseko: Umva (i-backend) - inxalenye yomncedisi. Ukukhethwa kolwimi, iseti yemisebenzi esisiseko kunye nesakhiwo esichazwe kwangaphambili (isakhelo) apha sichongwa ngokuyintloko ngokhetho lomntu, kodwa nangona kunjalo, kufanelekile ukukhankanywa ukuze kuqwalaselwe (uluvo lombhali malunga neelwimi luxhomekeke kakhulu, nangona kukho ibango. kwingcaciso engakhethi cala):

  • I-Python lulwimi olunobuhlobo ngokufanelekileyo kumsebenzisi ongenamava, iyaxolela iimpazamo ezithile, kodwa inokuba ngqongqo kakhulu kumphuhlisi ukuze angenzi nto imbi. Sele ilulwimi olukhulileyo nolunentsingiselo, olwavela ngo-1991.
  • Yiya - ulwimi oluvela kuGoogle, lunobubele kwaye lufanelekile, kulula kakhulu ukuqokelela kunye nokufumana ifayile ephunyeziweyo kulo naliphi na iqonga. Inokuba lula kwaye ibe mnandi, okanye inokuba nzima kwaye inzulu. Intsha kwaye incinci, ivele kutsha nje, ngo-2009.
  • Umhlwa mdala kancinci kunogxa wakhe wangaphambili, owakhutshwa ngo-2006, kodwa usemncinci kakhulu xa uthelekiswa noontanga bakhe. Ijolise kubaphuhlisi abanamava ngakumbi, nangona isazama ukusombulula imisebenzi emininzi ekumgangatho ophantsi womdwelisi.
  • IJava ligqala lophuhliso lwezorhwebo, elaziswa ngo-1995, kwaye lolona lwimi lusetyenziswa kakhulu kuphuhliso lweshishini namhlanje. Ngeengqikelelo zayo ezisisiseko kunye nokuseta okunzima, ixesha lokubaleka linokuba ngumngeni omkhulu kumntu oqalayo.
  • I-ASP.net liqonga lophuhliso losetyenziso olukhutshwe nguMicrosoft. Ukubhala umsebenzi, ulwimi lwe-C # (ebizwa ngokuba yi-C Sharp), eyavela ngo-2000, isetyenziswa kakhulu. Ubunzima bayo buthelekiseka kwinqanaba phakathi kweJava kunye neRust.
  • I-PHP, eyayisetyenziselwa ukusetyenzwa kwangaphambili kwe-HTML, okwangoku, nangona ibambe ubunkokeli obupheleleyo kwimarike yolwimi, kukho umkhwa oya ekunciphiseni ukusetyenziswa. Inomda ophantsi wokungena kunye nokulula kwekhowudi yokubhala, kodwa kwangaxeshanye, xa uphuhlisa izicelo ezinkulu ngokufanelekileyo, ukusebenza kolwimi kusenokunganelanga.

Ewe, inxalenye yokugqibela yesicelo sethu-esona sibonakalayo kumsebenzisi- frontend (umphambili) - bubuso besicelo sakho; yile nxalenye apho umsebenzisi anxibelelana ngokuthe ngqo.

Ngaphandle kokungena kwiinkcukacha, i-frontend yanamhlanje imele kwiintsika ezintathu, izikhokelo (kwaye kungekhona kakhulu), ekudaleni ujongano lomsebenzisi. Ngoko ke, ezi zintathu zithandwa kakhulu zezi:

  • I-ReactJS ayisosikhokelo, kodwa lithala leencwadi. Enyanisweni, isakhelo sihluke kwisihloko saso esiziqhenyayo kuphela ngokungabikho kweminye imisebenzi "ngaphandle kwebhokisi" kunye nesidingo sokuyifakela ngesandla. Ngaloo ndlela, kukho iindidi ezininzi "zokulungiswa" kweli thala leencwadi, ukwenza izikhokelo ezizodwa. Kunokuba nzima kancinci kumntu oqalayo, ngenxa yemigaqo ethile esisiseko, kunye nokuseta okundlongondlongo kwendawo yokwakha. Nangona kunjalo, ukuqalisa ngokukhawuleza, ungasebenzisa iphakheji "yenza-react-app".
  • I-VueJS sisikhokelo sokwakha ujongano lomsebenzisi. Kulo bathathu, ngokufanelekileyo ithatha isihloko sesona sikhokelo sisebenziseka lula; kuphuhliso kwi-Vue, umqobo wokungena ungaphantsi kunowabanye abazalwana abakhankanyiweyo. Ngaphezu koko, ungoyena mncinane kubo.
  • I-Angular ithathwa njengeyona nto inzima kakhulu kwezi zikhokelo, kuphela okufunekayo Uhlobo lweScript (ukongeza kulwimi lweJavascript). Ihlala isetyenziselwa ukwakha usetyenziso lwamashishini amakhulu.

Ukushwankathela okubhaliweyo ngasentla, sinokugqiba ekubeni ngoku ukuthunyelwa kwesicelo kwahluke kakhulu kwindlela le nkqubo yaqhubeka ngayo ngaphambili. Nangona kunjalo, akukho mntu ukunqandayo ekwenzeni "ukuthunyelwa" ngendlela yakudala. Kodwa ngaba ixesha elincinci eligcinwe ekuqaleni lixabisa inani elikhulu leempazamo apho umphuhlisi okhetha le ndlela kuya kufuneka anyathele kuyo? Ndiyakholelwa ukuba impendulo nguhayi. Ngokuchitha ixesha elincinci uziqhelanisa nezi zixhobo (kwaye awufuni ngaphezu koko, kuba kufuneka uqonde ukuba uyazifuna na kwiprojekthi yakho yangoku okanye hayi), ungayidlala, unciphise kakhulu, umzekelo. , iimeko zeempazamo zomoya ngokuxhomekeke kwimeko engqongileyo kwaye zivela kuphela kumncedisi wemveliso, uhlalutyo lwasebusuku lwento ekhokelela ekuphazamisekeni komncedisi kwaye kutheni ingaqali, kunye nokunye okuninzi.

umthombo: www.habr.com

Yongeza izimvo