Lîsteya kontrolê ya ji bo çêkirin û weşandina serîlêdanên malperê

Ji bo ku hûn di dema me de serîlêdana xweya webê biafirînin, ne bes e ku meriv bikaribe wê pêş bixe. Aliyek girîng sazkirina amûrên ji bo bicîhkirina serîlêdanê, çavdêrîkirin, û her weha rêvebirin û rêvebirina jîngeha ku tê de dixebite ye. Ji ber ku serdema bicîhkirina destan ber bi jibîrbûnê ve diçe, tewra ji bo projeyên piçûk jî, amûrên otomasyonê dikarin feydeyên berbiçav bînin. Dema ku em "bi destan" têne bicîh kirin, em pir caran dikarin ji bîr bikin ku tiştek biguhezînin, vê an wê nuansê bihesibînin, ceribandinek jibîrkirî bimeşînin, ev navnîş dikare ji bo demek dirêj ve were domandin.

Dibe ku ev gotar ji wan kesên ku tenê bingehên çêkirina serîlêdanên malperê fêr dibin û dixwazin hinekî li ser şert û peymanên bingehîn fam bikin bibe alîkar.

Ji ber vê yekê, serîlêdanên avakirinê hîn jî dikare li 2 beşan were dabeş kirin: her tiştê ku bi koda serîlêdanê re têkildar e, û her tiştê ku bi hawîrdora ku ev kod tê de tête bicîh kirin ve girêdayî ye. Koda serîlêdanê, di heman demê de, di heman demê de koda serverê jî tê dabeş kirin (ya ku li ser serverê dimeşîne, bi gelemperî: mantiqa karsaziyê, destûr, hilanîna daneyan, hwd.), û koda xerîdar (ya ku li ser makîneya bikarhêner dimeşe: pir caran navbeynkar, û mantiqa têkildar bi wê re).

Ka em bi Çarşemê dest pê bikin.

Bingeha xebata her kod, pergal, an nermalavê Pergala Xebatê ye, ji ber vê yekê li jêr em ê li pergalên herî populer ên li ser bazara mêvandariyê binihêrin û kurte ravek bidin wan:

Windows Server - heman Windows, lê di guhertoyek serverê de. Hin fonksiyonên ku di guhertoya xerîdar (birêkûpêk) ya Windows-ê de hene li vir nîn in, mînakî, hin karûbarên ji bo berhevkirina statîstîkan û nermalava wekhev, lê komek karûbar ji bo rêveberiya torê, nermalava bingehîn ji bo bicîhkirina serveran (web, ftp, ...). Bi gelemperî, Windows Server mîna Windows-a birêkûpêk xuya dike, quacks mîna Windows-a birêkûpêk, lêbelê, ew ji hevtayê xweya birêkûpêk 2 carî bêtir lêçû. Lêbelê, ji ber ku hûn ê bi îhtîmalek mezin serîlêdanê li ser serverek veqetandî / virtual bicîh bikin, lêçûna paşîn ji bo we, her çend ew zêde bibe jî, ne krîtîk e. Ji ber ku platforma Windows-ê di bazara OS-ya xerîdar de cîhek berbiçav digire, guhertoya servera wê dê ji pir bikarhêneran re ya herî naskirî be.

Unix- pergalek wekhev. Karê kevneşopî di van pergalan de hebûna navgînek grafîkî ya nas hewce nake, ku bikarhêner tenê konsolek wekî hêmanek kontrolê pêşkêşî dike. Ji bo bikarhênerek bê tecrube, xebata di vê formatê de dikare dijwar be, tenê lêçûna derketina ji edîtorek nivîsê ya ku di daneyê de pir populer e çi ye Vim, pirsek bi vê yekê ve girêdayî jixwe di 6 salan de zêdetirî 1.8 mîlyon dîtine. Dabeşkirinên (çapên) sereke yên vê malbatê ev in: Debian - belavokek populer, guhertoyên pakêtê yên tê de bi giranî li ser LTS-ê (Piştgiriya Demdirêj - piştgirî ji bo demek dirêj), ku di pêbawerî û îstîqrara pir zêde ya pergalê û pakêtan de tête diyar kirin; Ubuntu - di guhertoyên wan ên herî dawî de belavkirinên hemî pakêtan vedihewîne, ku dibe ku bandorê li aramiyê bike, lê dihêle hûn fonksiyona ku bi guhertoyên nû re tê bikar bînin; Red Hat Enterprise Linux - OS, ku ji bo karanîna bazirganî tête danîn, tê dayîn, lêbelê, piştgirî ji firoşkarên nermalavê, hin pakêtên xwedan û pakêtên ajokerê vedihewîne; CentOS - çavkaniya vekirî guhertoyek Red Hat Enterprise Linux, ku bi nebûna pakêtên xwedan û piştgirîyê ve tête diyar kirin.

Ji bo kesên ku nû dest bi serweriya vê deverê dikin, pêşniyara min dê pergalê be Windows Serveran jî Ubuntu. Ger em Windows-ê bifikirin, wê hingê ev di serî de nasîna pergalê ye, Ubuntu - bêtir tolerans ji nûvekirinan re, û di encamê de, ji bo nimûne, dema destpêkirina projeyên li ser teknolojiyên ku guhertoyên nû hewce dikin, kêmtir pirsgirêk.

Ji ber vê yekê, ku li ser OS-ê biryar da, em biçin ser komek amûran ku destûrê didin we ku hûn li ser serverê rewşa serîlêdanê an beşên wê bicîh bikin (saz bikin), nûvekirin û şopandin.

Biryara girîng a din dê cîhkirina serîlêdana we û servera ji bo wê be. Di vê demê de, herî gelemperî 3 rê hene:

  • Mêvandarkirin (ragirtina) serverek bi serê xwe vebijarka herî budceyê ye, lê hûn neçar in ku IP-yek statîk ji pêşkêşvanê xwe ferman bikin da ku çavkaniya we bi demê re navnîşana xwe neguhere.
  • Serverek Veqetandî (VDS) kirê bikin - û serbixwe wê îdare bikin û bargiran bipîvin
  • Ji bo abonetiyek hin mêvandariya cloudê bidin (pir caran ew şansê didin we ku hûn fonksiyona platformê belaş biceribînin), ku modela dravdanê ji bo çavkaniyên ku têne bikar anîn pir gelemperî ye. Nûnerên herî berbiçav ên vî alî: Amazon AWS (ew salek belaş a karanîna karûbaran didin, lê bi sînorek mehane), Google Cloud (300 $ didin hesabê, ku dikare di salê de li ser karûbarên mêvandariya cloudê were xerc kirin) , Yandex.Cloud (ew bidin 4000 rubleyê . ji bo 2 mehan), Microsoft Azure (bigihînin belaş xizmetên populer ji bo salekê, + 12 rubleyê ji bo her xizmetê ji bo mehekê). Bi vî rengî, hûn dikarin yek ji van pêşkêşvanan biceribînin bêyî ku quruşek xerc bikin, lê di derbarê kalîte û asta karûbarê peydakirî de nerînek nêzîk bistînin.

Bi riya hilbijartî ve girêdayî, tenê tiştê ku dê di pêşerojê de biguhezîne ev e ku kî bi giranî berpirsiyarê vê an wê qada rêveberiyê ye. Ger hûn xwe mêvandar bikin, wê hingê divê hûn fêm bikin ku her qutbûna elektrîkê, Înternetê, serverê bixwe, nermalava ku li ser wê hatî bicîh kirin - ev hemî bi tevahî li ser milên we ye. Lêbelê, ji bo perwerdehî û ceribandinê, ev ji têrtir e.

Ger we makîneyek zêde tune ku dikare rola serverek bilîze, wê hingê hûn ê bixwazin riya duyemîn an sêyemîn bikar bînin. Doza duyemîn bi ya yekem re yek e, ji bilî ku hûn berpirsiyariya hebûna serverê û hêza wê diguhezînin ser milên mêvandar. Rêveberiya server û nermalavê hîn jî di bin kontrola we de ye.

Û di dawiyê de, vebijarka kirêkirina kapasîteya pêşkêşkerên ewr. Li vir hûn dikarin kontrola otomatîkî ya hema hema her tiştî saz bikin bêyî ku hûn pir hûrguliyên teknîkî biçin. Digel vê yekê, li şûna yek makîneyê, hûn dikarin çend mînakên xebitandinê yên paralel hebin, ku, wek nimûne, dikarin ji beşên cihêreng ên serîlêdanê berpirsiyar bin, di heman demê de ku di lêçûnê de ji xwedan serverek taybetî cûda nebin. Û her weha, amûrên ji bo orkestrasyon, konteynirkirin, vekirina otomatîkî, yekbûna domdar û hêj bêtir hene! Em ê li jêr hinek ji van tiştan binêrin.

Bi gelemperî, binesaziya serverê bi vî rengî xuya dike: me bi navê "orkestrator" heye ("orkestratasyon" pêvajoya birêvebirina çend mînakên serverê ye), ku guheztinên hawîrdorê li ser mînakek serverê, konteynirek virtualbûnê birêve dibe (vebijarkî, lê pir pir caran tê bikar anîn), ku destûrê dide te ku hûn serîlêdanê li qatên mantiqî yên veqetandî, û nermalava Yekbûna Berdewam dabeş bikin - ku destûrê dide nûvekirinên koda mêvandar bi navgîniya "skrîptan".

Ji ber vê yekê, orkestrasyon dihêle hûn statûya pêşkêşkeran bibînin, nûvekirinên hawîrdora serverê derxînin an paşde vegerînin, û hwd. Di destpêkê de, ev alî ne mimkûn e ku bandorê li we bike, ji ber ku ji bo ku hûn tiştek organîze bikin, hûn hewceyê çend serveran in (hûn dikarin yek hebe, lê çima ev hewce ye?), û ji bo ku hûn çend serveran hebin, hûn hewceyê wan in. Di nav amûrên di vî warî de, ya herî populer Kubernetes e, ku ji hêla pêşkeftî ve hatî çêkirin Gûgil.

Pêngava din di asta OS-ê de virtualkirin e. Naha, têgîna "dokerkirinê" ku ji amûrê tê, berbelav bûye Docker, ku fonksiyona konteyneran ji hev veqetandî peyda dike, lê di çarçoweya yek pergala xebitandinê de hatî destpêkirin. Wateya vê yekê çi ye: di her yek ji van konteyneran de hûn dikarin serîlêdanek, an tewra komek serîlêdanan jî bimeşînin, ku dê bawer bikin ku ew di tevahiya OS-ê de tenê ne, bêyî ku guman bikin ku hebûna kesek din li ser vê makîneyê. Ev fonksiyon ji bo destpêkirina serîlêdanên wekhev ên guhertoyên cihêreng, an jî tenê serîlêdanên nakok, û her weha ji bo dabeşkirina perçeyên serîlêdanê li qatan pir bikêr e. Ev qat avêtin paşê dikare di wêneyek de were nivîsandin, ku dikare were bikar anîn, mînakî, ji bo bicîhkirina serîlêdanê. Ango, bi sazkirina vê wêneyê û bi cîhkirina konteynerên ku tê de hene, hûn ji bo xebitandina serlêdana xwe hawîrdorek amade distînin! Di gavên pêşîn de, hûn dikarin vê amûrê hem ji bo mebestên agahdarî û hem jî ji bo bidestxistina feydeyên pir rast bi dabeşkirina mantiqa serîlêdanê li qatên cihêreng bikar bînin. Lê li vir hêjayî gotinê ye ku ne her kes hewceyê dokerkirinê ye, û ne her gav. Dockerîzasyon di rewşên ku serîlêdan "parçekirî" ye, li perçeyên piçûk veqetandî ye, ku her yek ji karê xwe berpirsiyar e, bi navê "mîmariya mîkroxizmetê".

Digel vê yekê, ji bilî peydakirina hawîrdorê, pêdivî ye ku em pêbaweriyek jêhatî ya serîlêdanê peyda bikin, ku tê de her cûre veguherînên kodê, sazkirina pirtûkxane û pakêtên girêdayî serîlêdanê, ceribandinên xebitandinê, agahdariya di derbarê van operasyonan de, û hwd. Li vir pêdivî ye ku em bala xwe bidin têgehek wekî "Integrasyona Berdewam" (CI - Yekbûna Berdewam). Amûrên sereke yên di vê deverê de vê gavê Jenkins in (nermalava CI ya ku li Java hatî nivîsandin dibe ku di destpêkê de hinekî tevlihev xuya bike), Travis C.I. (bi Ruby hatî nivîsandin, subjektîf, hinekî hêsantir Jenkins, lebê, hin zanîn di warê veavakirina bicîhkirinê de hîn jî hewce ye), Gitlab CI (li ser hatiye nivîsandin Ruby û Go).

Ji ber vê yekê, piştî ku li ser hawîrdora ku dê serlêdana we tê de bixebite, ev dem e ku em di dawiyê de binihêrin ka cîhana nûjen ji bo afirandina van serlêdanan çi amûrên pêşkêşî me dike.

Ka em bi bingehîn dest pê bikin: Backend (piştgir) - beşa server. Hilbijartina ziman, komek fonksiyonên bingehîn û strukturên pêşwext (çarçove) li vir bi giranî ji hêla vebijarkên kesane ve têne destnîşankirin, lê dîsa jî, hêja ye ku meriv li ber çavan bigire (nerîna nivîskar di derbarê zimanan de pir subjektîf e, her çend bi îdîayek be. ji bo şiroveyek bêalî):

  • Python ji bo bikarhênerek bêtecrube zimanek pir dostane ye, ew hin xeletiyan dibore, lê di heman demê de dikare bi pêşdebir re jî hişk be da ku ew tiştek xirab neke. Jixwe zimanek têra xwe gihîştî û watedar, ku di sala 1991 de derketiye holê.
  • Go, zimanek ji Google-ê, di heman demê de pir heval û rehet e, berhevkirin û wergirtina pelek darvekirinê li ser her platformê pir hêsan e. Ew dikare sade û xweş be, an jî tevlihev û giran be. Teze û ciwan, di sala 2009-an de bi rengekî nû xuya bû.
  • Rust ji hevkarê xwe yê berê, ku di sala 2006-an de derketiye, hinekî pîrtir e, lê li gorî hevalên xwe hîn jî ciwan e. Armanc ji pêşdebirên bi tecrube re ye, her çend ew hîn jî hewl dide ku ji bo bernameçêker gelek peywirên asta nizm çareser bike.
  • Java kevneperestek pêşkeftina bazirganî ye, ku di sala 1995-an de hatî destnîşan kirin, û îro di pêşveçûna serîlêdana pargîdaniyê de yek ji wan zimanên ku herî gelemperî têne bikar anîn e. Bi têgînên xwe yên bingehîn û sazkirina giran, dema xebitandinê ji bo destpêkek pir dijwar dibe.
  • ASP.net platformek pêşkeftina serîlêdanê ye ku ji hêla Microsoft ve hatî berdan. Ji bo nivîsandina fonksiyonê, zimanê C# (bi navgîniya C Sharp), ku di sala 2000-an de xuya bû, bi giranî tê bikar anîn. Tevliheviya wê bi asta di navbera Java û Rust de tê berhev kirin.
  • PHP, ku bi eslê xwe ji bo pêşdibistanên HTML-ê tê bikar anîn, niha, her çend ew di bazara ziman de pêşengiya mutleq digire jî, meylek berbi kêmbûna karanînê heye. Ew xwedan bendek têketinê ya kêm û hêsaniya nivîsandina kodê ye, lê di heman demê de, dema ku serîlêdanên pir mezin pêş dixin, dibe ku fonksiyona ziman têrê neke.

Welê, beşa paşîn a serîlêdana me - ji bo bikarhênerê herî maqûl - Frontend (pêşî) - rûyê serîlêdana we ye; ew bi vê beşê re ye ku bikarhêner rasterast têkilî dike.

Bêyî ku bikeve nav hûrguliyan, pêşiya nûjen li ser sê stûnan, çarçove (û ne ew qas), ji bo afirandina navrûyên bikarhêner radiweste. Li gorî vê yekê, sê herî populer ev in:

  • ReactJS ne çarçoveyek, lê pirtûkxaneyek e. Bi rastî, çarçove ji sernavê xwe yê serbilind tenê di nebûna hin fonksiyonên "derveyî qutikê" û hewcedariya sazkirina wan bi destan de cûda dibe. Ji ber vê yekê, gelek guhertoyên "amadekirina" vê pirtûkxaneyê hene, ku çarçoveyek bêhempa pêk tîne. Ji ber hin prensîbên bingehîn, û sazkirina hawîrdora çêkirinê ya pir êrîşkar dikare ji bo destpêkek hinekî dijwar be. Lêbelê, ji bo destpêkek bilez, hûn dikarin pakêta "create-react-app" bikar bînin.
  • VueJS çarçoveyek ji bo avakirina navgînên bikarhêner e. Ji vê sêtiyê, ew bi mafî sernavê çarçoweya herî bikarhêner-heval digire; ji bo pêşkeftina li Vue, astengiya têketinê ji ya birayên din ên navborî kêmtir e. Wekî din, ew di nav wan de yê herî ciwan e.
  • Angular ji van çarçoveyan ya herî tevlihev tê hesibandin, ya ku tenê hewce dike TypeScript (zêde ji bo zimanê Javascript). Bi gelemperî ji bo avakirina serîlêdanên pargîdaniya mezin têne bikar anîn.

Bi kurtkirina tiştê ku li jor hatî nivîsandin, em dikarin encam bidin ku naha bicîhkirina serîlêdanek ji awayê ku ev pêvajo berê çawa dimeşiya cûda ye. Lêbelê, tu kes we nahêle ku hûn bi awayê kevnare "dabeşkirin" bikin. Lê gelo dema hindik a ku di destpêkê de hatî xilas kirin hêjayî hejmareke mezin a xeletiyan e ku pêşdebirek ku vê rêyê hildibijêre dê pêdivî bi gav bavêje? Ez bawer dikim bersiv na ye. Bi derbaskirina demek bêtir ku hûn xwe bi van amûran re nas bikin (û hûn ji wê zêdetir hewce nakin, ji ber ku hûn hewce ne ku hûn fêm bikin ka hûn di projeya xweya heyî de hewce ne an na), hûn dikarin wê bilîzin, bi girîngî kêm bikin, mînakî , rewşên xeletiyên ghost li gorî hawîrdorê ve girêdayî ne û yên ku tenê li ser servera hilberînê xuya dibin, analîza şevê ya ku bû sedema têkçûna serverê û çima ew ê dest pê neke, û hêj bêtir.

Source: www.habr.com

Add a comment