
quindi questo è sorprendentemente per me il mio primo
il tempo è Chicago, chiunque metta il mio nome
sul tendone al ringraziamento Chicago Theatre
tu che è stato davvero fantastico, il mio nome è
Casey Sono un manager di ingegneria per il
squadra del caos e squadra del traffico a
Netflix e quindi te lo dirò a
po ‘di quello quelle squadre fanno un
un po ‘sull’ingegneria di Cass e
ingegneria dell’intuizione e come aiutano
mantenere il servizio su Netflix sempre attivo
quelli di voi che non hanno familiarità con Netflix
è un po ‘come il blockbuster ma online
un’altra un altro modo di pensare a questo proposito
va bene, mi limiterò a colpire
chiavi sì un’altra cosa sì come Westar
chi un altro modo di pensarci è che lo è
un po ‘come Facebook ma invece di
persone per amici sono i tuoi amici
film e spettacoli che hai guardato
con il vantaggio che su Netflix sono
non andando in disaccordo con il tuo
opinioni politiche e come Facebook
Netflix è piuttosto popolare in tutto il mondo
ora tranne che in Cina e per fortuna
per noi persone come noi così quando il nostro
il servizio è giù, una grande tristezza cade su
Internet e non voglio soffermarmi
su di nuovo ancora troppo sai
questo è il sempre in pista, così siamo
parlerò di come manteniamo il sistema
sempre così a Netflix siamo di nuovo
grande sai come Facebook dove tu
sappiamo che molte persone ci usano per molto
grandi noi scorriamo da qualche parte intorno
l’ordine di quattro miliardi di ore di
video al mese che sono molti dati
risulta che è circa il 40% del
Internet al massimo è il traffico di Netflix e
Naturalmente la maggior parte di ciò che è servito fuori
un CDN ora di cache distribuita scadenza
cache che è un problema risolto in
l’informatica giusta, quindi è noioso
quindi ignoreremo completamente il CDN
Sono sicuro che non hai nessuna domanda
a tale proposito e invece concentrarsi sul
altro componente al servizio
piano di controllo in modo che il piano di controllo tu
sapere quando sei quando stai usando
Netflix tutto dall’iscrizione a
accesso per scegliere un film
negoziando DRM fino al
il film inizia effettivamente a trasmettere in streaming sul tuo
il dispositivo è gestito dal controllo
l’aereo risulta essere abbastanza grande come
bene e lo abbiamo schierato interamente dentro
il cloud in Amazon specificamente AWS così
il piano di controllo è schierato in tre
regioni in AWS se non ti è familiare
con la terminologia AWS puoi farlo
pensa a una regione come a un data center
anche se non è in realtà quello
sotto il cofano e ed è questo è il
mondo che la mia squadra vive nel codice
lavorando con il piano di controllo ora quando
Guardo un’architettura o quando guardo
a un team di ingegneri uno dei modi
che misuro l’architettura o il
la raffinatezza della squadra è quanto bene
ottimizzare per queste tre cose così nel mio
sperimentare un’azienda giovane o una nuova
il prodotto cercherà spesso di ottimizzare per
una di queste cose a spese di
gli altri due quindi abbiamo prestazioni
tolleranza agli errori e disponibilità e a
squadra con più esperienza di nuovo nel mio
l’esperienza tende ad essere in grado di bilanciare
queste tre cose meglio di un Netflix aggiunge
una quarta cosa a questo triangolo che
è la funzione di velocità così a Netflix che abbiamo inserito
un’alta priorità su feature velocity noi
credo che uno dei nostri critici
vantaggi competitivi è il tasso a
che introduciamo nuove funzionalità e noi
fare un test molto sofisticato
sistema che ci fornisce dati per sostenere questo
su così per ottenere la velocità della funzione uno dei
scelte architettoniche che abbiamo fatto a
mentre è tornato per passare a un micro servizio
architettura ora molti di voi probabilmente
avere esperienza con il micro servizio
trame e il tuo micro-servizio
le architetture ci sono molte differenze
varietà così sto andando descrivere quello che ho
significa che l’architettura di Microsoft è quella
sappiamo dove, in modo da sapere dove sono
proveniente da
quindi ecco un esempio molto semplificato con
solo sette servizi rappresentati e a
il servizio potrebbe essere semplice come la gestione
basta accedere a un altro servizio potrebbe gestire
solo i dati dell’abbonato un altro servizio
potrebbe gestire i dati del film in quel modo
cosa
e il modo in cui sono strutturati Netflix
avere molti piccoli team di ingegneri
sono responsabili di uno o più micro
servizi in modo che l’abbonato diventi il
abbonato di micro servizio è abbastanza
grande che è una componente fondamentale della
servizio che offriamo così abbiamo solo a
piccolo gruppo di quattro o cinque ingegneri che
basta supportare quel micro servizio così quando
qualcuno usa Netflix o lo sai
da uno smart smartphone sito Web Xbox TV
che cosa è una richiesta arriva e
daremo un esempio ipotetico
qui la ricerca entra in servizio Steve noi
può immaginare di servizio D come un proxy o un
PLA o qualcosa del genere e qualunque cosa
quella richiesta è che il servizio non sta andando
avere tutte le informazioni che
ha bisogno di restituire la risposta così servizio
D sta per raggiungere il servizio C e
serve che F possa servire C potrebbe essere il
servizio dati sottoscrittore che potrebbe essere
i dati del film e quelli gireranno a turno
raggiungiamo un e F raggiungiamo
per BMG e saranno raggiungere B e
G cercherà di essere come bene e anche
a E e puoi vederlo velocemente
diventa piuttosto complicato se qualcuno di voi
ha visto la presentazione di ieri a Katie
i sistemi distribuiti tracciano lei ha messo su
la visione della stella della morte dei servizi e it
diventa abbastanza complicato Netflix ha
da qualche parte circa quattrocento servizi
servizi di micro nel nostro sistema non tutti
loro sono nel percorso critico non tutti
loro sono nel percorso di streaming
ma ancora questo questo esempio di giusto
sette illustra il punto che il
comunicazione tra quelli
i microservizi possono diventare piuttosto complicati
abbastanza rapidamente e poi una volta che hanno
per le informazioni di cui hanno bisogno
dai servizi a valle lo impacchettano
loro avvolgono la loro richiesta e mandano
a monte ed eventualmente quella risposta
viene restituito al dispositivo a cui è stato effettuato l’ accesso
il servizio quindi voglio parlare di a
proprietà specifica dei sistemi distribuiti
come come questo simili micro
sistema di servizio e per farlo sto andando
per aver bisogno di birra, te lo dico io
la storia prende un piccolo diversivo con me
nei sistemi pensando ora se lo sei
insegnato se si prende un sistema di pensiero
classe in università o un programma MBA
probabilmente a un certo punto suonerai il
il gioco della birra e il gioco della birra sono diversi
qualsiasi gioco di birra che ho giocato al college
quindi portami con me, descriverò il
regole per una versione semplificata del
gioco della birra e poi me ne vado
andando a portarci attraverso un esempio
giro del gioco della birra così nella birra
gioco ci sono tre giocatori o nel
versione semplificata di questi tre
giocatori sono clienti a cui piace
bevi i rivenditori di birra che vendono birra e
produttori che fanno la birra e se
stavamo davvero suonando questo come noi
farebbe sarebbe separare la classe
la stanza in tre gruppi ogni gruppo è
rappresenta uno di questi team uno di
questi giocatori e loro non sono autorizzati a
comunicare tra loro tranne da
passaggio passando scivoloni di carta indietro e
avanti i messaggi con l’intento di acquisire o
scambio di birra o contanti così sono
davvero non è permesso comunicare con
l’un l’ altro e ne getterò alcuni
i numeri sullo schermo ora non
devono seguire i numeri lungo solo
segui la mia narrazione di ciò che accade
nella prima settimana parleremo di tutto questo
settimana zero del gioco della birra
richiesta ma siamo ingegneri quindi lo faremo
chiama questa birra e io mi giro
Wi-Fi spento in modo che non accada di nuovo
così noi chiamiamo una birra foo lo richiedano
alla settimana zero è per un caso di birra foo
e così il cliente va a comprare uno
rivenditore ha due in azione in modo che, dopo
acquisto ne hanno uno rimanendo
ordinarne uno dai produttori otto
in magazzino e l’imbottigliamento dei produttori
un caso di birra alimentare, quindi ne abbiamo uno
alle due estremità di questo sistema, quindi siamo dentro
equilibrio e poi come il gioco davvero
inizia nella prima settimana l’antagonista
nella nostra storia lo chiameremo Nathan Nathan
vuole ubriacarsi così va a questo
negozio e lui è un desiderio per un
altri tre casi di birra alimentare ma
può solo comprare 2 perché il rivenditore
ne ha solo due quindi indico che con a
negativo 2 nell’editorialista rimanente
come un backorder insoddisfatto e il
rivenditore vuole sapere di andare avanti
questo quindi ordinano 4 dal
produttore e produttore vedono
questo aumento e iniziano a produrre
imbottigliamento di cinque casi e Nathan ottiene
davvero ubriaco e arriva con questo
ok algoritmo geniale che sta tirando da
colocation quantistica e nanotecnologie e lui
correndo attraverso un Lorentz
trasformazione e fisica relativistica
e lui trova un modo per battere il cappello
teorema e pubblica un blog e questo
lo fa alle notizie degli hacker e perché lui
è stato ispirato dalla birra foo e l’ha chiamato il
algoritmo di birra foo FBA, naturalmente e così
c’è una corsa alla birra foo, quindi domanda
picchi i 64 casi ma le persone possono solo
acquistare a perché un rivenditore aveva solo
otto quindi c’è una perdita lì di 56
il rivenditore di vendita vede un picco e vuole
stare al passo con il suo ordine 70 dal
il produttore del produttore ha l’opzione
costruire una nuova distilleria e una bottiglia 250
casi alla volta, quindi vanno avanti e lo fanno
quello ma il protagonista della nostra storia
lo chiamerò Steve è un appassionato di birra
quindi ottiene una di queste ultime bottiglie
quello che gira intorno prende un sorso
lo sputa dice quel caso terribile
si siede e scrive un post sul blog che lo dimostra
che Nathan era pieno di birra e quello
Il teorema del cappuccio è in effetti sicuro e il
l’algoritmo è stato schifo così la prossima settimana
siamo tornati solo a Nathan che vuole
compra più casse di birra alimentare per affogare il suo
dolori a questo punto la
il produttore consegna ci sono 250
casi e finalmente torniamo a
steady-state dove Adam e si tratta di uno
caso alla settimana ma finiamo con questo
risultato davvero inquietante quindi ora il
punto del gioco per le squadre era
massimizzare il valore e il valore per il
il cliente era la soddisfazione del cliente per
il rivenditore era vendite per i produttori
anche le vendite e abbiamo giocato più a lungo
giro quando giochi questo di solito il
i turni sono di solito molto più lunghi
più passaggi nella catena di distribuzione e
di solito finisci con questo esatto
risultato che non è questo particolare
numeri ma che è davvero frustrante
in quanto il rivenditore finisce con 76
casi che non saranno in grado
per vendere ora hanno perso la vendita
58 casi che sono stati persi profitto il
il produttore ha 180 casi che non sono mai
sbarazzarsi di una distilleria extra WTF
lo faranno con quello è un it’s
generalmente un’esperienza frustrante per
persone che giocano e io non voglio
lasciati frustrato, quindi ecco un maialino
mangiare il gelato, quindi perché lo ha fatto?
insegnano questo in
classi di pensiero sistemico bene
in particolare , non penso sia perché
i professori hanno una superiorità
complesso che non succede mai penso che sia
per dimostrare uno specifico sistema
comportamento chiamato modello bullwhip
dove una piccola oscillazione e input in
il sistema produce molto più grande
oscillazione più in basso nel sistema
Penso che ci sia un punto più importante
qui che è che i clienti il
rivenditore e produttore nessuno di
hanno fatto qualcosa di sbagliato hanno fatto tutti
decisioni corrette fornite le informazioni
che avevano lo scopo di quello che loro
responsabile per e ancora sistemico
il comportamento era altamente indesiderabile e
c’è un’analogia diretta da distribuire
sistemi come architetture di micro-servizi
qui per qualsiasi dato servizio per
questi servizi che sai dire
il servizio di sottoscrizione che potrebbe essere
formalmente verificato perfettamente alle specifiche
assolutamente corretto
eppure anche se tutti questi micro
i servizi sono assolutamente corretto il
sistema nel suo complesso potrebbe ancora esibire
comportamento che è altamente indesiderabile lo farò
darti un altro esempio ipotetico così
ecco un’altra storia non che questo abbia
mi è mai capitato, ma dì di dire che lo sei
a Washington DC e tu sei sul
Amtrak torna a Philadelphia
perché vivi lì al momento e
pensi che tu sappia che sarebbe fantastico per te
so che è notte è notte
Amtrak è tardi sarebbe grande per prendere
su castello di carte
e tu sei così assorto in casa di
carte che che sbavare sulla
tastiera destra ma questo imbarazzante ma
potrebbe accadere e sai che è buio
e ardesia e così inizi a armeggiare con
un computer portatile e non ho idea di cosa tu abbia colpito
ma il tuo laptop inizia a rinfrescare
Netflix che è strano ma ok sul
Netflix lato sei su un treno così
le richieste erano che ci fosse una rete
partizione e poi sono stati bufferizzati
e poi tutti hanno colpito il server in una volta
e perché questo è molto richiesto
simile sei sempre lo stesso utente
le richieste vanno allo stesso server per il
servizio degli abbonati sta cercando di guardare
le tue informazioni più e più volte
e perché riceve tutte queste richieste
subito non ha tempo di guardare
sollevarli per cercare i dati dal disco
quindi ha un ripiego molto ragionevole
serve le risposte fuori dalla cache
non sono così aggiornati come
cosa c’è sul disco, ma è ed è
fallback ancora inaccettabile vero noi
non voglio che non vogliamo il servizio
per spegnere quando un server ottiene
sovraccarico, solo tu conosci così la strada
questo si manifesta è se se andassi al
home page Potrei vedere invece dei film
che sono stati personalizzati per me, potrei
vedere proprio come i migliori film per
tutti o qualcosa del genere così
è ragionevole così questo questo
il server nel cluster sta servendo da
cache e perché serve da
cache il suo carico della CPU scende e oggi
abbiamo un altro servizio che è
responsabile del ridimensionamento automatico perché noi
non voglio pagare per i server in esecuzione
quando non abbiamo bisogno di loro e se ne accorge
che il carico medio della CPU diminuisce
il servizio di sottoscrizione quindi dice oh okay
beh non abbiamo bisogno di tanti server lì
poi e uccide uno dei server
che ha un carico CPU più elevato che ulteriormente
riduce questo carico medio della CPU e ora
i server nel servizio di sottoscrizione
stanno gestendo più richieste con meno
macchine per fare il lavoro in modo più di loro
iniziare a lanciare nella cache e nella CPU
il carico scende ulteriormente e così il
il programma di scalabilità automatica riduce ulteriormente il cluster
e ora molti utenti più di colui che
solo la tastiera di Roland perché lui è un
iniziare a guardare Netflix e
notando hey questo non è quello che di solito
vedere e una cosa molto ragionevole da fare se
sei un essere umano e un programma no
lavorando piuttosto il modo in cui si desidera fare
stai iniziando a scollegare e ricollegare
in o facendo clic su Aggiorna molto veloce e
tutto ad un tratto abbiamo creato un essere umano
riprovare tempesta colpendo Netflix con tutti
queste richieste
nessuno dei quali non lo faremo mai
completo perché nel momento in cui anche loro
potrebbe ottenere tutto il contesto per tornare
di nuovo all’utente sono già gli utenti
ha avviato una nuova richiesta comunque è così
lavoro essenzialmente sprecato non ho
prova che quello che effettivamente solo
descritto è successo a Netflix
ma è
le cose sono successe ed è certamente
il tipo di comportamento sistemico che può
capita in un’architettura di micro-servizi
o in un sistema distribuito che vogliamo
per affrontare così tanto tempo che ci sono stato
sto affogando e sto solo descrivendo
l’acqua giusta ho appena illustrato
il problema non ti ho dato un
soluzione a tutto ancora così, lasciamo
ti racconto un’altra storia di questo
caos una storia felice e Netflix che abbiamo
due strumenti del caos primario scimmia caos e
calmo il caos e descriverò brevemente
ognuno di voi potrebbe aver sentito parlare di Cass monkey
questo è un programma che sarà per un dato
servizio scegliere casualmente un server e
spegnerlo durante l’orario lavorativo il
La ragione per cui abbiamo costruito questo è perché
eravamo stanchi di essere pagati alle 3:00
sono al mattino l’ ora delle streghe
quando i server di solito spariscono così
invece abbiamo portato avanti quel dolore
durante l’orario lavorativo in modo che quando noi
è stato impaginato, non importa quanto adesso
alla nostra scala a chiunque è ragionevole
scala è garantito che i server sono
scomparirò perché lo sai
l’hard disk va male così tanti viaggi su a
cavo alcuni sai che il potere si spegne
qualcuno spara alla fibra ottica
linee di connettività nel Midwest vero
La storia di tutti i tipi di te sa di tutto
un sacco di cose accadono così i server lo sono
sta per scomparire e abbiamo appena portato
quel dolore in avanti e il risultato
era fantastico, non avevamo detto esplicitamente al nostro
ingegneri hey devi scrivere il tuo
servizi in questo modo invece abbiamo introdotto
questa condizione che ha guidato l’alto allineamento
tra gli ingegneri per risolvere automaticamente
proprio lì servizi tali che possono
resistere a quel tipo di fallimento era
molto successo ed è stato anni
dal momento che uno dei nostri servizi per quanto riguarda noi
so che hanno avuto cattive conseguenze dovute
a
a un server che sta scomparendo nel caos
scimmia corre regolarmente oggi girerà
fuori dozzine di macchine in onore nel nostro
sistema così abbiamo pensato bene che è grande
questa è la scimmia del caos, Kass Kong, ora
ha anche la situazione in esecuzione nel
nuvola dove andrà un’intera regione
giù così abbiamo pensato bene Prendiamo che
pattern e applicarlo da invece di
solo un server all’estremità opposta del
spettro lo applichiamo a un intero
regione , disattiviamo un’intera regione
ora per qualsiasi motivo sono piccolo
non chiaro per i dettagli amazon non lo farà
permettici di disattivare un’intera regione
qualcosa sull’avere altri clienti
l’idea così la simuliamo come meglio noi
possiamo e sceglieremo una regione che è
malato e sposteremo la squadra del traffico
sposteremo quel traffico verso il
altre due regioni rallenteremo il traffico
in tutto il mondo spostalo verso l’altro
regioni
in modo che possiamo risolvere il problema lì e
poi lo sposteremo indietro che è il caos
Khan e di nuovo questo è ciò che ha
ha avuto molto successo è allineato tutto
i nostri ingegneri senza di noi esplicitamente
uscire e dirgli come fare
eseguire i loro servizi a cui li ha allineati
costruire i loro micro servizi in questo modo
che possono imbattersi in qualsiasi regione e
sono sempre in esecuzione in ogni regione
e se una di quelle regioni va giù
possono scalare rapidamente in altro
le regioni e i nostri abbonati possono continuare
per ottenere l’ esperienza che vogliono così
abbiamo pensato che questo è un grande caos
scimmia e caos Kong c’è qualcosa
qui c’è qualcosa qui che è molto
prezioso quindi ci siamo seduti e ci abbiamo provato
capire come formalizzare questo in
qualcosa che possiamo evangelizzare dentro
la compagnia per aiutarci a ottenere questo
questa migliore capacità di recupero che porta a
migliore disponibilità su un più regolare
base e anche ad altre industrie
perché ci piace ci piace avere coetanei e
così c’è venuta con l’ingegneria e il caos
puoi leggere il
definizione formale lì, ma il
one-liner è l’ingegneria di Cass è il
disciplina della sperimentazione
sistemi distribuiti per costruire
fiducia
e la capacità del sistema di resistere
condizioni turbolente nella produzione quindi noi
pensala come una nuova disciplina interiore
ingegneria del software e lo sappiamo
cose cattive sta per accadere in
produzione perché semplicemente viviamo
in un mondo fisico e quindi vogliamo noi
vogliamo empiricamente abbiamo la parola
sperimentando lì vogliamo
portarlo empiricamente avanti e aiutare
costruendo fiducia nel sistema facendo
in modo controllato così ti darò
un esempio così per se vogliamo testare il
resilienza del servizio vedi dire che è il
servizio degli abbonati di cui ho parlato
riguardo potremmo prendere l’ammasso
che è in esecuzione su e spin up o nel
cloud quindi è facile girare di nuovo
i cluster gireranno a nuovi cluster
che tutto ottenga il traffico dallo stesso
fonte uno è un gruppo di controllo e uno di loro
un gruppo sperimentale e ci nutriremo
loro vivono il traffico e costruiamo a
ipotesi e l’ipotesi è quella
il nostro sistema è resiliente a un’interruzione in
questo particolare servizio o una sorta di
condizione di fallimento in questo particolare
servizio e quindi applichiamo questa condizione
al gruppo sperimentale potrebbe essere noi
non lasciarlo raggiungere a valle
dipendenze o presentiamo un sacco di
latenza o qualcosa del genere
qualcosa che potrebbe davvero
accadere e il grado in cui il
comportamento allo stato stazionario al bordo
il comportamento dell’utente al bordo è lo stesso
per le richieste che hanno attraversato il
gruppo di controllo come sono attraverso il
gruppo sperimentale è il grado di
che possiamo aggiungere fiducia al nostro
ipotesi che erano resilienti a questo
tipo di effetto
questo ha funzionato davvero bene per noi
internamente sono felice di dire
in tutto il settore abbiamo anche ottenuto davvero
accoglienza calorosa l’anno scorso abbiamo avuto un cast
Community Day questo è dal poster
dall’anno scorso dove siamo diventati compagni
professionisti di Microsoft Yahoo
Google Facebook conosci l’altro
aziende che gestiscono cose su vasta scala e
lo faremo di nuovo almeno una volta all’anno
quindi stiamo sviluppando una comunità di
praticanti una comunità di coetanei se
tu ingegneria caos hit me up faremo
fallo almeno una volta almeno una volta a
anno e possiamo condividere tutti questi
grandi storie di cose che abbiamo
visto in produzione e modi in cui
siamo andati avanti e li abbiamo simulati e
li ha introdotti nella nostra produzione
sistemi di nuovo per costruire la fiducia nel nostro
sistemi affrontando questi sistemici
effetti così mentre stavamo costruendo quello
comunità abbiamo anche sviluppato un oro
standard sopra solo una sperimentazione
per ulteriori principi che aiuteranno
elevaci al miglior livello di caos
ingegneria così uno di quei principi
è costruire un’ipotesi sullo stato stazionario
comportamento come ingegneri abbiamo a
predilezione per voler capire come
le cose funzionano e in questo caso il caos
l’ingegneria è più interessata a
se un sistema non funziona come funziona
quindi ci aiuta a concentrarci su ciò che è veramente
importante le metriche aziendali sono KPI
o come volete chiamarlo da
concentrandosi sul comportamento a regime di
il sistema e costruire la tua ipotesi
intorno a ciò e non cercando di creare un
ipotesi sul funzionamento interno
lavorando alla verifica del sistema
non convalida del suo modello interno
secondo principio è molto del mondo reale
effetti questo è un po ‘un gioco da ragazzi, ma
tutti abbiamo molta esperienza di
cose che accadono nella produzione che vogliamo
per ricreare quelle cose
esperimento in produzione questo è un
caos un po ‘più controverso
l’ingegneria non sta testando se lo sei
test puoi scrivere test unitari
l’integrazione verifica questo tipo di cose
e puoi eseguire quelli con sintetico
traffico e puoi trovare molti bug
e dovresti farlo quello è un altro
ottimo modo per costruire la fiducia nel tuo
lavoro ma questo è un esperimento e
non c’è modo di certo a scala a
duplicare accuratamente la tua produzione
ambiente è l’esperimento stesso
sta per avere un effetto sistemico che
potrebbe cambiare i tuoi risultati così saldamente
credo che l’unico modo per accuratamente
costruire la fiducia nel sistema che si
è ora di sperimentare sul sistema
in produzione ora in cima a quello per noi
è particolarmente impossibile per noi
alzati un secondo Netflix come test
ambiente in particolare quando per nessuno di
le nostre centinaia di micro-servizi nessuno di
quelle squadre possono aggiornare qualcuno di quelli
micro servizi in qualsiasi momento durante il
il giorno e un quarto principio automatizzano il tuo
esperimenti per eseguire continuamente nessuno dei
tu che sei in operazioni è probabilmente
già ovvio per te a fare qualcosa
manualmente all’inizio per capire come
automatizzarlo perfettamente bene ma se noi
voglio davvero la fiducia in a
effetto sistemico da riportare poi a te
bisogno per te è necessario è necessario utilizzarlo come
una specie di test di regressione a cui è necessario
essere in esecuzione sul sistema 24/7
particolarmente dal sistema stesso
potrebbe cambiare in qualsiasi momento perché nessuno
potrebbe aggiornare tutti i servizi di micro così quelli
sono i nostri quattro principi avanzati di
ingegneria del caos
quindi questa è una storia che è la mia
storia di ingegneria del vitello su come noi
in che modo guardiamo specificamente a questo
pratica per guardare la resilienza per quelli
sistemi con cui abbiamo avuto un altro problema
sistemi che è quello perché il
i team di ingegneri sono esperti di loro
possedere micro servizi e perché il
il sistema è così vasto che non c’è modo di farlo
qualcuno per capire come tutti
i sistemi si adattano insieme non abbiamo un
capo architetto di Netflix siamo umani
non potevo nemmeno montare tutti i pezzi dentro
la sua testa, anche se abbiamo avuto
un capo architetto quindi quando è la mia squadra
spostare il traffico da una regione a
un’altra rovesciare tutto il mondo che abbiamo
bisogno di sapere sono le regioni che siamo
spostando il traffico verso di te facendo bene e
perché non siamo esperti in una qualsiasi delle
particolari micro servizi che siamo
certamente non esperti in ambito olistico
immagine quindi avevamo bisogno di un modo per capire
il servizio nel suo insieme olisticamente
essenzialmente se sai se abbiamo
esperti in questi micro servizi rossi
quel livello verde di richieste in corso
tra i micro servizi che nessuno possiede
questo e perché i micro servizi sono
andare e venire così velocemente non c’è modo
perché un essere umano possedere quello e il caos
l’ingegneria ottiene come parte del modo
verso avere fiducia indipendentemente da
non capendo che spaghetti verdi
web ma vogliamo ancora un modo umano migliore
per interagire con questo, così ci siamo inventati
ciò che chiamiamo ingegneria dell’intuizione e
abbiamo un’applicazione chiamata viscerale
questo è il nostro esempio di punta dell’intuizione
ingegneria quindi cosa sto per quello che sono
andando a descrivere non ha un formale
definizione ma forse qualcuno può farlo
aiutaci a trovare una definizione formale
dell’ingegneria dell’intuizione ma il punto
era questo molto complesso
sistema distribuito e vogliamo avere un
senso del suo stato ora abbiamo grande
strumenti metrici che Netflix potrei inserire
su
di grafici e grafici di cose che cambiano
in tempo reale ma è schiacciante umano
il cervello non è in grado di analizzare le informazioni da
in modo inefficace, quindi volevamo
una sorta di interfaccia che possiamo ottenere
quel sentimento a livello di pancia se o no
il sistema nel suo complesso sta andando bene o
qualcosa è un po ‘ fuori che ho un
metafora assurda ma sembra funzionare
delle prime cose che abbiamo guardato
potremmo creare un nuovo senso?
per le persone in tutto lo stato del
sistema quindi immagina che abbiamo costruito un vestito
e la tuta è coperta di elettrodi
e il posizionamento degli elettrodi
corrisponde al 400 circa micro
servizi che Netflix e quando sei su
chiamarti hai il privilegio di indossare
la tuta che affettuosamente chiamiamo il
Vestito Payne quindi puoi immaginare di sapere
sei alle 3 del mattino per svegliarsi
su come mi fa male la spalla oh abbonati
giù di nuovo , sai che ipotizziamo
che dopo un brevissimo periodo di tempo
indossando l’abito del dolore si otterrebbe questo
extra questo sentimento extra sensoriale per il
stato del sistema anche quando non lo farà
essere in grado di dire esplicitamente ciò che il
il problema è così se il sistema è diverso
lo sentiresti solo e te
potrebbe anche non essere in grado di mettere in parole
che sensazione è ma siamo grandi
strumenti per fare analisi delle cause alla radice e
approfondire la conoscenza della rete e
capire se le cose sono sbagliate così solo
indossare la tuta sarebbe sufficiente per dare
hai una sensazione di hmm qualcosa non lo è
destra
quindi non abbiamo ancora costruito la tuta per il dolore
ma abbiamo costruito questo analogica visiva che
noi chiamiamo viscerali quindi ho intenzione di mostrare
tu sei il primo schermo di Israele se io
può uscire dalla modalità di presentazione qui io
non riesco a vedere lo schermo, quindi spero che sia così
mostrando così quello che vedi ignora il
i numeri i numeri sono irrilevanti il
il cerchio nel mezzo rappresenta il
internet e i tre cerchi nel
l’angolo rappresenta le regioni che erano
schierato nei punti che si muovono tra il
internet e le regioni corrispondono a
volume di richieste la velocità a cui
i punti in movimento corrispondono a
latenza il colore corrisponde all’errore
lo stato del codice blu è 200 rossi sono 500
ci sono arance che potresti vedere
ogni tanto
e fino a quando ho parlato mentre
stai guardando questo il tuo cervello ha
già sorta di sorta o quasi
capito che aspetto normale
questa ora del giorno dato questo traffico in
Infatti è così efficace che usiamo
questo quando tagliamo il traffico intorno a noi
fai in modo che possiamo solo
aggiungi un’occhiata, guarda e vai
sembra buono e se il modello di punti
lo spostamento è diverso che stiamo prendendo
vantaggio della capacità del cervello di
elaborare grandi quantità di dati visivi in
parallelamente molto rapidamente stiamo prendendo un
vantaggio di questo per formare all’istante
un’intuizione che hmm qualcosa non lo è
proprio lì il modello di punti tu
ti conosco che potresti non essere nemmeno in grado di farlo
dire che si stanno muovendo più lentamente o i colori
fuori o qualcosa del tipo di punti
giusto non è giusto quindi andiamo
sai fermare quello che stiamo facendo e scavare
in quello prima di andare avanti e muoversi
milioni di clienti oltre a quello
regione quindi questo è lo schermo frontale di
viscerale apriremo questa fonte
circa un mese o due
se si fa clic su una di quelle regioni è
ti porterà in questa visione che è a
vista delle microservices all’interno di tale
regione quindi questo è il traffico proveniente da
Internet in alto a sinistra
angolo e poi propagando attraverso il
lo strato più alto del nostro cursore
architettura di micro-servizi e ho colpito
le etichette perché quelle no
importante ma ancora da guardare a questo
per pochissimi brevissimi periodi
hai solo tipo di ottenere quello che sembra normale
come e ora se mi imbatto in un problema in
produzione posso portare questo e persino
tipo di avere un’idea di qualcosa con
quei servizi in alto a destra
angolo della mano qualcosa non c’è
giusto e poi abbiamo gli strumenti per andare
come scavare e guardare i log e fare
analisi delle cause principali e tutto ciò a
capire cosa sta succedendo in questo
regione o se non è niente così questo ha aiutato
prendiamo in precedenza un problema irrisolvibile
con questo sistema molto complicato e
portarla in avanti in un modo che noi possiamo
sviluppare un’intuizione di ciò che in questo
caso il sistema dovrebbe apparire come e
è stato molto potente per noi, lo farò
diamo un altro esempio di questo qui
quello stesso primo schermo durante un traffico
puoi vedere questo lo sai di nuovo a
per questa ora del giorno è normale
sarebbe simile ma nella parte superiore
angolo a sinistra uswest
il numero di errori è aumentato
iniziando ad aumentare e in questo caso noi
velocizzare la simulazione quindi non lo so
perché ci sono lì ma ad un certo punto
gli errori diventano abbastanza alti da essere noi
Decidi tu sai cosa dobbiamo muovere
il traffico verso est ci siamo dovuti spostare
quel traffico sull’altra costa così
quella barra in alto quello che vedi
accadendo è il nostro livello di proxy sul West è
iniziando a delegare quelle richieste a
la regione ad est in qualche punto come
la regione che l’ est scala per gestire
quel traffico aggiuntivo ad un certo punto
è pronto a prendere tutto così andiamo
avanti e capovolgere DNS
e poi sai che ci vogliono cinque minuti
DNS per finire e poi alla fine tutti
il traffico che stava andando verso di noi è
ora andiamo da noi o cosa ci accadrà
L’ovest ora sta andando verso est e tu puoi
vedi quello rappresentato nel nel
aumento del volume del traffico che va a
noi orientali e abbiamo aggiustato tutto ciò che era sbagliato
in noi occidentali e poi abbiamo invertito il
processo abbiamo ribaltato il NS indietro mentre
stiamo ancora processando da noi verso est
in modo da non schiacciare quella regione
abbiamo appena aggiustato e poi lentamente diminuiamo
indietro il proxy e poi finiamo di nuovo
in stato stazionario quindi di nuovo funzione
la velocità era una delle cose che proviamo a fare
ottimizzare per e avere questa capacità
permette ai nostri i nostri ingegneri a lavorare su
i loro micro servizi per spingere davvero il
limiti delle funzionalità che sono
implementare e se gli dei proibiscono
succede qualcosa di brutto che distribuiamo
regionalmente così in quella regione possiamo solo
evacuare il traffico da quella regione a
le altre regioni risolvono il problema e
quindi tornare alla radice per il pari
diffondere ciò che vogliamo e il servizio
rimane quasi sempre il più delle volte
i clienti degli abbonati non se ne accorgono
quando lo facciamo e questo è quello che vogliamo
quindi è viscerale ancora una volta l’intuizione
ingegneria pensiamo a questo come a un nuovo
cosa e lo stiamo ancora temendo
fuori, ma abbiamo alcune nuove interfacce che
stavano lavorando su per per il viscerale e
alcune altre idee per l’intuizione
applicazioni di ingegneria che ancora
ci darebbe un’interfaccia per un molto
sistema complesso che ci dà il
capacità di sviluppare un’intuizione
sullo stato di quel sistema, ok e
ancora questa è la mia rappresentazione semplificata di
la nostra architettura di microservice nel caso
ci sono delle domande e questo è il
squadra fantastica con cui lavoro
voglio solo dare loro credito per questo
questo è il mio discorso, spero che avremo tempo per
domande
Grazie
molto bella conversazione che abbiamo davvero
almeno quattro domande qui voglio
ricorda a tutti di votare e poi di
Ovviamente puoi aggiungere qualche altra domanda
ma anche il primo è come
è difficile cambiare il contratto
per uno dei servizi quando hai
molti consumatori sì, quindi dipende da
quanto sono veloci i consumatori hanno ragione
quindi penso che sia in realtà
provando il caso che c’è sempre un
Safeway almeno in teoria per aggiornare a
contratto mantenendo il vecchio
quindi almeno lo abbiamo come base di riferimento
giusto se lo facciamo o no
pratica è davvero l’importanza
di quel servizio quindi non andiamo sempre
quella via no a volte cambiamo roba
e a volte ciò significa che l’ altro
le cose si romperanno perché cambiamo il
contratto tra i micro servizi ma
abbiamo altri programmi che ci dicono come
importanti micro servizi sono per
servizi critici come lo streaming di video
quindi abbiamo altri strumenti che non ho
descrivi qui ma mi piacerebbe molto parlare
al di fuori che ci aiutano a determinare
qual è cosa è ciò che è il nostro Tier One
servizi quali sono i servizi tali che
se qualcuno di loro va giù
nessuno può riprodurre un video in streaming e gira
è un piccolo piccolo
sottoinsieme come il tennis o così e così per
quelli che ovviamente saranno a
molto più cauto nel cambiare il loro
contratto e chiunque altro da chi dipendono
ne farò più ne terrò di più
Davanti alla mente va bene, grazie
questa prossima domanda che è quella che sono
lieto che qualcuno ci abbia chiesto quando ero
pensando sia a un esperimento
la produzione è mai andata così male che il
i tempi di inattività erano sostanzialmente sufficienti
monetariamente quella gestione era infelice
senza con la situazione a portata di mano
quando stai giocando a Monkey Kong o
qualunque cosa sì scimmia con così così ci sono io
pensa che ci siano due domande lì
e penso che il più divertente
pensarci è che siamo mai entrati
guai, quindi il VP va bene così è un
diverso ma se costano soldi è un
domanda diversa e se noi
se abbiamo fatto un disservizio a
abbonati è una domanda diversa così
se mai siamo nei guai così dentro
i miei incontri con uno dei più anziani
la maggior parte delle persone a cui mi riferisco per un VP in
la divisione che sono in lui mi ha detto
che se non lo facciamo occasionalmente
affiora quindi una debolezza nel nostro sistema
non stiamo spingendo abbastanza veloce e io
penso sia giusto, quindi siamo molto
fortunatamente in quello che abbiamo avuto a Netflix
ci capita di lavorare in un posto che
capisce il valore del caos
ingegneria per il massimo servizio che
stiamo fornendo agli abbonati e così via
ci danno un sacco di corda per davvero
spingere l’ ingegneria del caos in modo che non possa costare
no non abbiamo inciso sull’iscritto dei costi
impatto che non ci piace negativamente
impatto abbonati, naturalmente, ci sono
sono stati tempi in cui gli esperimenti hanno
abbonati con impatto negativo e in
In questi casi abbiamo la funzionalità
trasformare questi esperimenti fuori subito
e così lo facciamo e per il momento loro
colpisci l’aggiornamento non se ne rendono conto
tutto è successo di solito bene, grazie
è divertente come hai mai provato
liberando le scimmie reali nei dati
centro per vedere come i servizi che rispondono
al caos fisico
quindi di nuovo Amazon non ci permetterà di farlo
le cose per la vista non ci daranno il
le chiavi del data center ma se mai lo faccio
Prendo le chiavi, terrò a mente eh
ok, che ne dici di questo su Netflix
rilasci il codice in produzione non appena possibile
come si identifica il caos in produzione e
poi ha un seguito se sì come si fa
preservi l’esperienza dell’utente mentre
nuovo codice è spinto e sistemi a
riavviato è così grande scala così
tutto così così preserviamo il
la seconda parte è più facile rispondere per prima
quindi conserviamo l’esperienza dell’utente se
identifichiamo un problema in una regione che noi
distribuire regionalmente a tappe così se noi
identificare un problema di solito siamo
identificandolo prima che il problema abbia
propagato ad altre regioni in modo che potessimo
basta trasformare quella regione fuori dal traffico
alle altre due regioni mentre lo aggiustiamo
ora per quanto riguarda il modo in cui gestiamo una correzione
migliorare un problema cosa lo fai
non appena si identifica il caos in
la produzione è la domanda
sì sì no perché di solito una casta
l’esperimento sta determinando un potenziale
vulnerabilità nel sistema, quindi cosa noi
facciamo è generare contesto per il
proprietari di servizi hey probabilmente no
pensa a questo ma se sei a valle
le dipendenze vanno giù o se si cambia
finito nel servire le cose in contanti
allora potrebbe avere questo altro cattivo effetto
sull’esperienza utente, quindi stiamo ricevendo
prima del problema in realtà
manifestandosi nel sistema che è
davvero importante e poi li diamo
il tempo per sistemarlo in modo appropriato
e noi no non guardiamo quello che sono
sono esperti nel loro sistema così tu
so che tocca a loro quello che sono loro
il ritmo di distribuzione sembra avere un senso
okay, come è influenzato il tuo SLA?
cambiare AZ in modo da non passare da AZ
cambiamo regioni
è così, in virtù dei nostri affari, noi
hanno questo grande vantaggio la maggior parte dei siti web
hanno un SLA per cui sparano
qualcosa come meno di quanto sai 600
tempo di risposta millisecondo dire il grande
la cosa su cui lavora per Netflix è di
il momento in cui qualcuno prepara i popcorn
e si siede sul divano e vuole
guarda il loro spettacolo se lo spettacolo prende
scenario peggiore 10 secondi per iniziare
streaming che non stanno scendendo da loro
divano quindi il nostro impatto sul nostro SLA
di spostare il traffico verso una regione diversa
non è evidente agli abbonati che abbiamo
il tempo per due che è buono fa Netflix
avere sincrono o asincrono
architettura di micro-servizi e poi qualsiasi
osservazioni su un particolare approccio up
fino a poco tempo i pezzi fondamentali di
Netflix è un micro servizio micro
l’architettura era sincrona e quella
non era un problema, ora ci stiamo muovendo
diversi componenti principali fino a
comunicazione asincrona IPC e
probabilmente per ragioni che la maggior parte degli altri
le aziende non guarderebbero a trasferirsi
asincrono di solito è per alleviare il nostro
onere delle richieste di servizio interno
non gestire il traffico aumentato
esternamente quindi posso dirti chi altro a
domanda posso dirvi di più su questo
decisione offline ma non è così
la solita ragione per cui andresti ad un
sistema asincrono abbiamo messo un sacco di
risorse per guardare il nostro X Java e
Nettie e architetture reattive di Eric
e quelli sono molto interessanti e vantaggiosi
in alcune condizioni ma non vediamo un
imminente necessità di muoversi
in quella direzione, perché sarebbe così
probabilmente cadono nel campo di sopra
architecting for performance presso il
spesa della velocità caratteristica ok e
allora ne faremo uno in più probabilmente
tempo di pausa e poi le persone potrebbero ancora
ovviamente tutto l’anno per il resto del
giorno sì, quindi usi attualmente
ingegneria dell’intuizione da prevedere
guasti o è più di uno strumento per
è indirizzato a tempi di reazione più rapidi
tempi di reazione più veloci , quindi non è così
bene quasi sempre
ci sono stati casi in cui ci ha aiutato
evitare un disastro per esempio e ho avuto
un ingegnere che aveva il dito sopra il
pulsante inserisci letteralmente e stava per
spostare il traffico da noi ad ovest verso est
e si voltò e vide viscerale
sullo schermo e ha urlato un
sfruttatore e questo è stato molto simile
persona calma, quindi tutti si sono semplicemente congelati
e lui disse oh mio dio okay, noi eravamo io
a sapere che ero sul punto di muoversi
traffico verso questa regione ma l’ho fatto
che Co cambia prima oggi e io
ho dimenticato di mettere un cancello che avrebbe impedito
da allora reindirizzando al terzo
la regione così ha colpito l’entrata che avrebbe avuto
ha portato l’ intero servizio giù perché
avrebbe mandato tutto il mondo
una regione e non è stata ridimensionata a
gestirlo in modo tale da prevenirlo a
disastro ma quel disastro avrebbe avuto
stato autoinflitto
okay, grazie ancora a Casey e
non dimenticare di ringraziarti
il tempo è Chicago, chiunque metta il mio nome
sul tendone al ringraziamento Chicago Theatre
tu che è stato davvero fantastico, il mio nome è
Casey Sono un manager di ingegneria per il
squadra del caos e squadra del traffico a
Netflix e quindi te lo dirò a
po ‘di quello quelle squadre fanno un
un po ‘sull’ingegneria di Cass e
ingegneria dell’intuizione e come aiutano
mantenere il servizio su Netflix sempre attivo
quelli di voi che non hanno familiarità con Netflix
è un po ‘come il blockbuster ma online
un’altra un altro modo di pensare a questo proposito
va bene, mi limiterò a colpire
chiavi sì un’altra cosa sì come Westar
chi un altro modo di pensarci è che lo è
un po ‘come Facebook ma invece di
persone per amici sono i tuoi amici
film e spettacoli che hai guardato
con il vantaggio che su Netflix sono
non andando in disaccordo con il tuo
opinioni politiche e come Facebook
Netflix è piuttosto popolare in tutto il mondo
ora tranne che in Cina e per fortuna
per noi persone come noi così quando il nostro
il servizio è giù, una grande tristezza cade su
Internet e non voglio soffermarmi
su di nuovo ancora troppo sai
questo è il sempre in pista, così siamo
parlerò di come manteniamo il sistema
sempre così a Netflix siamo di nuovo
grande sai come Facebook dove tu
sappiamo che molte persone ci usano per molto
grandi noi scorriamo da qualche parte intorno
l’ordine di quattro miliardi di ore di
video al mese che sono molti dati
risulta che è circa il 40% del
Internet al massimo è il traffico di Netflix e
Naturalmente la maggior parte di ciò che è servito fuori
un CDN ora di cache distribuita scadenza
cache che è un problema risolto in
l’informatica giusta, quindi è noioso
quindi ignoreremo completamente il CDN
Sono sicuro che non hai nessuna domanda
a tale proposito e invece concentrarsi sul
altro componente al servizio
piano di controllo in modo che il piano di controllo tu
sapere quando sei quando stai usando
Netflix tutto dall’iscrizione a
accesso per scegliere un film
negoziando DRM fino al
il film inizia effettivamente a trasmettere in streaming sul tuo
il dispositivo è gestito dal controllo
l’aereo risulta essere abbastanza grande come
bene e lo abbiamo schierato interamente dentro
il cloud in Amazon specificamente AWS così
il piano di controllo è schierato in tre
regioni in AWS se non ti è familiare
con la terminologia AWS puoi farlo
pensa a una regione come a un data center
anche se non è in realtà quello
sotto il cofano e ed è questo è il
mondo che la mia squadra vive nel codice
lavorando con il piano di controllo ora quando
Guardo un’architettura o quando guardo
a un team di ingegneri uno dei modi
che misuro l’architettura o il
la raffinatezza della squadra è quanto bene
ottimizzare per queste tre cose così nel mio
sperimentare un’azienda giovane o una nuova
il prodotto cercherà spesso di ottimizzare per
una di queste cose a spese di
gli altri due quindi abbiamo prestazioni
tolleranza agli errori e disponibilità e a
squadra con più esperienza di nuovo nel mio
l’esperienza tende ad essere in grado di bilanciare
queste tre cose meglio di un Netflix aggiunge
una quarta cosa a questo triangolo che
è la funzione di velocità così a Netflix che abbiamo inserito
un’alta priorità su feature velocity noi
credo che uno dei nostri critici
vantaggi competitivi è il tasso a
che introduciamo nuove funzionalità e noi
fare un test molto sofisticato
sistema che ci fornisce dati per sostenere questo
su così per ottenere la velocità della funzione uno dei
scelte architettoniche che abbiamo fatto a
mentre è tornato per passare a un micro servizio
architettura ora molti di voi probabilmente
avere esperienza con il micro servizio
trame e il tuo micro-servizio
le architetture ci sono molte differenze
varietà così sto andando descrivere quello che ho
significa che l’architettura di Microsoft è quella
sappiamo dove, in modo da sapere dove sono
proveniente da
quindi ecco un esempio molto semplificato con
solo sette servizi rappresentati e a
il servizio potrebbe essere semplice come la gestione
basta accedere a un altro servizio potrebbe gestire
solo i dati dell’abbonato un altro servizio
potrebbe gestire i dati del film in quel modo
cosa
e il modo in cui sono strutturati Netflix
avere molti piccoli team di ingegneri
sono responsabili di uno o più micro
servizi in modo che l’abbonato diventi il
abbonato di micro servizio è abbastanza
grande che è una componente fondamentale della
servizio che offriamo così abbiamo solo a
piccolo gruppo di quattro o cinque ingegneri che
basta supportare quel micro servizio così quando
qualcuno usa Netflix o lo sai
da uno smart smartphone sito Web Xbox TV
che cosa è una richiesta arriva e
daremo un esempio ipotetico
qui la ricerca entra in servizio Steve noi
può immaginare di servizio D come un proxy o un
PLA o qualcosa del genere e qualunque cosa
quella richiesta è che il servizio non sta andando
avere tutte le informazioni che
ha bisogno di restituire la risposta così servizio
D sta per raggiungere il servizio C e
serve che F possa servire C potrebbe essere il
servizio dati sottoscrittore che potrebbe essere
i dati del film e quelli gireranno a turno
raggiungiamo un e F raggiungiamo
per BMG e saranno raggiungere B e
G cercherà di essere come bene e anche
a E e puoi vederlo velocemente
diventa piuttosto complicato se qualcuno di voi
ha visto la presentazione di ieri a Katie
i sistemi distribuiti tracciano lei ha messo su
la visione della stella della morte dei servizi e it
diventa abbastanza complicato Netflix ha
da qualche parte circa quattrocento servizi
servizi di micro nel nostro sistema non tutti
loro sono nel percorso critico non tutti
loro sono nel percorso di streaming
ma ancora questo questo esempio di giusto
sette illustra il punto che il
comunicazione tra quelli
i microservizi possono diventare piuttosto complicati
abbastanza rapidamente e poi una volta che hanno
per le informazioni di cui hanno bisogno
dai servizi a valle lo impacchettano
loro avvolgono la loro richiesta e mandano
a monte ed eventualmente quella risposta
viene restituito al dispositivo a cui è stato effettuato l’ accesso
il servizio quindi voglio parlare di a
proprietà specifica dei sistemi distribuiti
come come questo simili micro
sistema di servizio e per farlo sto andando
per aver bisogno di birra, te lo dico io
la storia prende un piccolo diversivo con me
nei sistemi pensando ora se lo sei
insegnato se si prende un sistema di pensiero
classe in università o un programma MBA
probabilmente a un certo punto suonerai il
il gioco della birra e il gioco della birra sono diversi
qualsiasi gioco di birra che ho giocato al college
quindi portami con me, descriverò il
regole per una versione semplificata del
gioco della birra e poi me ne vado
andando a portarci attraverso un esempio
giro del gioco della birra così nella birra
gioco ci sono tre giocatori o nel
versione semplificata di questi tre
giocatori sono clienti a cui piace
bevi i rivenditori di birra che vendono birra e
produttori che fanno la birra e se
stavamo davvero suonando questo come noi
farebbe sarebbe separare la classe
la stanza in tre gruppi ogni gruppo è
rappresenta uno di questi team uno di
questi giocatori e loro non sono autorizzati a
comunicare tra loro tranne da
passaggio passando scivoloni di carta indietro e
avanti i messaggi con l’intento di acquisire o
scambio di birra o contanti così sono
davvero non è permesso comunicare con
l’un l’ altro e ne getterò alcuni
i numeri sullo schermo ora non
devono seguire i numeri lungo solo
segui la mia narrazione di ciò che accade
nella prima settimana parleremo di tutto questo
settimana zero del gioco della birra
richiesta ma siamo ingegneri quindi lo faremo
chiama questa birra e io mi giro
Wi-Fi spento in modo che non accada di nuovo
così noi chiamiamo una birra foo lo richiedano
alla settimana zero è per un caso di birra foo
e così il cliente va a comprare uno
rivenditore ha due in azione in modo che, dopo
acquisto ne hanno uno rimanendo
ordinarne uno dai produttori otto
in magazzino e l’imbottigliamento dei produttori
un caso di birra alimentare, quindi ne abbiamo uno
alle due estremità di questo sistema, quindi siamo dentro
equilibrio e poi come il gioco davvero
inizia nella prima settimana l’antagonista
nella nostra storia lo chiameremo Nathan Nathan
vuole ubriacarsi così va a questo
negozio e lui è un desiderio per un
altri tre casi di birra alimentare ma
può solo comprare 2 perché il rivenditore
ne ha solo due quindi indico che con a
negativo 2 nell’editorialista rimanente
come un backorder insoddisfatto e il
rivenditore vuole sapere di andare avanti
questo quindi ordinano 4 dal
produttore e produttore vedono
questo aumento e iniziano a produrre
imbottigliamento di cinque casi e Nathan ottiene
davvero ubriaco e arriva con questo
ok algoritmo geniale che sta tirando da
colocation quantistica e nanotecnologie e lui
correndo attraverso un Lorentz
trasformazione e fisica relativistica
e lui trova un modo per battere il cappello
teorema e pubblica un blog e questo
lo fa alle notizie degli hacker e perché lui
è stato ispirato dalla birra foo e l’ha chiamato il
algoritmo di birra foo FBA, naturalmente e così
c’è una corsa alla birra foo, quindi domanda
picchi i 64 casi ma le persone possono solo
acquistare a perché un rivenditore aveva solo
otto quindi c’è una perdita lì di 56
il rivenditore di vendita vede un picco e vuole
stare al passo con il suo ordine 70 dal
il produttore del produttore ha l’opzione
costruire una nuova distilleria e una bottiglia 250
casi alla volta, quindi vanno avanti e lo fanno
quello ma il protagonista della nostra storia
lo chiamerò Steve è un appassionato di birra
quindi ottiene una di queste ultime bottiglie
quello che gira intorno prende un sorso
lo sputa dice quel caso terribile
si siede e scrive un post sul blog che lo dimostra
che Nathan era pieno di birra e quello
Il teorema del cappuccio è in effetti sicuro e il
l’algoritmo è stato schifo così la prossima settimana
siamo tornati solo a Nathan che vuole
compra più casse di birra alimentare per affogare il suo
dolori a questo punto la
il produttore consegna ci sono 250
casi e finalmente torniamo a
steady-state dove Adam e si tratta di uno
caso alla settimana ma finiamo con questo
risultato davvero inquietante quindi ora il
punto del gioco per le squadre era
massimizzare il valore e il valore per il
il cliente era la soddisfazione del cliente per
il rivenditore era vendite per i produttori
anche le vendite e abbiamo giocato più a lungo
giro quando giochi questo di solito il
i turni sono di solito molto più lunghi
più passaggi nella catena di distribuzione e
di solito finisci con questo esatto
risultato che non è questo particolare
numeri ma che è davvero frustrante
in quanto il rivenditore finisce con 76
casi che non saranno in grado
per vendere ora hanno perso la vendita
58 casi che sono stati persi profitto il
il produttore ha 180 casi che non sono mai
sbarazzarsi di una distilleria extra WTF
lo faranno con quello è un it’s
generalmente un’esperienza frustrante per
persone che giocano e io non voglio
lasciati frustrato, quindi ecco un maialino
mangiare il gelato, quindi perché lo ha fatto?
insegnano questo in
classi di pensiero sistemico bene
in particolare , non penso sia perché
i professori hanno una superiorità
complesso che non succede mai penso che sia
per dimostrare uno specifico sistema
comportamento chiamato modello bullwhip
dove una piccola oscillazione e input in
il sistema produce molto più grande
oscillazione più in basso nel sistema
Penso che ci sia un punto più importante
qui che è che i clienti il
rivenditore e produttore nessuno di
hanno fatto qualcosa di sbagliato hanno fatto tutti
decisioni corrette fornite le informazioni
che avevano lo scopo di quello che loro
responsabile per e ancora sistemico
il comportamento era altamente indesiderabile e
c’è un’analogia diretta da distribuire
sistemi come architetture di micro-servizi
qui per qualsiasi dato servizio per
questi servizi che sai dire
il servizio di sottoscrizione che potrebbe essere
formalmente verificato perfettamente alle specifiche
assolutamente corretto
eppure anche se tutti questi micro
i servizi sono assolutamente corretto il
sistema nel suo complesso potrebbe ancora esibire
comportamento che è altamente indesiderabile lo farò
darti un altro esempio ipotetico così
ecco un’altra storia non che questo abbia
mi è mai capitato, ma dì di dire che lo sei
a Washington DC e tu sei sul
Amtrak torna a Philadelphia
perché vivi lì al momento e
pensi che tu sappia che sarebbe fantastico per te
so che è notte è notte
Amtrak è tardi sarebbe grande per prendere
su castello di carte
e tu sei così assorto in casa di
carte che che sbavare sulla
tastiera destra ma questo imbarazzante ma
potrebbe accadere e sai che è buio
e ardesia e così inizi a armeggiare con
un computer portatile e non ho idea di cosa tu abbia colpito
ma il tuo laptop inizia a rinfrescare
Netflix che è strano ma ok sul
Netflix lato sei su un treno così
le richieste erano che ci fosse una rete
partizione e poi sono stati bufferizzati
e poi tutti hanno colpito il server in una volta
e perché questo è molto richiesto
simile sei sempre lo stesso utente
le richieste vanno allo stesso server per il
servizio degli abbonati sta cercando di guardare
le tue informazioni più e più volte
e perché riceve tutte queste richieste
subito non ha tempo di guardare
sollevarli per cercare i dati dal disco
quindi ha un ripiego molto ragionevole
serve le risposte fuori dalla cache
non sono così aggiornati come
cosa c’è sul disco, ma è ed è
fallback ancora inaccettabile vero noi
non voglio che non vogliamo il servizio
per spegnere quando un server ottiene
sovraccarico, solo tu conosci così la strada
questo si manifesta è se se andassi al
home page Potrei vedere invece dei film
che sono stati personalizzati per me, potrei
vedere proprio come i migliori film per
tutti o qualcosa del genere così
è ragionevole così questo questo
il server nel cluster sta servendo da
cache e perché serve da
cache il suo carico della CPU scende e oggi
abbiamo un altro servizio che è
responsabile del ridimensionamento automatico perché noi
non voglio pagare per i server in esecuzione
quando non abbiamo bisogno di loro e se ne accorge
che il carico medio della CPU diminuisce
il servizio di sottoscrizione quindi dice oh okay
beh non abbiamo bisogno di tanti server lì
poi e uccide uno dei server
che ha un carico CPU più elevato che ulteriormente
riduce questo carico medio della CPU e ora
i server nel servizio di sottoscrizione
stanno gestendo più richieste con meno
macchine per fare il lavoro in modo più di loro
iniziare a lanciare nella cache e nella CPU
il carico scende ulteriormente e così il
il programma di scalabilità automatica riduce ulteriormente il cluster
e ora molti utenti più di colui che
solo la tastiera di Roland perché lui è un
iniziare a guardare Netflix e
notando hey questo non è quello che di solito
vedere e una cosa molto ragionevole da fare se
sei un essere umano e un programma no
lavorando piuttosto il modo in cui si desidera fare
stai iniziando a scollegare e ricollegare
in o facendo clic su Aggiorna molto veloce e
tutto ad un tratto abbiamo creato un essere umano
riprovare tempesta colpendo Netflix con tutti
queste richieste
nessuno dei quali non lo faremo mai
completo perché nel momento in cui anche loro
potrebbe ottenere tutto il contesto per tornare
di nuovo all’utente sono già gli utenti
ha avviato una nuova richiesta comunque è così
lavoro essenzialmente sprecato non ho
prova che quello che effettivamente solo
descritto è successo a Netflix
ma è
le cose sono successe ed è certamente
il tipo di comportamento sistemico che può
capita in un’architettura di micro-servizi
o in un sistema distribuito che vogliamo
per affrontare così tanto tempo che ci sono stato
sto affogando e sto solo descrivendo
l’acqua giusta ho appena illustrato
il problema non ti ho dato un
soluzione a tutto ancora così, lasciamo
ti racconto un’altra storia di questo
caos una storia felice e Netflix che abbiamo
due strumenti del caos primario scimmia caos e
calmo il caos e descriverò brevemente
ognuno di voi potrebbe aver sentito parlare di Cass monkey
questo è un programma che sarà per un dato
servizio scegliere casualmente un server e
spegnerlo durante l’orario lavorativo il
La ragione per cui abbiamo costruito questo è perché
eravamo stanchi di essere pagati alle 3:00
sono al mattino l’ ora delle streghe
quando i server di solito spariscono così
invece abbiamo portato avanti quel dolore
durante l’orario lavorativo in modo che quando noi
è stato impaginato, non importa quanto adesso
alla nostra scala a chiunque è ragionevole
scala è garantito che i server sono
scomparirò perché lo sai
l’hard disk va male così tanti viaggi su a
cavo alcuni sai che il potere si spegne
qualcuno spara alla fibra ottica
linee di connettività nel Midwest vero
La storia di tutti i tipi di te sa di tutto
un sacco di cose accadono così i server lo sono
sta per scomparire e abbiamo appena portato
quel dolore in avanti e il risultato
era fantastico, non avevamo detto esplicitamente al nostro
ingegneri hey devi scrivere il tuo
servizi in questo modo invece abbiamo introdotto
questa condizione che ha guidato l’alto allineamento
tra gli ingegneri per risolvere automaticamente
proprio lì servizi tali che possono
resistere a quel tipo di fallimento era
molto successo ed è stato anni
dal momento che uno dei nostri servizi per quanto riguarda noi
so che hanno avuto cattive conseguenze dovute
a
a un server che sta scomparendo nel caos
scimmia corre regolarmente oggi girerà
fuori dozzine di macchine in onore nel nostro
sistema così abbiamo pensato bene che è grande
questa è la scimmia del caos, Kass Kong, ora
ha anche la situazione in esecuzione nel
nuvola dove andrà un’intera regione
giù così abbiamo pensato bene Prendiamo che
pattern e applicarlo da invece di
solo un server all’estremità opposta del
spettro lo applichiamo a un intero
regione , disattiviamo un’intera regione
ora per qualsiasi motivo sono piccolo
non chiaro per i dettagli amazon non lo farà
permettici di disattivare un’intera regione
qualcosa sull’avere altri clienti
l’idea così la simuliamo come meglio noi
possiamo e sceglieremo una regione che è
malato e sposteremo la squadra del traffico
sposteremo quel traffico verso il
altre due regioni rallenteremo il traffico
in tutto il mondo spostalo verso l’altro
regioni
in modo che possiamo risolvere il problema lì e
poi lo sposteremo indietro che è il caos
Khan e di nuovo questo è ciò che ha
ha avuto molto successo è allineato tutto
i nostri ingegneri senza di noi esplicitamente
uscire e dirgli come fare
eseguire i loro servizi a cui li ha allineati
costruire i loro micro servizi in questo modo
che possono imbattersi in qualsiasi regione e
sono sempre in esecuzione in ogni regione
e se una di quelle regioni va giù
possono scalare rapidamente in altro
le regioni e i nostri abbonati possono continuare
per ottenere l’ esperienza che vogliono così
abbiamo pensato che questo è un grande caos
scimmia e caos Kong c’è qualcosa
qui c’è qualcosa qui che è molto
prezioso quindi ci siamo seduti e ci abbiamo provato
capire come formalizzare questo in
qualcosa che possiamo evangelizzare dentro
la compagnia per aiutarci a ottenere questo
questa migliore capacità di recupero che porta a
migliore disponibilità su un più regolare
base e anche ad altre industrie
perché ci piace ci piace avere coetanei e
così c’è venuta con l’ingegneria e il caos
puoi leggere il
definizione formale lì, ma il
one-liner è l’ingegneria di Cass è il
disciplina della sperimentazione
sistemi distribuiti per costruire
fiducia
e la capacità del sistema di resistere
condizioni turbolente nella produzione quindi noi
pensala come una nuova disciplina interiore
ingegneria del software e lo sappiamo
cose cattive sta per accadere in
produzione perché semplicemente viviamo
in un mondo fisico e quindi vogliamo noi
vogliamo empiricamente abbiamo la parola
sperimentando lì vogliamo
portarlo empiricamente avanti e aiutare
costruendo fiducia nel sistema facendo
in modo controllato così ti darò
un esempio così per se vogliamo testare il
resilienza del servizio vedi dire che è il
servizio degli abbonati di cui ho parlato
riguardo potremmo prendere l’ammasso
che è in esecuzione su e spin up o nel
cloud quindi è facile girare di nuovo
i cluster gireranno a nuovi cluster
che tutto ottenga il traffico dallo stesso
fonte uno è un gruppo di controllo e uno di loro
un gruppo sperimentale e ci nutriremo
loro vivono il traffico e costruiamo a
ipotesi e l’ipotesi è quella
il nostro sistema è resiliente a un’interruzione in
questo particolare servizio o una sorta di
condizione di fallimento in questo particolare
servizio e quindi applichiamo questa condizione
al gruppo sperimentale potrebbe essere noi
non lasciarlo raggiungere a valle
dipendenze o presentiamo un sacco di
latenza o qualcosa del genere
qualcosa che potrebbe davvero
accadere e il grado in cui il
comportamento allo stato stazionario al bordo
il comportamento dell’utente al bordo è lo stesso
per le richieste che hanno attraversato il
gruppo di controllo come sono attraverso il
gruppo sperimentale è il grado di
che possiamo aggiungere fiducia al nostro
ipotesi che erano resilienti a questo
tipo di effetto
questo ha funzionato davvero bene per noi
internamente sono felice di dire
in tutto il settore abbiamo anche ottenuto davvero
accoglienza calorosa l’anno scorso abbiamo avuto un cast
Community Day questo è dal poster
dall’anno scorso dove siamo diventati compagni
professionisti di Microsoft Yahoo
Google Facebook conosci l’altro
aziende che gestiscono cose su vasta scala e
lo faremo di nuovo almeno una volta all’anno
quindi stiamo sviluppando una comunità di
praticanti una comunità di coetanei se
tu ingegneria caos hit me up faremo
fallo almeno una volta almeno una volta a
anno e possiamo condividere tutti questi
grandi storie di cose che abbiamo
visto in produzione e modi in cui
siamo andati avanti e li abbiamo simulati e
li ha introdotti nella nostra produzione
sistemi di nuovo per costruire la fiducia nel nostro
sistemi affrontando questi sistemici
effetti così mentre stavamo costruendo quello
comunità abbiamo anche sviluppato un oro
standard sopra solo una sperimentazione
per ulteriori principi che aiuteranno
elevaci al miglior livello di caos
ingegneria così uno di quei principi
è costruire un’ipotesi sullo stato stazionario
comportamento come ingegneri abbiamo a
predilezione per voler capire come
le cose funzionano e in questo caso il caos
l’ingegneria è più interessata a
se un sistema non funziona come funziona
quindi ci aiuta a concentrarci su ciò che è veramente
importante le metriche aziendali sono KPI
o come volete chiamarlo da
concentrandosi sul comportamento a regime di
il sistema e costruire la tua ipotesi
intorno a ciò e non cercando di creare un
ipotesi sul funzionamento interno
lavorando alla verifica del sistema
non convalida del suo modello interno
secondo principio è molto del mondo reale
effetti questo è un po ‘un gioco da ragazzi, ma
tutti abbiamo molta esperienza di
cose che accadono nella produzione che vogliamo
per ricreare quelle cose
esperimento in produzione questo è un
caos un po ‘più controverso
l’ingegneria non sta testando se lo sei
test puoi scrivere test unitari
l’integrazione verifica questo tipo di cose
e puoi eseguire quelli con sintetico
traffico e puoi trovare molti bug
e dovresti farlo quello è un altro
ottimo modo per costruire la fiducia nel tuo
lavoro ma questo è un esperimento e
non c’è modo di certo a scala a
duplicare accuratamente la tua produzione
ambiente è l’esperimento stesso
sta per avere un effetto sistemico che
potrebbe cambiare i tuoi risultati così saldamente
credo che l’unico modo per accuratamente
costruire la fiducia nel sistema che si
è ora di sperimentare sul sistema
in produzione ora in cima a quello per noi
è particolarmente impossibile per noi
alzati un secondo Netflix come test
ambiente in particolare quando per nessuno di
le nostre centinaia di micro-servizi nessuno di
quelle squadre possono aggiornare qualcuno di quelli
micro servizi in qualsiasi momento durante il
il giorno e un quarto principio automatizzano il tuo
esperimenti per eseguire continuamente nessuno dei
tu che sei in operazioni è probabilmente
già ovvio per te a fare qualcosa
manualmente all’inizio per capire come
automatizzarlo perfettamente bene ma se noi
voglio davvero la fiducia in a
effetto sistemico da riportare poi a te
bisogno per te è necessario è necessario utilizzarlo come
una specie di test di regressione a cui è necessario
essere in esecuzione sul sistema 24/7
particolarmente dal sistema stesso
potrebbe cambiare in qualsiasi momento perché nessuno
potrebbe aggiornare tutti i servizi di micro così quelli
sono i nostri quattro principi avanzati di
ingegneria del caos
quindi questa è una storia che è la mia
storia di ingegneria del vitello su come noi
in che modo guardiamo specificamente a questo
pratica per guardare la resilienza per quelli
sistemi con cui abbiamo avuto un altro problema
sistemi che è quello perché il
i team di ingegneri sono esperti di loro
possedere micro servizi e perché il
il sistema è così vasto che non c’è modo di farlo
qualcuno per capire come tutti
i sistemi si adattano insieme non abbiamo un
capo architetto di Netflix siamo umani
non potevo nemmeno montare tutti i pezzi dentro
la sua testa, anche se abbiamo avuto
un capo architetto quindi quando è la mia squadra
spostare il traffico da una regione a
un’altra rovesciare tutto il mondo che abbiamo
bisogno di sapere sono le regioni che siamo
spostando il traffico verso di te facendo bene e
perché non siamo esperti in una qualsiasi delle
particolari micro servizi che siamo
certamente non esperti in ambito olistico
immagine quindi avevamo bisogno di un modo per capire
il servizio nel suo insieme olisticamente
essenzialmente se sai se abbiamo
esperti in questi micro servizi rossi
quel livello verde di richieste in corso
tra i micro servizi che nessuno possiede
questo e perché i micro servizi sono
andare e venire così velocemente non c’è modo
perché un essere umano possedere quello e il caos
l’ingegneria ottiene come parte del modo
verso avere fiducia indipendentemente da
non capendo che spaghetti verdi
web ma vogliamo ancora un modo umano migliore
per interagire con questo, così ci siamo inventati
ciò che chiamiamo ingegneria dell’intuizione e
abbiamo un’applicazione chiamata viscerale
questo è il nostro esempio di punta dell’intuizione
ingegneria quindi cosa sto per quello che sono
andando a descrivere non ha un formale
definizione ma forse qualcuno può farlo
aiutaci a trovare una definizione formale
dell’ingegneria dell’intuizione ma il punto
era questo molto complesso
sistema distribuito e vogliamo avere un
senso del suo stato ora abbiamo grande
strumenti metrici che Netflix potrei inserire
su
di grafici e grafici di cose che cambiano
in tempo reale ma è schiacciante umano
il cervello non è in grado di analizzare le informazioni da
in modo inefficace, quindi volevamo
una sorta di interfaccia che possiamo ottenere
quel sentimento a livello di pancia se o no
il sistema nel suo complesso sta andando bene o
qualcosa è un po ‘ fuori che ho un
metafora assurda ma sembra funzionare
delle prime cose che abbiamo guardato
potremmo creare un nuovo senso?
per le persone in tutto lo stato del
sistema quindi immagina che abbiamo costruito un vestito
e la tuta è coperta di elettrodi
e il posizionamento degli elettrodi
corrisponde al 400 circa micro
servizi che Netflix e quando sei su
chiamarti hai il privilegio di indossare
la tuta che affettuosamente chiamiamo il
Vestito Payne quindi puoi immaginare di sapere
sei alle 3 del mattino per svegliarsi
su come mi fa male la spalla oh abbonati
giù di nuovo , sai che ipotizziamo
che dopo un brevissimo periodo di tempo
indossando l’abito del dolore si otterrebbe questo
extra questo sentimento extra sensoriale per il
stato del sistema anche quando non lo farà
essere in grado di dire esplicitamente ciò che il
il problema è così se il sistema è diverso
lo sentiresti solo e te
potrebbe anche non essere in grado di mettere in parole
che sensazione è ma siamo grandi
strumenti per fare analisi delle cause alla radice e
approfondire la conoscenza della rete e
capire se le cose sono sbagliate così solo
indossare la tuta sarebbe sufficiente per dare
hai una sensazione di hmm qualcosa non lo è
destra
quindi non abbiamo ancora costruito la tuta per il dolore
ma abbiamo costruito questo analogica visiva che
noi chiamiamo viscerali quindi ho intenzione di mostrare
tu sei il primo schermo di Israele se io
può uscire dalla modalità di presentazione qui io
non riesco a vedere lo schermo, quindi spero che sia così
mostrando così quello che vedi ignora il
i numeri i numeri sono irrilevanti il
il cerchio nel mezzo rappresenta il
internet e i tre cerchi nel
l’angolo rappresenta le regioni che erano
schierato nei punti che si muovono tra il
internet e le regioni corrispondono a
volume di richieste la velocità a cui
i punti in movimento corrispondono a
latenza il colore corrisponde all’errore
lo stato del codice blu è 200 rossi sono 500
ci sono arance che potresti vedere
ogni tanto
e fino a quando ho parlato mentre
stai guardando questo il tuo cervello ha
già sorta di sorta o quasi
capito che aspetto normale
questa ora del giorno dato questo traffico in
Infatti è così efficace che usiamo
questo quando tagliamo il traffico intorno a noi
fai in modo che possiamo solo
aggiungi un’occhiata, guarda e vai
sembra buono e se il modello di punti
lo spostamento è diverso che stiamo prendendo
vantaggio della capacità del cervello di
elaborare grandi quantità di dati visivi in
parallelamente molto rapidamente stiamo prendendo un
vantaggio di questo per formare all’istante
un’intuizione che hmm qualcosa non lo è
proprio lì il modello di punti tu
ti conosco che potresti non essere nemmeno in grado di farlo
dire che si stanno muovendo più lentamente o i colori
fuori o qualcosa del tipo di punti
giusto non è giusto quindi andiamo
sai fermare quello che stiamo facendo e scavare
in quello prima di andare avanti e muoversi
milioni di clienti oltre a quello
regione quindi questo è lo schermo frontale di
viscerale apriremo questa fonte
circa un mese o due
se si fa clic su una di quelle regioni è
ti porterà in questa visione che è a
vista delle microservices all’interno di tale
regione quindi questo è il traffico proveniente da
Internet in alto a sinistra
angolo e poi propagando attraverso il
lo strato più alto del nostro cursore
architettura di micro-servizi e ho colpito
le etichette perché quelle no
importante ma ancora da guardare a questo
per pochissimi brevissimi periodi
hai solo tipo di ottenere quello che sembra normale
come e ora se mi imbatto in un problema in
produzione posso portare questo e persino
tipo di avere un’idea di qualcosa con
quei servizi in alto a destra
angolo della mano qualcosa non c’è
giusto e poi abbiamo gli strumenti per andare
come scavare e guardare i log e fare
analisi delle cause principali e tutto ciò a
capire cosa sta succedendo in questo
regione o se non è niente così questo ha aiutato
prendiamo in precedenza un problema irrisolvibile
con questo sistema molto complicato e
portarla in avanti in un modo che noi possiamo
sviluppare un’intuizione di ciò che in questo
caso il sistema dovrebbe apparire come e
è stato molto potente per noi, lo farò
diamo un altro esempio di questo qui
quello stesso primo schermo durante un traffico
puoi vedere questo lo sai di nuovo a
per questa ora del giorno è normale
sarebbe simile ma nella parte superiore
angolo a sinistra uswest
il numero di errori è aumentato
iniziando ad aumentare e in questo caso noi
velocizzare la simulazione quindi non lo so
perché ci sono lì ma ad un certo punto
gli errori diventano abbastanza alti da essere noi
Decidi tu sai cosa dobbiamo muovere
il traffico verso est ci siamo dovuti spostare
quel traffico sull’altra costa così
quella barra in alto quello che vedi
accadendo è il nostro livello di proxy sul West è
iniziando a delegare quelle richieste a
la regione ad est in qualche punto come
la regione che l’ est scala per gestire
quel traffico aggiuntivo ad un certo punto
è pronto a prendere tutto così andiamo
avanti e capovolgere DNS
e poi sai che ci vogliono cinque minuti
DNS per finire e poi alla fine tutti
il traffico che stava andando verso di noi è
ora andiamo da noi o cosa ci accadrà
L’ovest ora sta andando verso est e tu puoi
vedi quello rappresentato nel nel
aumento del volume del traffico che va a
noi orientali e abbiamo aggiustato tutto ciò che era sbagliato
in noi occidentali e poi abbiamo invertito il
processo abbiamo ribaltato il NS indietro mentre
stiamo ancora processando da noi verso est
in modo da non schiacciare quella regione
abbiamo appena aggiustato e poi lentamente diminuiamo
indietro il proxy e poi finiamo di nuovo
in stato stazionario quindi di nuovo funzione
la velocità era una delle cose che proviamo a fare
ottimizzare per e avere questa capacità
permette ai nostri i nostri ingegneri a lavorare su
i loro micro servizi per spingere davvero il
limiti delle funzionalità che sono
implementare e se gli dei proibiscono
succede qualcosa di brutto che distribuiamo
regionalmente così in quella regione possiamo solo
evacuare il traffico da quella regione a
le altre regioni risolvono il problema e
quindi tornare alla radice per il pari
diffondere ciò che vogliamo e il servizio
rimane quasi sempre il più delle volte
i clienti degli abbonati non se ne accorgono
quando lo facciamo e questo è quello che vogliamo
quindi è viscerale ancora una volta l’intuizione
ingegneria pensiamo a questo come a un nuovo
cosa e lo stiamo ancora temendo
fuori, ma abbiamo alcune nuove interfacce che
stavano lavorando su per per il viscerale e
alcune altre idee per l’intuizione
applicazioni di ingegneria che ancora
ci darebbe un’interfaccia per un molto
sistema complesso che ci dà il
capacità di sviluppare un’intuizione
sullo stato di quel sistema, ok e
ancora questa è la mia rappresentazione semplificata di
la nostra architettura di microservice nel caso
ci sono delle domande e questo è il
squadra fantastica con cui lavoro
voglio solo dare loro credito per questo
questo è il mio discorso, spero che avremo tempo per
domande
Grazie
molto bella conversazione che abbiamo davvero
almeno quattro domande qui voglio
ricorda a tutti di votare e poi di
Ovviamente puoi aggiungere qualche altra domanda
ma anche il primo è come
è difficile cambiare il contratto
per uno dei servizi quando hai
molti consumatori sì, quindi dipende da
quanto sono veloci i consumatori hanno ragione
quindi penso che sia in realtà
provando il caso che c’è sempre un
Safeway almeno in teoria per aggiornare a
contratto mantenendo il vecchio
quindi almeno lo abbiamo come base di riferimento
giusto se lo facciamo o no
pratica è davvero l’importanza
di quel servizio quindi non andiamo sempre
quella via no a volte cambiamo roba
e a volte ciò significa che l’ altro
le cose si romperanno perché cambiamo il
contratto tra i micro servizi ma
abbiamo altri programmi che ci dicono come
importanti micro servizi sono per
servizi critici come lo streaming di video
quindi abbiamo altri strumenti che non ho
descrivi qui ma mi piacerebbe molto parlare
al di fuori che ci aiutano a determinare
qual è cosa è ciò che è il nostro Tier One
servizi quali sono i servizi tali che
se qualcuno di loro va giù
nessuno può riprodurre un video in streaming e gira
è un piccolo piccolo
sottoinsieme come il tennis o così e così per
quelli che ovviamente saranno a
molto più cauto nel cambiare il loro
contratto e chiunque altro da chi dipendono
ne farò più ne terrò di più
Davanti alla mente va bene, grazie
questa prossima domanda che è quella che sono
lieto che qualcuno ci abbia chiesto quando ero
pensando sia a un esperimento
la produzione è mai andata così male che il
i tempi di inattività erano sostanzialmente sufficienti
monetariamente quella gestione era infelice
senza con la situazione a portata di mano
quando stai giocando a Monkey Kong o
qualunque cosa sì scimmia con così così ci sono io
pensa che ci siano due domande lì
e penso che il più divertente
pensarci è che siamo mai entrati
guai, quindi il VP va bene così è un
diverso ma se costano soldi è un
domanda diversa e se noi
se abbiamo fatto un disservizio a
abbonati è una domanda diversa così
se mai siamo nei guai così dentro
i miei incontri con uno dei più anziani
la maggior parte delle persone a cui mi riferisco per un VP in
la divisione che sono in lui mi ha detto
che se non lo facciamo occasionalmente
affiora quindi una debolezza nel nostro sistema
non stiamo spingendo abbastanza veloce e io
penso sia giusto, quindi siamo molto
fortunatamente in quello che abbiamo avuto a Netflix
ci capita di lavorare in un posto che
capisce il valore del caos
ingegneria per il massimo servizio che
stiamo fornendo agli abbonati e così via
ci danno un sacco di corda per davvero
spingere l’ ingegneria del caos in modo che non possa costare
no non abbiamo inciso sull’iscritto dei costi
impatto che non ci piace negativamente
impatto abbonati, naturalmente, ci sono
sono stati tempi in cui gli esperimenti hanno
abbonati con impatto negativo e in
In questi casi abbiamo la funzionalità
trasformare questi esperimenti fuori subito
e così lo facciamo e per il momento loro
colpisci l’aggiornamento non se ne rendono conto
tutto è successo di solito bene, grazie
è divertente come hai mai provato
liberando le scimmie reali nei dati
centro per vedere come i servizi che rispondono
al caos fisico
quindi di nuovo Amazon non ci permetterà di farlo
le cose per la vista non ci daranno il
le chiavi del data center ma se mai lo faccio
Prendo le chiavi, terrò a mente eh
ok, che ne dici di questo su Netflix
rilasci il codice in produzione non appena possibile
come si identifica il caos in produzione e
poi ha un seguito se sì come si fa
preservi l’esperienza dell’utente mentre
nuovo codice è spinto e sistemi a
riavviato è così grande scala così
tutto così così preserviamo il
la seconda parte è più facile rispondere per prima
quindi conserviamo l’esperienza dell’utente se
identifichiamo un problema in una regione che noi
distribuire regionalmente a tappe così se noi
identificare un problema di solito siamo
identificandolo prima che il problema abbia
propagato ad altre regioni in modo che potessimo
basta trasformare quella regione fuori dal traffico
alle altre due regioni mentre lo aggiustiamo
ora per quanto riguarda il modo in cui gestiamo una correzione
migliorare un problema cosa lo fai
non appena si identifica il caos in
la produzione è la domanda
sì sì no perché di solito una casta
l’esperimento sta determinando un potenziale
vulnerabilità nel sistema, quindi cosa noi
facciamo è generare contesto per il
proprietari di servizi hey probabilmente no
pensa a questo ma se sei a valle
le dipendenze vanno giù o se si cambia
finito nel servire le cose in contanti
allora potrebbe avere questo altro cattivo effetto
sull’esperienza utente, quindi stiamo ricevendo
prima del problema in realtà
manifestandosi nel sistema che è
davvero importante e poi li diamo
il tempo per sistemarlo in modo appropriato
e noi no non guardiamo quello che sono
sono esperti nel loro sistema così tu
so che tocca a loro quello che sono loro
il ritmo di distribuzione sembra avere un senso
okay, come è influenzato il tuo SLA?
cambiare AZ in modo da non passare da AZ
cambiamo regioni
è così, in virtù dei nostri affari, noi
hanno questo grande vantaggio la maggior parte dei siti web
hanno un SLA per cui sparano
qualcosa come meno di quanto sai 600
tempo di risposta millisecondo dire il grande
la cosa su cui lavora per Netflix è di
il momento in cui qualcuno prepara i popcorn
e si siede sul divano e vuole
guarda il loro spettacolo se lo spettacolo prende
scenario peggiore 10 secondi per iniziare
streaming che non stanno scendendo da loro
divano quindi il nostro impatto sul nostro SLA
di spostare il traffico verso una regione diversa
non è evidente agli abbonati che abbiamo
il tempo per due che è buono fa Netflix
avere sincrono o asincrono
architettura di micro-servizi e poi qualsiasi
osservazioni su un particolare approccio up
fino a poco tempo i pezzi fondamentali di
Netflix è un micro servizio micro
l’architettura era sincrona e quella
non era un problema, ora ci stiamo muovendo
diversi componenti principali fino a
comunicazione asincrona IPC e
probabilmente per ragioni che la maggior parte degli altri
le aziende non guarderebbero a trasferirsi
asincrono di solito è per alleviare il nostro
onere delle richieste di servizio interno
non gestire il traffico aumentato
esternamente quindi posso dirti chi altro a
domanda posso dirvi di più su questo
decisione offline ma non è così
la solita ragione per cui andresti ad un
sistema asincrono abbiamo messo un sacco di
risorse per guardare il nostro X Java e
Nettie e architetture reattive di Eric
e quelli sono molto interessanti e vantaggiosi
in alcune condizioni ma non vediamo un
imminente necessità di muoversi
in quella direzione, perché sarebbe così
probabilmente cadono nel campo di sopra
architecting for performance presso il
spesa della velocità caratteristica ok e
allora ne faremo uno in più probabilmente
tempo di pausa e poi le persone potrebbero ancora
ovviamente tutto l’anno per il resto del
giorno sì, quindi usi attualmente
ingegneria dell’intuizione da prevedere
guasti o è più di uno strumento per
è indirizzato a tempi di reazione più rapidi
tempi di reazione più veloci , quindi non è così
bene quasi sempre
ci sono stati casi in cui ci ha aiutato
evitare un disastro per esempio e ho avuto
un ingegnere che aveva il dito sopra il
pulsante inserisci letteralmente e stava per
spostare il traffico da noi ad ovest verso est
e si voltò e vide viscerale
sullo schermo e ha urlato un
sfruttatore e questo è stato molto simile
persona calma, quindi tutti si sono semplicemente congelati
e lui disse oh mio dio okay, noi eravamo io
a sapere che ero sul punto di muoversi
traffico verso questa regione ma l’ho fatto
che Co cambia prima oggi e io
ho dimenticato di mettere un cancello che avrebbe impedito
da allora reindirizzando al terzo
la regione così ha colpito l’entrata che avrebbe avuto
ha portato l’ intero servizio giù perché
avrebbe mandato tutto il mondo
una regione e non è stata ridimensionata a
gestirlo in modo tale da prevenirlo a
disastro ma quel disastro avrebbe avuto
stato autoinflitto
okay, grazie ancora a Casey e
non dimenticare di ringraziarti
Please follow and like us: