Principia ad applicationes recentiores ab NGINX elaborandas. Pars I

Salve amicis. In antecessum Lorem cursus "Retro elit in PHP"translationem materiae utilissimae apud vos tradito communicamus.

Software problemata magis ac magis cotidiana solvuntur, dum magis magisque implicantur. Sicut quondam Marcus Andreessen dixit, id est consumit mundum.

Principia ad applicationes recentiores ab NGINX elaborandas. Pars I

Quam ob rem, viae applicationes excultae et liberatae per hos annos dramatice mutaverunt. Hae sunt vices in scala tectonica quae in statuto principiorum consecuta est. Haec principia utiles probaverunt in aedificando manipulos, designando, enucleando et tradendo applicationem tuam ad finem utentium.

Principia sic perstringi possunt; applicatio debet esse parva, tela fundata et architecturae elit-centricae habent. Super his tribus principiis aedificando, applicationem robustam, finem ad finem, ad finem utentem cito et secure tradi potest, et facile scalable et extensibile est.

Principia ad applicationes recentiores ab NGINX elaborandas. Pars I

Quaelibet enim principia proposita plures habent aspectus, quos disputabimus ostendere quomodo unumquodque principium conferat ad finem metam cito tradens certas applicationes, quae facilia sunt ad conservationem et usum. Principia per comparationem ad oppositorum intuebimur ad declarandum quid sit dicere: "Fac uteris. principium parvitatis".

Speramus hoc articulum hortatur te ut proposita principia utaris ad applicationes modernas aedificandas, quae consilium unum praebebit in contextu acervus technologiae technologiae semper crescentis.

