Press "Enter" to skip to content

GOTO 2012 • Globally Distributed Cloud Application at Netflix • Adrian Cockcroft


Parlerò di cosa ha fatto Netflix
e fondamentalmente ancora un’altra fetta di nuvola
architetture come sembra quando
fondamentalmente costruisci in cima a quello di Amazon
cloud pubblico e costruire su larga scala
servizio globale e poi finirò
guardando tutti i pezzi open source
che abbiamo pubblicato e alcuni di
quelli che non abbiamo effettivamente messo
ancora fuori ma alcuni dei piani che abbiamo
per cose che stiamo per rilasciare
nei prossimi mesi in modo che tu possa
quindi vai e costruisci il tuo pubblico basato
applicazione cloud o utilizzare questi pezzi
per altri soggetti quindi parlerò
su cosa ha fatto Netflix perché lo ha fatto
e quando lo ha fatto poi guarda il
disponibilità del cloud distribuito a livello globale
modello guarda i componenti aperti e
quindi parla un po ‘di come ti monti
queste cose per costruire la tua piattaforma
così che Netflix ci siamo mossi molto
di cose ad Assasin è il nostro IT aziendale
fondamentalmente abbiamo spostato alcuni dei nostri interni
strumenti che usiamo per gestire il nostro
sistemi come il pager dovere che è il
core rotor e gli alberi di escalation
per chi chiami quando qualcosa è rotto
i nostri sviluppatori sono tutti a disposizione per se
si preme il codice se si dispone di curva
eseguendo la produzione allora è qualcuno dentro
il tuo gruppo o te stesso si alterneranno
essere responsabile di se si rompe alle 3:00
mi fai chiamare e poi
AppDynamics utilizza un’applicazione
monitoraggio delle prestazioni e usiamo le cose
come noi come grandi strumenti di alto livello
come l’ elastico MapReduce che è Amazon
Hadoop
abbiamo quindi creato il nostro livello di piattaforma
personalizzato deliberatamente per ottenere il nostro
sviluppatori quanto più produttivi possibile
questa è la cosa numero uno a cui miriamo
per qui e abbiamo iniziato circa tre
anni fa non c’era molta scelta
lì e là non c’era nulla di simile
estenderebbe alla scala con esso noi
stavano cercando di costruire fuori e sapevamo che
stavano andando a costruire e poi noi
mosso tutte le nostre capacità incrementali di
infrastruttura come servizio abbiamo il
lo stesso piccolo data center che avevamo in
2008 abbiamo circa 10 volte come
molta capacità nel cloud come abbiamo dentro
quel piccolo centro dati giusto, così siamo
qualcosa come al 90% della nostra capacità è
basato su cloud e il data center ha meno
e meno in esso fondamentalmente gestisce il nostro
us-based
business e alcuni dei nostri IT aziendali
ora viene eseguita tutta l’applicazione di streaming
nel cloud
al punto che se si rompono i nostri dati
centro o disattivare la connessione al nostro
lo streaming di data center funziona ancora e
conosci molte delle nostre interruzioni rispetto al
l’anno scorso è stato il data center
si ruppe e tirò giù un pezzo di nuvola
funzionalità in modo da poter finalmente tagliare quelli
collegamenti così ora siamo solo completamente
dipende dalla nube che abbiamo
in realtà ha trovato di essere più di altamente
disponibile rispetto al nostro centro dati e lo farò
parla un po ‘ di come ci organizziamo
che così perché usiamo il cloud c’è tutto
queste cose che non volevamo fare
perché non abbiamo tempo che otteniamo
annoiato troppo facilmente a destra in modo da non ottenere
bloccato con la configurazione sbagliata
dì che sai che ho bisogno di 500 macchine con a
16 gig di ram oh non si adatta davvero
Dan beh sai che ti farò sapere
questo è il doppio del numero di CPU che prendiamo
250 macchine con 32 gig di ram no
problema ci andiamo solo ridistribuire noi
non devi chiedere il permesso se lo sei
spingere qualcosa in prova, se lo sei
allocare i sistemi nei test ogni
lo sviluppatore può semplicemente crearne altrettanti
macchine come vogliono in prova non c’è
permessi non c’è processo di approvazione
non c’è niente, se avete intenzione di
produzione quelli approvazione da a
manager di dire si lo so che questo
la cosa sta andando nella produzione giusta
questo è l’unico controllo che abbiamo e davvero
tutto quello che devi fare è entrare è a
numero del biglietto cambiamento è davvero tutto
ti chiede e puoi digitare qualsiasi cosa
in tal modo se lo fai troppo spesso e
rompere le cose che dovremo fare un abbastanza
poca visione di te, ma trattiamo tutti
come un adulto e noi assumiamo che il
gli sviluppatori sanno cosa stanno facendo e
che risulta dare il bene
responsabilità la gente ci pensa e
che dare alle persone la responsabilità aiuta
tutto ciò che non abbiamo mai a corto di spazio e
potere che siamo stati in grado di lanciare in Europa
semplicemente schierando mille macchine in
Irlanda e Amazon con poche settimane
notare cosa davvero non ha dato a nessuno
notare che ci sono voluti solo poche settimane per
ottenere tutto il codice in fila e ottenere
tutti a spingere il codice che non dovevamo
andare a noleggiare qualcuno in Irlanda e pianificato
roba e tutti quei tipi di cose e
e non abbiamo un IT
dipartimento più io non devo
avere incontri con loro per dire per favore
posso avere alcune macchine e loro dicono
ci vorrà
è come se fosse così c’è un intero
un po ‘ come quello che chiamo
tendenze degli sviluppatori o parole d’ordine di gestione
se ti piace non c’è non c’è si sa come
molte persone stanno facendo grandi big data
haoop in produzione in questo momento pochi di
stai bene come su Amazon Cloud in
produzione di alcuni di voi applicazione APM
gestione delle prestazioni a nessuno di farlo
è un nuovo grande tipo di cose che conosci
come fuori dinamico steinege dynaTrace
roba del genere
devopers integrati che fanno tutto questo
si sa ricevendo il dev e loro ops
insieme vanno bene integrazione continua
consegna va bene che era la maggior parte del
tiene traccia delle persone che imparano come farlo no
sequel alcune persone che non fanno sequel così
dammi una semplice piattaforma as-a-service
orientato al servizio a grana fine
architettura come nessuno oh ne ho preso uno
persona che fa benissimo grigio il resto
di te che ho una grande applicazione
è solo una cosa importante nella codifica sociale
Apri lo sviluppo su GitHub tiri
codice da github la tua applicazione
codice che avete sviluppato e messo su
github è la fonte del tuo conto
che hai messo in produzione alcuni di voi
giusto così abbiamo fatto tutto questo
roba la prima volta che abbiamo fatto questo è
il primo anno l’abbiamo fatto in produzione
quindi abbiamo fatto tutte queste cose e
questo è il problema, penso che tu sappia il perché
Sono qui che parlo a te piuttosto che a te
il contrario, perché abbiamo capito
fuori come fare tutta questa roba sul
ultimi anni e c’è un intero
presentazione separata sul perché Netflix
arriva così avanti alla maggior parte di ciò che è
andando avanti nel settore che deve fare
con una sorta di cultura aziendale e coraggioso
gestione e ingegneri spaventati di essere
trascinato avanti da persone con pazzi
idee e gestione comunque così sto andando
parla un po ‘di come ho spiegato
questo abbiamo costruito tutto sopra
Amazon
quindi stiamo facendo Amazon
cose specifiche che dipendono dalla
caratteristiche di Amazon e così alcune persone vanno
bene e sei bloccato in Amazon e
ci sono davvero due opinioni su questo
le operazioni si concentrano e quante persone
qui è si considerano sono
operatori, quindi ne abbiamo alcuni
okay e poi la maggior parte di voi probabilmente
persone dello sviluppatore giusto
le operazioni sono sempre preoccupano
Casi di utilizzo del data center lock-in del fornitore
risparmi sui costi perché è semplice
misura il costo e sai che tendi ad esserlo
gli sviluppatori molto incentrati sui costi sono di più
incentrato su come ottenere rapidamente le cose
e se hai un fornitore maturo
c’è un test meno complesso e ti fai il debug
devo testare tutto due volte se lo hai
ha due fornitori perché lo sai anche tu
se il codice e le interfacce sono il
lo stesso sai che non funzionerà
abbastanza giusto e dall’altro fornitore
significa che hai un time to market più veloce
per i tuoi prodotti e il tuo costo
i risparmi arrivano nel tempo degli sviluppatori e io
non ho bisogno di tanti sviluppatori da ottenere
qualcosa fatto adesso Netflix vede
il tempo degli sviluppatori come il più grande vincolo
sul nostro business non le operazioni costano ora
potrebbe non essere vero se stai costruendo
widget e stai cercando di dare fastidio alle cose
i widget meno costosi di qualcun altro
ma se sei in una specie in rapida crescita
del business dell’innovazione tecnologica è
quanto puoi sapere quanti buoni?
gli sviluppatori puoi trovare e quanto può
loro producono diventa come tu vada avanti
nel mercato quindi ci stiamo concentrando
rendendo quegli sviluppatori tanto produttivi quanto
loro possibilmente possono e dare loro il
la migliore piattaforma possibile di più
la funzionalità che è il motivo per cui abbiamo costruito su
cima sopra a Amazon, quindi quello che abbiamo
è una base di infrastrutture è ogni
funzione di AWS compresi tutti quelli
che li abbiamo sconfitti per svilupparlo
loro sanno se loro non hanno
funzionalità mancanti continuiamo a segnalare
le funzionalità mancanti e Amazon ascolta
e forse sei mesi o un anno dopo
questa caratteristica si apre e noi nel frattempo
abbiamo costruito qualcosa del genere
così ritiriamo la cosa che noi
costruito e usa Amazon in pochi
casi di questo e sono solo cose
come sai che ci sono cloni di Amazon
ma non hanno tutte le funzionalità
come nears s3 ma ne ha solo cinque
file gigabyte ma vogliamo mettere
file terabyte in là
e quando scrivi un file di terabyte
non puoi semplicemente fare un put perché craps
fuori dopo aver conosciuto dieci gigabyte e
poi si deve ricominciare da
inizio
così in più parti scrive significa fondamentalmente
ti paralizzi multi filo in pezzetti
e scrivi tutti i tuoi pezzi e se a
pezzo non ti riesce a ripetere solo quel pezzo
quindi se lo fai lo sai allora
è molto più complicato del
semplice roba s3 in modo da ottenere tutto questo
caratteristiche profonde e poi in cima
abbiamo aggiunto le nostre funzionalità su larga scala
è ancora una volta flessibile
personalizzabile abbiamo una console chiamata
Asgard che sostituisce la console Amazon
Ti mostrerò una foto più tardi ma
questo è su Github
abbiamo questi qualcun altro prima di te
sai cos’è un a cosa è il caos
Scimmia lo spiegherò un po ‘ più tardi ma
pensa come hai demoni e a
eunuco in onore di Linux che esegue roba per
il sistema operativo le scimmie sono le
servizi autonomi che gestiamo nel nostro
nuvola e abbiamo le scimmie caos e
scimmie janitor e cose del genere il
riordina e uccidi le cose e poi
abbiamo passato molto tempo a lavorare
Automazione Cassandra e Zookeeper a
renderlo banale per chiunque sia schierato
Grappolo Cassandra così alla fine di tale
se sei uno sviluppatore, ho un’analogia
qui se sei un gruppo rock e tu sei
in procinto di andare in tour e ci stai provando
decidere chi scrive la setlist
è il roadie o il musicista va bene
diciamo che sei Eddie Van Halen e tu
voglio portarti vuoi che tu faccia la setlist
ma questa scaletta richiede molto
di diverse chitarre per suonarlo mentre
il roadie vorrebbe che tu ne prendessi uno
chitarra bene va bene in modo che sia i ops
ragazzo voglio mantenere semplice una chitarra
è facile che io possa ottenere come tre copie di
loro e loro sarebbero identici e
tutto funzionerà e lo farebbe
la mia vita è più facile ma van hey Eddie vuole
per suonare tutte le canzoni nel suo complesso
storia e ha bisogno di tutto questo
chitarre dall’aspetto cool tra cui il
a forma stranamente uno là così davvero
hai bisogno di tutte quelle chitarre in tour
e se sei uno sviluppatore che vuoi
scegli la massima funzionalità
piattaforma che ti permetterà di costruire il
prodotto più ricco nel momento più veloce ora
il problema con ciò che chiamiamo libertà
e responsabilità presso gli sviluppatori Netflix
stanno sfruttando il cloud per ottenere il loro
la libertà non abbiamo silos è un singolo
organizzazione non ci sono operazioni IT distinte
organizzazione che vincola ciò che
gli sviluppatori possono fare non c’è separato
organizzazione del prodotto in cui uno
unità di prodotto integrata che include
tutto lo sviluppo e le operazioni necessarie
e in fondo chiama semplicemente Amazon
le API sono direttamente ma tu lo sei
responsabile di quelle cose che il
I ragazzi di Ops si prendevano cura di te così
hai prestazioni di conformità e
disponibilità e tutte queste cose voi
basta avere a che fare con esso
e scopriamo che puoi allenarti
sviluppatori di cui essere responsabile
prestazioni di conformità e disponibilità
e c’è questo bel eddie van halen
cito che è andato in riabilitazione e lo era
in grado di cambiare e migliorare nel fare
queste cose c’è una versione di questo
slide deck che ha riferimenti al van halen
su ogni singola diapositiva perché ho fatto un
conferenza in cui il ragazzo che gestiva il
la conferenza era un maniaco del metal pesante così
parlerò brevemente di quello che è
questo servizio perché la maggior parte di voi
probabilmente non l’ho visto ma lo è
in arrivo abbiamo annunciato alcuni mesi
fa che stiamo lanciando nel nordico
paesi così siamo ora in ottobre quindi
sai forse più tardi questo mese potrebbe essere
prossimamente in qualche settimana si
guarda il servizio di streaming di netflix adesso se
vai a netflix in questo momento
Dedica di avere questo bel schermo qui
dicendo per favore dacci il tuo indirizzo email
e ti faremo sapere quando arriverà
ma una delle piccole cose belle e
non puoi davvero vedere questo
in fondo alla pagina c’è
qualcosa che dice EU west one e poi
c’è un aspetto esadecimale divertente
cosa e questo è DK in modo che divertente
cosa esadecimale se hai usato
Amazon è un ID istanza in modo tale che
fondamentalmente rendiamo nel fondo del
pagina su quale macchina lo ha inviato
così che è aa Amazon Ireland USA EU
Ad Ovest una macchina è un po ‘piccola
cosa sono a volte queste cose forse
non vieni , ho una specie di vario
roba di debug attivata, ma abbastanza divertente
questo è quello che sembra se
non sei un membro quando ti ricordi
si ottiene qualcosa che assomiglia di più
questo ti dà un sacco di film
abbiamo l’ integrazione con Facebook, quindi posso
vedi cose che i miei amici guardano e tu
conoscere tutte le cose che stavo guardando
recentemente e c’è un sacco di bit
e pezzi lì in modo così fondamentale che è il
sito web membro è fondamentalmente dandovi
centinaia di film tra cui scegliere
e cercando di scegliere quelli che saranno
meglio per te piuttosto che solo per te
questo tipo di elenco alfabetico di ogni
film che abbiamo ora consegnato da
il nostro altro servizio che abbiamo che è a
CDN ora abbiamo il nostro costruito in Netflix
CDM abbiamo usato in precedenza Akamai
luci della ribalta al terzo livello, ma abbiamo
recentemente aumentato che con il nostro CDN
ed è quello che utilizziamo principalmente come
stiamo aprendo nuovi servizi
così Netflix è una società di hardware questo è
la scatola che abbiamo è un centinaio di
terabyte di film in una scatola ci danno
a te gratuitamente se ti capita di essere
un ISP con diversi gigabit di Netflix
il traffico che passa e che salva
tu soldi e ci risparmia denaro
funziona BSD e abbiamo messo che abbiamo fatto tutto
dell’ipv6 funzionano su questa scatola e li inseriamo
le correzioni in BSD ne abbiamo trovate alcune
bug nel supporto per ipv6 circa la metà del
il traffico ipv6 del mondo viene eseguito da questi
scatole l’altra metà è YouTube e poi
c’è rumore sull’asse che è Yahoo
e Facebook e tutti gli altri
fa ipv6 ma sai di novanta tu
conosci il quarantanove per cento del mondo
per l’ ipv6 è Netflix l’altra quaranta
un altro quarantanove percento è YouTube
quella era una sorta di perdita del giorno per ipv6 mondiale
la scorsa estate e non abbiamo open source
solo il software per questa casella ma il
progettazione hardware della scatola troppo così questo
tipo di tipo di hardware aperto e ordinamento
di open source ecco una vecchia foto
di qualche anno fa, ora abbiamo otto
cento diversi dispositivi di streaming che
possiamo gestire due TV digitali e
cose che abbiamo spedito questi digitali
TV in Europa per un po ‘e cosa
succede quando si accende il servizio
è che il loro software dice internamente
oh guarda che faccio Netflix ora icona Netflix
apparirà in modo da avere il codice sleeper
in un sacco di un consumatore
dispositivi elettronici andando globale così
servizi principali che abbiamo abbiamo a
sito non membro un sito membro CDN tutto
il back-end per il controllo e la gestione
e instradare il traffico verso quel CDN o
in esecuzione sul cloud abbiamo un archivio API
dispositivi esterni interni un’API per
controllo della riproduzione video QM e DRM
tutto questo così tutti questi servizi funzionano come
SOA a grana fine su Amazon, quindi questo è
conosci una visione di ognuno di noi
la piccola scatola qui è un diverso livello
non è una macchina è un gruppo di
macchine così questa fonte del traffico
questo è tra i diversi servizi
in realtà sto solo correndo nel nostro test
conto ad un certo punto perché il
la produzione è ancora più difficile da disegnare
e ha troppa roba così
alcune di quelle scatole potrebbero avere 500
i server in alcuni potrebbero essere solo cinque o
sei qualcosa del genere se davvero
raccogliere
servus diciamo che il nostro frontend web è
sembra di nuovo qualcosa del genere
un fuori dal nostro account di prova così lo vedi
dice inizio che si tratta di una vista da app
dinamica che sta fondamentalmente facendo Java
strumentazione e misura bytecode
i flussi attraverso tutto il nostro codice di CC e
l’utente finale chiama il servizio web e
sta parlando a un sacco di altri
pezzi e pezzi c’è un servizio sim
che trova film simili a
altri film e un sacco di altre cose
come quella
sì, questo è il flusso generale ma
quello che ti interessa davvero è un singolo
richiesta
quindi un’altra cosa che AppDynamics fa è
cattura una singola richiesta e vede
qualcosa di lento lo prenderà solo così
quello che posso fare qui è che posso cliccare su
nessuna di queste piccole scatole quelle piccole
scatole nere il trapano e mi dà
la traccia dello stack del codice e dove
e quale esattamente cosa HTTP o
richiesta sequel o qualsiasi altra cosa o
memcache D o qualsiasi altra cosa quindi in pratica
si ottiene tutto il codice e si può vedere
cosa sta succedendo, ecco come trivelliamo
dentro e capire cosa sta succedendo
per avere qualche idea è una grana molto fine
architettura di ciascuno di questi servizi
una cosa così il servizio simile a te
dargli un ID utente e un ID film e
restituisce tutti i film che sono simili
a quel film ma filtrato per quello
cliente giusto quindi se è qui potresti
trovare un film come scooby Doo giusto quale
adulti e bambini amano entrambi se lo faccio
cosa scooby-doo sarebbe come un adulto
roba che è così ma se fosse un
ragazzo che l’ha fatto , avrebbe preso il bambino
roba giusta cose così diverse come
che quindi abbiamo un po ‘di architettura
schemi parlerò un po ‘di
modello di disponibilità qui, quindi abbiamo un sacco
di piccoli servizi isolati che ne fanno uno
cosa
sono apolidi e vengono replicati
orizzontalmente che ma per affrontare questo
il modello di sviluppatore è resiliente
logica di business quindi diciamo che sono io
il servizio web e ho intenzione di chiamare
questo servizio simile e dire hey dammi
i film che sono simili a questo cosa
succede se non ottengo una risposta indietro
beh, devo scrivere il codice che presume
che io possa mai ottenere una risposta indietro da
qualsiasi altro servizio che chiamo e che ho
fare qualcosa di sensato e in questo
se solo conosci il film il
la home page è composta da molte righe diverse
delle rose sono simili a 0 se il
servizio simile è
ora non ottieni quelle file che ottieni
come il solito John Roos o ne ottieni un po ‘
altri tipi di strade abbiamo solo quello che abbiamo appena
abbandonare le cose in modo che gradualmente
ricade a un numero sempre minore
esperienza personalizzata ma è a
degradazione graduale che non puoi vedere davvero
succede a meno che tu non sappia esattamente
come dovrebbe essere anche noi
Metti tutto in tre in equilibrio
zone di disponibilità e ne disegnerò alcuni
immagini di questo un po ‘più tardi e poi noi
replicare in triplo tutta la nostra persistenza
e io vi mostrerò spiego di più che così
Domani parlerò un discorso
pomeriggio nel non sequel tratto circa
altamente disponibile nessun seguito con
Cassandra e io ne abbiamo un intero carico
scorre più diapositive in giro
Cassandra e come lo usiamo e poi
costruiamo anche la nostra regione isolata così US
e l’Europa è separata e non prende
l’un l’altro giù così se torniamo a quello
diagramma che avevamo prima di verificare questa
con la scimmia del caos che uccide
servizi individuali quindi dico che ho ucciso
quel servizio che tutto il resto conserva
lavorando abbiamo una scimmia di latenza che
aggiunge latenza o rende quel servizio
restituire gli errori con una certa velocità, così posso fare
restituisce codici di errore serie 500 o marca
su un codice di errore e vedi cosa succede
e i servizi che lo chiamano giusto
avere a che fare con quello o è possibile inserire
ritardi di tre secondi o o non farlo mai
rispondere occasionalmente e cosa succede
allora ottieni gli errori e il
latenza ripple da quel punto e
ci sono altri servizi che devono assorbire
testiamo che in produzione testiamo
la scimmia del caos uccide l’ individuo
istanze in produzione così come ho detto
abbiamo tre disponibilità equilibrata
zone quindi c’è un bilanciamento del carico al
in alto si sta dando da mangiare a tutto il traffico
Zone AB e C che sono separate
edifici che sono circa un millisecondo
a parte giusto quindi sono dati separati
centri all’interno dell’ambiente di Amazon
ci sono est degli Stati Uniti ha cinque zone in Europa
ha tre zone in modo da scegliere tre dei
quelli e dove tutto il
comunicazione tra zone se questo è
riguardare completamente correttamente
secondo l’architettura che di
Certo che non è tranquillo ma è vicino
abbastanza per la maggior parte dei casi fai tutto il
replica da un lato all’altro
strati di cassandra e caching per cui il
livelli di persistenza che lo stateful
i servizi parlano lateralmente per essere sicuri
quello stato esiste in tutte e tre le zone tutte
i servizi stateless parlano solo
tra di loro in modo che se perdiamo un
tutta la zona in caso di interruzione di corrente
che è accaduto occasionalmente il
i bilanciatori di carico devono completare due
terzi della capacità ancora lì e
tutto dovrebbe funzionare ancora
due copie dei dati quando i dati
torna indietro so che copio i dati
torna tutto in sincrono e
continua a correre di nuovo ma o io posso
fondamentalmente basta spegnere il traffico così
Non sto più inviando traffico a questo
zona e poi sai che sarà pulito I
Bing non dovrebbe avere errori ora se questo
funziona bene, otteniamo un po ‘più alto
tasso di errore per circa due o tre
minuti dopo aver perso come un’interruzione di corrente
su un terzo delle nostre capacità proprio quando
va storto prende tutto
ma questo è il modo in cui gli insetti si suppone
il lavoro è che dovrebbe mantenere
lavorando e lo ha fatto un sacco di
volte ora se guardiamo alla persistenza
strato quando stiamo facendo manutenzione su
A Cassandra piace aggiornare una Cassandra
cluster abbiamo un’operazione continua
che sta aggiornando i nodi con i più recenti
versione di Cassandra o di fare
manutenzione su di loro e quindi ci vuole un
Cassandra node fuori servizio
ora ci sono tre copie dei dati così
quello che significa è che sono efficace
perdendo una copia dei dati che è in
quella zona locale ne ho ancora altre due
Copie quindi cosa succede allora è mentre
è in manutenzione, ci fermiamo
replicando il traffico ad esso e a qualsiasi
la macchina in questione cerca di parlare
a quel particolare negozio persistente va
e ottiene i dati dalle altre zone
okay, è qui che succede tutto questo
il tempo in cui non abbiamo bisogno di testare questo
perché stiamo camminando intorno a noi più bui
ottieni una nuova versione di Cassandra ogni due
mesi quindi siamo stati molto bravi a migliorarlo
automaticamente i lavori Jenkins che fanno
niente, ma aggiornare Cassandra così abbiamo
circa seicento casi di Cassandra
e circa sessanta gruppi distinti e io
non so perché abbiamo 60 cluster
tranne che lo abbiamo reso banalmente facile
per gli sviluppatori di distribuire cluster e se
fai qualcosa di banalmente facilmente
ottenere una perdita di esso giusto così come lì
con pochi clic su un sito web io
non so davvero molto di uno sviluppatore
al giorno d’oggi posso schierare un grande arbitrario
Cluster di Cassandra basta andare, per favore
uno e si avvicina e sembra circa
cinque minuti dopo, quindi abbiamo gli Stati Uniti
e l’Europa e loro è un clone
abbiamo tre cose così vedi il mio
poco diagramma ho ora hanno sei
copie complete di tutti i miei dati che ho
sei copie di sei lotti di ogni
servizio ma ho traffico dall’Europa
andando nel traffico giusto dagli Stati Uniti
andando a sinistra qualcosa come un dieci
ad un rapporto in questo momento anche se il
Il sito europeo sta crescendo, lo sai
proporzionalmente più veloce di noi
sito così che è gradualmente quello
il rapporto sta diminuendo e quindi abbiamo
replica globale tra i due e
questo viene fatto attraverso la rete pubblica
Conoscete TLS protetto SSL
fondamentalmente tra di loro quindi è crittografato
e il retro finisce ma la Cassandra ha
un modo di trovare i nodi e l’altro
e l’ altro cloud e abbiamo sicurezza
gruppi istituiti e cose del genere così
fondamentalmente ciò significa questo
tutto ciò che scrivo in Europa in un
secondo circa sarà effettivamente nel
è come se ne conoscessi 100
millisecondi cento 50 millisecondi
latenza quindi è comunque qualunque cosa
molti viaggi di andata e ritorno per inviare il
dati ciò significa che se firmi
come membro di Netflix in Europa e
sei andato quando ciò accade, scriviamo il
dati in Europa ma si diffonde a
ovunque nel mondo, quindi se tu allora
visitare l’America in vacanza o per a
viaggio d’affari che dovresti semplicemente usare
Netflix sei già membro di
Netflix sei un membro globale quindi è un
modello di appartenenza globale è così
anche qualcosa voglio dire ci sono membri
ovunque nel mondo e tu solo
registrati una volta e il gioco è fatto
ok quindi se la rete tra Stati Uniti e
L’Europa scende temporaneamente o si abbassa
o qualunque cosa rimanga semplicemente
lavorare su entrambi i lati lavora indipendentemente
questo è se pensi che questo sia il teorema di Cap
AP partizione destra e sono disponibile
entrambe le parti sono disponibili posso scrivere a
a entrambe le parti posso continuare a iscrivermi
i membri e in seguito se ne vanno e
Il calcio anti-entropia di Cassandra calcia
e tutto torna in sincrono
di nuovo e quando abbiamo perso l’intera zona
non abbiamo avuto l’Europa non è andato giù
abbiamo perso la zona negli Stati Uniti e noi
non ha avuto a che fare con esso quando il
siamo tornati, si è appena pulito
backup abbiamo qualche sequenza manuale
posti di lavoro, ma è per lo più posti di lavoro che Jenkins
questo processo di Jenkins corre intorno
sequenziamento quando facciamo riparazioni se perdiamo
un intero
conosci l’altra regione ancora
funziona così è il modo in cui attualmente
lavoro quindi diamo un’occhiata a ciò in termini di
le modalità di fallimento e gli effetti hanno ottenuto il
probabilità di modalità fallimento di esso che io
tasso più alto se succede ogni settimana
perché distribuiamo molto nuovo codice
aggressivamente e ci occupiamo solo di questo
è basso se lo sappiamo praticamente a malapena
mai vederlo o non averlo mai visto
il suo mezzo se succede abbastanza spesso
che vogliamo essere in grado di avere un
strategia di mitigazione per questo, quindi se il
l’applicazione fallisce questo è il circuito
modello di interruttore o comandanti di dipendenza
noi lo chiamiamo fondamentalmente il tuo software
deve essere in grado di affrontare il fatto
che tutti quelli che stai chiamando potrebbero
essere morto e potrebbe essere perché loro solo
spinto un po ‘di codice e quel codice rotto
e non si sono resi conto e lo sono
saranno rotti per un paio di
minuti prima che realizzino e poi
lo cambieranno in modo che sia un po ‘
noi abbiamo molto rapido rollback istituito
ed è appena lo dici a noi
il modo in cui spingiamo il codice è che diciamo noi
avere 500 server API e ne abbiamo una nuova
build creerà 500 nuovi server API
con il nuovo codice, in effetti, il
la prima cosa che faremo è ricreare aa
esempio di un server canarino lo chiamiamo
sul nuovo codice che e poi se il
sopravvive canarino ne faremo di più
e poi punteremo tutto il traffico a
i nuovi ma lasciamo quelli vecchi
lì almeno fino alla vetta di quella notte
traffico quindi circa 8 ore 12 ore
scomparirà automaticamente 12 ore dopo
quello è uno dei puledri del custode che pulisce
loro o qualcosa del genere
meccanismi per farlo, ma l’idea
è che il vecchio codice è ancora seduto
lì e le macchine sono riscaldate e
pronta Non sono solo di prendere qualsiasi
traffico e se qualcosa va storto
quelli nuovi è possibile capovolgere il carico
bilanciamento indietro ad esso immediatamente
fammi vedere il fallimento della regione è così
successo occasionalmente ed è tipicamente
c’era un errore di routing, che tirò fuori
l’intera regione perché è un buco nero
abbiamo messo in rotta tutti noi verso est per circa la metà
ora ogni pacchetto in uscita non poteva
lasciare che si potrebbe inviare traffico ad esso ma
non hai mai ricevuto nulla in cambio di quello che è
totale regione interruzione ma appena
sistemare il routing tutto tornava e
nessuna macchina è stata danneggiata in questo stato
solo senza traffico
questo è davvero l’unico livello di regione
interruzione che abbiamo visto la maggior parte degli altri
interruzioni che le persone hanno chiamato come
ogni ora intera regione amazzonica è andato giù
era in realtà una zona che scende
causato un sacco di siti web che erano
basato in quella zona per scendere e il
l’ultima interruzione che abbiamo avuto è stata perché avevamo un
bug e non abbiamo gestito correttamente il
caso di perdere in una zona così zona
fallimento diciamo medium a cui intendiamo
essere in grado di esaurire due o tre
zone abbiamo un gorilla del caos che è
la versione più grande della scimmia del caos
che è progettato per uccidere un’intera zona
e vedere se tutto funziona e duriamo
tempo c’era una grande interruzione di rete Amazon
era poco prima che stessimo per testare
quel caso e non abbiamo trovato il bug in
tempo quindi è un po ‘fastidioso ma sì
la ragazza delle mucche è interessante
cosa interessante da provare è anche
capace di muoversi non è tutto nostro
infrastruttura a una zona diversa così
Amazon ha cinque zone quindi stiamo correndo
in tre di loro se uno di quelli
stiamo usando le pause che il gorilla del caos ha
una modalità in cui si muove se tutti i nostri
infrastruttura da quella zona in a
zona diversa e devi riprogrammare
tutti i bilanciatori del carico e tutto
fammi vedere il fallimento del datacenter
ragionevolmente spesso siamo stati fondamentalmente
spostare tutto nella nuvola perché
il nostro datacenter risulta essere inferiore
affidabile e le macchine che abbiamo dentro
ci sono cose come Oracle va giù o
Dati corrompe e si deve aspettare per
per tornare e questa è una specie di
noioso errore del datastore che non abbiamo
davvero perso nulla di Cassandra
ma facciamo backup continui parlerò
di più su questo domani possiamo ripristinare
da s3 sarà una singola chiamata di riposo
causare il ripristino di un cluster Cassandra
a un certo punto nel tempo molto molto in ordine
e poi se s3 fallisce di nuovo
non abbiamo mai visto una copia remota
di tutti quei dati che e abbiamo
un’altra copia non è nemmeno su Amazon a
tutto così abbiamo solo i nostri file di backup e
li teniamo sul lato opposto della
paese e tutto così reale
distribuzione e al lancio noi
ha preso la prima cosa che abbiamo iniziato
l’elaborazione su Amazon era il video
loro stessi, quindi stiamo ricevendo tutto questo
video in e come abbiamo ottenuto sempre di più
dobbiamo reinstallare il formato e il
formati TV di consumo e poi noi loro
vorrà formati leggermente diversi
quindi dobbiamo rielaborare tutti i nostri video
e facciamo in modo che non facciamo alcuna dinamica
non li stiamo leggendo al volo
stiamo facendo codifica di altissima qualità, così siamo
mettendo un sacco di sforzo un sacco di CPU
tempo per ottenere il meglio possibile
immagine alla larghezza di banda più bassa possibile
giusto che valga la pena spendere di più
perché abbiamo abbastanza clienti che noi
sappiamo che andremo a essere dimostrando che
flusso video molte volte se lo fai
codifica on-the-fly che a volte è
utilizzato in particolare per i dispositivi mobili perché
è relativamente bassa larghezza di banda e lì
sono troppi diversi tipi di dispositivi mobili
i dispositivi tendono ad abbassarsi molto
qualità nei codici in modo tale da alimentare i CD
finisce esce attraverso gli ISP e il
il tasso di dati che stiamo alimentando al nostro
i clienti sono misurati in terabyte è
ancora misurato in terabyte alle 4 del mattino
il nostro punto basso sul nostro grafico è ancora
terabit proprio dove è il punto più alto
un sacco di terabyte e l’ultimo numero noi
visto era il 32% del totale degli Stati Uniti
larghezza di banda per i clienti, come il 32% della
Capacità di Internet al picco della sera
Il tempo di guardare Netflix è solo Netflix
film in streaming per persone negli Stati Uniti I
credere in tre mesi nel Regno Unito abbiamo
erano il 2% del totale nel Regno Unito
traffico che era dopo tre mesi di
lancio e dopo circa nove mesi
nel Regno Unito abbiamo un milione di clienti in modo
Non sono sicuro di quanti siano andati così
probabilmente diversi per cento ora su YouTube
circa il dieci per cento di noi larghezza di banda chi
perdere circa il 2 percento del 2 o 3 percento
e bit torrent circa il 10 percento quindi
siamo come molte volte più grandi di
BitTorrent ok, così l’abbiamo fatto una volta
abbiamo avuto anche tutto a volume
molti registri in modo che non si adattano ai dati
Centro ci muoviamo log di elaborazione per la
il cloud è quando abbiamo iniziato a usare
Hadoop e questo è stato nel 2009, quindi abbiamo messo
le API che gestiscono la riproduzione e
DRM nel cloud perché stavamo ricevendo
troppo di quel traffico e poi in
2010
abbiamo avuto questa grande gara e abbiamo avuto questi
scivoli con immagini di aerei
cercando di decollare e grandi esplosioni a
la fine della pista
e dice che va bene , ma noi
non aveva un piano di riserva è come no
non abbiamo intenzione di costruire altri dati
centro sappiamo che non ne abbiamo abbastanza
capacità di eseguire il sito Web entro la fine
di quest’anno giusto e non stiamo andando
per costruire quella capacità e devi
fallo funzionare nel cloud prima della fine
dell’anno giusto, quindi questo è stato il
cosa in arrivo e abbiamo appena alzati così
come poco prima di Natale abbiamo ottenuto il
ultimo servizio fuori dai dati
centro che abbiamo avuto – e questo è veramente successo
l’ attenzione di tutti e stasera
focalizzato a farlo accadere in modo che quello
ha funzionato piuttosto bene alla fine è
quasi tutti Cassandra a questo punto il
il sistema di valutazione funziona ancora sul mio sequel
questa è in realtà un’applicazione molto vecchia
e sono nel mezzo della ricostruzione
per correre su Cassandra è l’unico
paramento cliente app che abbiamo in esecuzione su
il mio sequel e se questo se rompe noi
in realtà il sito funziona senza di esso è
la cosa che ti dice quante stelle
ogni film è dovrebbe essere per te è un
valutazione stella personalizzata e noi solo il
stelle solo noi facciamo senza di loro noi solo
scompaiono dall’interfaccia utente, quindi abbiamo ottenuto
l’API fuori e poi finalmente nel 2011
con cose come il servizio clienti
iniziato può trasferire sul cloud
e nel 2012 abbiamo spostato la fatturazione
stiamo relativamente ottenere ottenga un po ‘
vicino a fare un’idea PC DSS PCI nel
nuvola che probabilmente accadrà
iniziare a succedere nei prossimi sei mesi
a un anno e stiamo già facendo Sox
conformità che è quella di voi in
Gli Stati Uniti conoscono la conformità Sox, quindi è così
già successo nel cloud
va bene, quindi ne abbiamo parlato un po ‘
dei modelli che abbiamo usato
qui e per cominciare stiamo andando a
dai un’occhiata agli obiettivi, quindi abbiamo iniziato
con questo codice nel data center questo
era circa tre anni fa e abbiamo avuto
squadra di circa 12 persone che abbiamo decollato
di tutti gli altri progetti e io ero
gestendo la maggior parte di loro e ho gestito questo
questo processo ed è così che sono finito
come questo tipo di cosa del cloud architect
ma ero un manager di sviluppo allora
e questo è quello che ho scritto tre
anni fa dice che vogliamo essere più veloci
c’era un VP diverso che chiedeva ciascuno
di questi ho vinto VP voleva che fosse più veloce
non sono latenze più basse di cui il ragazzo si preoccupa
prodotto quindi il ragazzo che è stato tenuto
preoccuparsi di farci entrare nel cloud
Non siamo in grado di utilizzare più data center
capacità che non vogliamo più comprare noi
non fare alcun build-out che dobbiamo fare
questo nel cloud e dobbiamo avere no
database centralizzati in scala verticale noi
avevo bisogno di una migliore disponibilità e il mio
manager in particolare stava dicendo che abbiamo bisogno
per ottimizzare l’agilità di un grande
team di sviluppo e lasciarsi alle spalle questo
codebase aggrovigliato di otto anni dove
era davvero un grosso blob di codice in cui
tutto era tutto integrato ogni due
settimane e ci piacerebbe provare e debuggarlo
per un’altra settimana e poi buttarla nel corso
il muro spera che abbia funzionato, così siamo andati
questo componente riutilizzabile a strati pulito
modello e mi sono inventato questa lista di
cose anti architettura perché uno di
le cose che ho trovato con cui lavorare
sviluppatori come se tu dicessi per favore costruisci
questo sono stati costruiti quello o qualcosa
sembra così e continueranno a virare
tutte queste cose interessanti intorno al
bordo che hanno pensato abbastanza spesso
cose che non volevi è per questo
non le hai chieste così che cosa hai
da fare e questo funziona abbastanza bene, come ho detto
Non mi interessa cosa costruisci ma volevo
occupare questo spazio e lo farò
circondarti di anti architettura giusta
Ho un mazzo di diapositive su questo ho fatto una volta
quindi queste sono le cose che voglio
non fare e se riesci a ricordare quelli
allora e anche se non riesci a ricordare
perché puoi dire o Adrian ha detto di no
fare qualcosa non rende le mie istanze
Stateful mi chiedo perché l’abbia detto
perché voglio fare uno stato
perché lo facevo e poi forse
Verranno e ti parleranno del perché
e dopo un po ‘questo ti fa sapere
ognuno lo prende nella testa e basta
diventa una sorta di parte culturalmente giusta
il modello ma quando stiamo cercando di
stabilire questo modello che era abbastanza
controverso che stavamo per fare
istanze apolidi e non andremo ad a
routing base di cookie era una specie di
controverso che non eravamo bravi
stavamo per non fare sequel e
mettere i dati di sessione in memcache e
cose così era così
qualcosa che ha richiesto un po ‘di tempo
funziona a essere
un approccio abbastanza utile che voglio scegliere a
codice strumentale intendo la maggior parte delle persone
scrivere le cose nel loro codice, se lo fosse
basta stampare ovunque o sai
qualunque sia l’ attrezzatura e qualsiasi altra cosa
il linguaggio che stai facendo stai stampando
roba fuori ma avevamo tutto questo codice
il braccio di leva è strumentale ma lo erano
strumentandogli il proprio codice come loro
lo ha scritto quello che abbiamo fatto per il cloud
ci siamo trasferiti dall’avere l’ unità di
integrazione essendo un file jar dove
ognuno ha costruito il proprio file jar e
poi la gente del QA ha cercato di integrarsi
tutti – tutti costruiscono un servizio a
servizio di riposo così hai dovuto progettare il tuo
propria interfaccia di riposo ma tutti lo erano
usando lo stesso servlet di base e noi
strumentato quel servlet di base con a
annota oggetti in grado e tu solo
ha annotato la tua cosa ed è stato lo stesso
oggetto che sputa fuori da questa cosa
attraverso come log4j flussi fuori nel
nel nostro backend tutto si trasforma in alveare
o dovunque dove se vuoi analizzare
con gli stessi nomi sullo stesso
colonne e sai che si finisce con a
modo di produzione predefinito molto stabile
cose e questo significa che tu anche se
scrivi non aggiungere strumentazione
al tuo sistema è già strumentato
perché tutte le biblioteche e la
cose che stai costruendo tutto il
i mattoncini che stai usando sono tutti pre
strumentato e quello che lo rende il
i modelli di strumentazione lo rendono molto
più facile da costruire strumenti che possono quindi
usa questi schemi per darti una bella
visualizzazioni di cosa sta succedendo e se
qualcuno ignora i modelli standard
poi si arrabbiano che non lo facciano
avere strumenti poi poi quel tipo
di esso bastoni e carote proprio questo è
l’approccio carota per convincere la gente
seguire i modelli a costruire utensili per
il modello e poi le persone usano il
modello perché vogliono utilizzare il
tooling okay, parliamo di questo
scimmia del caos abbiamo fatto un post sul blog tecnologico
perché di recente l’ abbiamo aperto da poco
i computer sono morti nei computer del centro dati
è morto qui se stai correndo a basso costo
roba di merce muore più spesso ma
anche le cose costose muore così
il problema è che la maggior parte degli sviluppatori piace
pensare alla macchina che stanno codifica a
come una macchina perfetta che funziona
perché è la tua normale esperienza
ed è fastidioso quando muoiono così tu
non voglio come continuare a scollegare il tuo
portatile o estraendo la batteria nel
mezzo di codifica solo per vedere cosa
succede bene
ma per testare la gestione degli errori
codice che hai costruito devi
iniettare fallimento e cosa stiamo facendo qui
con le mucche la scimmia è distribuita
individuo che uccide SOA a grana fine
istanze è un modo di iniettare che
tipo di modalità di guasto quindi tra 9 am
e 3 pm ogni giorno della settimana abbiamo casualmente
scegli una macchina in produzione e uccidiamo
è di appena sceglie in modo casuale roba e
poi in prova fa la stessa cosa ma
ad un tasso più elevato perché ci sono meno
macchine e ora puoi scegliere se
sei nel mezzo del debugging
qualcosa e qualcosa è in un certo
stato a volte dimentichi quale è
un po ‘seccato ma tu lo scegli tu
non viene ucciso sotto di te e
abbiamo reso questo predefinito ed era uno
dei primi servizi che abbiamo creato in questo modo
le persone hanno iniziato a svilupparsi nel cloud
c’era sempre una scimmia del caos lì
giusto non puoi metterlo come l’ultimo
cosa fai prima di andare a vivere perché
si scoprirà tutte le cose cattive
che sei stato furtivamente lì dentro e
c’è una bella scimmia logo po ‘di caos
che qualcuno Amazon ha fatto qualcosa di carino
t-shirt con mucche scimmie a forse
Potrei indossarlo domani, va bene così
una sorta di idea di scimmia del caos generata a
molto di quello che chiamiamo il simian
esercito di scimmie quindi ne abbiamo molti
ora e siamo aperti procurandoci più di loro
presto ok così se facciamo sviluppatori
responsabile per i fallimenti quindi e svegliarsi
li alle 3 del mattino quando scrivono rotto
codice che si rompe alle 3 del mattino e poi loro
impara a scrivere codice che non si rompe
e sai che è possibile, voglio dire se tu
non imparo quindi probabilmente solo
lasciare o essere spinto a lasciare ma
in generale si finisce con a
team di sviluppatori che possono andare davvero
veloce perché non stanno avendo a che fare
con altre persone che si mettono sulla loro strada
ma sono responsabili per quello che sono
fare
chi è l’ incidente si riduce per trovare le lacune
aggiustare assicurati che non ci sia colpa nel
stanza nessuno si arrabbia in un incidente
rivedere è tutto su ok che cosa facciamo come
possiamo aggiustare ciò che continua o sei tu
dare a qualcuno il contesto sbagliato o il
l’informazione non c’era, c’è sempre
una buona ragione se qualcuno è incompetente
due o tre volte di fila è meglio
di quanto tu sappia troveremo un modo per ottenere
sbarazzati di loro, ma non è così
succede così
quindi un paio di cose che pensi
uno è che c’è un naturale
tendenza quando si notano le cose
il time-out è quello di prolungare il tempo
in realtà è meglio abbreviare il tuo
time out perché è molto meglio
trasformare un timeout in un errore
prima trasformi quel qualcosa
questo è lento in un’eccezione al sistema
si comporta meglio con la propagazione
errori attraverso di esso di propagare
latenza perché cosa succede quando
qualcosa diventa troppo latenza è
inizi a legare tutti i tuoi fili e
tutto si esaurisce e tu inizi
influire sulla capacità di altri servizi
che altrimenti sarebbe riuscito a
entra nel tuo sistema quindi stai molto attento
a tale proposito
e l’altra cosa è fare tutto il tuo
opzioni di configurazione dinamiche che non hai
voglio dover spingere il codice per modificare il
timeout su un servizio o spegnere a
caratteristica o qualcosa del genere e noi
abbiamo costruito e aperto da a
configurazione dinamica gerarchica
sistema chiamato Arceus e ciò che questo dà
noi è la capacità di applicare l’override
configurazione a qualsiasi livello di
granularità potrei fare un override globale
ovunque abbiamo questo servizio
distribuito Posso farlo in un istanza in
una zona o posso fare tutto il
istanze in zona A o posso farlo per
tutte le istanze in Europa così ha
una gerarchia e una serie di sostituzioni
e le impostazioni predefinite e facciamo un è in realtà
il backend ne ha quattro
in realtà un cluster di Cassandra che gira
in tutte queste diverse zone così tu
cambia questa proprietà e si propaga
attraverso Cassandra e poi ogni
la regione lo usa se lo fossi, se lo avessi
ho seguito Michael liberazione delle mie guardie
Rilasciare questo libro è molto popolare
prenota in questo pubblico c’è un circuito
schema di rottura in là di nuovo abbiamo fatto un
abbiamo un ragazzo di cui ho parlato a questo libro
alcuni dei nostri sviluppatori e lo leggono
e è andato spesso circuito implementato
frangenti e noi siamo dove era il ragazzo
supposto di aprire questo, ma lui
continua a essere impegnato, quindi stiamo per essere
aprire la nostra implementazione
ascoltando una cosa java circuit breaker
che sostanzialmente prende il via da una serie di thread
un futuro lo chiama avvolge il
libreria delle dipendenze in questo in questo
thread futuro e se se fallisce
c’è un metodo di fallback e ce l’ha
tutte le altre cose e poi ha
una cosa di monitoraggio che ti dà uno
seconda granularità
date dello stato di ciascun circuito
interruttore in modo da poter vedere in tempo reale
quali interruttori di circuito stanno fallendo
questo era il team di team di front-end API
approccio a non svegliarsi alle 3:00
Sono perché una delle loro dipendenze
sono rotte e, naturalmente, le frecce
spegnere sempre nella parte anteriore in modo da
costruito come un meccanismo di difesa per
punta il dito adesso sono questi ragazzi
che sono rotte puoi lasciarli
dormire bene mentre questi ragazzi
costruito una cattiva libreria o un cattivo servizio
la chiamata perché i ragazzi che capiscono
chi per telefono ha questo strumento che punta
il dito molto accuratamente chi effettivamente
sta causando il problema adesso e io
non camminerò attraverso tutta questa cosa
questo è il vero ragazzo che ha fatto questo
Ben Christensen è davvero fantastico
sviluppatore e lui c’era un video
pensa a lui che era a Q con il Brasile
koukin Sao Paulo quindi c’è probabilmente a
video di lui che sta facendo questo discorso online
adesso, quindi, costruiremo la nostra
propria piattaforma su tutti questi componenti
e tu sai che ho un bel van Halen
foto ha una collezione di chitarre
ci sembra tutto leggermente simile ma
otterranno la stessa immagine quindi è a
Approccio basato su modello giusto a
costruendo le tue chitarre i componenti
è necessario quindi che abbiamo un codice di noi costruire
avere un sistema di costruzione continuo Jenkins
basato in modo che trasforma il codice in AM è il nostro
unità di provisioning come ami non lo siamo
usando il burattino o lo chef usiamo yum una volta e
questo rende il nostro ami e poi lo diciamo
Amazon per favore ne fai 500 e
tutto è preinstallato, non c’è
gnam gnam non può fallire perché l’ ho già fatto
fatto bene hai bisogno di account Amazon
dividiamo i nostri conti con la produzione di test
attraverso quelle cose così abbiamo lo stesso
conto corrente in Europa Europa nel
Stati Uniti e ovunque abbiamo a
account di produzione che è globale ma
allora abbiamo un account di prova che è
globale giusto, ecco come funziona
potrebbe tagliare l’altro modo, ma sembra
per funzionare meglio per noi abbiamo un gateway
Ti mostrerò cosa significa questo
entrare nel cloud se lo si desidera
login che ci dà un controllo e
controlla lì abbiamo un servizio
proprietà di configurazione del registro
mazzo di servizi persistenti
potrebbe avere il monitoraggio dell’avviso di inoltro
backup e archivi e questo è il
pezzi di piattaforma di base con tutti quelli
pezzi allora puoi iniziare a schierare
codice e costruire il proprio servizio su
superiore
quindi c’è un discorso di Brian Moyles e
Gareth Bale su SlideShare che è
da una conferenza Jenkins o qualcosa del genere
questo è ciò che la nostra pipeline di banconote sembra
come abbiamo costruito da Forza
abbiamo usato perforce per molti anni
ora abbiamo iniziato a usare github perché
è là fuori e abbiamo un interno
git repository pure così il sistema
fondamentalmente va e tira fuori i dati
github
lo mette in prima fila nella build
la pipeline lo divide, quindi se tu
voglio distribuire nuovo codice alla produzione
per uno dei nostri progetti open source in
la maggior parte dei casi non è sempre rozza ma
la maggior parte dei casi metti il ​​codice dentro di te
testarlo localmente ma la produzione
versione che in realtà messo in
repository open source e quindi scorre
tornare indietro e riutilizzare okay
così gli altri standard passi dentro
Jenkins affronta il conto di compilazione per il controllo della risoluzione
e poi pubblichiamo i componenti che
sono file jar o qualsiasi cosa in artefatto
e poi yum tira fuori quelli e
fondamentalmente ha costruito rpm e tu sai
lo attacciamo al nostro sono attualmente
CentOS ma ci stiamo anche muovendo verso l’uso
Ubuntu presto così l’architettura che
questo va avanti è che c’è un maestro in
il nostro data center perché dovevamo iniziare
da qualche parte e non abbiamo avuto nuvola si
prendi un po ‘di tempo per andare al bootstrap
te stesso e che gestisce un gruppo di schiavi
che sono anche nel nostro centro dati ma noi
mantenuto a corto di capacità e questo
il tizio ha detto che possiamo fare il cloudista
capire questo così questi Amazon VPC a
creare slave dinamici costruiti nel cloud
questa è un’estensione del nostro centro dati
basato su sistema costruito proprio così ogni volta che noi
fai una ricostruzione completa e abbiamo bisogno di te
sa che 1500 lavori appariranno appena girerà
un numero arbitrario di cloud based
macchine e se si ottiene inattivo per la metà
un’ora si chiude e se ne va
uccide se stesso giusto, quindi è fondamentalmente
il modello il software per farlo noi
chiamalo schiavo Dyna e questo è il nostro
elenco di cose che stiamo per aprire
fonte abbastanza presto alla fine di quest’anno
Nader lo fanno ora in questo trimestre
ci sono un sacco di cose che stiamo facendo
abbiamo usato Ivy per una dipendenza
mappatura che tipo di colpetto a Maven a
un po ‘e poi abbiamo finito per ordinare
di migrare tutto a Gradle che
è una specie di migliore di entrambi
e questo è il nostro approccio attuale e
usiamo un sacco di groovy Grails di tipo
roba in casa comunque così abbiamo appena
finito usando groovy come oh e tu sai
Il negozio Java che usi è Groovy
il tuo tipo di linguaggio di fallback per a
un sacco di cose così sarà di nuovo questo
parte del sourcing aperto penso che sia così
la panetteria crea fondamentalmente questa base ami
così bene il primo passo nella panetteria è
che circa una volta al mese creiamo un nuovo
base ami che contiene tutte le ultime
patch e cose che ci interessano e
strumenti di monitoraggio integrati e cose e
allora tutto ciò che poi costruisci è
installato in cima a quella base, quindi
come se avesse Tomcat e Apache e tutto il resto
quella roba così sopra a quella build
processo prende la base ami e giusta
gocce nelle tue gocce nel tuo file di guerra o
qualunque altra cosa tu voglia montalo
monta un’installazione di istantanee EBS e
lo cuoce e si cuoce in tutte le prove
del nostro sistema di generazione produce codice
Go am is that go to test una volta che hai
capito che questo è il codice di lavoro e
ti piace , c’è un’operazione di rebake
che ciò che si applica a livello di script è così
modifiche e modifiche alcuni
variabili di ambiente e prende quell’Ami
e ne fa una versione di produzione
ami e poi lo scalerai
produzione giusta quindi il sistema di costruzione
mai generalmente non va mai direttamente
pod o prodotto passa sempre attraverso
test e c’è una panetteria in ciascuno
regione perché ami è una roba s3
regionali Va bene così i conti abbiamo istituito
stiamo isolando le preoccupazioni con ciascuno
account, quindi abbiamo un account di prova per
sviluppo e test abbiamo un tagging
operare un meccanismo in modo che un individuo
lo sviluppatore può dire che voglio questo
due o tre servizi per essere il mio speciale
versione su cui sto lavorando , ma il resto
di questi 300 diversi servizi lo farò
basta usare quelli generici giusto così
questo ci dà un modo per far scorrere il tuo cappotto
il tuo traffico attraverso uno scopo specifico
impilare perché ne abbiamo poche centinaia
sviluppatori che condividono questo ambiente e
quindi in produzione è Auto scala
solo i gruppi non sono isolati
istanze infatti le scimmie in prod se
vedono un’istanza isolata che è
non fanno parte di un gruppo di auto scale
lo interromperà
che ti insegna a non farlo in modo equo
rapidamente non lo faranno non aspettano o
sostengono che dicono semplicemente di no
e-tutto architettonico deve essere in un
ordina il gruppo di scale e se non sei tu
non dovrebbe essere qui
quindi questa è la politica di implementazione in
codice che non riesci a tirarlo fuori puoi
grida alla scimmia ma a lui non importa
fammi vedere cos’altro abbiamo che abbiamo
un controllo un conto separato per l’audit così
vuoi se lo farai
verificato per Sox o PCI che si desidera mantenere
quello che riguarda il più piccolo possibile
quindi abbiamo recuperato 10.000 macchine nel nostro
conto regolare questo ha forse a
cento meno di cento macchine e
ci sono alcuni sviluppatori che hanno il
speciale gruppo LDAP e lo speciale
i privilegi e hanno e possono ottenere
in quelle macchine e poi abbiamo avuto
le persone sono state viste come positive
controllo di sfondo che può effettivamente ottenere
nel caveau dove tengono il
carte di credito e tutto quel genere di cose
in modo da sapere che hai avuto modo di avere di più e
più controlli di accesso e più auditing
per accedere a questi sistemi ma tu
conosci il 99% del nostro codice e sviluppatori
non c’è bisogno di toccarlo e loro no
distribuire su quel sistema in modo che possiamo lasciarlo
molto aperto e libero così da farli lavorare
cosa fanno ciò che vogliono e poi noi
avere un account separato per il disastro
recupero e archivi che è una lettura
scrivi ma non cancella e usa s3 in
la modalità di sovrascrittura quindi non è possibile eliminare
qualcosa sovrascrivendolo semplicemente
impila le versioni giuste e poi quelle
volte tutto fuori dopo pochi mesi
ed è qui che teniamo i nostri archivi
l’altro sai che li abbiamo messi in un
archivio diverso in un altro
regione ed è un account diverso con
credenziali diverse in modo da non poter ordinare
di crack l’account e poi entrare
questo e crittografiamo i dati che abbiamo inserito
anche lì solo perché siamo paranoici
Immagino che le prenotazioni ce ne siano
cosa interessante così le persone sono ancora
cercando di capire con Amazon ma tu
puoi combinare tutti i tuoi account in uno solo
conto e si può tirare la capacità di ottenere
sconti e prenotazioni maggiori
ci sono un paio di cose interessanti che puoi
ma solo usando le prenotazioni
ricevi uno sconto del 71 % una volta
ottenere un valore di qualche milione di dollari
volume ci sono ulteriori sconti su
in alto, quindi se stai mettendo un
notevole quantità di traffico in
Amazon è come qualsiasi altro fornitore Enterprise
a questo punto ti piacciono sempre di più
grandi sconti quindi non guardare il
elencare il prezzo di listino pubblicato e assumere
quello è il volume del prezzo
tu
eppure puoi capirlo anche tu
priorità con le prenotazioni quindi se ho
ho una prenotazione inutilizzata che dico per favore
dammi quella macchina sei garantito
per ottenere quella precisione della macchina per te se
stai facendo la cosa on-demand e
capita di essere esaurito allora tu
posso dire che puoi riaverlo un po ‘
errore scusa non ne abbiamo nessuno di loro
sinistra tipo di cosa, ma se prenoti
che hai capito e poi questo molto bello
cosa che potrebbe non esserlo
e tu e te ne freghi, parla con me
successivamente le prenotazioni non utilizzate sono condivise
tra i conti quindi non li abbiamo usati
prenotazioni in produzione perché siamo
è dove vogliamo la nostra capacità extra
essere e vogliamo sempre garantire
loro ma abbiamo tutte queste macchine dentro
prova però è solo fluttuante
capacità e quando alla fine del
mese le prenotazioni non utilizzate in
la produzione viene applicata alle macchine
abbiamo in test in modo che in realtà finiscono per
usando sai come ottenere un grande sconto
le nostre macchine di prova hanno ragione, ma ci sto arrivando
il beneficio delle riserve in
produzione
è un trucco pulito e comunque non lo è
preoccupati se non hai ottenuto quello che io
stava parlando quindi abbiamo un sacco di
sviluppatori e vogliono entrare
tutti sono stati a Kings Cross e
Londra tu e chiunque altro in tutto il
Roba di Harry Harry Potter che è in realtà
hanno questa iscrizione sul più spessa
stazione tra la piattaforma di stato 9 e
piattaforma 10 c’è in realtà un muro
con la piattaforma nove e mezza o
tre quarti o qualunque cosa sia scritta
su di esso quindi sembrava un buon gateway
cosa così abbiamo tutti questi diversi
prodotto il mio servizio web server e ho
servizio di livello di accesso ai dati e io mai
Servizio Cassandra e tutto il
gruppi di sicurezza sono impostati per loro a
essere in grado di comunicare tra loro e voglio
a SSH in e pasticciare con uno di questi o
quale prigione esegue vmstat o qualcosa del genere
che se accedo al front-end posso
quindi il SSH non riesco ad arrivare a un altro
servizio posso solo essere in un caso I
posso solo arrivare alle mie istanze attraverso il
gateway che significa che posso controllare il registro
ogni festa che registra tutti
che copia sempre i dati avanti e indietro così
abbiamo una storia e usiamo questo in
produzione, ma per il verificabile ordinata
conto questo è abbastanza importante che possiamo
traccia perché possiamo controllare
e possiamo vedere quello che sta succedendo non lo facciamo
smettila di farlo, ma noi ci colleghiamo
tutto così sappiamo che ha effettuato in
quale servizio e cosa hanno fatto e
se hanno copiato qualcosa indietro e
avanti bene e questo è molto utile se
succede qualcosa di strano e tu trovi il
sistemi in uno stato strano che puoi trovare
chi lo ha fatto e chiedere loro perché lo hanno fatto
e sai che di solito non è per
come i motivi dannosi questo di solito
qualcuno non si rendeva conto che lo erano
fare qualcosa che potrebbe rompere ma
la cosa fondamentale qui è che la sicurezza
gruppi sulle singole macchine solo
fidati del gateway di cui non si fidano
altro e questo è sempre impostato
in questo modo tutti sono abituati ed è così
un modo pulito di configurare tutto così
aggiungiamo un po ‘di codice, oh mio Dio, sono fuori
di tempo sì va bene vediamo che vado un po ‘
più veloce questo è il nostro account github che
abbiamo fatto usando alcune cose di Netflix ma
queste sono le diverse app che abbiamo
Andiamo attraverso abbiamo bene che abbiamo
tutte le diverse fasi per cuocere le immagini
Il registro di lancio di aSG e
configurazione di tutte le cose di runtime solo
come dio
Ho una cosa sommaria da qualche parte lì
andare così questo è i progetti open source
non posso nemmeno leggerlo sul mio
lo schermo qui lo rende più grande
quindi abbiamo priam come Cassandra
servizio posso schierare un cluster Cassandra
banalmente si configura automaticamente
tutto Aslan as è una libreria client
tutti quelli che sono in rosso sono
attualmente su github è un miglioramento
se qualcuno ha fatto Cassandra loro
potrebbe probabilmente usare Hector che è il
client Java standard avremmo avuto a
un sacco di cose che non funzionavano
bene per noi che abbiamo scritto la nostra cache
jmeter è una suite di test che è stata modificata
jmeter per aver messo prove di stress
e poi abbiamo un guardiano dello zoo e un guardiano dello zoo
modella un servizio di scoperta come a
registro di servizio una proprietà dinamica
servizio che ho citato abbiamo auto
script di ridimensionamento che fondamentalmente
metrica commerciale pubblicata
su Amazon, quindi puoi usarlo come auto
scalabilità metrica log4j streaming Asgard è
questa grande console grande Grails groovy
app allora abbiamo la scimmia delle mucche così
quelli sono quelli che abbiamo avuto
già abbiamo pubblicato post su Evie
cache e interruttore automatico, ma quelli sono
uscirà fuori come codice piuttosto bello
presto avremo la struttura di un esploratore
che è tutte le console e
dashboard è necessario visualizzare tutto
c’è un Cassandra Explorer che lo lascia
vedi tutti i grappoli e vedi il
intriganti e frugano in giro e vedono
cosa sta succedendo
quindi qui nessuno ha usato il succo Google
succo per iniezione di dipendenza
quindi questo è il Governatore che uscirà presto
questo è un Abbiamo c’è un gran casino di
cercando di capire come inizializzare
tutto nel giusto ordine e noi siamo
solo riprogettando tutto in questo momento
essere basato su Governator che è a
Versione Juiced di succo sorta di Odino
con Asgard e Odino abbiamo finito il greco
dio, così abbiamo iniziato a fare dei dei nordici o
uno dei gruppi ha deciso di fare un
voce di orchestrazione del flusso di lavoro
punti è un servizio interessante con
è un registro dello stato del sistema di
tutto nella nuvola con un pieno
storia quindi posso dire esattamente quale stato
era il sito era tutto in questo
punto nel tempo e c’è un sacco di
le scimmie tendono a rovistare in questo
è tutto aria di latenza del servizio database
iniezione un mezzo più sofisticato
la scimmia janitor di bilanciamento del carico di livello va
e ripulisce le risorse di Amazon che tu
non ho usato per un po ‘ il tutto
panificio invitare schiavi Dinah che ho
menzionato in modo che è fondamentalmente abbiamo
A cosa stiamo lavorando succederà, voglio dire
ha lavorato per quest’anno
resilienza più indurimento dell’automazione
bassa latenza open sourcing di tutto
per tutti coloro che ottengono più lavoro su ipv6
attraverso tutto e noi saremo
il nostro obiettivo è ottenere tutto questo
possibile entro la fine di novembre che
è dove Amazon ha una grande conferenza in
las vegas ha chiamato reinventare AWS e noi abbiamo
ho pensato più di 10 persone di Netflix
presentando incluso il nostro CEO
facendo un discorso sul futuro del cloud e
abbiamo visto una versione interna di questo e
metà di te più del cloud che
la metà dei tecnici tra il pubblico che
era un po ‘ interessante, ecco cos’è
in sostanza
allora

Please follow and like us: