Lisitra ho an'ny famoronana sy famoahana rindranasa an-tranonkala

Mba hamoronana rindranasa an-tranonkalanao manokana amin'izao androntsika izao dia tsy ampy ny fahaizana mamolavola azy. Ny lafiny manan-danja dia ny fametrahana fitaovana amin'ny fametrahana ny fampiharana, ny fanaraha-maso ary ny fitantanana sy fitantanana ny tontolo iasanany. Satria ny vanim-potoanan'ny fametrahana tanana dia lasa hadino, na dia ho an'ny tetikasa madinika aza, ny fitaovana automatique dia afaka mitondra tombony azo tsapain-tanana. Rehefa mampiasa "amin'ny tanana", matetika isika dia afaka manadino ny mamindra zavatra, mandinika an'ity na izany nuance izany, manao fitsapana adino, ity lisitra ity dia azo tohizana mandritra ny fotoana maharitra.

Ity lahatsoratra ity dia mety hanampy ireo izay vao mianatra ny fototry ny famoronana rindranasa an-tranonkala ary te-hahatakatra kely momba ny fepetra fototra sy ny fifanarahana.

Noho izany, mbola azo zaraina ho fizarana 2 ny fananganana rindranasa: ny zava-drehetra mifandraika amin'ny fehezan-dalΓ na fampiharana, ary ny zavatra rehetra mifandraika amin'ny tontolo iainana izay anaovana an'io fehezan-dalΓ na io. Ny kaody fampiharana, indray, dia mizara ho code server (ilay mandeha amin'ny server, matetika: lojika raharaham-barotra, fanomezan-dΓ lana, fitahirizana data, sns.), ary kaody mpanjifa (izay mandeha amin'ny masinin'ny mpampiasa: matetika ny interface, ary ny lojika mifandraika aminy).

Aleo aloha alarobia.

Ny fototry ny fampandehanana ny code, ny rafitra, na ny rindrambaiko dia ny Operating System, ka eto ambany isika dia hijery ireo rafitra malaza indrindra amin'ny tsena fampiantranoana ary hanome azy ireo famaritana fohy:

Windows Server - Windows mitovy, fa amin'ny fiovaovan'ny server. Ny fampiasa sasany misy ao amin'ny dikan-teny Windows mpanjifa (ara-dalΓ na) dia tsy misy eto, ohatra, serivisy fanangonana antontan'isa sy rindrambaiko mitovy amin'izany, fa misy fitaovana ho an'ny fitantanana tambajotra, rindrambaiko fototra ho an'ny fandefasana server (web, ftp, ...). Amin'ny ankapobeny, Windows Server toa Windows mahazatra, quacks toy ny Windows mahazatra, na izany aza, ny vidiny avo 2 heny noho ny mitovy amin'ny mahazatra. Na izany aza, raha toa ianao ka mety hametraka ny fampiharana amin'ny mpizara voatokana/virtoaly, ny vidiny farany ho anao, na dia mety hitombo aza, dia tsy mitsikera. Satria ny sehatra Windows dia mitana toerana be dia be amin'ny tsenan'ny mpanjifa OS, ny edisiona mpizara azy no ho fantatry ny ankamaroan'ny mpampiasa.

Unix-rafitra mitovy. Ny asa nentim-paharazana amin'ireo rafitra ireo dia tsy mitaky ny fisian'ny interface graphique mahazatra, izay manome console ho an'ny mpampiasa fotsiny ho singa fanaraha-maso. Ho an'ny mpampiasa tsy manana traikefa, mety ho sarotra ny miasa amin'ity endrika ity, inona ny vidin'ny fivoahana amin'ny tonian-dahatsoratra izay malaza amin'ny data. vim, fanontaniana iray mifandraika amin'izany dia efa nahazo mpijery mihoatra ny 6 tapitrisa tao anatin'ny 1.8 taona. Ny fizarana lehibe (edisiona) an'ity fianakaviana ity dia: Debian - fizarana malaza, ny dikan-teny fonosana ao anatiny dia mifantoka indrindra amin'ny LTS (Fanohanana maharitra - fanohanana mandritra ny fotoana maharitra), izay aseho amin'ny fahamendrehana avo lenta sy ny fahamarinan'ny rafitra sy ny fonosana; Ubuntu - misy fizarana ny fonosana rehetra amin'ny dikan-teny farany indrindra, izay mety hisy fiantraikany amin'ny fitoniana, saingy ahafahanao mampiasa ny fiasa miaraka amin'ny dikan-teny vaovao; Red Hat Enterprise Linux – OS, napetraka ho an'ny fampiasana ara-barotra, dia karamaina, na izany aza, dia misy ny fanohanana avy amin'ireo mpivarotra rindrambaiko, fonosana manokana ary fonosana mpamily; CentOS - loharano misokatra fiovaovan'ny Red Hat Enterprise Linux, miavaka amin'ny tsy fisian'ny fonosana manokana sy fanohanana.

Ho an'ireo izay vao manomboka mahafehy ity sehatra ity dia rafitra ny soso-kevitro Windows Server, na Ubuntu. Raha mandinika ny Windows isika, dia io no mahazatra indrindra amin'ny rafitra, Ubuntu - fandeferana bebe kokoa amin'ny fanavaozam-baovao, ary ho setrin'izany, olana vitsy kokoa rehefa manomboka tetikasa momba ny teknolojia izay mitaky dikan-teny vaovao.

Noho izany, rehefa nanapa-kevitra ny amin'ny OS, andeha isika hifindra amin'ny andian-fitaovana izay ahafahanao mametraka (mametraka), manavao ary manara-maso ny toetry ny fampiharana na ny ampahany amin'ny mpizara.

Ny fanapahan-kevitra manan-danja manaraka dia ny fametrahana ny fampiharanao sy ny mpizara ho azy. Amin'izao fotoana izao, ny mahazatra indrindra dia fomba 3:

  • Ny fampiantranoana (fitehirizana) mpizara irery no safidy mora indrindra amin'ny tetibola, saingy tsy maintsy manafatra IP static avy amin'ny mpamatsy anao ianao mba tsy hanovan'ny loharanonao ny adiresiny rehefa mandeha ny fotoana.
  • Manofa Serveur Dedicated (VDS) - ary tantano tsy miankina ary ampitomboy ny entana
  • Mandoa (matetika izy ireo dia manome anao fahafahana hanandrana maimaim-poana ny fiasan'ny sehatra) amin'ny famandrihana amin'ny fampiantranoana rahona sasany, izay mahazatra ny modely fandoavam-bola ho an'ny loharanon-karena ampiasaina. Ny solontena malaza indrindra amin'ity torolΓ lana ity: Amazon AWS (manome taona maimaim-poana amin'ny fampiasana ny serivisy izy ireo, saingy misy fetra isam-bolana), Google Cloud (manome $ 300 ho an'ny kaonty izy ireo, izay azo lany mandritra ny taona amin'ny serivisy fampiantranoana rahona) , Yandex.Cloud (manome 4000 roubles . mandritra ny 2 volana izy ireo), Microsoft Azure (manome fahafahana malalaka amin'ny serivisy malaza mandritra ny herintaona, + 12 roubles ho an'ny serivisy rehetra mandritra ny iray volana). Noho izany, azonao atao ny manandrana ny iray amin'ireo mpanome tolotra ireo nefa tsy mandany vola, fa mahazo hevitra eo ho eo momba ny kalitao sy ny haavon'ny serivisy omena.

Miankina amin'ny lalana nofidiana, ny hany zavatra hiova amin'ny ho avy dia izay tompon'andraikitra amin'izany na izany faritra fitantanana izany. Raha mampiantrano ny tenanao ianao, dia tsy maintsy takatrao fa ny fahatapahan'ny herinaratra, ny Internet, ny mpizara mihitsy, ny rindrambaiko napetraka eo aminy - izany rehetra izany dia eo an-tsorokao. Na izany aza, ho an'ny fanofanana sy fitsapana dia mihoatra noho ny ampy izany.

Raha tsy manana milina fanampiny afaka mitana ny andraikitry ny mpizara ianao dia te hampiasa ny fomba faharoa na fahatelo. Ny tranga faharoa dia mitovy amin'ny voalohany, afa-tsy ny afindranao ny andraikitra amin'ny fisian'ny mpizara sy ny heriny eo an-tsoroky ny mpampiantrano. Mbola eo ambany fifehezanao ny fitantanana ny server sy ny logiciel.

Ary farany, ny safidy hanofana ny fahafahan'ny mpamatsy rahona. Eto ianao dia afaka manangana fanaraha-maso mandeha ho azy saika na inona na inona nefa tsy miditra amin'ny antsipiriany ara-teknika be loatra. Ho fanampin'izany, raha tokony ho milina iray ianao, dia afaka manana ohatra maromaro mifanitsy amin'ny fandehanana, izay mety, ohatra, ho tompon'andraikitra amin'ny faritra samihafa amin'ny fampiharana, nefa tsy misy fahasamihafana be amin'ny vidiny amin'ny fananana mpizara voatokana. Ary koa, misy fitaovana ho an'ny orkestra, containerization, fametrahana mandeha ho azy, fampidirana mitohy ary maro hafa! Hojerentsika eto ambany ny sasany amin’ireo zavatra ireo.

Amin'ny ankapobeny, toy izao ny fotodrafitrasa mpizara: manana antsoina hoe "orkestra" isika ("orkestra" dia ny dingan'ny fitantanana ireo trangan'ny mpizara maromaro), izay mitantana ny fiovan'ny tontolo iainana amin'ny ohatra iray amin'ny mpizara, kaontenera virtoaly (tsy azo atao, fa tena ilaina. matetika ampiasaina), izay ahafahanao mizara ny rindranasa amin'ny sosona lojika mitoka-monina, ary ny rindrambaiko Continuous Integration β€” mamela ny fanavaozana ny kaody fampiantranoana amin'ny alΓ lan'ny β€œscripts”.

Noho izany, ny orkestra dia ahafahanao mahita ny satan'ny mpizara, manodina na mamerina fanavaozana amin'ny tontolon'ny mpizara, sy ny sisa. Amin'ny voalohany, ity lafiny ity dia mety tsy hisy fiantraikany aminao, satria mba handrindrana na inona na inona dia mila mpizara maromaro ianao (afaka manana iray ianao, fa maninona no ilaina izany?), Ary mba hanana mpizara maromaro dia mila azy ireo ianao. Anisan'ireo fitaovana amin'ity lalana ity, ny malaza indrindra dia Kubernetes, novolavolain'i Google.

Ny dingana manaraka dia ny virtoaly amin'ny ambaratonga OS. Amin'izao fotoana izao, ny foto-kevitry ny "dockerization" dia niely patrana, izay avy amin'ny fitaovana Docker, izay manome ny fiasan'ny kaontenera mitoka-monina, saingy natomboka tao anatin'ny tontolon'ny rafitra fiasana iray. Inona no dikan'izany: amin'ny tsirairay amin'ireo kaontenera ireo dia azonao atao ny mampandeha fampiharana iray, na andiana fampiharana iray, izay hino fa izy ireo irery no ao amin'ny OS manontolo, nefa tsy miahiahy akory ny fisian'ny olon-kafa amin'ity milina ity. Ity fiasa ity dia tena ilaina amin'ny fandefasana fampiharana mitovy amin'ny dikan-teny samihafa, na fampiharana mifanipaka tsotra izao, ary koa amin'ny fizarana ny ampahany amin'ny rindranasa iray ho sosona. Ity fanariana sosona ity dia azo soratana amin'ny sary iray, izay azo ampiasaina, ohatra, hametrahana fampiharana. Izany hoe, amin'ny fametrahana ity sary ity sy ny fametrahana ireo kaontenera misy azy, dia mahazo tontolo efa vonona ianao amin'ny fampandehanana ny fampiharana anao! Amin'ny dingana voalohany, azonao ampiasaina ity fitaovana ity ho an'ny tanjona fampahafantarana sy hahazoana tombony tena izy amin'ny fizarana ny lojika fampiharana amin'ny sosona samihafa. Saingy ilaina ny milaza eto fa tsy ny rehetra no mila dockerization, ary tsy foana. Ny dockerization dia hamarinina amin'ny tranga izay "mizarazara" ny fampiharana, mizara ho ampahany kely, samy tompon'andraikitra amin'ny asany manokana, ilay antsoina hoe "architecture microservice".

Ankoatr'izay, ankoatra ny fanomezana ny tontolo iainana, dia mila miantoka ny fametrahana tsara ny fampiharana isika, izay ahitana ny karazana fanovana code rehetra, fametrahana tranomboky sy fonosana mifandraika amin'ny fampiharana, fitsapana mihazakazaka, fampahafantarana momba ireo asa ireo, sy ny sisa. Eto isika dia mila mandinika ny foto-kevitra toy ny "Continuous Integration" (CI - Fampidirana mitohy). Ny fitaovana lehibe amin'ity faritra ity amin'izao fotoana izao dia Jenkins (rindrambaiko CI voasoratra amin'ny Java dia toa sarotra kely amin'ny voalohany), Travis C.I. (voasoratra amin'ny teny Ruby, subjective, somary tsotra kokoa Jenkins, na izany aza, mbola ilaina ny fahalalana sasany eo amin'ny sehatry ny fametrahana fametrahana), Gitlab CI (voasoratra amin'ny Ruby sy Go).

Noho izany, rehefa niresaka momba ny tontolo iasan'ny fampiharanao ianao, dia izao no fotoana hijerena farany ny fitaovana omen'ny tontolo maoderina antsika hamoronana ireo fampiharana ireo.

Andeha isika hanomboka amin'ny fototra: Backend (backend) - ampahany amin'ny mpizara. Ny safidy ny fiteny, ny fametrahana ny asa fototra sy ny rafitra efa voafaritra mialoha (rafitra) eto dia voafaritra indrindra amin'ny safidin'ny tena manokana, na izany aza, dia ilaina ny manonona hodinihina (ny hevitry ny mpanoratra momba ny fiteny dia tena subjective, na dia misy filazana. amin'ny famaritana tsy miangatra):

  • Python dia fiteny sariaka ho an'ny mpampiasa tsy dia za-draharaha, mamela ny fahadisoana sasany, saingy mety ho hentitra ihany koa amin'ny mpamorona mba tsy hanao ratsy. Efa fiteny efa matotra sy misy dikany, izay niseho tamin'ny 1991.
  • Mandehana - fiteny avy amin'ny Google, dia sariaka sy mety ihany koa, mora ny manangona sy mahazo rakitra azo tanterahana amin'ny sehatra rehetra. Mety ho tsotra sy mahafinaritra izany, na mety ho sarotra sy matotra. Fresh sy tanora, niseho vao haingana, tamin'ny 2009.
  • Ny Rust dia antitra kely noho ny mpiara-miasa aminy teo aloha, navoaka tamin'ny 2006, saingy mbola kely raha oharina amin'ny namany. Natao ho an'ny mpandrindra efa za-draharaha kokoa, na dia mbola miezaka mamaha asa ambany kokoa ho an'ny mpandrindra.
  • Java dia vazaha amin'ny fampandrosoana ara-barotra, nampidirina tamin'ny 1995, ary iray amin'ireo fiteny be mpampiasa indrindra amin'ny fampivoarana fampiharana orinasa ankehitriny. Miaraka amin'ny foto-kevitra fototra sy ny fanamboarana mavesatra, ny fotoana fandehanana dia mety ho lasa sarotra ho an'ny vao manomboka.
  • ASP.net dia sehatra fampivoarana fampiharana navoakan'ny Microsoft. Mba hanoratana fampiasa dia ny fiteny C# (tononina hoe C Sharp), izay niseho tamin'ny taona 2000, no tena ampiasaina. Ny fahasarotany dia azo oharina amin'ny haavon'ny Java sy Rust.
  • PHP, nampiasaina tamin'ny fanodinana HTML tany am-boalohany, amin'izao fotoana izao, na dia mitana ny fitarihana tanteraka amin'ny tsenan'ny fiteny aza izy, dia misy fironana mankany amin'ny fihenan'ny fampiasana. Manana tokonam-baravarana ambany izy io ary mora amin'ny fanoratana kaody, saingy amin'ny fotoana iray ihany, rehefa mamolavola rindranasa somary lehibe dia mety tsy ho ampy ny fiasan'ny fiteny.

Eny, ny ampahany farany amin'ny fampiharanay - ny azo tsapain-tanana indrindra ho an'ny mpampiasa - frontend (frontend) - dia ny endriky ny fampiharana anao; amin'ity ampahany ity no hifaneraseran'ny mpampiasa mivantana.

Raha tsy miditra amin'ny antsipiriany, ny frontend maoderina dia mijoro amin'ny andry telo, frameworks (ary tsy dia be loatra), mba hamoronana interface tsara. Araka izany, ny telo malaza indrindra dia:

  • ReactJS dia tsy rafitra, fa tranomboky. Raha ny marina, ny rafitra dia tsy mitovy amin'ny anaram-boninahitra reharehany raha tsy misy ny fiasa sasany "avy amin'ny boaty" ary ilaina ny fametrahana azy ireo amin'ny tanana. Noho izany, misy karazany maromaro amin'ny "fanomanana" an'ity tranomboky ity, mamorona rafitra tokana. Mety ho sarotra kely ho an'ny vao manomboka izany, noho ny fitsipika fototra sasany, ary ny fananganana tontolo iainana mahery vaika. Na izany aza, ho fanombohana haingana dia azonao atao ny mampiasa ny fonosana "create-react-app".
  • VueJS dia rafitra iray hananganana interface tsara ho an'ny mpampiasa. Amin'ity trinitΓ© ity, dia maka ny lohatenin'ny rafitra mora indrindra ho an'ny mpampiasa izany; ho an'ny fampandrosoana ao amin'ny Vue, ny sakana amin'ny fidirana dia ambany noho ny an'ireo rahalahy voalaza etsy ambony. Ambonin'izany, izy no zandriny indrindra amin'izy ireo.
  • Angular dia heverina ho sarotra indrindra amin'ireo rafitra ireo, ny hany ilaina TypeScript (fanampiny ho an'ny fiteny Javascript). Matetika ampiasaina amin'ny fananganana orinasa lehibe.

Raha fintinina izay voasoratra etsy ambony, dia azontsika atao ny manatsoaka hevitra fa ny fametrahana fampiharana amin'izao fotoana izao dia tsy mitovy amin'ny fomba nandehanan'ity dingana ity teo aloha. Na izany aza, tsy misy manakana anao tsy hanao ny "deployment" amin'ny fomba taloha. Saingy ny fotoana kely voavonjy amin'ny fanombohana dia mendrika ny fahadisoana marobe izay tsy maintsy hodiavin'ny mpamorona izay misafidy io lalana io? Mino aho fa tsia ny valiny. Amin'ny fandaniana fotoana bebe kokoa amin'ny fahafantarana ny tenanao amin'ireo fitaovana ireo (ary tsy mila mihoatra noho izany ianao, satria mila mahatakatra ianao na mila azy ireo amin'ny tetikasanao amin'izao fotoana izao na tsia), azonao atao ny milalao izany, mampihena be, ohatra. , tranganΓ  hadisoana matoatoa miankina amin'ny tontolo iainana ary tsy hita afa-tsy ao amin'ny serivera famokarana, famakafakana isan'alina momba izay nitarika ny fianjeran'ny mpizara sy ny antony tsy hanombohana azy, sy ny maro hafa.

Source: www.habr.com

Add a comment