His principiis applicando, te ipsum invenies novis trendis in progressione programmatis, incluso DevOps ad applicationes progressionis et traditionis, ad usum continentiae, e.g. Docker) et compages orchestrationis continens (exempli gratia: Kubernetes) Usus microservices (including Microservice Architecture nginx ΠΈ network communicationis architectura ad applicationes microservice.

Quid est app modern?

Moderni applicationes? Stack modern? Quidnam vult "modestus"?

Plerique tincidunt solum fundamentalem intellectum habent quod moderna applicationis consistit, ut hunc conceptum clare definire necesse est.

Nova applicatio plures clientes sustinet, esto interface utens react JavaScript bibliothecam, applicationem mobilis pro Android vel iOS, vel applicatio quae connectit alteri utens API. Nova applicatio clientium numerum indefinitum implicat pro quibus notitias vel officia praebet.

Applicatio moderna praebet API ut notitias et officia rogata accederet. API immutabilis et constans esse debet, nec nominatim scripta ob certum clientelam postulationem. API super HTTP(S) praesto est et aditum praebet omnibus functionibus GUI vel CLI repertis.

Data praesto esse debent in forma communi, interoperabili sicut JSON. Res et officia API forma manifesta et ordinata exponit, exempli gratia, API vel GraphQL quietum interfaciem honestam praebent.

Applicationes modernae in acervo moderno aedificantur, et modernus acervus est acervus qui huiusmodi applicationes respective sustinet. Hic ACERVUS permittit elit ut applicationem facile creet cum HTTP interface et API terminos claros. Accessus quem eligis permittet applicationem tuam ut facile recipias et in forma JSON notitias mittas. Aliis verbis, hodiernus ACERVUS respondet elementis XII Factoris Application pro microservices.

Populares versiones huius generis ACERVUS innituntur Java, Python, nodi, Ruby, PHP ΠΈ Go. Microservice Architecture nginx exemplum repraesentat moderni ACERVi qui in unaquaque lingua nominatus perficiatur.

Nota quaeso quod microservices meras advocati non accedimus. Multi vestrum laboratis cum monolithis quae evolutionis indigent, alii cum applicationibus SOA tractantes quae dilatantur et evolvuntur ut applicationes microform fiant. Quaedam vero ad applicationes ministrativas movent, et quaedam coniunctiones praedictorum exsequuntur. Principia in hoc articulo delineata singulis systematis applicantur paucis modificationibus minoribus.

principiis

Nunc nos habere praecipuam intelligentiam eorum quae moderni applicationis et moderni acervi sunt, tempus est intendere in architecturae et consiliorum principiorum quae bene tibi servient in cogitando, exsequendo, et conservando modernam applicationem.

Unum principiorum est "parvis apps aedificare", eam appellare iustam principium parvitatis. Applicatae sunt incredibilis compositae quae multum moventes partes habent. Vicissim, applicationem ex parvis, discretis componentibus, faciliorem reddit, altiore consilio, conservare, et uti. (Nota quod diximus "simpliciorem facit", non "simpliciorem" facit.

Secundum principium est quod elit fructibus augere possumus, adiuvando eos intendunt in lineamenta quae sunt evolutionis, dum liberat eas ab sollicitudine infrastructurae et CI/CD in exsequendo. Ita, in nuce, accessus noster elit accumsan.

Postremo omnia de applicatione tua ad ornatum coniungi debent. Praeteritis XX annis multum ad retiaculum futurum progressi sumus sicut retiacula citius facta sunt et applicationes magis implicatae factae sunt. Ut iam vidimus, moderna applicatio adhibenda est per retis a pluribus clientibus diversis. Applicatio network cogitandi ad architecturae beneficia significantia habet quae bene deceant principium parvitatis notio ac aditus; elit accumsan.

Si haec principia in animo servaveris cum applicatione cogitans et exsequens, distinctum commodum habebis in evolutione et partu producti tui.

Haec tria principia inspiciamus planius.

Principium parvitatis

Difficile est cerebrum humanum multas simul notitias perspicere. In psychologia onus cognitiva vox significat summam intentionis mentis quae requiritur ad notitias in memoria retinendas. Reducere onus cognitivum in cyclis est prioritas, quia tunc versari possunt problema solvendum pro exemplo totius applicationis currentis complexi tenentes et lineamenta quae in capite eorum crescebant.

Principia ad applicationes recentiores ab NGINX elaborandas. Pars I

Applicationes dissoluuntur his de causis;

  • Reducere onus cognitivum in tincidunt;
  • Acceleratio et simplicitas temptationis;
  • Fast traditio mutationum applicationis.


Plures modi sunt ad redigendum onus cognitivum in tincidunt, unde principium parvitatis iungitur.

Tribus igitur modis onus cognitivum minuitur;

  1. Tempus minuere tempus considerare debent, cum novum pluma evolutionis – temporis brevioris, cognitivae oneris inferiorem.
  2. Moles Codicis minuere quae tempore minus codici minoris oneris laborata est.
  3. Simplex processus faciendi incrementales mutationes in applicatione tua.

Reducitur progressus temporis tabulas

Redeamus ad tempora cum methodo waterfall vexillum ad processum evolutionis fuit, et tempus sex mensium ad biennium ad applicationes evolutionis vel adaequationis communes usus erant. De more fabrum primum leget documenta pertinentia ut requisita producta (PRD), systema documenti referentis (SRD), consilium architecturae, et incipiunt omnia haec simul in unum exemplar cognitivum secundum quod codicem scripserunt. Sicut requisita, et ideo architectura mutata est, notabile studium faciendum erat ut totam turmam informaret de renovationibus ad exemplar cognitivum. Maxime in casu, aditus simpliciter laborem impediendum esse potuit.

Maxima mutatio in processu applicationis applicationis agili methodo introductio fuit. Una praecipua methodorum agile - Iterativa haec progressio est. Rursus, haec reductio ad onus cognitiva in mechanicis ducit. Instead of the team development requires the application of the application in one long cyclo. agile Accessus permittit te ut in parvis moles codicis versaris qui cito probentur et explicari possunt, cum etiam feedback accipientes. Onus cognitionis applicationis a tempore sex mensium usque ad biennium removit, cum ingenti specificationum copia, ad duas hebdomadas additionis vel mutationis notas, ut diffusius intellectus magnae applicationis nisus sit.

Movens umbilicum ex ingenti applicatione ad specialia parvas notas quae perfici possunt in duas hebdomadas concitus, prospiciens non plus quam una ex altera concitus in mente notabilis mutatio est. Hoc effecit, ut incrementum evolutionis fructibus augeretur, cum onus cognitivum minueret, quod constanter fluctuabat.

In methodo tradendae agile Postrema applicatio expectatur versionem notionis originalis leviter mutatam esse, ideo punctum finale evolutionis necessario ambiguum est. Uniuscuiusque eventus certae concitus perspicuus et subtilis esse potest.

Parva codebases

Proximus gradus ad onus cognitivum redigendo est basis codicem reducere. De more hodierni applicationes massive sunt - applicatio robusta et inceptis constare potest ex milibus imaginum et centenis milibus linearum codicis. Secundum ordinem imaginum, nexus et clientelas inter codicem et limam possunt vel non esse manifestum. Etiam debugging codicem ipsum supplicium potest esse problematicum, secundum bibliothecas usus et quomodo instrumenta debugging distinguunt inter bibliothecas/packages/modules et codicem usoris.

Aedificare exemplar mentis operationis in codice applicationis notabilem temporis quantitatem capere potest, iterum magnum onus cognitivum in elit. Hoc praesertim valet pro basium monolithicis, ubi magna vis codicis est, commercia inter partes functiones non sunt clare definitae, et separatio obiectorum attentionis saepe turbatur, quia termini functiones non servantur.

Una efficax via ad onus cognitivum in fabrum reducendum est movere ad architecturae operae microform. In accessu microservio, unumquodque servitium spectat in una functionum; servitii significatio fere definiri et comprehendi solet. Limites servitutis etiam manifesti sunt - meminerint communicationem cum ministerio exerceri API utendo, ita notitia ex uno ministerio generata facile in aliud transferri potest.

Commercium cum aliis officiis solet circumscribi ad pauca officia usoris et ad pauca officia provisoris, quae simplicia et pura utuntur API vocat, ut CAESUM. Hoc significat onus cognitivum in ingeniarius gravissime deminutum. Maxima provocatio manet exemplar servitium commercii intellegendum et quomodo res sicut geruntur per multiplices operas eveniunt. Ultimo, microservices utens onus cognitivum minuit, quantitatem codicis minuit, clarum servitium definit limites et perspicientiam in relatione usoris provisoris comparans.

Parvus incremental mutationes

Ultimum elementum principii parum mutatio est procuratio. Praecipue tentat tincidunt ut codicem basis (etiam fortasse proprium, vetustissimum codicem) inspiciat et dicat: "Hoc lutum est, opus est totam rem hanc rescribere". Aliquando rectum consilium, aliquando non est. Ponit onus globalis exemplaris mutationes in quadrigis evolutionis, quae vicissim in mole cognitivarum onerum resultant. Melius est ut fabrum mutationes intendere possunt per concitus, ut tunc opportune, licet paulatim, necessariam functionem evolvere possint. Productus ultimus similis esse debet praeordinato, sed quibusdam modificationibus et probatione ad huius necessitates accommodatae.

Cum magnas codicis partes rescribo, interdum fieri potest ut cito mutationem tradat quia aliae dependentiae systematis oriuntur. Ut fluxum mutationum compescas, pluma latebras uti potes. Basically, this means the functionality there is in production, but is not available through environment variabilis settings (env-var) or any other configuration mechanism. Si signum omnes processus qualitates temperantiae praeteriit, in statu occultae productionis terminare potest. Sed hoc consilium solum operatur si pluma tandem facultas datur. Alioquin signum tantum clutter erit et onus cognitivum adde quod in elit tolerare erit producere. Mutationes administrationis et incrementi mutationes ipsae adiuvant ut tincidunt onus cognitivum in gradu accessibili custodiant.

Machinarii habent multas difficultates superandas etiam cum simpliciter ad ulteriorem functionem exsequendam. Prudenter esset procuratio ad superfluum quod inposuit in quadrigis reducere ut in elementis functionis versari possit. Tria sunt quae adiuvare potes ut dolor evolutionis tuae adiuvet;

  1. Utere methodo tradendae agile, ut spatium temporis circumscribere in quo dolor clavium lineamenta intendere debet.
  2. Applicationem tuam cum pluribus microservices exsequendam. Hic numerus linearum notarum limitabit et confirmabit terminos qui onus cognitivum continent operando.
  3. Malo mutationes incrementales in magnas, inobstructas, mutare particulas codicis. Utere pluma latebras ad mutationes efficiendi etsi statim postquam additae non erunt.

Si principium parvitatis in opere tuo applicaveris, turma tua multo beatior erit, meliusque in necessariis notis tradendis tenditur, et magis verisimilius mutatur velocius qualitatem evolvere. Sed hoc non significat opus non magis implicatum fieri, sed interdum novarum functionum introductio requirit modificationem plurium officiorum, quae processus potest esse magis implicatior quam similis in architectura monolithico. In causa, beneficia leviter utendi accessione dignae sunt.

Finis primae partis.

Secundam partem translationis mox edemus, nunc tuas commentarios exspectamus et te invitamus Open Dayquae hodie fient ad 20.00.

Source: www.habr.com