paint-brush
Maitiro Ekusarudza Server Stack Pakuvhurwa Kwechigadzirwaby@gnovikov
109,277 kuverenga
109,277 kuverenga

Maitiro Ekusarudza Server Stack Pakuvhurwa Kwechigadzirwa

by Grigorii Novikov9m2024/03/01
Read on Terminal Reader
Read this story w/o Javascript

Kurebesa; Kuverenga

Munzvimbo yekuvandudzwa kwechigadzirwa, sarudzo ye server stack ine kukosha kwakakura, kuumba kwete chete yekutanga kutumirwa asiwo kugona kwenguva refu uye kugona kwekushandisa kwako. Grigorii Novikov, ane ruzivo Senior Backend Developer, anokwevera kubva kuhupfumi hwake hweruzivo kuti ape ruzivo rwakakosha mune yakaoma maitiro ekusarudza yakanakira server stack.
featured image - Maitiro Ekusarudza Server Stack Pakuvhurwa Kwechigadzirwa
Grigorii Novikov HackerNoon profile picture
0-item


Kusarudza iyo yakakwana server stack yekutanga chigadzirwa isarudzo inotakura huremu hwakawanda. Sarudzo iyi haingopesvedzeri kwekutanga kutumirwa asi kuchinjika kwenguva refu uye kugona kweapp yako. Kana iwe uri mugadziri wepamusoro kana kutungamira timu, iwe unotakura mutoro wezvisarudzo zvezvivakwa izvi, uchipepeta nemugungwa remitauro uye marongero kuti uwane yakakwana yakakwana yezvido zvepurojekiti yako. Basa rako pano nderekuita sarudzo yakakosha, iyo inomira apo chirongwa chako chinoshanduka nekukura.


Ini ndiri Grigorii Novikov, Senior Backend Developer ane makore ane ruzivo mukuveza nekuburitsa software architectures. Muhupenyu hwangu hwese, ndanga ndakatarisana nesarudzo dzakakosha pakusarudza seva stack. Sarudzo yega yega yakawedzera zvidimbu pakunzwisisa kwangu kwekugadzirisa tekinoroji nezvinodiwa zvepurojekiti iri kukura. Muchinyorwa chino, ini ndichagovera newe mamwe eiwo ega-wakawana ruzivo, achikubatsira iwe kutora server stack inoenderana nezvido zvepurojekiti yako uye kutsigira kukura kwayo mune ramangwana. Ini ndinokukoka iwe kuti uongorore neni ins uye kunze kwekuita tekinoroji sarudzo dzinovhura nzira yebudiriro, kuve nechokwadi chekuti purojekiti yako yakamira pavhu rakaibva pakukura, kushanduka, uye hunyanzvi.


Kana iwe uri mugadziri wepamusoro kana kutungamira timu, iwe unotakura mutoro wezvisarudzo zvezvivakwa izvi, uchipepeta nemugungwa remitauro uye marongero kuti uwane yakakwana yakakwana yezvido zvepurojekiti yako.


1. Autogenerating Documentation

Kunyangwe isina hukama nekodhi pase, iyi poindi yakakosha zvekuti inofanirwa kukurukurwa yekutanga. Robust zvinyorwa ibwe repakona rebudiriro inobudirira, kunyanya kana zvasvika kune mutengi-parutivi kusimudzira uye kuongororwa kweapp. Zvishandiso zvekugadzira zvinyorwa zvakashandura maitiro aya, kuve nechokwadi chekuti zvinyorwa zvinofambirana neazvino shanduko yeAPI, kugadzirisa mafambiro ebudiriro, uye kudzikisa pasi pamanyorero ekuedza kuchengetedza zvinyorwa zvepurojekiti yako kusvika zvino.


Pakati pezvishandiso zviripo kune anovandudza, ini ndinokurudzira Swagger nekuda kwekuita kwayo, kutorwa kwakapararira, uye rutsigiro rwenharaunda ine simba. Imwe sarudzo yakakurumbira ndeye Redoc, iyo inopa inoyevedza, inogoneka interface ye API zvinyorwa. Kune mapurojekiti anoda kuwanda kwekugadzirisa, maturusi akaita seApiary anopa kuchinjika padivi pezvinyorwa zvinogoneka, kunyangwe zvingangoda kuseta kwekutanga.


Chero chipi zvacho chaunosarudza, chinangwa chinofanirwa kunge chiri chekugadzirisa maitiro ezvinyorwa kuti zvishande pasina kutendera chishandiso pachacho kuti chive chakakosha nguva kunyura. Sarudza mhinduro inodzikisira zvinyorwa zvemanyorero uku uchipa kuchinjika kujairana neprojekiti yako yakasarudzika zvinodiwa.


2. Bug Tracker Support

Kushanda kwebug tracking kwakakosha kuchengetedza hutano hwekushandisa kwako. Kune inoshanda bug yekutevera yekubatanidza , ini ndinoshandisa maturusi akaita seJira neBugzilla, ese ari maviri achizvikudza akapfuma chimiro seti uye kuchinjika. Jira, kunyanya, inopa simba rekubatanidza rakasimba nenzvimbo dzakawanda dzebudiriro; Bugzilla, kune rumwe rutivi, inozivikanwa nekureruka kwayo uye kushanda kwayo, kunyanya mumapurojekiti akavhurika-sosi uko kurongeka kwebug kunonyanya kukosha.


Heino nzwisiso yako: kubatanidza mabhagi trackers nevatumwa nekukurumidza uye shanduro yekudzora masisitimu inosimudzira kubatana kwechikwata chako uye kushanda nesimba. Semuenzaniso, iyo Jira + Bitbucket combo inofambisa mafambiro, ichibvumira isina musono nyaya yekutevera mukati meiyo shanduro yekudzora nharaunda. Iyi pairing inofambisa pachena, agile kuvandudza maitiro, uko kodhi inogadziridza uye kugadzirisa nyaya kwakabatana, kugonesa kukurumidza kudzokororwa uye yakagadziridzwa kodhi mhando.


Kumwe kubatanidzwa kwakasimba ndeye Mattermost + Focalboard, iyo inopa yakazara yekubatana chikuva. Inosanganisa mabhenefiti ekutaurirana akananga eMattermost nepurojekiti uye kugona kwekuita basa reFocalboard, ichigonesa zvikwata zvine chaiyo-nguva zvigadziriso pakutevera bug, padivi nekuchinjika kubata mabasa uye mafambiro ebasa mukati mekubatana kwakabatana. Kubatanidzwa kwakadaro hakungokwidziri maitiro ekugadzirisa bug asiwo kunosimudzira yakawedzera kubatana uye agile budiriro nharaunda, pakupedzisira inosimudzira chibereko uye mhedzisiro yeprojekiti.


3. Kuwedzera paKukura

Kana chigadzirwa chako chatanga kubata, iwe unotarisana nedambudziko rekuyera . Uye ini handireve kungowedzera nhamba yevashandisi. Kuyera kunosanganisira kukodzera mune zvitsva maficha, kubata dhatabhesi iri kukura, uye kuchengetedza mazinga ekuita kwecodebase yako uye dhatabhesi zvakakwana. Apa ndipo apo dhizaini yawakasarudza kune yako server stack inonyatso tamba.


Semuenzaniso, pakuvhurwa kweprojekiti yako, kuenda kune monolithic architecture inogona kuita senge nzira yakaenzana. Asi sezvo chigadzirwa chako chinokura uye chichichinja, iwe unotanga kuona painodonha. Kushandura kune microservices architecture kana kuunza scalable Cloud services inogona kukupa kutonga kwakaringana pamusoro pezvinhu zvakasiyana zvekushandisa kwako.


Kune scalable server stack mhinduro, ini ndinotsamira kune matekinoroji seKubernetes uye Docker. Zvishandiso izvi zvinokupa iwe kuchinjika kuyera masevhisi wakazvimirira, kutonga kutumirwa nemazvo, uye kuve nechokwadi chekuenderana munzvimbo dzako dzose. Uyezve, vanopa masevhisi emakore seAmazon Web Services, Google Cloud, uye Microsoft Azure vanopa stellar inotungamirwa masevhisi anogona kunyatso kurerutsa rwendo rwako rwekuyera.


