Rondedzero yekugadzira nekutsikisa maapplication ewebhu

Kuti ugadzire yako yewebhu application munguva yedu, hazvina kukwana kuti ugone kuigadzira. Chinhu chakakosha kumisikidza maturusi ekuisa maapplication, kutarisa, pamwe nekugadzirisa uye kutonga nharaunda kwainoshanda. Sezvo nguva yekutumirwa kwemanyorero inopera mukukanganisika, kunyangwe kumapurojekiti madiki, otomatiki maturusi anogona kuunza mabhenefiti anobatika. Paunenge uchitumira "nemaoko", tinogona kukanganwa kufambisa chimwe chinhu, tichifunga izvi kana kuti nuance, shandisa muedzo wakakanganwa, urongwa urwu hunogona kuenderera mberi kwenguva yakareba.

Ichi chinyorwa chinogona kubatsira avo vari kungodzidza izvo zvekutanga zvekugadzira webhu maapplication uye vanoda kunzwisisa zvishoma nezve ekutanga mazwi uye zvibvumirano.

Saka, zvikumbiro zvekuvaka zvinogona kukamurwa kuita zvikamu zviviri: zvese zvine chekuita nekodhi yekushandisa, uye zvese zvine chekuita nemhoteredzo iyo kodhi iyi inoitwa. Iyo kodhi yekushandisa, zvakare, yakakamurwa kuita sevha kodhi (iyo inomhanya pane sevha, kazhinji: bhizinesi logic, mvumo, kuchengetedza data, nezvimwewo), uye kodhi yemutengi (iyo inomhanya pamushini wemushandisi: kazhinji. iyo interface, uye ine hukama logic nayo).

Ngatitange neChitatu.

Hwaro hwekushanda kwechero kodhi, system, kana software iOperating System, saka pazasi isu tichatarisa masisitimu anozivikanwa pamusika wekutambira uye tovapa tsananguro pfupi:

Windows Server - iyo yakafanana Windows, asi mukusiyana kweseva. Kumwe kushanda kunowanikwa mune mutengi (yenguva dzose) vhezheni yeWindows haipo pano, semuenzaniso, mamwe masevhisi ekuunganidza manhamba uye yakafanana software, asi pane seti yezvishandiso zvekutonga network, software yekutanga yekuisa maseva (web, ftp, ...). Kazhinji, Windows Server inoratidzika seyenguva dzose Windows, quacks seyenguva dzose Windows, zvisinei, inodhura zvakapetwa ka 2 kupfuura imwe yayo yenguva dzose. Nekudaro, zvakapihwa kuti iwe uchanyanya kuendesa application pane yakatsaurwa / chaiyo server, iyo yekupedzisira mutengo kwauri, kunyangwe inogona kuwedzera, haina kukosha. Sezvo iyo Windows chikuva ichitora nzvimbo inokatyamadza mumusika wevatengi OS, vhezheni yayo yeseva ndiyo ichave yakajairika kune vazhinji vashandisi.

Unix-similar system. Basa rechinyakare mune aya masisitimu haridi kuvepo kweyakajairwa graphical interface, ichipa mushandisi chete koni sechinhu chekutonga. Kune asina ruzivo mushandisi, kushanda mune iyi fomati kunogona kuve kwakaoma, ndeipi mutengo wekubuda mupepeti wemavara uyo anozivikanwa zvakanyanya mudata. Vim, mubvunzo une chekuita neizvi wakatowana maonero anopfuura mamiriyoni 6 mumakore matanhatu. Iwo makuru ekugovera (editions) emhuri iyi ndeaya: Debian - yakakurumbira kugovera, mapakeji mavhezheni mairi anotariswa zvakanyanya paLTS (Yakareba Nguva Tsigiro - kutsigirwa kwenguva yakareba), iyo inoratidzwa mukuvimbika kwakanyanya uye kugadzikana kwehurongwa uye mapakeji; Ubuntu - ine kugoverwa kwemapakeji ese mushanduro dzazvino, izvo zvinogona kukanganisa kugadzikana, asi zvinobvumidza iwe kushandisa mashandiro anouya neshanduro itsva; Red Hat Enterprise Linux - OS, yakagadzirirwa kushandiswa kwekutengeserana, inobhadharwa, zvisinei, inosanganisira kutsigirwa kubva kune vashambadziri vepurogiramu, mamwe mapeji ehupfumi uye mapakeji emutyairi; CentOS - yakavhurika sosi mutsauko weRed Hat Enterprise Linux, inoratidzwa nekusavapo kwemapakeji epakeji uye rutsigiro.

Kune avo vachangotanga kugona iyi nzvimbo, kurudziro yangu ingave masisitimu Windows Server, kana Ubuntu. Kana tikafunga Windows, saka izvi zvinonyanya kuzivikanwa nehurongwa, Ubuntu - kushivirira kwakawanda kune zvigadziriso, uyezve, semuenzaniso, mashoma matambudziko paunotanga mapurojekiti patekinoroji inoda shanduro nyowani.

Saka, tafunga nezve OS, ngatienderere mberi kune seti yezvishandiso zvinokutendera kuti utumire (kuisa), kugadzirisa uye kutarisa mamiriro ekushandisa kana zvikamu zvaro paseva.

Sarudzo yakakosha inotevera ichave yekuiswa kwechikumbiro chako uye sevha yayo. Parizvino, anonyanya kufarirwa inzira nhatu:

  • Kubata (kuchengeta) sevha uri wega ndiyo yakanyanya bhajeti-inoshamwaridzika sarudzo, asi iwe uchafanirwa kuraira static IP kubva kune wako mupi kuitira kuti sosi yako isachinje kero yayo nekufamba kwenguva.
  • Renda Sevha Yakatsaurirwa (VDS) - uye itonge yakazvimirira uye inorema mitoro
  • Bhadhara (kazhinji vanokupa mukana wekuyedza mashandiro epuratifomu mahara) yekunyorera kune imwe cloud hosting, uko iyo yekubhadhara modhi yezviwanikwa zvinoshandiswa yakajairika. Vamiriri vane mukurumbira veiyi nhungamiro: Amazon AWS (vanopa gore remahara rekushandisa masevhisi, asi nemwedzi wega wega), Google Cloud (vanopa madhora mazana matatu kuaccount, iyo inogona kushandiswa mukati megore pamakore ekubata masevhisi) , Yandex.Cloud (vanopa 300 rubles . kwemwedzi miviri), Microsoft Azure (kupa mahara kuwana mabasa akakurumbira kwegore, + 4000 rubles kune chero masevhisi kwemwedzi mumwe). Nekudaro, iwe unogona kuedza chero yeava vanopa pasina kushandisa peni, asi kuwana fungidziro yekufungidzira nezvemhando uye nhanho yebasa rakapihwa.

Zvichienderana negwara rakasarudzwa, chinhu chega chinozochinja mune ramangwana ndechekuti ndiani ane mhosva kune iyi kana iyo nzvimbo yekutonga. Kana iwe ukazvigamuchira iwe pachako, saka iwe unofanirwa kunzwisisa kuti chero kukanganisa mumagetsi, Internet, sevha pachayo, software yakaiswa pairi - zvese izvi zviri pamapfudzi ako. Nekudaro, pakudzidziswa uye kuyedzwa, izvi zvinopfuura zvakakwana.

Kana iwe usina mumwe muchina unogona kutamba sevhavha, saka iwe uchada kushandisa yechipiri kana yechitatu nzira. Mhosva yechipiri yakafanana neyekutanga, kunze kwekuti iwe unoshandura mutoro wekuvapo kwevhavha uye simba rayo kumapfudzi emuchengeti. Kutonga kwesevha uye software kuchiri pasi pekutonga kwako.

Uye pakupedzisira, sarudzo yekurenda huwandu hwevanopa makore. Pano iwe unogona kuseta otomatiki kutonga kwechinenge chero chinhu pasina kupinda mune yakawandisa tekinoroji ruzivo. Uye zvakare, pachinzvimbo chemuchina mumwe chete, unogona kuve neakati wandei anoenderana achimhanya zviitiko, izvo zvinogona, semuenzaniso, kuve nehany'a yezvikamu zvakasiyana zvechishandiso, asi usingasiyane zvakanyanya mumutengo kubva pakuve nesevha yakazvitsaurira. Uye zvakare, kune maturusi e orchestration, containerization, otomatiki deployment, kuenderera kusanganisa uye zvimwe zvakawanda! Tichatarisa zvimwe zvezvinhu izvi pazasi.

Kazhinji, sevha yezvivakwa inotaridzika seizvi: isu tine inonzi "orchestrator" ("orchestration" ndiyo maitiro ekutonga akati wandei server zviitiko), iyo inogadzirisa shanduko yezvakatipoteredza pane imwe sevha, mudziyo wevirtulization (sarudzo, asi chaizvo. inowanzo shandiswa), izvo zvinokutendera kuti ugovane chishandiso muzvikamu zvakasarudzika zvine musoro, uye Continuous Integration software-inobvumira zvigadziriso kune yakabatwa kodhi kuburikidza ne "zvinyorwa."

Saka, orchestration inobvumidza iwe kuti uone mamiriro emaseva, kuburitsa kana kudzosera kumashure zvigadziriso kune sevha nharaunda, zvichingodaro. Pakutanga, chikamu ichi hachigone kukubata iwe, nekuti kuti ugadzire chero chinhu, iwe unoda akati wandei maseva (unogona kuva neimwe, asi nei izvi zvichidikanwa?), Uye kuti uve nemaseva akati wandei, unoada. Pakati pezvishandiso zviri munzira iyi, inonyanya kufarirwa ndeye Kubernetes, yakagadzirwa na Google.

Nhanho inotevera ndeye virtualization pane OS level. Mazuva ano, pfungwa ye "dockerization" yakapararira, iyo inobva pachishandiswa Docker, iyo inopa kushanda kwemidziyo yakaparadzaniswa kubva kune imwe neimwe, asi yakatangwa mumamiriro eiyo imwe inoshanda sisitimu. Izvi zvinorevei: mune imwe neimwe yemidziyo iyi unogona kumhanyisa application, kana seti yezvikumbiro, izvo zvinotenda kuti ndizvo chete muOS yese, pasina kana kufungidzira kuvepo kwemumwe munhu pamushini uyu. Iri basa rinobatsira kwazvo kuvhura mashandisirwo akafanana eshanduro dzakasiyana, kana kungopokana maapplication, pamwe nekupatsanura zvimedu zvekushandisa kuita zvidimbu. Iyi layer cast inogona kunyorwa mumufananidzo, iyo inogona kushandiswa, semuenzaniso, kuendesa application. Ndokunge, nekuisa ichi chifananidzo uye nekuendesa midziyo yainayo, iwe unowana yakagadzirira-yakagadzirirwa nharaunda yekumhanyisa application yako! Mumatanho ekutanga, unogona kushandisa chishandiso ichi zvese nekuda kweruzivo uye kuti uwane mabhenefiti chaiwo nekugovanisa logic yekushandisa muzvikamu zvakasiyana. Asi zvakakodzera kutaura pano kuti havasi vese vanoda dockerization, uye kwete nguva dzose. Dockerization inoruramiswa mumamiriro ezvinhu apo iyo application "yakakamurwa", yakakamurwa kuita zvidimbu zvidiki, chimwe nechimwe chine chekuita nebasa rayo, iyo inonzi "microservice architecture".

Uye zvakare, pamusoro pekupa nharaunda, isu tinofanirwa kuve nechokwadi chekutumirwa kwakakodzera kwechikumbiro, icho chinosanganisira marudzi ese ekuchinja kwekodhi, kuiswa kwemaraibhurari ane chekuita nekushandisa uye mapakeji, kuita bvunzo, zviziviso nezve mashandiro aya, zvichingodaro. Pano tinofanira kuteerera pfungwa yakadai se "Continuous Integration" (CI - Kuenderera mberi Kubatanidzwa) Zvishandiso zvikuru munzvimbo ino panguva ino ndiJenkins (CI software yakanyorwa muJava inogona kuita seyakaomesesa pakutanga), Travis C.I. (yakanyorwa muRuby, subjective, zvakati nyore Jenkins, zvisinei, imwe ruzivo mumunda wekugadzirisa dhizaini ichiri kudikanwa), Gitlab CI (yakanyorwa pa Ruby uye Go).

Saka, wataura nezve nharaunda iyo application yako ichashanda, yave nguva yekuti utarise kuti ndeapi maturusi ayo nyika yazvino anotipa ekugadzira aya maapplication.

Ngatitangei nezvinokosha: Dzorera (backend) - server chikamu. Sarudzo yemutauro, seti yemabasa ekutanga uye chimiro chakafanotsanangurwa (chimiro) pano chinotemerwa zvakanyanya nezvido zvemunhu, asi zvakadaro, zvakakodzera kuti titaure kuti titarise (pfungwa yemunyori nezve mitauro inozviisa pasi, kunyangwe paine chirevo. kune tsananguro isina rusaruro):

  • Python mutauro une hushamwari kune asina ruzivo mushandisi, inoregerera zvimwe zvikanganiso, asi inogona zvakare kuomesera mugadziri kuti asaite chero chakaipa. Watova mutauro wakakura uye une musoro, wakaonekwa muna 1991.
  • Enda - mutauro unobva kuGoogle, zvakare une hushamwari uye wakasununguka, zviri nyore kuunganidza uye kuwana faira rinogoneka pane chero chikuva. Inogona kunge iri nyore uye inofadza, kana inogona kuva yakaoma uye yakakomba. Zvitsva uye zvidiki, zvakaonekwa nguva pfupi yadarika, muna 2009.
  • Rust yakakura zvishoma pane yaaimboshanda naye, yakaburitswa muna 2006, asi ichiri mudiki kana ichienzaniswa nevezera rake. Yakanangana nevagadziri vane ruzivo rwakanyanya, kunyangwe ichiri kuyedza kugadzirisa akawanda epasi-chikamu mabasa emugadziri.
  • Java inyanzvi yekusimudzira kutengeserana, yakaunzwa muna 1995, uye ndeimwe yemitauro inowanzoshandiswa mukusimudzira bhizinesi rekushandisa nhasi. Nezvayo zvekutanga pfungwa uye inorema kuseta, iyo nguva yekumhanya inogona kunetsa kune anotanga.
  • ASP.net ipuratifomu yekuvandudza application yakaburitswa neMicrosoft. Kunyora kushanda, mutauro weC # (unonzi C Sharp), wakaonekwa muna 2000, unonyanya kushandiswa. Kuoma kwayo kunofananidzwa nenhanho pakati peJava neRust.
  • PHP, yakatanga kushandiswa HTML preprocessing, parizvino, kunyangwe iine hutungamiriri hwakakwana mumusika wemitauro, pane maitiro ekudzikira mukushandiswa. Iyo ine yakaderera yekupinda chikumbaridzo uye nyore kwekunyora kodhi, asi panguva imwe chete, kana uchigadzira zvakaringana maapplication, mashandiro emutauro anogona kunge asina kukwana.

Zvakanaka, chikamu chekupedzisira chekushandisa kwedu - chinonyanya kuoneka kumushandisi - Frontend (kumberi) - ndicho chiso chechishandiso chako; zviri nechikamu ichi icho mushandisi anodyidzana zvakananga.

Pasina kuenda mune zvese, iyo yemazuva ano yekumberi inomira pambiru nhatu, masisitimu (uye kwete zvakanyanya), ekugadzira mushandisi interface. Saizvozvowo, matatu anonyanya kufarirwa ndeaya:

  • ReactJS haisi chimiro, asi raibhurari. Chaizvoizvo, iyo dhizaini inosiyana kubva kune yayo yekuzvikudza zita chete nekushaikwa kwemamwe mabasa "kunze kwebhokisi" uye kudiwa kwekuimisa nemaoko. Nokudaro, kune misiyano yakawanda ye "gadziriro" yeraibhurari iyi, ichiumba maitiro akasiyana. Zvinogona kunetsa zvishoma kune anotanga, nekuda kwemamwe mamisimboti ekutanga, uye nehutsinye kuseta kwenzvimbo yekuvaka. Nekudaro, kuti utange nekukurumidza, unogona kushandisa "gadzira-react-app" package.
  • VueJS chigadziriso chekuvaka mushandisi interfaces. Pautatu uhwu, zvinotora zvakafanira zita reiyo yakanyanya mushandisi-inoshamwaridzika chimiro; yekusimudzira muVue, chipingamupinyi chekupinda chakadzikira pane chedzimwe hama dzataurwa. Uyezve, ndiye gotwe pakati pavo.
  • Angular inoonekwa seyakaomesesa yeaya masisitimu, iyo chete inoda TypeScript (yekuwedzera yemutauro weJavascript). Kazhinji inoshandiswa kuvaka mabhizinesi makuru maapplication.

Tichipfupikisa zvakanyorwa pamusoro, tinogona kugumisa kuti ikozvino kutumira chikumbiro kwakasiyana zvakanyanya nemafambiro akaita maitiro aya. Nekudaro, hapana munhu ari kukumisa kuita "kutumira" nzira yechinyakare. Asi iyo nguva diki yakachengetedzwa pakutanga yakakodzera nhamba huru yezvikanganiso izvo mugadziri anosarudza nzira iyi anozofanira kutsika? Ndinotenda kuti mhinduro ndeyokuti kwete. Nekushandisa imwe nguva yakati wandei uchijairana nezvishandiso izvi (uye haudi zvinopfuura izvo, nekuti iwe unofanirwa kunzwisisa kuti unozvida mupurojekiti yako yazvino kana kwete), unogona kuiridza, uchidzikisa zvakanyanya, semuenzaniso. , zviitiko zvekukanganisa kwemweya zvichienderana nenharaunda uye zvinoonekwa chete pane sevha yekugadzira, kuongorora kwehusiku kwezvakakonzera kuparara kwevhavha uye nei isingatange, nezvimwe zvakawanda.

Source: www.habr.com

Voeg