Microservices: Magnitudo rerum, etiam si Kubernetes habes

Moscuae 19 Septembris cepit locus primus congressus thematicalis HUG (Highload++ Group User), quod microservices dedicatum est. Exhibitio "operandi Microservices: Size Matters, Even If You Have Kubernetes", in qua amplam experientiam communicavit Flant in architectura operandi inceptis cum microserviis. Imprimis utile erit omnibus tincidunt qui de hoc usu cogitantes accessus in praesenti vel futuro incepto.

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Introductio video de fama (50 minuta, multo magis informativum quam articulus), tum principale extractum ab eo in textu forma.

NB: Video et praesentatio etiam in fine huius postis praesto sunt.

introduction

Fere bona fabula initium habet, praecipuum consilium et consilium. Haec fama similior est praeludio, et tragico illo. Gravis etiam est animadvertere quod conspectum extraneorum microserviorum praebet. Operating.

Hoc graphio incipiam, cuius auctor (anno 2015) et factus est Martin Fowler:

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Ostendit quomodo, in applicatione monolithico quae ad certum valorem perveniat, fructus declinare incipit. Microservices diversae sunt quod productivitas initialis cum illis inferior est, sed sicut multiplicitas augetur, degradatio in efficientia non ita notabilis est.

Huic graphi addere possum casus utendi Kubernetes:

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Cur applicatio cum microservices melius est? Quia talis architectura gravia requisita ad architecturam proponit, quae rursus per facultates Kubernetes perfecte operiuntur. Ex altera parte, nonnullae huius functionis monolithi utiles erunt, praesertim quia monolithus typicus hodie non exacte monolithus est (details postea in relatione erit).

Ut videre potes, graphi finalis (cum applicationes monolithicas et microformas in infrastructura cum Kubernetes sunt) ab originali non multum differt. Deinde de applicationibus uti Kubernetes operatis loquemur.

Utile et nocivum microservices

Et hic est principalis idea:

Microservices: Magnitudo rerum, etiam si Kubernetes habes

quod normalis " architectura microservice? Debet tibi veras utilitates, augendo laboris efficientiam. Si ad graphum revertamur, hic est;

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Si vocas eam utilisergo ex altera parte graphi erunt noxia microservices (operari impedit);

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Revertentes ad "ideam principalem": experientiam meam omnino confidam? Ab initio huius anni vidi 85 incepta. Non omnes eorum microservices erant (seu circiter tertia pars dimidia talis architecturae habebat), sed adhuc numerus magnus. Nos tamquam outsourcers adhibuimus ut videremus varietatem applicationum in parvis societatibus (cum 5 machinis) et in magnis (~500 tincidunt) videre. Additum beneficium est quod has applicationes vivere et evolvere supra annos videmus.

Quid microservices?

Ad quaestionem de beneficiis microservices est valde specifica respondere ex iam dicto Martino Fowler;

  1. patet modulationis limites;
  2. sui iuris instruere;
  3. libertatem eligendi vitae.

Multum locutus sum ad architectos et tincidunt luctus et quaesivi cur microservices egent. et indicem exspectationis eorum feci. Ecce quod factum est;

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Si puncta quaedam describimus in sensibus, deinde;

  • clara modulorum limites: hic terribile monolitum habemus, et nunc omnia in Git repositoria eleganter disposita sunt, in quibus omnia "in vadis" sunt, calida et mollia non mixta sunt;
  • independentiam instruere: officia independenter a evolvere poterimus ut progressionem ocius accedit (novas lineas in parallelis publicare);
  • evolutionis independentiae: hoc micro servicium uni quadrigis/elit/elit dare possumus, alterum alteri, ob quod citius evolvere possumus;
  • Π±ΠΎmaior fides: si degradatio partialis incidit (unum microservicium ex 20 ceciderit), tunc una tantum globulum operari cessabit et ratio in toto officio perseverabit.

Typical (nocens) architectura microservice

Cur res quid speremus explicare, dabo collective imago architecturae microserviae ab experientia plurium inceptis fundatae.

Exempli gratia esset copia online abstracta quae cum Amazonibus vel saltem OZON certaturus est. Architectura microservitia eius similis est:

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Coniunctis de causis haec microservices in diversis suggestis scribuntur:

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Cum singulae microformes autonomiam habere debent, multi ex illis suis datorum et thesaurorum indigent. Architectura postrema haec est:

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Quae sunt eius consequentia?

Hoc quoque habet aucupis ibi est articulus - de "mercede" pro microservices utendi:

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Et videbimus si nostra fuerit exspectatio.

Integer finibus volutpat elit.

Tamen quot microservices nos actu figere oportet?ad mutationem de evolvere? Etiamne possumus investigare quomodo omnia opera sine trac distributo (post omnia quaelibet petitio per dimidium microscum discessit)?

Est exemplar "magna massam lutumet hic evenit ut massam sordium divideret. Ad hoc confirmandum, hic proxime accedit exemplum petitionum quomodo fiant:

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Instruere libertatem...

Technice consecutus est: singula microservitia separatim evolvere possumus. Sed in usu debes considerare quod semper evolvitur multa microserviceset oportet considerare ordo rollout. In bono modo, plerumque opus est ut separatum ambitum experiamur an recto ordine emissionem volvamus.

Libertas eligendi technology...

Ea est. Modo memento libertatem saepe in iniquitate finire. Magni momenti est hic technologias non eligere cum illis "ludere".

Libertatis consequat...

Quomodo test ansam facere pro tota applicatione (cum tot partibus)? Sed adhuc opus est ut illud ad modernum retineas. Haec omnia ad quod ipsam numerum test circuitusquam in prineipio continere possumus; evadit minima.

Et omnia haec localiter explicanda?.. Evenit ut saepe elit independenter operarium suum facit, sed "temere", quia exspectare cogatur donec per experimentum liberum sit ambitus.

Separate scalas...

Ita est, sed in area DBMS adhibita limitata est. In exemplo architecturae dato, Cassandra problemata non habebit, sed MySQL et PostgreSQL erit.

Π‘ΠΎmaiorem fidem...

Non solum unius microservici defectus in re vera totius systematis operationem saepe frangit, sed etiam problema novum est; omne microservice culpae patiens difficillimum. Quia micromerita diversis technologiis utuntur (memcache, Redis, etc.), singulis opus est cogitare per omnia et eam efficere, quae quidem fieri potest, sed ingentes requirit facultates.

Onus mensurabilitas...

Hoc est vere bonum.

"Levitatem" microserviorum...

Non solum ingens network caput (petitiones pro DNS multiplicantur etc.), sed etiam propter multas subquisitiones quas incepimus replicare notitia (cabularum copia), quae ad notabilem quantitatem repositionis ductae sunt.

Et hic effectus est exspectationum nostrarum occurrentium:

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Sed non omnes!

Quod:

  • Maxime verisimile bus nuntium erimus.
  • Quomodo tergum in tempore convenientem facere? Unicus real optio est negotiationis hoc averte. Sed quomodo in productione hoc facere potest?
  • Si loquimur de pluribus regionibus sustentandis, tunc in unaquaque earum sustineribilitatem ordinare opus est valde laboriosum.
  • Difficultas faciendi centralised mutationes oritur. Exempli gratia, si opus est ad versionem PHP renovandam, cuique reposito committere debebimus (et eorum justos sunt).
  • Augmentum complexionis operationalis est, faetis, exponentialis.

Quid ad haec omnia?

Monolithic application satus cum. Avium experientia Qui loquitur omnes fere applicationes microservices prosperas sicut monolithus nimium grandis factas et fractas esse coeperunt. Eodem tempore fere omnes systemata microservices ut ab initio fabricata sunt citius aut serius graves difficultates experti sunt.

Alia magni pretii cogitatio est, quod architecturae microservicae in project ut bene sit, scire debes et de area, et quomodo ad microservices. Et optime de re area discendum est monolitum facere.

Sed quid, si iam in hac re sumus?

Primus gradus solvendae quaestionis est cum eo consentire et intellegere quaestionem esse, quod amplius pati nolumus.

Si in monolitho inculta (cum copiarum adiectis emendi facultas decursa sit), incidimus, tum in hoc casu contrarium evenit: cum nimiae microservices non iam adiuvant, sed impediunt. et interficiam excessus enlarge!

Verbi gratia, ad imaginem collectivam de qua supra...

Expurgate microservices maxime ambiguam:

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Miscere omnia microservices quae ad frontem generationis pertinent:

Microservices: Magnitudo rerum, etiam si Kubernetes habes

... in unam microserviam, in uno (moderno et normali, ut ipse sentis,) sermone / compage conscriptam:

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Unum ORM (unum DBMS) habebit et primum in duobus applicationibus;

Microservices: Magnitudo rerum, etiam si Kubernetes habes

... sed generaliter multo plura ibi transferre potes, sequentia consequaris;

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Praeterea in Kubernetes haec omnia discurrimus in instantias separatas, quae significat quod oneris adhuc metiamur et singulatim conscendamus.

summatimque

Vide in pictura maior. Saepissime omnes hae difficultates cum microservices oriuntur quod aliquis suum munus suscepit, sed "cum microservices ludere" voluit.

In verbo "microservices" pars "micro" redundans est.. Eae tantum "micro" sunt quia minores sunt quam ingens monolithus. Sed ea ut minima ne.

Ad ultimam cogitationem, ad chartum originalem revertamur:

Microservices: Magnitudo rerum, etiam si Kubernetes habes

Nota scriptum in eo (Summa dextra) ad vulnera eo quod artes bigas qui facit tua project semper primaria β€” praecipuum munus habebunt in electione tua inter microservices et monolitum. Si manipulus satis artes non habet, sed microservices facere incipit, fabula certe fatalis erit.

Videos et labitur

Vide ex oratione (~50 minuta; proh dolor, non refert numerosos motus visitatores, qui modus relationis late determinavit, sed quomodo est);

Exhibitio relationis;

PS

Aliae relationes in nostro blog:

Etiam in sequentibus publicationibus interesse potes:

Source: www.habr.com