Kusarudza scalable architecture kunoreva kuyera mapeks e scalability nekuoma kwekutarisira yakagoverwa system. Pakupedzisira, chinangwa chako pano ndechekutora server stack inosangana nezvido zvako zvazvino uye ine shanduko yekubata kukura mune ramangwana.


4. Kutsvaga Yakakwana Yakakwana: Pakati peNharaunda uye Chengetedzo

Hapana kushomeka kwemitauro yekuronga uye masisitimu aripo, imwe neimwe iine seti yayo yezvipo serutsigiro rwenharaunda, kuwanikwa kwezvishandiso, uye kunyangwe kuchengetedza maficha. Izvi zvakasiyana-siyana zvinobvumira sarudzo yakafara yemhinduro iyo isingangogadzirise matambudziko ekusimudzira ekukurumidza asi zvakare inopindirana nezvinangwa zvenguva refu yeprojekiti, kusanganisira chengetedzo uye scalability .


Tekinoroji dzinotsigirwa nenharaunda dzakakura uye zviwanikwa zvakawanda, zvakaita sePython neJavaScript - nemafuremu avo mukati memitauro iyi seDjango kana React - inopa hupfumi hweruzivo uye yakagadzirira-kushandisa-kodhi mienzaniso. Uhu hupfumi hunodzikisira zvakanyanya nguva yawaizoshandisa pakugadzirisa matambudziko, uchipihwa madiki ekusangana nenyaya isina kugadziriswa nemumwe munhu pamberi pako. Sezvineiwo, hutsva kana niche tekinoroji inogona kuunza yakasarudzika perks patafura, asi inowanzokusiya iwe uchitsvaga kwenguva yakaoma kana zvasvika pakutsvaga mhinduro nekukurumidza.


Imwe nguva yakakosha ndeyekuenzanisa chengetedzo uye usability. Kumapurojekiti uko kuchengetedzwa kwekodhi kuri kunetsa zvikuru, funga kushandisa mitauro uye matekinoroji anotsigira kuvhurika nyore uye kurongedza kwakachengeteka. Semuyenzaniso, Java ne.NET dzakagadzira maturusi uye ecosystems for obfuscating code. Containerization matekinoroji akaita seDocker achakubatsirawo pano. Nekurongedza application uye nharaunda yayo mumudziyo, iwe unoita shuwa kuti mutengi anogamuchira zvese zvinodiwa kumhanyisa app pasina kuwana kodhi yako. Iyi nzira haingochengetedze kodhi chete asi zvakare inorerutsa maitiro ekutumira.


5. Mutengo

Kufunga kwemitengo kwakakosha pakusarudza tekinoroji stack. Ingori mutengo weiyo yekutanga kuseta, iwe zvakare unofanirwa kufunga kwenguva refu nezve izvo zvazvinozodhura kuchengetedza uye kuyera system yako .


Open-source tekinoroji inouya neinotapira perk ye zero muripo werezenisi pamberi. Kune yekutanga kana chero chirongwa pane yakaomesesa bhajeti, iyi inogona kuve yakakura dhizaini. Pamusoro pezvo, iwo madziva makuru evagadziri vane hunyanzvi anokubatsira kuti uchengetedze mutengo wevashandi uchigoneka.


Kune rimwe divi, yakanyanya kuomarara uye yakasarudzika matekinoroji, senge blockchain kana advanced data analytics mapuratifomu, angangoda ekutanga investimendi. Kunyange ivo vachipa zvakakosha mabhenefiti maererano nekuita uye kuchengetedzeka, iwe unofanirwa kuyera iyo yakazara mutengo wevaridzi uchipesana nemabhenefiti anofungidzirwa.


Uyezve, masevhisi emakore, nepo achidzikisa kudiwa kwezvivakwa zvemuviri, anouya neayo seti yemitengo. Iyo AWS yataurwa pamusoro apa, Google Cloud, uye Azure inopa mhando dzakasiyana dzemitengo dzinogona kukwira nekushandisa kwako; asi pasina kungwarira manejimendi, mitengo iyi inogona kutenderera sezvo chirongwa chako chinokura.


6. Code delivery

Kuve nechokwadi chekufambisa kwekodhi kunotarisa panzira yekuendesa, kunyanya kuburikidza nekuenderera mberi kwekubatanidza / kuenderera mberi kwekuendesa (CI / CD) mapaipi. Iyi nzira inosimbisa kukosha kwekuita otomatiki kuendesa kodhi munzvimbo dzakasiyana siyana, kugadzirisa budiriro uye kugadzira mafambiro ekugadzira.


Zvishandiso zvakaita seGitLab CI uye CircleCI zvinopa mhinduro dzakasimba dzekuedza otomatiki uye maitiro ekutumira. Pamusoro pezvo, kushandiswa kwezvishandiso zvekunyora seAnsible neTerraform kunosimudzira otomatiki iyi, zvichibvumira kupa uye manejimendi ezvivakwa kuburikidza nekodhi.


Aya matekinoroji achakubatsira iwe kuvaka pombi isina musono inofambisa kodhi kubva mukusimudzira kuenda pakugadzira zvine humbowo uye nekuvimbika. Nekubatanidza maturusi aya mukufambiswa kwebasa, iwe unomisa dhizaini isingango mhanyisa kutenderera kwebudiriro asi zvakare inovimbisa kuwirirana uye kugadzikana munzvimbo dzese.


7. Zvakatipoteredza

Kugadzira uye kutonga nharaunda yebudiriro chinhu chekutanga asi chakaomesesa chehupenyu hwechero purojekiti. Kugadzira scalable uye inochengetedzwa nharaunda inogona kuita seyakaoma, kunyanya kuzvikwata zvisina akazvipira DevOps nyanzvi.


Kune zvikwata zvakawanda, mhinduro kumubvunzo pamusoro penzira yakanakisa yekutonga kwezvakatipoteredza iri mukusimudzira makore-akavakirwa masevhisi uye midziyo. Zvekare, AWS, Google Cloud, uye Azure inopa huwandu hwesevhisi inogona kugadzirwa kuti ikwane saizi uye kuoma kweprojekiti yako. Aya mapuratifomu anopa maturusi anodiwa kuti agadzire anochinjika, scalable nharaunda pasina kudiwa kweakawanda manejimendi manejimendi. Zvakare, kutorwa kwematekinoroji senge Docker uye Kubernetes kunoita kuti kutumirwa mumatanho akasiyana ebudiriro, kuyedzwa, uye kugadzira kunoenderana uye kwakavimbika.


Kuvaka nharaunda inoshanda uye yakagadzikana hakusi nezvesevha yekumisikidza chete asiwo nezve gadziriso yenzvimbo dzenzvimbo kune vanogadzira . Ichi chikamu chakakosha kuDevOps, sezvo ivo vanowanzogadzira zvinyorwa kurerutsa maitiro ekutanga mapurojekiti munharaunda. Zvisinei, basa iri harisi nyore nguva dzose. Semuyenzaniso, kugadzirira nharaunda mu.NET zvinogona kunetsa, zvichiratidza kukosha kwekusarudza matekinoroji uye maturusi anokwenenzvera zvese sevha uye setups yemuno. Kuve nechokwadi chekuti vanogadzira vawana mukana usina musono kunzvimbo dzebudiriro dzenzvimbo kwakakosha kuchengetedza goho uye kufambisa kufamba kwakatsetseka.


Kusarudza iyo chaiyo server stack yepurojekiti yako kwakafanana nekumisa hwaro hwechivako: zvinoda kunyatsotariswa, kufanoona, uye chiyero pakati pezvido zvazvino uye kukura mune ramangwana. Sarudzo yega yega yaunoita inokanganisa kubudirira kweprojekiti yako uye kugona kwayo kuchinjika uye kubudirira mune inosimba tekinoroji mamiriro. Nechinyorwa ichi, ini ndakavavarira kukutungamira kuburikidza nesarudzo dzakakosha idzi, ndichikupa ruzivo rwekubata kuoma kuri pamberi. Ndinovimba kuti ruzivo rwawawana nhasi ruchakubatsira kuita sarudzo dzine ruzivo dzinokutungamirira mukubudirira kwezvirongwa zvako zvazvino uye zveramangwana!



Mhosva Yechidzidzo A: MASS LIE DETECTOR PROJECT

Mukugadzirwa kwechidhinha chekunyepa chakagadzirirwa kuyedzwa kwevazhinji, chirongwa chakamisikidzwa sechokutanga cherudzi rwayo muEastern Europe, ndakatarisana nesarudzo ye server stack semutungamiri wechikwata chebudiriro. Izvo zvakakosha zvepurojekiti - huwandu hukuru hwekubatanidza microservice uye yakakura faira mashandiro ekugadzirisa akasiyana ma sensor kubuda - yaida yakasimba asi inochinjika backend mhinduro.


Isu takasarudza Python ine FastAPI pamusoro pevamwe vanokwikwidza sePython/Django uye Go/Fiber. Sarudzo yakanangana nerutsigiro rwepamusoro rweFastAPI yeasynchronous programming, chinhu chakakosha chekubata purojekiti yakakura yekugadzirisa data zvinodikanwa. Django, nepo ine simba, yakaiswa parutivi nekuda kwechimiro chayo chekuenderana, icho chaisakwanisa kuzadzisa zvatinoda zvepamusoro concurrency uye chaiyo-nguva data kubata. Saizvozvo, Go yakatariswa nezvekuita kwayo asi pakupedzisira yakapfuura ichifarira FastAPI kukurumidza kusimudzira kugona uye yayo yakavakirwa-mukati tsigiro yeSwagger zvinyorwa, izvo zvakakoshera kune yedu yakasimba MVP yekuvandudza yenguva.


Panguva imwecheteyo, chirongwa ichi chaida kugadzirwa kweSoftcam ficha inokwanisa kubata webcam yekubatanidza uye kutungamira vhidhiyo kuyerera pamatanho akasiyana. C ++ yakava mutauro wesarudzo webasa iri, nekuda kwekumhanya kwayo kusingaenzaniswi kwekuita uye kuenderana kwepapuratifomu.


Sarudzo dzatakaita pachirongwa ichi hadzina kungogonesa kubudirira kwekutanga kweprojekiti asi dzakaisa hwaro hwakasimba hwekukura kwayo nekuchinjira.

MAKASI DZIDZO B: MARTIAL ARTS CLUB CRM

Kune iyi purojekiti, ini pakutanga ndakasarudza Python uye Django , ndichivasarudza nekuda kwehunyanzvi hwavo hwekusimudzira hwakakosha pakuvhurwa nekukurumidza. Sarudzo iyi yakaratidza kushanda mumatanho ekutanga, zvichibatsira zvakananga mukuwedzera kwemari yekirabhu kuburikidza nekuvandudza manejimendi ekupinda.


Sezvo chiyero chepurojekiti chakawedzera kuti chibatanidze maficha senge manejimendi evashandi, analytics, uye yemukati messaging system, zvipimo zveDjango zvekubata zvakaomarara, maitiro akafanana zvakabuda pachena. Kuziva uku kwakaita kuti ndibatanidze Go, ndichishandisa goroutines uye Fasthttp yekuvandudza mutumwa wedu wemukati. Kuita kweGo mukugadzirisa mabasa anoenderana akatibatsira kuwedzera mashandiro eCRM, zvichitibvumira kuchengetedza kuita kwepamusoro nepamusoro pepamusoro.


Sarudzo yekushandisa nzira yakasanganiswa tekinoroji, kushandisa Django kune yakakosha kushanda uye Enda kune yepamusoro-inoshanda zvikamu, yakaratidza kuve yakakosha. Iri zano rakanditendera kuti ndienzanise kukurumidza kusimudzira uye scalability, kuve nechokwadi chekuti CRM inogona kusimukira kuti isangane nezvinodiwa zvinokura zvekirabhu.