![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Doorashada kaydka ugu fiican ee server-ka ee soo saarista badeecada waa go'aan qaadaaya miisaan badan. Doorashadani ma saamaynayso hawlgelinta bilowga ah oo kaliya balse la qabsiga wakhtiga fog iyo hufnaanta abkaaga. Haddii aad tahay horumariye sare ama hogaamiye kooxeed, waxaad dhabarka u saaran tahay mas'uuliyadda go'aamadan qaab dhismeedka, adigoo dhex shaandheynaya bad luqadaha iyo qaab-dhismeedka si aad u hesho ku habboon baahiyaha gaarka ah ee mashruucaaga. Hawshaada halkan waa inaad samayso door muhiim ah, mid sii hayn doona marka mashruucaagu horumariyo oo uu balaadhiyo.
Anigu waxaan ahay Grigorii Novikov, Horumariye Sare oo dhabarka ah oo khibrad sannado ah u leh qaabaynta iyo soo saarista naqshadaha software. Intii aan ku guda jiray xirfadayda, waxa aan la kulmay go'aamo badan oo muhiim ah oo ku saabsan xulashada xidhmooyinka server-ka. Go'aan kastaa wuxuu ku daray lakabyo fahamkayga sida loo waafajiyo tignoolajiyada shuruudaha mashruuca sii kordhaya. Maqaalkan, waxaan kugula wadaagi doonaa qaar ka mid ah fikradahaas aad u kasbatay, kaa caawin doona inaad soo xulato kayd server ah oo ku haboon mashruucaaga baahidiisa hadda iyo taageeri doona kobcintiisa mustaqbalka. Waxaan kugu martiqaadayaa inaad ila sahamiso soo-jiidashada iyo ka-baxyada samaynta go'aannada tignoolajiyada ee waddada u xaaraya guusha, hubinta in mashruucaagu u taagan yahay dhul u bislaaday korriin, dabacsanaan, iyo hal-abuurnimo.
Haddii aad tahay horumariye sare ama hogaamiye kooxeed, waxaad dhabarka u saaran tahay mas'uuliyadda go'aamadan qaab dhismeedka, adigoo dhex shaandheynaya bad luqadaha iyo qaab-dhismeedka si aad u hesho ku habboon baahiyaha gaarka ah ee mashruucaaga.
In kasta oo aan la xidhiidhin code per se, qodobkani aad buu muhiim u yahay waa in marka hore laga hadlo. Dukumeenti adag waa aasaaska horumarka hufan, gaar ahaan marka ay timaado horumarinta dhinaca macmiilka iyo tijaabinta abka. Aaladaha loogu talagalay soo saarista dokumeentigu waxay wax ka beddeleen habkan, iyadoo la hubinayo in dukumeentiyadu ay la socdaan isbeddelladii API ee ugu dambeeyay, hagaajinta socodka socodka shaqada, iyo dhimista dadaalka gacanta ee ilaalinta dukumentiga mashruucaaga ilaa hadda.
Qalabka uu heli karo horumariyaha, waxaan kula talinayaa Swagger kala duwanaanshihiisa, korsashada baahsan, iyo taageerada bulshada ee xoogga badan. Ikhtiyaarka kale ee caanka ah waa Redoc, kaas oo bixiya soo jiidasho leh, interface la beddeli karo ee dukumeenti API. Mashruucyada u baahan is-beddel ballaadhan, qalabyada sida Apiary waxay bixiyaan dabacsanaan ay weheliyaan awoodaha dukumentiga, in kasta oo ay u baahan karaan habayn bilow ah oo dheeraad ah.
Qalab kasta oo aad doorato, ujeedadu waa in ay ahaato in la wanaajiyo habka dukumeentigu waxtarka leh iyada oo aan loo oggolaan in qalabka laftiisa uu noqdo wakhti muhiim ah. Dooro xal yaraynaya dadaallada dukumeenti buug-gacmeedka adigoo bixinaya dabacsanaan si aad ula qabsato shuruudaha gaarka ah ee mashruucaaga.
Dabagalka saxda ah ee cayayaanka ayaa muhiim u ah ilaalinta caafimaadka codsigaaga. Isku dhafka raadraaca cayayaanka ee waxtarka leh, waxaan isticmaalaa aaladaha sida Jira iyo Bugzilla, labaduba waxay ku faanaan qaab muuqaal qani ah iyo dabacsanaan. Jira, gaar ahaan, waxay bixisaa awood is-dhexgal oo adag oo leh deegaanno badan oo horumarineed; Bugzilla, dhanka kale, waxaa lagu yaqaanaa fudeydnimadeeda iyo waxtarkeeda, gaar ahaan mashaariicda il-furan halkaasoo dabagalka saxda ah ee cayayaanka ay tahay mudnaanta.
Waa kuwan fikrado adiga kugu saabsan: isku-darka raad-raacayaasha cayayaanka iyo kuwa la diro isla markiiba iyo nidaamyada xakamaynta nooca waxay kor u qaadi doontaa iskaashiga iyo waxtarka kooxdaada. Tusaale ahaan, Jiira+Bitbucket combo waxay hagaajinaysaa socodka shaqada, taasoo u oggolaanaysa dabagalka arrin aan kala go 'lahayn gudaha deegaanka kantaroolka nooca. Lammaanayntani waxa ay sahlaysa hufnaan, hanaan horumarineed oo firfircoon, halkaas oo cusboonaysiinta koodka iyo xallinta ay si dhow isugu xidhan yihiin, taas oo awood u siinaysa ku celcelin degdeg ah iyo tayada kood la hagaajiyay.
Is dhexgalka kale ee xoogga leh waa Mattermost+Focalboard, kaas oo bixiya madal wadashaqeyn oo dhamaystiran. Waxay isku daraysaa faa'iidooyinka isgaadhsiinta tooska ah ee Mattermost mashruuca iyo awoodaha maaraynta hawsha ee Focalboard, xoojinta kooxaha leh cusboonaysiinta waqtiga-dhabta ah ee dabagalka dhiqlaha, oo ay weheliso dabacsanaanta lagu maareeyo hawlaha iyo qulqulka shaqada gudaha interface midaysan. Isku-dhafka noocaan ah kaliya ma wanaajiyo habka xallinta cayayaanka laakiin sidoo kale wuxuu kobciyaa jawi horumarineed oo isku xiran oo firfircoon, ugu dambeyntiina kor u qaadaya wax soo saarka iyo natiijooyinka mashruuca.
Marka alaabtaadu bilaabato inay qabato, waxaad wajihi doontaa caqabada miisaanka . Uma jeedo si fudud tirada isticmaalayaasha ah oo kor u kacaysa. Qiyaasida waxay ku lug leedahay ku habboonaanta sifooyin cusub, maaraynta xogta koraysa, iyo ilaalinta heerarka waxqabadka ee codebase-kaaga iyo kaydka xogta sida ugu wanaagsan. Tani waa marka qaab-dhismeedka aad u dooratay kaydka server-kaaga uu runtii soo galo ciyaarta.
Tusaale ahaan, bilawga mashruucaaga, raadinta qaab-dhismeedka monolithic waxay u ekaan kartaa hab dheeli tiran. Laakin marka badeecadaada ay korto oo is beddesho, waxaad bilaabi doontaa inaad aragto halka ay ku yar tahay. U wareejinta qaab-dhismeedka microservices ama keenista adeegyada daruuriga ah ee la miisaami karo waxay ku siin kartaa koontarool aad u fiican oo ku saabsan qaybaha kala duwan ee codsigaaga.
Si loo helo xalalka xirmooyinka kaydka ee server-ka, waxaan u janjeeraa dhanka tignoolajiyada sida Kubernetes iyo Docker. Aaladahani waxay ku siin doonaan dabacsanaan si aad u cabbirto adeegyada si madaxbannaan, u maarayso hawlgelinta si hufan, oo ay hubiso joogtaynta deegaankaaga. Intaa waxaa dheer, bixiyeyaasha adeegga daruuraha sida Adeegyada Shabakadda Amazon, Google Cloud, iyo Microsoft Azure waxay bixiyaan adeegyo la maareeyay oo dhab ahaantii fududayn kara safarkaaga miisaan.
Doorashada qaab-dhismeed la miisaami karo waxay la macno tahay in la isku dheellitiro faa'iidooyinka scalability iyo kakan ee maaraynta nidaamka qaybsan. Ugu dambayntii, ujeedadaada halkan waa in aad soo qaadato kayd server ah oo buuxinaya baahiyahaaga hadda oo leh dabacsanaan aad ku maarayn karto koritaanka mustaqbalka.
Ma jirto gabaabsi luqadaha barnaamijyada iyo qaab-dhismeedka la heli karo, mid walbana wuxuu leeyahay faa'iidooyin u gaar ah sida taageerada bulshada, helitaanka kheyraadka, iyo xitaa sifooyinka amniga. Kala duwanaanshiyahani wuxuu u oggolaanayaa xalal ballaadhan oo aan kaliya ka hadlin caqabadaha horumarinta degdegga ah laakiin sidoo kale la jaan qaadaya yoolalka mashruuca muddada-dheer, oo ay ku jiraan amniga iyo miisaanka .
Tiknoolajiyada ay taageeraan bulshooyin badan iyo ilo badan, sida Python iyo JavaScript - iyo qaabdhismeedkooda ku jira luqadahaan sida Django ama React - waxay bixiyaan aqoon hodan ah iyo tusaalayaal kood u diyaarsan in la isticmaalo. Hantidani waxay si weyn u dhimaysaa wakhtiga aad ku bixin lahayd cilad-raadinta, iyadoo la eegayo khatarta aadka u yar ee la kullanka arrin aanu qof kaa horreeyey ka hadlin. Taa beddelkeeda, tignoolajiyada cusub ama niche waxay miiska u soo saari karaan faa'iidooyin gaar ah, laakiin badanaa waxay kaa tagayaan geesinimada waqti adag marka ay timaado helitaanka xalal degdeg ah.
Waqti kale oo muhiim ah waa isku dheelitirnaanta amniga iyo isticmaalka. Mashruucyada halka ilaalinta koodhka isha ay tahay walaac weyn, tixgeli isticmaalka luqadaha iyo teknoolojiyadda taageeraya daboolid fudud iyo baakad sugan. Tusaale ahaan, Java iyo .NET waxay dejiyeen qalab iyo nidaamyo deegaanka si ay u qariyaan koodka. Tignoolajiyada weelka sida Docker ayaa sidoo kale ku caawin doona halkan. Markaad ku xidhidayso arjiga iyo deegaankiisa weel, waxaad hubisaa in macmiilku helo wax kasta oo loo baahan yahay si uu u socodsiiyo abka adiga oo aan si toos ah u helin lambarkaaga. Habkani kaliya maaha inuu sugo koodka laakiin sidoo kale wuxuu fududeeyaa habka geynta.
Tixgelinta qiimaha ayaa muhiim u ah xulashada xirmada tignoolajiyada. Waxa kaliya oo ku saabsan qiimaha dejinta bilowga ah, waa inaad sidoo kale ka fikirtaa wakhti dheer waxa ku kacaya si loo ilaaliyo loona cabbiro nidaamkaaga .
Tignoolajiyada isha furan waxay la imanaysaa faa'iidada macaan ee eber ujrada shatiga hore. Bilawga ama mashruuc kasta oo ku jira miisaaniyad adag, tani waxay noqon kartaa barbaro weyn. Intaa waxaa dheer, barkadaha baaxadda leh ee horumariyayaashu waxay kaa caawin doonaan inaad kharashka shaqada sii ahaato mid la maarayn karo.
Dhanka kale, tignoolajiyada aad u adag iyo kuwa gaarka ah, sida blockchain ama aaladaha falanqaynta xogta horumarsan, ayaa laga yaabaa inay u baahdaan maalgashi bilaw ah oo sareeya. Iyadoo ay bixiyaan faa'iidooyin la taaban karo marka la eego waxqabadka iyo amniga, waa inaad miisaamaysaa wadarta qiimaha lahaanshaha marka loo eego faa'iidooyinka la saadaaliyay.
Intaa waxaa dheer, adeegyada daruuraha, iyagoo yareynaya baahida kaabayaasha jireed, waxay la yimaadaan kharashkooda gaarka ah. Kor ku xusan AWS, Google Cloud, iyo Azure waxay bixiyaan noocyo kala duwan oo qiimeyn ah kuwaas oo cabbiri kara isticmaalkaaga; haddana iyada oo aan si taxadar leh loo maareyn, kharashyadani waxay noqon karaan kuwo wareega marka mashruucaagu sii kordho.
Xaqiijinta soo gudbinta kood wax ku ool ah waxay diiradda saartaa habka geynta, ugu horrayn iyada oo loo marayo dhuumaha Isku-dhafka Joogtada ah/Daraynta Joogtada ah (CI/CD) . Habkani waxa uu hoosta ka xariiqayaa muhiimada ay leedahay in si toos ah loogu wareejiyo koodhka meelo kala duwan, hagaajinta horumarka iyo socodka shaqo ee wax soo saarka.
Aaladaha sida GitLab CI iyo CircleCI waxay bixiyaan xalal adag oo otomaatig u ah tijaabinta iyo hababka geynta. Intaa waxaa dheer, isticmaalka qalabka qoraalka sida Ansible iyo Terraform ayaa sii wanaajinaya otomatiga, taas oo u oggolaanaysa bixinta iyo maareynta kaabayaasha iyada oo loo marayo code.
Farsamooyinkani waxay kaa caawin doonaan inaad dhisto dhuumo aan fiicneyn oo ka wareejinaya koodhka horumarka una guuraya wax soo saar sax ah oo la isku halleyn karo. Adiga oo ku daraya qalabkan socodka shaqadaada, waxaad dejisanaysaa qaab aan kaliya dardar galinayn wareegyada horumarka laakiin sidoo kale hubinaya joogtaynta iyo xasiloonida deegaanka.
Abuuritaanka iyo maaraynta deegaanka horumarku waa arrin aasaasi ah oo haddana adag oo ka mid ah meertada nololeed ee mashruuc kasta. Naqshadeynta jawi la qiyaasi karo oo la dayactiri karo waxay u ekaan kartaa mid adag, gaar ahaan kooxaha aan lahayn khabiir u go'ay DevOps.
Kooxo badan, jawaabta su'aasha ku saabsan habka ugu wanaagsan ee maaraynta deegaanka waxay ku jirtaa ka faa'iidaysiga adeegyada daruuraha ku salaysan iyo weel dhigista. Mar labaad, AWS, Google Cloud, iyo Azure waxay bixiyaan adeegyo kala duwan kuwaas oo loo habayn karo si ay ugu habboonaadaan cabbirka iyo kakanaanta mashruucaaga. Goobahani waxay bixiyaan qalabka lagama maarmaanka u ah in la abuuro jawi dabacsan, oo la miisaami karo iyada oo aan loo baahnayn maareynta kaabayaasha ballaaran. Intaa waxaa dheer, qaadashada teknoolajiyada sida Docker iyo Kubernetes waxay ka dhigaysaa in la geeyo heerar kala duwan oo horumarineed, tijaabin, iyo wax soo saar joogto ah oo la isku halayn karo.
Dhisidda jawi wax ku ool ah oo raaxo leh maaha wax ku saabsan dejinta server-ka oo keliya laakiin sidoo kale waxay ku saabsan tahay qaabeynta jawiga maxalliga ah ee horumarinta . Arintan ayaa muhiim u ah DevOps, maadaama ay had iyo jeer farsameeyaan qoraallo si ay u fududeeyaan habka bilaabista mashaariicda gudaha. Si kastaba ha ahaatee, hawshani had iyo jeer ma aha mid fudud. Tusaale ahaan, diyaarinta bay'ada maxalliga ah ee NET waxay noqon kartaa mid aad u adag, taasoo muujinaysa baahida loo qabo doorashada tignoolajiyada iyo aaladaha hagaajinaya server-ka iyo dejinta maxalliga ah labadaba. Xaqiijinta horumariyayaashu inay helaan aan kala go 'lahayn si ay u helaan deegaan horumarineed oo wax ku ool ah ayaa lama huraan u ah ilaalinta wax soo saarka iyo fududaynta habsami u socodka shaqada.
Doorashada kaydka saxda ah ee server ee mashruucaagu waa sida dejinta aasaaska dhismaha: waxay u baahan tahay tixgelin taxaddar leh, aragti dheer, iyo dheelitirka u dhexeeya baahiyaha hadda jira iyo koritaanka mustaqbalka. Doorasho kasta oo aad sameyso waxay saameyn ku yeelataa guusha mashruucaaga iyo kartidiisa si uu ula qabsado oo ugu kobco muuqaalka farsamada ee firfircoon. Maqaalkan, waxaan uga dan lahaa inaan kugu hago go'aamadan xasaasiga ah, anigoo ku qalabaynaya fikrado aad ku maarayn karto dhibaatooyinka soo socda. Waxaan rajeynayaa in fikradaha aad maanta heshay ay kaa caawin doonaan inaad sameyso doorashooyin xog ogaal ah oo kuu horseedaya guusha mashaariicdaada hadda iyo kuwa mustaqbalka!
Soo saarista qalab been abuur ah oo loo qorsheeyay in lagu tijaabiyo tirada badan, mashruuca loo calaamadeeyay inuu yahay kii ugu horreeyay ee noociisa ah ee Bariga Yurub, waxaan la kulmay doorashada kaydka serverka oo ah hogaanka kooxda horumarinta. Shuruudaha asaasiga ah ee mashruuca – tiro aad u badan oo ah isku xirka adeegga-yaraha iyo hawlgallada faylalka ballaaran ee lagu socodsiinayo wax soo saarka dareemayaasha kala duwan – waxay u baahan yihiin xal dhabarka ah oo adag haddana dabacsan.
Waxaan ka dooranay Python oo leh FastAPI tartamayaasha kale sida Python/Django iyo Go/Fiber. Go'aanku wuxuu ku xidhan yahay taageerada sare ee FastAPI ee barnaamijyada asynchronous, sifada muhiimka ah ee maaraynta baahida xogta degdega ah ee mashruuca si hufan. Django, in kasta oo uu awood badan yahay, ayaa dhinac loo dhigay sababta oo ah dabeecaddiisa isku-dhafka ah, taas oo aan buuxin karin shuruudahayada lacag-wadaagga sare iyo maaraynta xogta waqtiga-dhabta ah. Sidoo kale, Go waxaa loo tixgeliyey waxqabadkeeda laakiin ugu dambeyntii waa laga gudbay iyada oo lagu taageerayo awoodaha horumarinta degdega ah ee FastAPI iyo taageerada ku dhex dhisan ee dukumeenti Swagger, taas oo qiimo weyn u leh jadwalkayaga horumarinta MVP ee adag.
Isla mar ahaantaana, mashruucu wuxuu dalbaday abuurista muuqaal softcam awood u leh inuu maamulo isku xirka kamaradaha webka iyo jiheynta fiidiyoowga fiidiyooga ee kanaalada kala duwan. C++ waxa ay noqotay luqadda hawshan lagu dooranayo, iyada oo ay ugu wacan tahay xawligeeda fulinta ee aan la barbar dhigi karin iyo is waafajinteeda madal.
Go’aamadii aanu ka gaadhnay mashruucaasi kaliya may fududayn in mashruucani guulaysto ee bilowga ah balse waxa ay dhidibbada u taagtay kobociisa joogtada ah iyo la qabsiga.
Mashruucan, waxaan markii hore doortay Python iyo Django , iyaga oo u doortay awooddooda horumarineed ee degdegga ah ee lagama maarmaanka u ah bilaabista degdega ah. Doorashadani waxa ay noqotay mid wax ku ool ah marxaladihii hore, iyada oo si toos ah uga qayb qaadatay korodhka dakhliga naadiga iyada oo loo marayo hagaajinta maamulka xaadiriska.
Markii baaxadda mashruuca la ballaariyay oo lagu daray astaamo ay ka mid yihiin maamulka shaqaalaha, falanqaynta, iyo nidaamka fariimaha gudaha, xaddidaadda Django ee maaraynta kakan, hababka isku midka ah ayaa muuqday. Xaqiijintaani waxay igu keentay inaan isku daro Go, anigoo ka faa'iideysanaya goroutines iyo Fasthttp horumarinta rasuulkeena gudaha. Waxqabadka Go ee maaraynta hawlaha isku midka ah wuxuu naga caawiyay inaan ballaarino shaqada CRM, taasoo noo ogolaaneysa inaan sii wadno wax qabad sare iyada oo ay ugu yar tahay kharashka.
Go'aanka ah in la isticmaalo habka tignoolajiyada isku-dhafka ah, iyada oo la adeegsanayo Django ee hawlaha asaasiga ah iyo Tag qaybaha waxqabadka sare, waxay caddeeyeen inay tahay mid muhiim ah. Istaraatiijiyadani waxay ii ogolaatay inaan dheellitiro horumarka degdega ah iyo miisaanka, hubinta in CRM ay u kobcin karto si loo daboolo baahiyaha sii kordhaya ee naadiga.