
così sono stati discussi microservizi
molto nell’ultimo anno o giù di lì vedo un
enorme quantità di cose su Twitter e il
come parlare di questo argomento è
qualcosa di cui ho sentito parlare per a
buona parte per un po ‘più a lungo
due o tre anni diversi dal mio
colleghi e amici hanno parlato
su micro servizi e per me il
la lotta era cercare di capire bene
cosa sono esattamente cosa cosa fanno
le persone intendono davvero quando parlano
microservizi e anche tu sai quando
dovremmo considerare l’utilizzo di questa tecnica
è nuovo o non lo usiamo noi no?
usalo e che ne è il nerf nel primo
intendo dire che l’idea di base è equa
semplice contrasto con
quello che è considerato un tradizionale
applicazione monolitica a monolitica a
un’applicazione monolitica significa che hai
varie capacità varie cose che
tu vuoi fornire e tu li metti tutti
nella stessa applicazione tipicamente
in esecuzione in un unico processo e tu
pensalo come una cosa, il micro
approccio di servizio e il suo equipaggio
le discipline sta provando a prendere ciascuno di
queste capacità e inserirle
processi separati e invece di avere
un processo ha questa rete di
comunicare i processi a molte persone
piace usare l’ esempio di UNIX
riga di comando dove se vuoi ottenere un
elenco di tutti i file nella tua directory
ordinati potresti usarne due o tre
diversi programmi messi insieme in a
pipeline per farlo ha anche un
conseguenza per la distribuzione, se lo hai
ottenuto un modello se si scala in modo efficace
taglierina del biscotto nel monolite e
mettendolo su più macchine mentre
siamo microservizi ne hai di più di a
approccio flessibile perché puoi mettere
servizi diversi su diverse macchine
in modo che se alcuni servizi ottengono più carico
di altri possono avere più copie di
loro hanno reso questo tipo di molto crudo
panoramica ma questa è ancora una lunga strada
lontano da ciò che chiamerei veramente il
definizione di ciò intendo
come varia da tutto ciò che ho
state ascoltando la gente su Yammer
architettura orientata ai servizi per il
ultimi 10 anni ma il problema è con
qualcosa come un argomento come micro
servizi è molto difficile a venire con
qualsiasi tipo di definizione aziendale si intendo
Ho riempito la stessa cosa con no
sequel right Voglio dire nessun database sequel
Voglio dire qual è la definizione e no
sequel e ancora più indietro intendo te
sapere qual è la definizione che arriviamo
con una definizione veramente solida per
programmazione funzionale bene lo sai
ce ne sono molte là fuori che puoi
scegli da una vasta gamma ciò che io
pensare è meglio pensare è
invece di pensare a una definizione
parlare di caratteristiche comuni e
quello che intendo per caratteristiche comuni è
per dire se hai bruciato la conversazione con AB intero
gruppo di persone che fanno micro servizi e
cerchi le cose comuni che più
di loro stanno facendo il tuo test è quello più
persone che dicono che stanno facendo
i micro-servizi dovrebbero fare la maggior parte di
queste cose e mi sono riunito con uno
dei miei colleghi che è uno di questi ragazzi
ha fatto un sacco di lavoro con micro
servizi e siamo arrivati con un articolo
che abbiamo pubblicato all’inizio di quest’anno
quelli di voi alle spalle stanno per
lottare con tutto ciò che è sul
diapositive che sono in fondo a causa di
il modo in cui le cose sono disposte, ma è fuori
lì e sto solo andando a riassumere
alcuni di questi erano i nove comuni
caratteristiche che ci siamo inventati in
scrivendo quell’articolo e non sto andando
per parlare attraverso tutti loro perché non lo faccio
ho abbastanza tempo ma metterò in evidenza
alcuni che penso siano particolarmente
interessante quindi la prima cosa è questa
nozione di componentizzazione tramite servizi
ora il software idea dovrebbe essere rotto
fino a componenti è stato di nuovo in giro
per sempre abbiamo sempre un sacco di gente
parlato di software basato su componenti
e come sarebbe bello avere
componenti con cui puoi lavorare ma
spesso il termine componente ha ovviamente
ha avuto molti problemi in termini di
definizione pure me ne ricordo uno
oggetto punto che viene sostituito
i componenti e quindi i componenti tornano indietro
di nuovo agli oggetti e tutto è diventato molto
confondere ciò su cui mi concentro per a
la definizione del componente viene davvero
da Ralph Johnson ha detto che cosa
stiamo cercando di fare è che stiamo cercando di
costruire software come farebbero le persone
assemblare stereo
componenti sai che hai un
amplificatore hai altoparlanti hai a
La riproduzione di CD ha un lettore di nastri che puoi
sostituire uno di questi elementi in modo indipendente
questa è una cosa cruciale e in effetti tu
può aggiornare uno di questi elementi
indipendentemente quindi se voglio ottenere un
amplificatore migliorato non devo
cambia tutto il resto che è un obiettivo
quello a cui miriamo è un componente
qualcosa che è indipendente
sostituibile indipendentemente aggiornabile così
in termini di software e vediamo
componenti per diventare due forme noi
ottenere le librerie che usiamo da terzi
feste e li rendiamo parte del nostro
processo e in una certa misura abbiamo quindi
la scelta di quando vogliamo aggiornare
che vogliamo ottenere una nuova versione di
la nostra libreria di elaborazione XML o noi
attenersi a quello che abbiamo attualmente
ottenuto e si spera che l’aggiornamento non lo è
andando a influenzare il resto del nostro
applicazione troppo a seconda di come
le dipendenze sono tutte disposte a
il servizio è un diverso tipo di componente
dove è in esecuzione nel proprio processo
e mentre con una biblioteca parliamo usando
le strutture di comunicazione linguistica
che abbiamo costruito in qualsiasi cosa
lingua che stiamo utilizzando con un servizio
in genere utilizziamo inter processi
strutture di comunicazione come il web
chiamate di servizio o messaggi o qualcosa del genere
di quel tipo e i servizi ci danno
alcuni vantaggi utili anche quando
tende a sostituire capacità e aggiornamento
abilità se ho un monolite con
componenti che sono librerie e ho
sai che qualcuno tira fuori un nuovo
versione di un componente che sarebbe
davvero bello ma funziona solo su Java 8
e ho un altro componente nel mio
monolite che non funziona con Java 8
e posso lavorare solo con Java 7 cosa faccio
sono bloccato ma d’altra parte con
se fossero servizi separati loro
sarebbe in esecuzione in completamente diverso
runtimes e loro potrebbero farli funzionare
potrebbe essere aggiornato in modo più indipendente ora
c’è un costo ovviamente con quello ma
questo fa parte della nozione di come si lega
nella capacità di aggiornamento indipendente così
per il prossimo
organizzazione in giro per affari
le capacità è un altro tema importante
nella visione dei servizi micro del mondo
quindi un sacco di sviluppo anche molto
le organizzazioni si organizzano in giro
la tecnologia voglio dire vedrai questo in a
molte grandi aziende avrò il loro D
bas e il loro gruppo di database che potrebbe
avere un gruppo completamente diverso di
le persone sull’interfaccia utente sono concentrate
la tecnologia la cosa fondamentale con il micro
la visione dei servizi del mondo è quella di noi
dovrebbe invece organizzarsi intorno al business
capacità e che ogni squadra dovrebbe
avere alcuni elementi fino in fondo
e idealmente concentrandosi direttamente sulla fine
gli utenti stessi sono interessanti
esempio di questo da Amazon che è un
comune sicuramente ispirazione per il
comunità di servizi micro dove quando loro
divisi tutti sanno che Amazon è diviso
se stessi in due squadre di pizza e
si è parlato molto ma quello che è
parlato molto meno spesso è il
fatto che ogni squadra era responsabile per
la comunicazione fino a
l’ esperienza dell’utente finale e l’idea
quello che dovrebbe connettersi giusto la strada
attraverso alla gente alla fine e
dovrebbero essere giudicati su come fa questo
influenzare i risultati aziendali nel modo giusto
attraverso è una parte molto importante di questo
pensando così abbiamo questa nozione di
dividere te stesso intorno una sorta di
organizzazione aziendale e farlo come
stack completo possibile, magari quando
viene a confronto a ciò che un sacco di
le persone si sono imbattute in termini di
servizi uno dei più grandi turni è
questo cambiamento su facciamo intelligente
endpoint e tubi stupidi quando un sacco di
le persone parlano di servizi orientati
architettura parlano dell’idea di
prendiamo qualche pezzo potente di
middleware che farà automaticamente
tutti i tipi di roba che instraderà i messaggi
applicherà le regole di business che fa tutto
tipo di cose questo naturalmente è il
l’ ESB è il bus del servizio Enterprise o lo è
ha più correttamente conosciuto l’egregio
scatola di spaghetti
la comunità micro-service molto
rammarico respingere questa nozione e dice il
le intelligenze invece dovrebbero passare a
endpoint stessi ciò che vogliamo è
tutto per connettersi insieme e per essere
in grado di instradare facilmente messaggi o
comunicazioni tra loro ma esso
dovrebbe essere fino agli endpoint dove tutti
che l’intelligenza è una logica aziendale
qualsiasi materiale di routing tutto questo dovrebbe essere
basandoci sugli endpoint, dacci solo un
buon meccanismo di tubazioni efficiente e
l’ispirazione in molti modi è, naturalmente
la stessa Internet che funziona molto
bene a causa del fatto che ha bisogno di a
set relativamente muto di tubi e put
tutta l’intelligenza sugli endpoint
un’altra cosa che fa emergere anche questo
la variazione di un sacco di cose di servizio è
la nozione di decentramento
decentramento in termini generali
modo in cui un paesaggio servizio è
governato e in particolare
decentramento in termini di dati
gestione così ancora una volta se pensiamo al
il mondo monolitico pensiamo al
fatto che generalmente tutti i dati sono
seduto in uno che onora grandi relazionali
database va bene e spesso può essere
scrivere in una società che conosci la nostra
lo standard dell’azienda è Oracle o il nostro
lo standard dell’azienda è db2 tutto
va nello stesso posto e anche molto
architetture orientate ai servizi è
davvero molto su più servizi o
tirando i dati dentro e fuori di uno logicamente
grande database che il servizio micro nomina
punto di vista è quello di dire ora ogni
il servizio dovrebbe essere responsabile per il suo
i propri dati e la propria persistenza di nuovo
questa è un’altra cosa che è ispirata
dall’esperienza amazzonica di Amazon
quella delle loro regole quando loro
spostato su un approccio orientato al servizio
e ha detto che potresti non parlare mai con un altro
negozio di dati di servizi con cui puoi parlare solo
un altro servizio attraverso la sua API e
questa è la regola del micro servizio
la gente spinge pure ora questa è una coppia
vantaggi in primo luogo rimuove questo
pasticcio orribile di integrazione attraverso a
database che non causa la fine dei problemi
nelle imprese dappertutto il
seconda cosa lo fa libera
servizi individuali per utilizzare un archivio dati
che compongono
Sente a loro alcuni servizi un rapporto
database ha senso
altri vorrebbero usare uno di questi
hot new no sequel cose fantasiose e in
in quale caso lo usano per quello ma il
l’idea è la tua scelta di persistenza dei dati
dovrebbe essere interamente all’altezza dell’individuo
servizio se stessi e fa parte di
questa nozione generale come ho detto
decentramento va anche al
punto di cose come lingue e strumenti
dovrebbe di nuovo essere scelto individualmente da
diversi gruppi di servizi per fare tutto
questo lavoro è davvero importante avere
automazione dell’infrastruttura così tanto
cose come la consegna continua
tecniche come la distribuzione di Bluegreen
che ti permettono di mettere cose con cui vivere
zero tempi morti di questo genere di cose
obbligatorio anche al fine di ottenere questo
tipo di cose da lavorare perché tu sei
parlando di costruire quello che sarebbe uno
applicazione come una dozzina o due dozzine
servizi quindi è molto importante che tu abbia
un modo molto automatico per ottenere questi
le cose che vuoi anche tu essere in grado di farlo
prendi nuove scatole e girali rapidamente
mette anche molta enfasi su
monitoraggio anche tu devi avere
buon monitoraggio in modo che quando le cose vanno
sbagliato si può facilmente notare il fatto che
qualcosa è andato storto e puoi usarlo
gli strumenti di monitoraggio per aiutarti a eseguire il debug
e naturalmente questo porta a
la nozione che tu abbia questo esplicito
progettazione per fallimento se hai intenzione di
hanno servizi remoti che stanno per
fallire particolarmente quando li distribuisci
attraverso più nodi quindi questo è un altro
parte del motivo per cui il monitoraggio è così
importante e ovviamente è più
livello famoso hai cose come la
scimmia del caos Netflix è uno dei più
ben noto MA servizio micro
architetture e hanno costruito uno strumento che
va in giro distruggendo a caso i nodi
e usano che, al fine di rilevare come
resiliente la loro rete globale è I
significa che non lo faccio tutto il tempo loro
eseguilo durante l’ orario d’ufficio quando c’è
qualcuno lì per sistemare le cose ma il
fatto che hai uno strumento che
causa deliberatamente fallimento per
contribuire a rendere sicuro che siete resiliente penso
incapsula l’atteggiamento di svelt
le persone del servizio micro hanno
e naturalmente questo è essenziale in qualsiasi
tipo di sistema distribuito devi
supponiamo che le cose si spezzino in questo modo
era il nostro insieme di caratteristiche comuni
e spero ti dia un po ‘di sapore
per il tipo di cose che parlano le persone
circa ma solleva ancora un certo numero di
domande di cui una delle più grandi
le cose sono davvero così
l’ architettura orientata ai servizi è questa
solo lo stesso tipo di cose che abbiamo
ho sentito parlare a lungo in
il contesto di SOA ma al fine di
rispondi a questa domanda che devi dire
te stesso bene ciò che è SLA nel primo
posto e questo è davvero penso al
cuore del problema perché ho sentito
SLA definito in molti modi diversi in
molti modi diversi incompatibili di
persone diverse per alcune persone SLA è
esattamente quello che abbiamo parlato in
il mondo dei microservizi e per questo motivo
incontrato un numero di persone nella SOA
una comunità davvero segnata al
le persone di servizio micro perché loro
l’atteggiamento è buono, lo stiamo facendo tutti
questo e chiamandolo SOA per anni perché farlo
tu inventi questo nuovo termine e portalo
lungo ciò che stai chiamando
parole perché tutti lo sanno, naturalmente
diventiamo incredibilmente ricchi coniando
terminologia che vorrei ma ovviamente SOA
significa cose diverse per differenti
persone a molte persone nel micro
comunità di servizi in cui sono stati in giro
grandi imprese e a loro significa SOA
il bus di servizio aziendale
significa Comitati di persone che sono
lì per stabilire standard per la salute
i servizi dovrebbero connettersi a ciascuno
altro è davvero un mondo molto diverso
quindi il modo in cui tendo a pensarlo lo è
dicendo bene SOA è questo termine molto ampio
e microservices è un sottoinsieme del suo
utilizzo e il valore del termine micro
i servizi è che permette di mettere un’etichetta su
un sottoinsieme utile della terminologia SOA
a mio avviso, il termine SOA è troppo ampia I
significa che significa così tante cose diverse
è praticamente privo di significato ma il
valore dei micro servizi è che si ritaglia
uno spazio tagliato e coerente all’interno di quello
ma è perfettamente giusto dire che il
l’ approccio al micro servizio è stato fatto da
persone sotto il nome di SOA per a
almeno un decennio
se non di più
quindi non è affatto una nuova tecnica e
è perfettamente ragionevole che le persone
ne sono infastidito quando dicono Oh
i micro servizi non sono nulla di nuovo che è un
risposta perfettamente ragionevole ora uno dei
i problemi con i micro-servizi come
termine e mi piace sottolineare che non sono venuto
con questo termine mi piacerebbe
trovare un termine migliore ma uno di
le cose sui micro-servizi come a
termine è che ha questa implicazione di
dimensione e, naturalmente, non appena dici
micro è così bene quanto è grande un micro
servizio e in realtà parli con qualcuno di
queste persone nel mondo dei micro-servizi
e sono sempre molto riluttanti a
rispondi a questa domanda che dicono sempre
bene sai che dovrebbe essere uno
responsabilità che è una specie di falso
cosa dire giusto posso immaginare il libro paga
essendo una responsabilità e lo so
questo è un sistema piuttosto grande, intendo
è di tutte le dimensioni, voglio dire , è molto
le responsabilità sono di destra molto flessibili
james lewis ha questa affermazione che dice
i servizi mirco devono essere piccoli
abbastanza da stare nella mia testa ora James ha
affare di config in testa mentre gira
fuori ma il suo punto è ovviamente il
sondaggio che se hai un servizio esso
dovrebbe essere comprensibile per un singolo
persona che è la sua prova per questo, ma questo è
ancora un po ‘vago ho iniziato a chiedere
intorno alle persone che cercano di avere un senso
le persone di taglia erano estremamente riluttanti
molti modi, ma il modo in cui sono stato in grado di ottenere
qualche figura dicendo bene quanti
persone per servizio nella tua applicazione
e ho ricevuto molte risposte diverse e
come puoi vedere c’è abbastanza diffusione
qui ora 15 persone 10 servizi per
persone 200 servizi c’è abbastanza a
gamma di diverse dimensioni è certamente
vero che carino dove vengo ovunque
attraverso la nozione della squadra di pizza
da Amazon è abbastanza ben considerato il
senso che non si dovrebbe mai avere una squadra
è più grande di quanto potresti nutrire con
due pizze dovrei dire questo naturalmente
sono due pizze americane e puoi dare da mangiare
un sacco di gente con due
Pizze americane ma penso che la nozione
è ancora lì ma dentro
c’è ancora molta variabilità così
questo è il meglio che posso fare quando si tratta
per definire microservizi per te è
ancora ho paura piuttosto sfocato ma tu
so che è così che vanno le cose, penso
tuttavia è ritagliarsi a
classe ragionevole di sistemi il prossimo
la domanda ovviamente è quando dovresti
usalo quali sono i vantaggi di
micro-servizi rispetto ai monoliti ora
un grande vantaggio di un monolite è a
approccio relativamente semplice e familiare
da usare e questo non deve essere
sottovalutato intendo che ho già
ha iniziato a sentire e a gocciolare nelle storie
di progetti che sai deciderti
sappiamo che vogliamo usare questo micro-servizio
roba perché è così bello che vogliamo fare
e hanno finito per farsi da soli
nei guai dove dovrebbero davvero
ho costruito un modello semplice se invece ora
se guardi un’applicazione e tu
dì sì , funzionerebbe davvero bene
come semplice app per rails che non vuoi
costruire inizia a costruirlo come un micro
servizio perché i micro servizi
introdotto il calcolo distribuito loro
spesso introdotto asincrono
comunicazione e quelli sono significativi
la complessità aumenta così il monolite
ha ancora il vantaggio di un massimo di a
certa dimensione almeno la semplicità di uno
i grandi vantaggi dei micro servizi
è la capacità di distribuire i vari
pezzi in modo indipendente se lo si desidera
aggiorna un monolite che devi aggiornare
il tutto ho sentito la storia di un
compagnia assicurativa dove ne hanno uno
monolite che gestiva tutto il loro
diverse linee di assicurazione se loro
voluto per aggiornare la loro auto
assicurazione hanno dovuto aggiornare la casa
assicurazione, nonché non avrebbero potuto fare di loro
indipendentemente e questo è uno svantaggio
di un monolite che sei costretto ad aggiornare
tutto in una volta ora, se sei veramente bravo
le vostre condotte di consegna continua I
pensa di poter fare quel lavoro ma tu ma
è molto più difficile che provare ad aggiornare
e i pezzi separati e quello era dentro
Infatti uno dei motivi cruciali Perché
Netflix è andato giù per questa strada che avevano
difficoltà a ottenere i loro sistemi
in grado di dispiegare il più rapidamente possibile
per farlo hanno trovato che il passaggio a un
l’approccio di micro-servizio ha dato loro di più
flessibilità e questo è ovviamente molto
importante in
in un’epoca in cui dobbiamo essere in grado di
distribuire nuove applicazioni non una volta ogni
pochi mesi ma ogni settimana ogni giorno e
spesso molte volte al giorno e poi siamo
concesso i tuoi micro servizi che possono
darti un maggior grado di
disponibilità se la tua raccomandazione
il servizio scende per qualche motivo
può ancora eseguire il tuo carrello della spesa e
questo è importante perché qual è il
la cosa più importante per gli americani
shopping giusto, quindi niente deve fermare il
shopping ora che disponibilità ovviamente
viene da essere gestito in grado di
gestire il fallimento in modo efficace ma se lo hai
ho la disponibilità di cosa significa questo
perdere la coerenza è molto più difficile
mantenere la coerenza con il micro servizio
applicazioni in modo da abbracciare l’eventuale
coerenza che può o non può essere a
cosa buona a seconda di dove ti trovi
sono ed è particolarmente difficile
corso per ottenere il giusto tipo di
comportamento coerente in modo che io possa
pubblicare effettivamente un aggiornamento durante l’interazione
con un’app Web e in realtà assicurati
che lo vedo e non andare dove è successo
vai a perderti che è il tipo di
cosa che va storta quando non lo fai
coerenza bene un altro grande problema che abbiamo
modellato con il monolite è così
lo rende relativamente facile da refactoring
in particolare tra i moduli ora con
qualsiasi tipo di progettazione software desiderata
buona modularità che vuoi dividere
software in pezzi in modo che in ordine
per fare un cambiamento non devo
capisco l’intero sistema posso solo
capire uno o due moduli, ma quello
significa che hai avuto modo di ottenere il modulo
confini e se non si ottiene
i limiti del tuo modulo che hai
essere in grado di cambiarli ora se lo hai
ha un modello se quel genere di cose non lo è
peccato che tu possa dire oh ho bisogno di muovermi
questo oggetto da qui in quello
modulo laggiù non è un duro
refactoring da fare in un microservizio
mondo che diventa un inferno di una partita
più difficile perché ora stai parlando
queste chiamate remote, così anch’io sono io
pensa a uno dei problemi con la corsa
monitorare troppo rapidamente i micro servizi se
non capisci il modulo
i confini bene è molto facile da ottenere
un blocco te stesso in un design puro e
anumana lift può essere un buon modo di
capire
i confini del modulo sono prima di te
in realtà facciamo la spaccatura e l’ abbiamo detta
una delle cose interessanti su
microservizi è che in realtà aiutano
preservi la modularità un sacco di gente
sai come me waffle all’infinito
su quanto sia importante avere un buon risultato
i moduli ora seguono le regole del bob Martin
sulle dipendenze pulite e tutto il
resto , ma la realtà è di più
i sistemi hanno difficoltà a farlo
Praticare è troppo facile da fare
la piccola estremità corre intorno ed espone poco
cose e non mantenere il tuo modulo
frontiere solide d’altra parte in a
il mondo del servizio micro le tue comunicazioni
sono puramente attraverso la tua rete
interfacce e ha mantenuto lo rende
è davvero facile assicurarti di non condividere
stato mutevole che è ovviamente uno di
i modi migliori per entrare in un
confusione in un modulo monolito
architettura quindi in molti modi micro
il servizio è una specie di una disciplina che
ti costringe a mantenere la tua modularità
insieme e poi intendo l’ultimo grande
vantaggio nei micro servizi che consentono
tu per andare con più piattaforme se
alcune parti del tuo stack di applicazioni
meglio con un tradizionale sai
Java qualsiasi lingua che si possono usare
in alcuni punti e poi usi sort o
un esperimento pari con dire una chiusura
altre aree hai la flessibilità
ora ovviamente non lo vuoi necessariamente
andare così arrabbiato che hai 20 servizi
scritto in 30 linguaggi di programmazione ma
d’altra parte quella flessibilità può
essere molto prezioso proprio come non lo sai
usare JavaScript è l’unica cosa che io
davvero non voglio che nessuno lo faccia
devi combattere contro questo
mostro in qualche modo quindi questo è il compromesso
i microservizi non sono semplici
percorso per andare in molti modi direi se
non sei sicuro di avere un
sistema relativamente piccolo non ti preoccupare
su di esso, ma d’altra parte possono
essere appropriato appropriato
architettura in molti posti e
stiamo ancora cercando di capire cosa
i confini sono tra loro è
ancora abbastanza presto e poi l’ultimo
punto che voglio dire è se stai andando
per andare giù il punto di micro-servizio lì
sono alcune cose che devi fare
sicuro di essere risolto diversamente
si sta andando ad entrare in un sacco di
guai devi assicurarti che tu
può fornire rapidamente nuove macchine se
sei in una situazione in cui ti porta
un mese per ottenere un nuovo server configurato e
pronto e pronto per l’uso
avranno molti problemi nel
questo è il mondo del micro-servizio
perché i micro servizi vanno molto bene con
cloud se è possibile eseguire il provisioning di una nuova macchina
nel cloud molto rapidamente a cui serve
istanza su cosa fa Netflix
ti permette molta flessibilità lì
assicurati di avere almeno le basi
di monitoraggio vuoi sapere quando
dei tuoi servizi scendi vuoi
sapere se qualcosa non risponde
o se interazioni importanti o
le transazioni vengono lasciate cadere sul
piano devi avere almeno un
livello base di monitoraggio in atto
e anche tu devi assicurartelo
i tuoi servizi possono essere automaticamente e
rapidamente dispiegato e tu non vuoi essere
passare due giorni a distribuire il servizio
deve essere lì in poche ore al
molto meno e preferibilmente minuti e così
dovrebbe essere il più possibile automatico
processo che è solo le basi che è
solo per correre con solo un paio di
certa quantità di servizi e da fare
più devi aggiungere altro c’è a
un sacco di altre cose che hai
devo entrare in gioco e quindi farlo
certo che hai almeno le basi
quello che ho perso
DevOps cultura che devi fare
abbattere le barriere tra il
gruppo operativo nelle applicazioni
gruppo in modo che lavorino insieme
se hai una comunicazione difficile
tra i due ancora non stai andando
essere in grado di gestire la quantità di
servizi che devi gestire così
come ho detto quelli che penso siano il minimo
cose da avere quando vai per la prima volta
cinque che non devi necessariamente avere
loro quando inizi a costruire ma tu
sicuramente li devo avere quando vai
vivi con questa cosa
quindi questo è un microservizio molto breve
introduzione Ho scritto varie cose
su di esso ci sono tonnellate di roba là fuori
il web puoi andare e scoprire di più e
questa è la fine del mio primo discorso
tu
molto nell’ultimo anno o giù di lì vedo un
enorme quantità di cose su Twitter e il
come parlare di questo argomento è
qualcosa di cui ho sentito parlare per a
buona parte per un po ‘più a lungo
due o tre anni diversi dal mio
colleghi e amici hanno parlato
su micro servizi e per me il
la lotta era cercare di capire bene
cosa sono esattamente cosa cosa fanno
le persone intendono davvero quando parlano
microservizi e anche tu sai quando
dovremmo considerare l’utilizzo di questa tecnica
è nuovo o non lo usiamo noi no?
usalo e che ne è il nerf nel primo
intendo dire che l’idea di base è equa
semplice contrasto con
quello che è considerato un tradizionale
applicazione monolitica a monolitica a
un’applicazione monolitica significa che hai
varie capacità varie cose che
tu vuoi fornire e tu li metti tutti
nella stessa applicazione tipicamente
in esecuzione in un unico processo e tu
pensalo come una cosa, il micro
approccio di servizio e il suo equipaggio
le discipline sta provando a prendere ciascuno di
queste capacità e inserirle
processi separati e invece di avere
un processo ha questa rete di
comunicare i processi a molte persone
piace usare l’ esempio di UNIX
riga di comando dove se vuoi ottenere un
elenco di tutti i file nella tua directory
ordinati potresti usarne due o tre
diversi programmi messi insieme in a
pipeline per farlo ha anche un
conseguenza per la distribuzione, se lo hai
ottenuto un modello se si scala in modo efficace
taglierina del biscotto nel monolite e
mettendolo su più macchine mentre
siamo microservizi ne hai di più di a
approccio flessibile perché puoi mettere
servizi diversi su diverse macchine
in modo che se alcuni servizi ottengono più carico
di altri possono avere più copie di
loro hanno reso questo tipo di molto crudo
panoramica ma questa è ancora una lunga strada
lontano da ciò che chiamerei veramente il
definizione di ciò intendo
come varia da tutto ciò che ho
state ascoltando la gente su Yammer
architettura orientata ai servizi per il
ultimi 10 anni ma il problema è con
qualcosa come un argomento come micro
servizi è molto difficile a venire con
qualsiasi tipo di definizione aziendale si intendo
Ho riempito la stessa cosa con no
sequel right Voglio dire nessun database sequel
Voglio dire qual è la definizione e no
sequel e ancora più indietro intendo te
sapere qual è la definizione che arriviamo
con una definizione veramente solida per
programmazione funzionale bene lo sai
ce ne sono molte là fuori che puoi
scegli da una vasta gamma ciò che io
pensare è meglio pensare è
invece di pensare a una definizione
parlare di caratteristiche comuni e
quello che intendo per caratteristiche comuni è
per dire se hai bruciato la conversazione con AB intero
gruppo di persone che fanno micro servizi e
cerchi le cose comuni che più
di loro stanno facendo il tuo test è quello più
persone che dicono che stanno facendo
i micro-servizi dovrebbero fare la maggior parte di
queste cose e mi sono riunito con uno
dei miei colleghi che è uno di questi ragazzi
ha fatto un sacco di lavoro con micro
servizi e siamo arrivati con un articolo
che abbiamo pubblicato all’inizio di quest’anno
quelli di voi alle spalle stanno per
lottare con tutto ciò che è sul
diapositive che sono in fondo a causa di
il modo in cui le cose sono disposte, ma è fuori
lì e sto solo andando a riassumere
alcuni di questi erano i nove comuni
caratteristiche che ci siamo inventati in
scrivendo quell’articolo e non sto andando
per parlare attraverso tutti loro perché non lo faccio
ho abbastanza tempo ma metterò in evidenza
alcuni che penso siano particolarmente
interessante quindi la prima cosa è questa
nozione di componentizzazione tramite servizi
ora il software idea dovrebbe essere rotto
fino a componenti è stato di nuovo in giro
per sempre abbiamo sempre un sacco di gente
parlato di software basato su componenti
e come sarebbe bello avere
componenti con cui puoi lavorare ma
spesso il termine componente ha ovviamente
ha avuto molti problemi in termini di
definizione pure me ne ricordo uno
oggetto punto che viene sostituito
i componenti e quindi i componenti tornano indietro
di nuovo agli oggetti e tutto è diventato molto
confondere ciò su cui mi concentro per a
la definizione del componente viene davvero
da Ralph Johnson ha detto che cosa
stiamo cercando di fare è che stiamo cercando di
costruire software come farebbero le persone
assemblare stereo
componenti sai che hai un
amplificatore hai altoparlanti hai a
La riproduzione di CD ha un lettore di nastri che puoi
sostituire uno di questi elementi in modo indipendente
questa è una cosa cruciale e in effetti tu
può aggiornare uno di questi elementi
indipendentemente quindi se voglio ottenere un
amplificatore migliorato non devo
cambia tutto il resto che è un obiettivo
quello a cui miriamo è un componente
qualcosa che è indipendente
sostituibile indipendentemente aggiornabile così
in termini di software e vediamo
componenti per diventare due forme noi
ottenere le librerie che usiamo da terzi
feste e li rendiamo parte del nostro
processo e in una certa misura abbiamo quindi
la scelta di quando vogliamo aggiornare
che vogliamo ottenere una nuova versione di
la nostra libreria di elaborazione XML o noi
attenersi a quello che abbiamo attualmente
ottenuto e si spera che l’aggiornamento non lo è
andando a influenzare il resto del nostro
applicazione troppo a seconda di come
le dipendenze sono tutte disposte a
il servizio è un diverso tipo di componente
dove è in esecuzione nel proprio processo
e mentre con una biblioteca parliamo usando
le strutture di comunicazione linguistica
che abbiamo costruito in qualsiasi cosa
lingua che stiamo utilizzando con un servizio
in genere utilizziamo inter processi
strutture di comunicazione come il web
chiamate di servizio o messaggi o qualcosa del genere
di quel tipo e i servizi ci danno
alcuni vantaggi utili anche quando
tende a sostituire capacità e aggiornamento
abilità se ho un monolite con
componenti che sono librerie e ho
sai che qualcuno tira fuori un nuovo
versione di un componente che sarebbe
davvero bello ma funziona solo su Java 8
e ho un altro componente nel mio
monolite che non funziona con Java 8
e posso lavorare solo con Java 7 cosa faccio
sono bloccato ma d’altra parte con
se fossero servizi separati loro
sarebbe in esecuzione in completamente diverso
runtimes e loro potrebbero farli funzionare
potrebbe essere aggiornato in modo più indipendente ora
c’è un costo ovviamente con quello ma
questo fa parte della nozione di come si lega
nella capacità di aggiornamento indipendente così
per il prossimo
organizzazione in giro per affari
le capacità è un altro tema importante
nella visione dei servizi micro del mondo
quindi un sacco di sviluppo anche molto
le organizzazioni si organizzano in giro
la tecnologia voglio dire vedrai questo in a
molte grandi aziende avrò il loro D
bas e il loro gruppo di database che potrebbe
avere un gruppo completamente diverso di
le persone sull’interfaccia utente sono concentrate
la tecnologia la cosa fondamentale con il micro
la visione dei servizi del mondo è quella di noi
dovrebbe invece organizzarsi intorno al business
capacità e che ogni squadra dovrebbe
avere alcuni elementi fino in fondo
e idealmente concentrandosi direttamente sulla fine
gli utenti stessi sono interessanti
esempio di questo da Amazon che è un
comune sicuramente ispirazione per il
comunità di servizi micro dove quando loro
divisi tutti sanno che Amazon è diviso
se stessi in due squadre di pizza e
si è parlato molto ma quello che è
parlato molto meno spesso è il
fatto che ogni squadra era responsabile per
la comunicazione fino a
l’ esperienza dell’utente finale e l’idea
quello che dovrebbe connettersi giusto la strada
attraverso alla gente alla fine e
dovrebbero essere giudicati su come fa questo
influenzare i risultati aziendali nel modo giusto
attraverso è una parte molto importante di questo
pensando così abbiamo questa nozione di
dividere te stesso intorno una sorta di
organizzazione aziendale e farlo come
stack completo possibile, magari quando
viene a confronto a ciò che un sacco di
le persone si sono imbattute in termini di
servizi uno dei più grandi turni è
questo cambiamento su facciamo intelligente
endpoint e tubi stupidi quando un sacco di
le persone parlano di servizi orientati
architettura parlano dell’idea di
prendiamo qualche pezzo potente di
middleware che farà automaticamente
tutti i tipi di roba che instraderà i messaggi
applicherà le regole di business che fa tutto
tipo di cose questo naturalmente è il
l’ ESB è il bus del servizio Enterprise o lo è
ha più correttamente conosciuto l’egregio
scatola di spaghetti
la comunità micro-service molto
rammarico respingere questa nozione e dice il
le intelligenze invece dovrebbero passare a
endpoint stessi ciò che vogliamo è
tutto per connettersi insieme e per essere
in grado di instradare facilmente messaggi o
comunicazioni tra loro ma esso
dovrebbe essere fino agli endpoint dove tutti
che l’intelligenza è una logica aziendale
qualsiasi materiale di routing tutto questo dovrebbe essere
basandoci sugli endpoint, dacci solo un
buon meccanismo di tubazioni efficiente e
l’ispirazione in molti modi è, naturalmente
la stessa Internet che funziona molto
bene a causa del fatto che ha bisogno di a
set relativamente muto di tubi e put
tutta l’intelligenza sugli endpoint
un’altra cosa che fa emergere anche questo
la variazione di un sacco di cose di servizio è
la nozione di decentramento
decentramento in termini generali
modo in cui un paesaggio servizio è
governato e in particolare
decentramento in termini di dati
gestione così ancora una volta se pensiamo al
il mondo monolitico pensiamo al
fatto che generalmente tutti i dati sono
seduto in uno che onora grandi relazionali
database va bene e spesso può essere
scrivere in una società che conosci la nostra
lo standard dell’azienda è Oracle o il nostro
lo standard dell’azienda è db2 tutto
va nello stesso posto e anche molto
architetture orientate ai servizi è
davvero molto su più servizi o
tirando i dati dentro e fuori di uno logicamente
grande database che il servizio micro nomina
punto di vista è quello di dire ora ogni
il servizio dovrebbe essere responsabile per il suo
i propri dati e la propria persistenza di nuovo
questa è un’altra cosa che è ispirata
dall’esperienza amazzonica di Amazon
quella delle loro regole quando loro
spostato su un approccio orientato al servizio
e ha detto che potresti non parlare mai con un altro
negozio di dati di servizi con cui puoi parlare solo
un altro servizio attraverso la sua API e
questa è la regola del micro servizio
la gente spinge pure ora questa è una coppia
vantaggi in primo luogo rimuove questo
pasticcio orribile di integrazione attraverso a
database che non causa la fine dei problemi
nelle imprese dappertutto il
seconda cosa lo fa libera
servizi individuali per utilizzare un archivio dati
che compongono
Sente a loro alcuni servizi un rapporto
database ha senso
altri vorrebbero usare uno di questi
hot new no sequel cose fantasiose e in
in quale caso lo usano per quello ma il
l’idea è la tua scelta di persistenza dei dati
dovrebbe essere interamente all’altezza dell’individuo
servizio se stessi e fa parte di
questa nozione generale come ho detto
decentramento va anche al
punto di cose come lingue e strumenti
dovrebbe di nuovo essere scelto individualmente da
diversi gruppi di servizi per fare tutto
questo lavoro è davvero importante avere
automazione dell’infrastruttura così tanto
cose come la consegna continua
tecniche come la distribuzione di Bluegreen
che ti permettono di mettere cose con cui vivere
zero tempi morti di questo genere di cose
obbligatorio anche al fine di ottenere questo
tipo di cose da lavorare perché tu sei
parlando di costruire quello che sarebbe uno
applicazione come una dozzina o due dozzine
servizi quindi è molto importante che tu abbia
un modo molto automatico per ottenere questi
le cose che vuoi anche tu essere in grado di farlo
prendi nuove scatole e girali rapidamente
mette anche molta enfasi su
monitoraggio anche tu devi avere
buon monitoraggio in modo che quando le cose vanno
sbagliato si può facilmente notare il fatto che
qualcosa è andato storto e puoi usarlo
gli strumenti di monitoraggio per aiutarti a eseguire il debug
e naturalmente questo porta a
la nozione che tu abbia questo esplicito
progettazione per fallimento se hai intenzione di
hanno servizi remoti che stanno per
fallire particolarmente quando li distribuisci
attraverso più nodi quindi questo è un altro
parte del motivo per cui il monitoraggio è così
importante e ovviamente è più
livello famoso hai cose come la
scimmia del caos Netflix è uno dei più
ben noto MA servizio micro
architetture e hanno costruito uno strumento che
va in giro distruggendo a caso i nodi
e usano che, al fine di rilevare come
resiliente la loro rete globale è I
significa che non lo faccio tutto il tempo loro
eseguilo durante l’ orario d’ufficio quando c’è
qualcuno lì per sistemare le cose ma il
fatto che hai uno strumento che
causa deliberatamente fallimento per
contribuire a rendere sicuro che siete resiliente penso
incapsula l’atteggiamento di svelt
le persone del servizio micro hanno
e naturalmente questo è essenziale in qualsiasi
tipo di sistema distribuito devi
supponiamo che le cose si spezzino in questo modo
era il nostro insieme di caratteristiche comuni
e spero ti dia un po ‘di sapore
per il tipo di cose che parlano le persone
circa ma solleva ancora un certo numero di
domande di cui una delle più grandi
le cose sono davvero così
l’ architettura orientata ai servizi è questa
solo lo stesso tipo di cose che abbiamo
ho sentito parlare a lungo in
il contesto di SOA ma al fine di
rispondi a questa domanda che devi dire
te stesso bene ciò che è SLA nel primo
posto e questo è davvero penso al
cuore del problema perché ho sentito
SLA definito in molti modi diversi in
molti modi diversi incompatibili di
persone diverse per alcune persone SLA è
esattamente quello che abbiamo parlato in
il mondo dei microservizi e per questo motivo
incontrato un numero di persone nella SOA
una comunità davvero segnata al
le persone di servizio micro perché loro
l’atteggiamento è buono, lo stiamo facendo tutti
questo e chiamandolo SOA per anni perché farlo
tu inventi questo nuovo termine e portalo
lungo ciò che stai chiamando
parole perché tutti lo sanno, naturalmente
diventiamo incredibilmente ricchi coniando
terminologia che vorrei ma ovviamente SOA
significa cose diverse per differenti
persone a molte persone nel micro
comunità di servizi in cui sono stati in giro
grandi imprese e a loro significa SOA
il bus di servizio aziendale
significa Comitati di persone che sono
lì per stabilire standard per la salute
i servizi dovrebbero connettersi a ciascuno
altro è davvero un mondo molto diverso
quindi il modo in cui tendo a pensarlo lo è
dicendo bene SOA è questo termine molto ampio
e microservices è un sottoinsieme del suo
utilizzo e il valore del termine micro
i servizi è che permette di mettere un’etichetta su
un sottoinsieme utile della terminologia SOA
a mio avviso, il termine SOA è troppo ampia I
significa che significa così tante cose diverse
è praticamente privo di significato ma il
valore dei micro servizi è che si ritaglia
uno spazio tagliato e coerente all’interno di quello
ma è perfettamente giusto dire che il
l’ approccio al micro servizio è stato fatto da
persone sotto il nome di SOA per a
almeno un decennio
se non di più
quindi non è affatto una nuova tecnica e
è perfettamente ragionevole che le persone
ne sono infastidito quando dicono Oh
i micro servizi non sono nulla di nuovo che è un
risposta perfettamente ragionevole ora uno dei
i problemi con i micro-servizi come
termine e mi piace sottolineare che non sono venuto
con questo termine mi piacerebbe
trovare un termine migliore ma uno di
le cose sui micro-servizi come a
termine è che ha questa implicazione di
dimensione e, naturalmente, non appena dici
micro è così bene quanto è grande un micro
servizio e in realtà parli con qualcuno di
queste persone nel mondo dei micro-servizi
e sono sempre molto riluttanti a
rispondi a questa domanda che dicono sempre
bene sai che dovrebbe essere uno
responsabilità che è una specie di falso
cosa dire giusto posso immaginare il libro paga
essendo una responsabilità e lo so
questo è un sistema piuttosto grande, intendo
è di tutte le dimensioni, voglio dire , è molto
le responsabilità sono di destra molto flessibili
james lewis ha questa affermazione che dice
i servizi mirco devono essere piccoli
abbastanza da stare nella mia testa ora James ha
affare di config in testa mentre gira
fuori ma il suo punto è ovviamente il
sondaggio che se hai un servizio esso
dovrebbe essere comprensibile per un singolo
persona che è la sua prova per questo, ma questo è
ancora un po ‘vago ho iniziato a chiedere
intorno alle persone che cercano di avere un senso
le persone di taglia erano estremamente riluttanti
molti modi, ma il modo in cui sono stato in grado di ottenere
qualche figura dicendo bene quanti
persone per servizio nella tua applicazione
e ho ricevuto molte risposte diverse e
come puoi vedere c’è abbastanza diffusione
qui ora 15 persone 10 servizi per
persone 200 servizi c’è abbastanza a
gamma di diverse dimensioni è certamente
vero che carino dove vengo ovunque
attraverso la nozione della squadra di pizza
da Amazon è abbastanza ben considerato il
senso che non si dovrebbe mai avere una squadra
è più grande di quanto potresti nutrire con
due pizze dovrei dire questo naturalmente
sono due pizze americane e puoi dare da mangiare
un sacco di gente con due
Pizze americane ma penso che la nozione
è ancora lì ma dentro
c’è ancora molta variabilità così
questo è il meglio che posso fare quando si tratta
per definire microservizi per te è
ancora ho paura piuttosto sfocato ma tu
so che è così che vanno le cose, penso
tuttavia è ritagliarsi a
classe ragionevole di sistemi il prossimo
la domanda ovviamente è quando dovresti
usalo quali sono i vantaggi di
micro-servizi rispetto ai monoliti ora
un grande vantaggio di un monolite è a
approccio relativamente semplice e familiare
da usare e questo non deve essere
sottovalutato intendo che ho già
ha iniziato a sentire e a gocciolare nelle storie
di progetti che sai deciderti
sappiamo che vogliamo usare questo micro-servizio
roba perché è così bello che vogliamo fare
e hanno finito per farsi da soli
nei guai dove dovrebbero davvero
ho costruito un modello semplice se invece ora
se guardi un’applicazione e tu
dì sì , funzionerebbe davvero bene
come semplice app per rails che non vuoi
costruire inizia a costruirlo come un micro
servizio perché i micro servizi
introdotto il calcolo distribuito loro
spesso introdotto asincrono
comunicazione e quelli sono significativi
la complessità aumenta così il monolite
ha ancora il vantaggio di un massimo di a
certa dimensione almeno la semplicità di uno
i grandi vantaggi dei micro servizi
è la capacità di distribuire i vari
pezzi in modo indipendente se lo si desidera
aggiorna un monolite che devi aggiornare
il tutto ho sentito la storia di un
compagnia assicurativa dove ne hanno uno
monolite che gestiva tutto il loro
diverse linee di assicurazione se loro
voluto per aggiornare la loro auto
assicurazione hanno dovuto aggiornare la casa
assicurazione, nonché non avrebbero potuto fare di loro
indipendentemente e questo è uno svantaggio
di un monolite che sei costretto ad aggiornare
tutto in una volta ora, se sei veramente bravo
le vostre condotte di consegna continua I
pensa di poter fare quel lavoro ma tu ma
è molto più difficile che provare ad aggiornare
e i pezzi separati e quello era dentro
Infatti uno dei motivi cruciali Perché
Netflix è andato giù per questa strada che avevano
difficoltà a ottenere i loro sistemi
in grado di dispiegare il più rapidamente possibile
per farlo hanno trovato che il passaggio a un
l’approccio di micro-servizio ha dato loro di più
flessibilità e questo è ovviamente molto
importante in
in un’epoca in cui dobbiamo essere in grado di
distribuire nuove applicazioni non una volta ogni
pochi mesi ma ogni settimana ogni giorno e
spesso molte volte al giorno e poi siamo
concesso i tuoi micro servizi che possono
darti un maggior grado di
disponibilità se la tua raccomandazione
il servizio scende per qualche motivo
può ancora eseguire il tuo carrello della spesa e
questo è importante perché qual è il
la cosa più importante per gli americani
shopping giusto, quindi niente deve fermare il
shopping ora che disponibilità ovviamente
viene da essere gestito in grado di
gestire il fallimento in modo efficace ma se lo hai
ho la disponibilità di cosa significa questo
perdere la coerenza è molto più difficile
mantenere la coerenza con il micro servizio
applicazioni in modo da abbracciare l’eventuale
coerenza che può o non può essere a
cosa buona a seconda di dove ti trovi
sono ed è particolarmente difficile
corso per ottenere il giusto tipo di
comportamento coerente in modo che io possa
pubblicare effettivamente un aggiornamento durante l’interazione
con un’app Web e in realtà assicurati
che lo vedo e non andare dove è successo
vai a perderti che è il tipo di
cosa che va storta quando non lo fai
coerenza bene un altro grande problema che abbiamo
modellato con il monolite è così
lo rende relativamente facile da refactoring
in particolare tra i moduli ora con
qualsiasi tipo di progettazione software desiderata
buona modularità che vuoi dividere
software in pezzi in modo che in ordine
per fare un cambiamento non devo
capisco l’intero sistema posso solo
capire uno o due moduli, ma quello
significa che hai avuto modo di ottenere il modulo
confini e se non si ottiene
i limiti del tuo modulo che hai
essere in grado di cambiarli ora se lo hai
ha un modello se quel genere di cose non lo è
peccato che tu possa dire oh ho bisogno di muovermi
questo oggetto da qui in quello
modulo laggiù non è un duro
refactoring da fare in un microservizio
mondo che diventa un inferno di una partita
più difficile perché ora stai parlando
queste chiamate remote, così anch’io sono io
pensa a uno dei problemi con la corsa
monitorare troppo rapidamente i micro servizi se
non capisci il modulo
i confini bene è molto facile da ottenere
un blocco te stesso in un design puro e
anumana lift può essere un buon modo di
capire
i confini del modulo sono prima di te
in realtà facciamo la spaccatura e l’ abbiamo detta
una delle cose interessanti su
microservizi è che in realtà aiutano
preservi la modularità un sacco di gente
sai come me waffle all’infinito
su quanto sia importante avere un buon risultato
i moduli ora seguono le regole del bob Martin
sulle dipendenze pulite e tutto il
resto , ma la realtà è di più
i sistemi hanno difficoltà a farlo
Praticare è troppo facile da fare
la piccola estremità corre intorno ed espone poco
cose e non mantenere il tuo modulo
frontiere solide d’altra parte in a
il mondo del servizio micro le tue comunicazioni
sono puramente attraverso la tua rete
interfacce e ha mantenuto lo rende
è davvero facile assicurarti di non condividere
stato mutevole che è ovviamente uno di
i modi migliori per entrare in un
confusione in un modulo monolito
architettura quindi in molti modi micro
il servizio è una specie di una disciplina che
ti costringe a mantenere la tua modularità
insieme e poi intendo l’ultimo grande
vantaggio nei micro servizi che consentono
tu per andare con più piattaforme se
alcune parti del tuo stack di applicazioni
meglio con un tradizionale sai
Java qualsiasi lingua che si possono usare
in alcuni punti e poi usi sort o
un esperimento pari con dire una chiusura
altre aree hai la flessibilità
ora ovviamente non lo vuoi necessariamente
andare così arrabbiato che hai 20 servizi
scritto in 30 linguaggi di programmazione ma
d’altra parte quella flessibilità può
essere molto prezioso proprio come non lo sai
usare JavaScript è l’unica cosa che io
davvero non voglio che nessuno lo faccia
devi combattere contro questo
mostro in qualche modo quindi questo è il compromesso
i microservizi non sono semplici
percorso per andare in molti modi direi se
non sei sicuro di avere un
sistema relativamente piccolo non ti preoccupare
su di esso, ma d’altra parte possono
essere appropriato appropriato
architettura in molti posti e
stiamo ancora cercando di capire cosa
i confini sono tra loro è
ancora abbastanza presto e poi l’ultimo
punto che voglio dire è se stai andando
per andare giù il punto di micro-servizio lì
sono alcune cose che devi fare
sicuro di essere risolto diversamente
si sta andando ad entrare in un sacco di
guai devi assicurarti che tu
può fornire rapidamente nuove macchine se
sei in una situazione in cui ti porta
un mese per ottenere un nuovo server configurato e
pronto e pronto per l’uso
avranno molti problemi nel
questo è il mondo del micro-servizio
perché i micro servizi vanno molto bene con
cloud se è possibile eseguire il provisioning di una nuova macchina
nel cloud molto rapidamente a cui serve
istanza su cosa fa Netflix
ti permette molta flessibilità lì
assicurati di avere almeno le basi
di monitoraggio vuoi sapere quando
dei tuoi servizi scendi vuoi
sapere se qualcosa non risponde
o se interazioni importanti o
le transazioni vengono lasciate cadere sul
piano devi avere almeno un
livello base di monitoraggio in atto
e anche tu devi assicurartelo
i tuoi servizi possono essere automaticamente e
rapidamente dispiegato e tu non vuoi essere
passare due giorni a distribuire il servizio
deve essere lì in poche ore al
molto meno e preferibilmente minuti e così
dovrebbe essere il più possibile automatico
processo che è solo le basi che è
solo per correre con solo un paio di
certa quantità di servizi e da fare
più devi aggiungere altro c’è a
un sacco di altre cose che hai
devo entrare in gioco e quindi farlo
certo che hai almeno le basi
quello che ho perso
DevOps cultura che devi fare
abbattere le barriere tra il
gruppo operativo nelle applicazioni
gruppo in modo che lavorino insieme
se hai una comunicazione difficile
tra i due ancora non stai andando
essere in grado di gestire la quantità di
servizi che devi gestire così
come ho detto quelli che penso siano il minimo
cose da avere quando vai per la prima volta
cinque che non devi necessariamente avere
loro quando inizi a costruire ma tu
sicuramente li devo avere quando vai
vivi con questa cosa
quindi questo è un microservizio molto breve
introduzione Ho scritto varie cose
su di esso ci sono tonnellate di roba là fuori
il web puoi andare e scoprire di più e
questa è la fine del mio primo discorso
tu
Please follow and like us: