Lista ta' kontroll għall-ħolqien u l-pubblikazzjoni ta' applikazzjonijiet tal-web

Sabiex toħloq l-applikazzjoni tal-web tiegħek stess fi żmienna, mhuwiex biżżejjed li tkun tista' tiżviluppaha. Aspett importanti huwa t-twaqqif ta' għodod għall-iskjerament, il-monitoraġġ tal-applikazzjoni, kif ukoll il-ġestjoni u l-amministrazzjoni tal-ambjent li topera fih. Hekk kif l-era tal-iskjerament manwali tgħib fl-oblivition, anke għal proġetti żgħar, għodod ta 'awtomazzjoni jistgħu jġibu benefiċċji tanġibbli. Meta niskjeraw "bl-idejn", ħafna drabi nistgħu ninsew li nimxu xi ħaġa, inqisu din jew dik l-isfumatura, imexxu test minsija, din il-lista tista 'titkompla għal żmien pjuttost twil.

Dan l-artikolu jista 'jgħin lil dawk li għadhom qed jitgħallmu l-baŜi tal-ħolqien ta' applikazzjonijiet tal-web u jridu jifhmu ftit dwar it-termini u l-konvenzjonijiet bażiċi.

Għalhekk, l-applikazzjonijiet tal-bini xorta jistgħu jinqasmu f'2 partijiet: dak kollu li għandu x'jaqsam mal-kodiċi tal-applikazzjoni, u dak kollu li għandu x'jaqsam mal-ambjent li fih jiġi esegwit dan il-kodiċi. Il-kodiċi tal-applikazzjoni, min-naħa tiegħu, huwa wkoll maqsum f'kodiċi tas-server (dak li jaħdem fuq is-server, ħafna drabi: loġika tan-negozju, awtorizzazzjoni, ħażna tad-dejta, eċċ.), u kodiċi tal-klijent (dak li jaħdem fuq il-magna tal-utent: ħafna drabi l-interface, u loġika relatata magħha).

Nibdew bl-Erbgħa.

Il-bażi għat-tħaddim ta 'kwalunkwe kodiċi, sistema, jew softwer hija s-Sistema Operattiva, għalhekk hawn taħt se nħarsu lejn l-aktar sistemi popolari fis-suq tal-hosting u nagħtuhom deskrizzjoni qasira:

Windows Server - l-istess Windows, iżda f'varjazzjoni server. Xi funzjonalità disponibbli fil-verżjoni tal-klijent (regolari) tal-Windows mhijiex preżenti hawnhekk, pereżempju, xi servizzi għall-ġbir ta' statistika u softwer simili, iżda hemm sett ta' utilitajiet għall-amministrazzjoni tan-netwerk, softwer bażiku għall-iskjerament ta' servers (web, ftp, ...). B'mod ġenerali, Windows Server jidher qisu Windows regolari, quacks bħal Windows regolari, madankollu, jiswa 2 darbiet aktar mill-kontroparti regolari tiegħu. Madankollu, peress li x'aktarx se tuża l-applikazzjoni fuq server dedikat/virtwali, l-ispiża finali għalik, għalkemm tista 'tiżdied, mhix kritika. Peress li l-pjattaforma tal-Windows tokkupa post kbir fis-suq tal-OS tal-konsumatur, l-edizzjoni tas-server tagħha se tkun l-aktar familjari għall-biċċa l-kbira tal-utenti.

Unix-sistema simili. Ix-xogħol tradizzjonali f'dawn is-sistemi ma jeħtieġx il-preżenza ta 'interface grafika familjari, li joffri lill-utent biss console bħala element ta' kontroll. Għal utent mingħajr esperjenza, ix-xogħol f'dan il-format jista 'jkun diffiċli, eżattament x'inhi l-ispiża tal-ħruġ ta' editur tat-test li huwa pjuttost popolari fid-dejta vim, mistoqsija relatata ma 'dan diġà rċeviet aktar minn 6 miljun fehmiet f'1.8 snin. Id-distribuzzjonijiet (edizzjonijiet) ewlenin ta 'din il-familja huma: Debian - distribuzzjoni popolari, verżjonijiet tal-pakketti fiha huma ffukati prinċipalment fuq LTS (Appoġġ fit-Tul – appoġġ għal żmien twil), li huwa espress f'affidabbiltà u stabbiltà pjuttost għolja tas-sistema u l-pakketti; Ubuntu – fih distribuzzjonijiet tal-pakketti kollha fl-aħħar verżjonijiet tagħhom, li jistgħu jaffettwaw l-istabbiltà, iżda jippermettilek tuża l-funzjonalità li tiġi mal-verżjonijiet ġodda; Red Hat Enterprise Linux – OS, pożizzjonat għal użu kummerċjali, huwa mħallas, madankollu, jinkludi appoġġ minn bejjiegħa tas-softwer, xi pakketti proprjetarji u pakketti tas-sewwieqa; CentOS - sors miftuħ varjazzjoni ta 'Red Hat Enterprise Linux, ikkaratterizzata min-nuqqas ta' pakketti proprjetarji u appoġġ.

Għal dawk li għadhom qed jibdew jegħlbu dan il-qasam, ir-rakkomandazzjoni tiegħi tkun is-sistemi Windows ServerJew Ubuntu. Jekk nikkunsidraw il-Windows, allura din hija primarjament il-familjarità tas-sistema, Ubuntu – aktar tolleranza għall-aġġornamenti, u min-naħa tagħhom, pereżempju, inqas problemi fit-tnedija ta’ proġetti dwar teknoloġiji li jeħtieġu verżjonijiet ġodda.

Allura, wara li ddeċidiet dwar l-OS, ejja ngħaddu għal sett ta 'għodod li jippermettulek tuża (tinstalla), taġġorna u timmonitorja l-istat tal-applikazzjoni jew il-partijiet tagħha fuq is-server.

Id-deċiżjoni importanti li jmiss se tkun it-tqegħid tal-applikazzjoni tiegħek u s-server għaliha. Bħalissa, l-aktar komuni huma 3 modi:

  • Il-hosting (iż-żamma) ta' server waħdek hija l-iktar għażla li tiffavorixxi l-baġit, iżda jkollok tordna IP statiku mingħand il-fornitur tiegħek sabiex ir-riżorsa tiegħek ma tbiddilx l-indirizz tagħha maż-żmien.
  • Kiri Server Dedikat (VDS) - u amministrah b'mod indipendenti u skala tagħbijiet
  • Ħlas (ħafna drabi jagħtuk iċ-ċans li tipprova l-funzjonalità tal-pjattaforma b'xejn) għal abbonament għal xi cloud hosting, fejn il-mudell ta 'ħlas għar-riżorsi użati huwa pjuttost komuni. L-aktar rappreżentanti prominenti ta 'din id-direzzjoni: Amazon AWS (jagħtu sena b'xejn ta' użu tas-servizzi, iżda b'limitu ta 'kull xahar), Google Cloud (jagħtu $ 300 lill-kont, li jista' jintefaq matul is-sena fuq servizzi ta 'cloud hosting) , Yandex.Cloud (jagħtu 4000 rublu . għal 2 xhur), Microsoft Azure (tagħtu aċċess b'xejn għal servizzi popolari għal sena, + 12 rublu għal kwalunkwe servizz għal xahar). Għalhekk, tista 'tipprova kwalunkwe minn dawn il-fornituri mingħajr ma tonfoq ċenteżmu, iżda tikseb opinjoni approssimattiva dwar il-kwalità u l-livell tas-servizz ipprovdut.

Skont it-triq magħżula, l-unika ħaġa li se tinbidel fil-futur hija min hu responsabbli fil-biċċa l-kbira għal dan jew dak il-qasam tal-amministrazzjoni. Jekk tospita lilek innifsek, allura trid tifhem li kwalunkwe interruzzjoni fl-elettriku, l-Internet, is-server innifsu, is-software skjerat fuqha - dan kollu jinsab għal kollox fuq spallejk. Madankollu, għat-taħriġ u l-ittestjar, dan huwa aktar minn biżżejjed.

Jekk ma jkollokx magna żejda li tista 'tilgħab ir-rwol ta' server, allura trid tuża t-tieni jew it-tielet mod. It-tieni każ huwa identiku għall-ewwel, bl-eċċezzjoni li ċċaqlaq ir-responsabbiltà għad-disponibbiltà tas-server u l-qawwa tiegħu fuq l-ispallejn tal-hoster. L-amministrazzjoni tas-server u s-softwer għadha taħt il-kontroll tiegħek.

U fl-aħħarnett, l-għażla li tikri l-kapaċità tal-fornituri tas-sħab. Hawnhekk tista 'twaqqaf kontroll awtomatizzat ta' kważi xejn mingħajr ma tidħol f'ħafna dettall tekniku. Barra minn hekk, minflok magna waħda, jista 'jkollok diversi każijiet ta' tħaddim parallel, li jistgħu, pereżempju, ikunu responsabbli għal partijiet differenti tal-applikazzjoni, filwaqt li ma jvarjawx ħafna fl-ispiża milli tkun proprjetarja ta 'server dedikat. U wkoll, hemm għodod għall-orkestrazzjoni, kontejners, skjerament awtomatiku, integrazzjoni kontinwa u ħafna aktar! Aħna ser inħarsu lejn xi wħud minn dawn l-affarijiet hawn taħt.

B'mod ġenerali, l-infrastruttura tas-server tidher bħal din: għandna l-hekk imsejjaħ "orkestratur" ("l-orkestrazzjoni" huwa l-proċess tal-ġestjoni ta 'diversi istanzi tas-server), li jimmaniġġja bidliet ambjentali fuq istanza ta' server, kontenitur tal-virtwalizzazzjoni (mhux obbligatorju, iżda pjuttost spiss jintuża), li jippermettilek taqsam l-applikazzjoni f’saffi loġiċi iżolati, u softwer ta’ Integrazzjoni Kontinwa—li jippermetti aġġornamenti għall-kodiċi ospitat permezz ta’ “skripts”.

Għalhekk, l-orkestrazzjoni tippermettilek tara l-istatus tas-servers, tixgħel jew terġa 'lura aġġornamenti għall-ambjent tas-server, eċċ. Għall-ewwel, dan l-aspett mhux probabbli li jaffettwak, peress li biex orkestra xi ħaġa, għandek bżonn diversi servers (jista 'jkollok wieħed, imma għaliex dan huwa meħtieġ?), U sabiex ikollok diversi servers, għandek bżonnhom. Fost l-għodod f'din id-direzzjoni, l-aktar waħda popolari hija Kubernetes, żviluppata minn Google.

Il-pass li jmiss huwa l-virtwalizzazzjoni fil-livell tal-OS. Illum il-ġurnata, il-kunċett ta '"dockerization" sar mifrux, li ġej mill-għodda Docker, li tipprovdi l-funzjonalità ta 'kontenituri iżolati minn xulxin, iżda mnedija fil-kuntest ta' sistema operattiva waħda. Xi jfisser dan: f'kull wieħed minn dawn il-kontenituri tista 'tħaddem applikazzjoni, jew saħansitra sett ta' applikazzjonijiet, li se jemmnu li huma l-uniċi fl-OS kollu, mingħajr lanqas biss jissuspetta l-eżistenza ta 'xi ħadd ieħor fuq din il-magna. Din il-funzjoni hija utli ħafna għat-tnedija ta 'applikazzjonijiet identiċi ta' verżjonijiet differenti, jew sempliċiment applikazzjonijiet konfliġġenti, kif ukoll biex taqsam biċċiet ta 'applikazzjoni f'saffi. Dan is-saff mitfugħ jista 'aktar tard jinkiteb f'immaġini, li tista' tintuża, pereżempju, biex titħaddem applikazzjoni. Jiġifieri, billi tinstalla din l-immaġni u tuża l-kontenituri li fiha, ikollok ambjent lest għat-tħaddim tal-applikazzjoni tiegħek! Fl-ewwel passi, tista 'tuża din l-għodda kemm għal skopijiet ta' informazzjoni kif ukoll biex tikseb benefiċċji reali ħafna billi taqsam il-loġika tal-applikazzjoni f'saffi differenti. Iżda hawn ta’ min jgħid li mhux kulħadd għandu bżonn id-dockerizzazzjoni, u mhux dejjem. Id-dockerizzazzjoni hija ġġustifikata f'każijiet fejn l-applikazzjoni hija "frammentata", maqsuma f'partijiet żgħar, kull wieħed responsabbli għall-kompitu tiegħu stess, l-hekk imsejħa "arkitettura tal-mikroservizz".

Barra minn hekk, minbarra li nipprovdu l-ambjent, jeħtieġ li niżguraw skjerament kompetenti tal-applikazzjoni, li tinkludi kull tip ta 'trasformazzjonijiet tal-kodiċi, installazzjoni ta' libreriji u pakketti relatati mal-applikazzjoni, testijiet ta 'tmexxija, notifiki dwar dawn l-operazzjonijiet, eċċ. Hawnhekk irridu nagħtu attenzjoni għal kunċett bħal "Integrazzjoni Kontinwa" (CI – Integrazzjoni Kontinwa). L-għodod ewlenin f'dan il-qasam bħalissa huma Jenkins (softwer CI miktub f'Java jista 'jidher ftit ikkumplikat fil-bidu), Travis C.I. (miktub bir-Ruby, suġġettiv, kemmxejn aktar sempliċi Jenkins, madankollu, xi għarfien fil-qasam tal-konfigurazzjoni tal-iskjerament għadu meħtieġ), Gitlab CI (miktub fuq Ruby u Mur).

Għalhekk, wara li tkellimt dwar l-ambjent li fih se taħdem l-applikazzjoni tiegħek, wasal iż-żmien li fl-aħħar inħarsu lejn liema għodod toffrilna d-dinja moderna biex noħolqu dawn l-applikazzjonijiet stess.

Nibdew bl-affarijiet bażiċi: Backend (backend) – parti tas-server. L-għażla tal-lingwa, sett ta 'funzjonijiet bażiċi u struttura predefinita (qafas) hawnhekk hija ddeterminata prinċipalment minn preferenzi personali, iżda madankollu, ta' min isemmi għal konsiderazzjoni (l-opinjoni tal-awtur dwar il-lingwi hija pjuttost suġġettiva, għalkemm bi talba għal deskrizzjoni imparzjali):

  • Python huwa lingwa pjuttost faċli għal utent mingħajr esperjenza, jaħfer xi żbalji, iżda jista 'jkun ukoll pjuttost strett mal-iżviluppatur sabiex ma jagħmel xejn ħażin. Diġà lingwa pjuttost matura u sinifikanti, li dehret fl-1991.
  • Mur - lingwa minn Google, hija wkoll pjuttost faċli u konvenjenti, huwa pjuttost faċli li tikkumpila u tikseb fajl eżekutibbli fuq kwalunkwe pjattaforma. Jista 'jkun sempliċi u pjaċevoli, jew jista' jkun kumpless u serju. Frisk u żgħir, dehru relattivament reċentement, fl-2009.
  • Rust huwa ftit akbar mill-kollega preċedenti tiegħu, rilaxxat fl-2006, iżda għadu pjuttost żgħir meta mqabbel ma 'sħabu. Immirat lejn żviluppaturi aktar esperjenzati, għalkemm xorta tipprova ssolvi ħafna kompiti ta 'livell baxx għall-programmatur.
  • Java huwa veteran tal-iżvilupp kummerċjali, introdott fl-1995, u huwa wieħed mill-lingwi l-aktar użati komunement fl-iżvilupp tal-applikazzjonijiet tal-intrapriżi llum. Bil-kunċetti bażiċi tagħha u s-setup tqil, ir-runtime jista 'jsir pjuttost ta' sfida għal min jibda.
  • ASP.net hija pjattaforma ta 'żvilupp ta' applikazzjoni rilaxxata minn Microsoft. Biex tikteb il-funzjonalità, tintuża prinċipalment il-lingwa C# (pronunzjata C Sharp), li dehret fl-2000. Il-kumplessità tagħha hija komparabbli mal-livell bejn Java u Rust.
  • PHP, oriġinarjament użat għall-ipproċessar minn qabel HTML, bħalissa, għalkemm għandu tmexxija assoluta fis-suq tal-lingwa, hemm tendenza lejn tnaqqis fl-użu. Għandha limitu ta 'dħul baxx u faċilità tal-kitba tal-kodiċi, iżda fl-istess ħin, meta tiżviluppa applikazzjonijiet pjuttost kbar, il-funzjonalità tal-lingwa tista' ma tkunx biżżejjed.

Ukoll, il-parti finali tal-applikazzjoni tagħna - l-aktar tanġibbli għall-utent - frontend (frontend) - hija l-wiċċ tal-applikazzjoni tiegħek; huwa ma 'din il-parti li l-utent jinteraġixxi direttament.

Mingħajr ma nidħol fid-dettalji, il-frontend modern joqgħod fuq tliet pilastri, oqfsa (u mhux daqshekk), għall-ħolqien ta 'interfaces tal-utent. Għaldaqstant, it-tlieta l-aktar popolari huma:

  • ReactJS mhuwiex qafas, iżda librerija. Fil-fatt, il-qafas huwa differenti mit-titlu kburi tiegħu biss fin-nuqqas ta 'xi funzjonijiet "barra mill-kaxxa" u l-ħtieġa li jiġu installati manwalment. Għalhekk, hemm diversi varjazzjonijiet tal-"preparazzjoni" ta 'din il-librerija, li jiffurmaw oqfsa uniċi. Jista 'jkun ftit diffiċli għal Bidu, minħabba xi prinċipji bażiċi, u setup pjuttost aggressiv tal-ambjent tal-bini. Madankollu, għal bidu ta 'malajr, tista' tuża l-pakkett "create-react-app".
  • VueJS huwa qafas għall-bini ta' interfaces tal-utent. Ta’ din it-trinità, hija ġustament tieħu t-titlu tal-qafas l-aktar faċli għall-utent; għall-iżvilupp f’Vue, l-ostaklu għad-dħul huwa inqas minn dak tal-aħwa l-oħra msemmija. Barra minn hekk, huwa l-iżgħar fosthom.
  • Angular hija meqjusa bħala l-aktar kumplessa minn dawn l-oqfsa, l-unika waħda li teħtieġ TypeScript (add-on għal-lingwa Javascript). Ħafna drabi jintuża biex jinbnew applikazzjonijiet ta 'intrapriżi kbar.

Fil-qosor ta’ dak li nkiteb hawn fuq, nistgħu nikkonkludu li issa l-iskjerament ta’ applikazzjoni huwa radikalment differenti minn kif kien ipproċeda dan il-proċess qabel. Madankollu, ħadd mhu qed iwaqqafk milli tagħmel l-"iskjerament" l-antik. Iżda l-ftit ħin iffrankat fil-bidu jiswa n-numru kbir ta 'żbalji li żviluppatur li jagħżel din it-triq se jkollu jimxi fuqhom? Nemmen li t-tweġiba hija le. Billi tqatta 'ftit aktar ħin tiffamiljarizza ruħek ma' dawn l-għodod (u m'għandekx bżonn aktar minn hekk, għax trid tifhem jekk għandekx bżonnhom fil-proġett attwali tiegħek jew le), tista 'tilgħabha, billi tnaqqas b'mod sinifikanti, pereżempju , każijiet ta 'żbalji ghost skond l-ambjent u li jidhru biss fuq is-server tal-produzzjoni, analiżi filgħaxija ta' dak li wassal għall-ħabta tas-server u għaliex mhux se jibda, u ħafna aktar.

Sors: www.habr.com

Żid kumment