Press "Enter" to skip to content

GOTO 2017 • Site Reliability Engineering at Google • Christof Leng


[Musica]
e l’ urina ha parlato di molte cose
dal libro Essary una specifica per
monitoraggio
grazie per il collo di vendite parlerò
di più sullo sfondo filosofico
l’idea dell’ingegneria dell’affidabilità del sito
in generale quindi l’affidabilità del sito
ingegneria è una specie di nome strano così
da che cosa nasce questo sito?
essenzialmente l’ allenatore aveva una squadra di
sette persone che gestiscono tutta la produzione
e la loro profonda missione nel 2003 era
per mantenere questo lato dove era il sito
google.com e se Google comp è inattivo
anche nel 2003 erano grandi notizie e
è stato molto brutto per la compagnia, quindi è un
missione critica ed e quello era il
dichiarazione di missione al giorno d’oggi sito
l’ingegneria dell’affidabilità è molto più ampia
e ci sono molti servizi diversi
che sono gestiti da tre squadre interne
servizi infrastruttura interna molti
cose diverse quindi forse il servizio
l’ ingegneria dell’affidabilità è ciò che voi
potrebbe piacere pensarci ma poi
c’è quella seconda parola lì dentro
affidabilità bene immagino che tutti siano d’accordo
quell’affidabilità è una bella proprietà
ma è davvero così importante, intendo
come sviluppatore probabilmente puoi venire
con un enorme elenco di proprietà e
cose che vuoi vedere nella tua
software e affidabilità è uno di
sono sicuri, ma è la massima priorità
beh, puoi discuterne , ma
lascia che te lo dimostri così probabilmente
tutti sanno che un servizio di Google ha chiamato
Gmail è probabilmente una cosa del web man
hai almeno visto o forse hai usato
esso
e se guardi a quella gmail 2016 it
ha tonnellate di belle caratteristiche che piace
ordinare cose in social e promozioni
automaticamente ha questo molto potente
ricerca e molte cose sotto il cofano
che non vuoi perderti ora immagina
Vorrei togliere tutte queste belle caratteristiche
via e ti darebbe un anno come cinque
vecchia versione di Gmail che sarebbe
davvero deludente a cui ti sei abituato
tutte queste belle caratteristiche che non hai
vogliono perderli ma cosa succede se il
alternativa a un gmail del 2011 o così sarebbe
essere quello di un prodotto che chiamo Gmail
500 preferiresti questo perché
non importa quali caratteristiche hai
quali caratteristiche offri se non lo sono
disponibile se i tuoi utenti non possono usarli
quindi è meglio perdere ogni tipo di
funzione se è possibile creare il proprio sistema
disponibile e affidabile così che è il
caratteristica superiore che si desidera, ma il
il problema qui è l’affidabilità è un po ‘
come l’ossigeno è tutto intorno a noi e sì
tutti sanno che abbiamo bisogno di sopravvivere ma
perché è un po ‘ più grande di noi è
facile da prendere per voi scontato rapidamente
dimenticalo
e il problema è quando lo noti
è sparito è troppo tardi e tu
sono in una situazione molto pericolosa allora
e probabilmente ti ci vorrà molto
il tempo di tirarti fuori da quello
situazione di nuovo così quando un sistema
fallisce sistematicamente c’è probabilmente
non solo una cosa è andata storta
non due cose probabilmente tre quattro cinque
le cose in parallelo sono andate storte
dopo l’altro e poi hanno causato questo
tempesta perfetta che ha preso il takedown
il tuo intero sito web o qualcosa del genere a
farlo funzionare spesso non lo è
sufficiente per risolvere solo uno di questi cinque
le cose spesso devi sistemarle tutte
e fino ad allora tutto è andato a fuoco così
il problema qui è che devi pianificare
in anticipo per assicurarsi che il vostro soggiorno
affidabile e non è qualcosa
dove puoi solo reagire e sistemare le cose
quando si rompono ora il problema è qui
come ho detto prima come sviluppatore tipico
hai così tante cose nel tuo piatto
e l’affidabilità è una di queste, ma lì
sono altre cose che le persone fanno pressione
a fare le cose per attuare le cose
prenditi cura di te devi lanciarci
scadenza
questo è il monitoraggio più tardi possibile
aggiungi che le persone ci faranno sapere quando
il servizio è fatto in modo reale
la cosa importante qui è che tu abbia
qualcuno nella tua organizzazione che è
dedicato all’affidabilità di cui solo
scopo e missione è fare le cose
affidabile e per mantenerli affidabili e
quella persona può parlare di quella squadra
parlare e dire guarda che dobbiamo prendere
cura di questo e ci penseremo noi
questo noi possediamo questo argomento e questo è
perché ho ingegneria dell’affidabilità all’interno
Google è la sua organizzazione fino al
Livello SVP e questo lo rende molto
autonomo e ci dà la voce
parla ora di affidabilità cosa facciamo
questo discorso riguarda l’affidabilità del sito
ingegneria a Google ma ci sono molti
di altre società che fanno sito
ingegneria dell’affidabilità, alcuni di loro lo fanno
leggermente diverso puoi leggere molto
a questo proposito nel libro che è stato menzionato
multiplo
tempi e una cosa che è molto tipica
per essary su Google è che lavoriamo a
i sistemi su larga scala di Google tendono a
essere abbastanza grande, quindi questo ci dà un sacco di
opportunità ma è anche enorme
sfida perché il nostro sistema cresce
da un milione di utenti a dieci milioni
utenti a 100 milioni di utenti a un miliardo
utenti
non puoi semplicemente aumentare la dimensione del
team operativo per tenerlo in esecuzione
non può aumentare la dimensione di quella squadra a
mille volte non si vuole pagare per
che molte persone e anche il tuo
l’organizzazione non si ridurrebbe in questo modo
detto anche se corri molto più piccolo
organizzazione è molto importante
cercare queste cose presto e
possono pagare molto, soprattutto quando
hai successo perché allora
spesso si arriva a un disastro di successo
situazione in cui è come se si imposta
te stesso per fallimento nel momento in cui tu
tutti gli utenti vengono e amano il tuo prodotto
e voglio usarlo fallisce e ottieni
la cattiva stampa nel momento peggiore ora
l’ingegneria della responsabilità informatica ha
affidabilità nel nome ma non lo è
l’unica cosa che facciamo è anche circa
efficienza se si esegue un sacco di servizio
salvare alcuni server può far risparmiare parecchio
soldi e lavoriamo a stretto contatto con il
team di sviluppo su come costruire nuovi
sistemi e renderli affidabili dal
inizio
renderli scalabili renderli efficienti
renderli veloci e renderli molto
processo indolore per lo sviluppo
squadre perché vogliono concentrarsi sul
caratteristiche che vogliono costruire questo
pazza nuova cosa e poi voglio
preoccuparsi
erano con l’infrastruttura così tanto e
Credo che la chiave per l’affidabilità del sito
l’ingegneria è che è un’organizzazione
che è stato progettato da ingegneri del software
quindi trattiamo le operazioni come un software
problema di ingegneria e quello
cambia fondamentalmente la prospettiva
come trattiamo queste cose, ma ho detto
Va bene così ho ingegneria affidabilità corre
operazioni quindi è un team operativo
e se sei stato nel business per
un po ‘probabilmente lo hai imparato
team di sviluppo e squadre di Hobbs a cui appartengono
combatti sempre e puoi risalire a questo
gli anni sessanta a probabilmente prima dei tempi
attraverso i nostri computer come probabilmente il
persone che progettano piramidi e il
persone che costruivano le piramidi
combattendo sempre immagino ora testimoni
vengono da bene sono fondamentalmente
diversi incentivi per un team di sviluppo
Voglio dire se sei uno sviluppatore e io ho
sei stato uno sviluppatore tu hai questo
idea fantastica su come costruire qualcosa di nuovo
quello cambierà il mondo farà il
gli utenti sono felici e rendono questo pianeta un
posto migliore e tu vuoi ottenere questo
cosa fuori della porta e si desidera
avere successo d’altra parte le operazioni
squadra che vogliono un sistema di assistenza
sono responsabili di far saltare in aria non
sul loro orologio non su chiunque altro guardi
del resto, ma decisamente no
il loro orologio in modo da non voler ottenere
paginato nel mezzo della notte che è
come una situazione terribile a cui nessuno piace
quello e
sai qual è il motivo numero uno
di rottura siamo noi è cambiamento e cambiamento
è esattamente ciò che gli sviluppatori vogliono e
cambia questo esattamente quello che vuole Steve
per prevenire si, quindi devi trovarne
middle ground right così tradizionalmente
quello che succede è il team operativo dice sì
certo lancia questa cosa ma prima di tutto
hanno uno sguardo esso fare una grande recensione
devi istruire la tua cosa
noi ci presenteremo a noi lo faremo
fare una revisione vogliamo documentazione di progettazione
e bene c’erano molte cose
è andato storto in passato, quindi abbiamo creato
questa lista di controllo qui e passiamo attraverso
quella lista di controllo si assicura che tu non lo faccia
fai una di quelle cose che sono andate
sbagliato in passato in questa azienda o in qualsiasi altro
altra compagnia di cui abbiamo mai sentito parlare
continuerò ad aggiungere cose alle loro
lista di controllo fino a quando questa lista di controllo è enorme
foglio di calcolo e hai bisogno di un progetto
gestore di come amministrare il processo
ed è molto doloroso e poi lo sei
come se non bastasse davvero devi
guarda il sistema stesso come il bianco
approccio alla scatola che devi fare tecnico
immersioni profonde e cose di questo tipo ed è
rallenta davvero il team di sviluppo e quando
pensano di essere pronti a lanciare un
sistema fantastico, chiedi loro di farlo
questo questo e questo e questo non è questo
che probabilmente è un altro da sei a dodici
mesi di lavoro è fondamentalmente come un
pubblicare la recensione del codice di presentazione che tutti odiano
quelli, ma gli sviluppatori sono persone intelligenti
giusto quindi devono contrastare le tattiche
non è proprio un lancio è proprio come
un piccolo rischio di rilascio di manutenzione Qi
cambia flag flip
20% di esperimenti, non è necessario
rivedere per quello e ora il problema è
supereranno sempre la squadra degli ops
perché hanno costruito il sistema no
importa quali ingegneri intelligenti hai su
il team operativo sono sempre a
svantaggio
non possono mai sapere il codice base come
bene come le persone che hanno appena scritto
così la squadra che ne sa meno
il codice è colui che soffrirà se
le cose vanno a sud ora sai dove sei
Devo dire che Krampus è l’accettazione
un inevitabile no
quindi questo tipo di tradizionale molto tipizzato
il controllo del lancio non funziona così a
Ingegneria dell’affidabilità del sito di Google
in genere non cercare di farlo
cerca di non evitare tutte le interruzioni nel
primo posto o addirittura dire al team di sviluppo
cosa fare cosa pubblicare c’è a
responsabilità del team di sviluppo ora
potrebbe chiedersi come sono le celle di Google
sono ancora disponibili c’è molto
semplice regola, ma per spiegare quella regola noi
prima è necessario spiegare i budget Aero a
spiegare i nostri budget a cui dobbiamo pensare
SLO c’è molto livello di servizio
obiettivi che abbiamo certe metriche dire
quanto è disponibile il tuo servizio o come
veloce il tuo servizio è ciò che la latenza è
li misuri per il quale hai bisogno di monitoraggio
ed è per questo che il monitoraggio è a
lo strato più basso di questi parametri
abbiamo visto l’ultimo discorso e poi
sì un sacco di soglie in cui dici
va bene questo servizio ha bisogno di dimostrarti
fornire due nove di disponibilità voi
misura che controlli la soglia e
se non sei entro la soglia
sei fuori SLO che non hai fatto il tuo
obiettivo del livello di servizio e tu metti tutto
di quelli s ellos int o un contratto
chiamato un accordo sul livello di servizio e se
quello non è incontrato tipicamente qualcosa come
i tuoi clienti restituiscono i tuoi soldi o
quindi è molto importante stabilire
quella cultura di SLA s e s ellos nel
primo posto
e per dire di avere tutti nella stanza
d’accordo che questa è la metrica con cui
siamo giudicati e le mani di scambio di denaro sono
generalmente un consenso molto molto buono
costruendo ora qual è il giusto SLA per a
prodotto ovviamente al cento per cento
le cose giuste non dovrebbero rompere quello è
vero per determinati tipi di prodotti, quindi se
Ho sempre bisogno di un pacemaker che certamente faccio
non voglio qualcosa con il 99,5 percento
disponibilità anche se se hai sentito
la nota chiave stamattina se lo sei
invio di 2 miliardi di astronave su Marte
faresti meglio a farlo bene la prima volta
perché anche se ti danno due
miliardi di dollari lo faranno probabilmente
ti ci vorranno ancora altri cinque anni
quelli sono casi che ho visto in gioco
dove ti occupi di una volta-nella-vita
possibilità ma potresti voler ottenere il 100%
ma questo ha un costo e il
la domanda è che il costo è giustificato e
se guardi dispositivi come questo
uno o come questo
e quelle altre cose che tipicamente
utilizzare per accedere a tali servizi che non lo fanno
venire al cento per cento di affidabilità
se stessi se estraggo il mio telefono o il mio
pocket accenderlo e accedere a un random
possibilità della pagina web che tale richiesta sarà
reave passo dove pagina sono ciò che 99 di
Probabilmente 100 volte in altri casi
qualcosa non va con il
telefono qualcosa non va con la cella
segnale con l’ isp con qualcosa
è successo qualcosa e il tuo servizio
non ha nemmeno visto la richiesta in arrivo
e così se lo farà una su 100 richieste
fallire comunque non ne infastidisce affatto
utente se uno su mille richieste
fallisce a causa tua perché tuo
il servizio non era disponibile in quel momento
questo è solo rumore di fondo che no
si noterà anche così, naturalmente, tu
può aumentare da 4/9 a 5/9 ma il
il costo è esponenziale sta diventando più difficile
e più difficile da fare sistemi che
disponibile sia dal momento dell’ingegneria
e dalle risorse di cui hai bisogno
spendere ed Excel essenzialmente alla fine
del giorno non ti compra nulla perché
usa non notare che hanno la parte superiore
problemi quindi la domanda è qual è il
l’ obiettivo giusto di un SLA per il tuo prodotto
e non posso darti una regola generale di
pollice che è come fino al prodotto
gestione del tuo sistema qual è il
giusta percentuale che voi utenti siete
felice e tipicamente quello che è ogni compito
guardiamo quando siamo allertati perché noi
erano fuori SLO ma tu ci usi
i nostri utenti erano felici quindi probabilmente se
quello succede molto lo SLO è troppo stretto
anche noi abbiamo un modo per aggirare lo SLO
sciolto quindi è un po ‘ iterativo
progettare un processo per trovare il giusto
colpire il giusto equilibrio tornando a
il budget della freccia ora immagina di avere un
servizio che serve dire un miliardo di membri dell’equipaggio
è al mese e hai impostato il tuo SLA
fino al 99,9% di disponibilità che significa che puoi
servire il milione di frecce al mese e
nessuno avrà problemi con questo
quindi questo è un budget che puoi usare
servire le frecce ma come si usa?
bilancio bene l’unica cosa che puoi fare è
hai appena costruito un’infrastruttura di merda
che si rompe tutto il tempo che servi
boom ci mettono qualche domanda con
loro la tua aria sta per gocciolare verso il basso
nel corso del mese e l’ 80% è solo da spendere
è solo una perdita della tua infrastruttura
o potresti dire che l’infrastruttura è
bene tutto è affidabile che possiamo prendere
Risolvi facendo cambiamenti provando
qualcosa di nuovo di cui non siamo al 100%
sapere se funzionerà ma lo permetterà
noi di innovare affrontato più velocemente ora la regola
che ho citato è semplice come quella
se i servizi con finezza consentono il
la squadra di sviluppo può lanciare qualunque cosa desiderino
buttati fuori
se non è con uno SLA, nulla si spegne
perché la squadra di asari non può dirlo era
che questa funzione o quella caratteristica o il
il futuro dei suggerimenti del mese scorso stava causando
alcuni lentamente sviluppando il problema solo il
squadra di sviluppo
e scopri mentre il team di a3 può aiutarti
loro con quello ma la sinistra di cui ha bisogno
risolverli così mentre il tuo servizio è fuori
fuori SLA è una specie di
situazione all-hands-on-deck in cui il
il team di sviluppo deve riportare il servizio
in SLA forse è possibile eseguire il rollback delle versioni
fare scelte piccanti – qualcosa del genere
insieme con la squadra di s3 con la suola
scopo nel correggere le cose e non aggiungere
più funzioni al mix che potrebbero
rompere altre cose e e la bellezza di
quella regola è che rimuove la discussione
nessuno ha bisogno di discutere è questo il rischio
funzionalità o no possiamo farlo è quello
davvero così importante è solo che guardiamo
al cruscotto è un lancio verde
via è un filo rosso di fortuna ed è
tutti hanno concordato uno SLA e lo è
non è qualcuno un lato contro il
altri, ma entrambe le parti stanno lavorando
insieme per mantenere il sistema entro il
SLA e l’altra cosa più sottile è a
team di sviluppatori è molte persone diverse
con molti piani diversi quindi non lo è
come se agissero come uno e producono
una funzione dopo l’altra, ma molti sotto
team stanno lavorando su diversi progetti a
un tempo e ora se ci lavoro su questo
funzione che cambia il mondo che piacerà
aumentare così tanto la nostra quota di mercato
la competizione inizierà pesante
bere e rinunciare e alla fine
cambiare società
Non voglio che la tua sfoglia sia sottoposta a test
caratteristica di uscire due settimane prima del colpo
il nostro budget dell’epoca e non verrò promosso
quindi mi renderò dannatamente sicuro che tu solo
rilascia cose che sono buone e lo sono anche io
sulle squadre di sviluppo
questo è il motivo per cui il team di sviluppo sta lucidando
loro stessi e loro no
devono lottare con con ops o
qualcosa perché sanno che è un
l’interesse personale della badessa va bene così hai creato
una situazione in cui la squadra di sviluppo e
il team di yesiree lavora insieme per costruire un
servizio super affidabile che sta incontrando
solo il giusto SLO che vuoi ma
ci sono diversi modi su come fare
che ti piace investire tutto il
materiale tecnico e di progettazione che tu
bisogno di costruire un’architettura che sia
ben testato molto efficiente e scalabile
e autonomo e tutto tranne
che richiede molto tempo di sviluppo o
si può solo come file di centinaia di
migliaia di biglietti che il team ops
si prende cura di e con un atto eroico
corregge il sistema e sì puoi farlo
ci sarà sempre qualcuno in crescita
lato che si sente molto responsabile per il
servizio e sarà molto eroico da mantenere
corre notti insonni senza fine settimana
un sacco di esaurimento si limita a nutrire il
macchina demoniaca con lacrime di sangue e sudore
ora la cosa è che gli eroi non hanno un
aspettativa di vita molto alta e mentre essa
potrebbe essere molto credibile
a breve termine a lungo termine
porta solo al burnout e al peggio
la cosa qui è che è un lavoro molto ripetitivo
è proprio come andare per la correzione errorlog
questa cosa aggiusta quella cosa guarda il
coda dei biglietti, oh mio Dio, è molto bello
prendilo dall’alto
i tecnici di affidabilità dei sospiri sono programmatori
sono ingegneri
siamo annoiati facilmente non lo vogliamo
e il nostro management non ci chiede di fare
che non si tratta di noiosi ripetitivi
lavoro ma poi, ma cosa fa il team di sviluppo
Intendo per loro è molto allettante
tutto ciò che possono piacere a buttar via
la recinzione ai lati positivi delle cose rende
la loro vita è più facile e questo suona male
e e e dannoso ma in realtà se
sei in quella posizione e sei molto
focalizzato sul tuo progetto e tu pensi
hai fatto un buon lavoro che hai messo in pochi lakh
dichiarazioni e e e e e ee aggiungere a
pochi test di unità dovrebbe andare bene
e poi lo lanci e poi tu
Dimenticalo perché lavori sul prossimo
futuro e tu in realtà non vedi come
che si svolge in pratica perché
non stai facendo girare il sistema e tutto il resto
vedi è tutto quello che c’è non vedo che
altre cose quindi me ne dimentico e
è un numero di questi incentivi
problemi ma sfortunatamente non c’è
questa una bellissima e semplice regola per risolverlo
ma abbiamo sei diverse correzioni
collaborare numero uno è non solo
renderlo molto economico per il team di sviluppo
spostare il lavoro verso il team operativo e così via
Funziona così c’è un numero di persone
pool che l’ organizzazione sorda ottiene e
devono pagare scusa per quella piscina
quindi se ne ottieni dieci per questo
anno e hai bisogno di sette uomini appena
a crunch attraverso la coda biglietto che
significa che hai solo tre persone che
potresti mettere la squadra di sviluppo che non è così
suona bene
così tipicamente ciò che i team di sviluppo cercano di fare è
la squadra prova a minimizzare il personale
dare al team SOE in base a quanto
lavoro hanno bisogno di fare un’infrastruttura
per rendere le cose affidabili trovano il
equilibrio ottimale
se stessi perché è nel loro meglio
interesse che potresti dire ma ma aspetta un
minuto che rende la squadra di s3 tipo
piccolo toglie il numero di dipendenti a quello
non è necessario infelice per questo no
in realtà ciò che toglie è che lo è
il lavoro stupido è che il ripetitivo
lavoro che è noioso e non vogliamo
che vogliamo essere lasciati con il molto
problemi difficili che il team di sviluppo non può
aggiusti semplicemente avendo un’altra ora di
progettisti zampillanti e assunzioni Essary
persone provenienti da un ampio spettro di
abilità che molti di noi sono state di qualche tipo
di amministratore di sistema in alcuni
punta molti sfondi diversi ma uno
cosa che tutti hanno in comune è
che possono scrivere codice non banale
sono programmatori e vogliono farlo
scrivi il codice non tutto ciò che facciamo è
codificarne una buona parte è ma lo facciamo
so come farlo prima di tutto noi
parla la stessa lingua con il dev
squadra è su di esso è una discussione
tra uguali e capiamo anche cosa
ci dicono che capiscono quello che noi
raccontare e possiamo spiegare ciò di cui abbiamo bisogno e
sappiamo cosa possiamo chiedere loro ragionevolmente
e cosa è come un sistema software
non può fare o non può fare facilmente e il
l’altra cosa è quella cosa con quello
le operazioni ripetitive funzionano se hai un programmatore
e tu dai loro un biglietto, se lo sono
bene, farò quel secondo biglietto d’ingresso
Dicono che penso di sapere come funziona
terzo biglietto sono come oh gosh quarto
Il biglietto è che mi sostituirò con
un piccolo script di shell ed è esattamente
quello che vogliamo perché quello che ho menzionato
prima era
vogliamo scalare i sistemi e questo
tipo di lavoro ripetitivo che in genere
si basa sul traffico che il
sistema vede più errori si ottiene il
più richieste si ottiene di più
errori ti danno altri due biglietti
produci non puoi ridimensionarlo ma tu
non voglio scalare il numero di persone
sulla squadra quindi devi automatizzare
te stesso fuori dal lavoro e questo è quello che
facciamo tutto il giorno ciò che i sistemi conservano
cresce così siamo ancora in attività della
l’altra cosa è se vuoi essere in grado di
fallo se vuoi avere tempo
migliorare i sistemi per scrivere automazione
per fare tutte queste cose che ti servono
tempo di riserva per questo, quindi c’è molto
semplice regola che fai solo il massimo di
il cinquanta per cento del tuo tempo e della squadra
con quello che chiamiamo fatica
è come lo stupido e ripetitivo lavoro di Hobbs
che può essere facilmente automatizzato è molto
difficile da definire con precisione ma dicono
sono le cose che sai quando tu
vederlo e il problema qui è se il tuo
il sistema ha successo e scala e
ottieni molto traffico e poi usi
sistema muore e scettri prima e ora
l’automazione ti aiuta a continuare a crescere
ma è necessario prenotare il tempo perché
altrimenti sarai in quello verso il basso
spirale e le cose andranno solo peggio
ora il quarto approccio è mantenere il
team di sviluppo in servizio
responsabilità che riceveranno i biglietti
in genere vengono pagati solo per
piccola frazione di cose che ogni squadra ha
un approccio diverso su come farlo
e la nostra certa frazione va a loro a
alcuni tipi di problemi vanno a loro
il team azero intensifica alcune cose
a sinistra la squadra manualmente ma il dev
la squadra deve
essere esposti a far funzionare il sistema a
combatti che tutto ciò che vedo è tutto ciò che c’è
problema e li aiuta a imparare così
molto di più sul sistema così potresti
vedere molta resistenza dal dev
squadre per farlo perché non vogliono
per portare una pagina del giorno che voglio essere
pagina alle 3:00 am ma essere
scale mobili persistenti fino al
catena di gestione perché è super
importante e in genere quando hanno
fatto che per alcuni mesi lo faranno
capire e saranno molto felici
e loro non sapevano che nessuno lo farebbe
mai tornare indietro perché imparano così tanto
di più sulle cose che hanno fatto e
nella parte di codifica e nella parte di progettazione e
come si svolgono nella pratica e come
fallo meglio la prossima volta e un altro
cosa è che nella squadra di sviluppo se uno di
gli sviluppatori hanno trascorso gli ultimi 3
notti cercando di mantenere il sistema in esecuzione
perché qualcosa come qualcun altro
spinto indietro e indietro nel loro arretrato
aggiustalo più tardi ho più interessante
roba da fare bene che costruiranno
consenso sulla prioritizzazione dei bug ora io
abbiamo detto che abbiamo un limite del 50% sul lavoro delle operazioni
quel team sì pronto lo fa in pratica
è un cap è un massimo che non facciamo
Il 50% della maggior parte delle squadre non lo so 20 30
per cento in realtà dipende la situazione
può cambiare nel tempo ma c’è questo
cappuccio quindi dove va il lavoro in eccesso
significa che non possiamo semplicemente lasciarlo lì
e lasciamo che il sistema si rompa bene noi
può, ma non è quello che vogliamo così
va anche al team di sviluppo, quindi se tu
progettare un sistema in cui non si spende
abbastanza tempo per renderlo affidabile e
stai dando un bel po ‘di tempo alla squadra SRE
tornerà a te dovrai farlo
carillon in
e aiuta a sistemare il sistema e
che ti aiuterà a capire il
effetti di quello che hai fatto e lo farai
probabilmente cerca di evitare di farlo dopo
tempo
e inoltre ti manterrà nel dev
squadra dalla scrittura di più funzioni che possono
potenzialmente riverberare il sistema
un altro sistema di autoregolazione non è vero?
bello ultimo ma non meno nessuno
mi tiene nella mia squadra se decido che è così
un servizio terribile e non voglio
faccio questo stupido lavoro, posso andare anch’io
trova un altro team SOE o perché lo sono
uno sviluppatore sono un ingegnere del software che sono
qualificato per l’ingegneria del software
posizione su Google posso passare a
probabilmente la squadra di sviluppo di qualche team di sviluppo
non quello che ci ha costruito terribili
servire qualche altra squadra di sinistra ma bene
forse a quella squadra di sviluppatori perché penso di essere io
può aiutarli a fare un lavoro migliore e ma
perderanno lentamente il loro Suri’s
non stanno fornendo un buon lavoro
ambiente per loro e alla fine
potrebbe accadere che nessuno voglia lavorare
sulla loro squadra più
allora quale team di sviluppo è come quello che succede
al nostro servizio vedrò sì che è il
patrono ottiene l’affare andare biglietto di uccidere con
ora è un’opzione nucleare te
di solito non lo vuoi fare e basta
non succede davvero che spesso facciamo
certo che i team di sviluppo e i team SOE ottengono
molto bene e in genere funziona
fuori abbastanza bene ma succede e
questa minaccia deve essere reale che devi fare
Assicurati che il tuo SVP vostro amministratore delegato è il sostegno
tu su questo loro devono capire
che non possono impedire agli altri di farlo
un lavoro che non vogliono solo perché
non vogliono aggiustare il loro sistema e
poi se capiscono che
in genere non avrà la terza parte bene
quindi abbiamo creato un sistema che è stato progettato
essere affidabili e il team di sviluppo nel
Il team di s3 sta lavorando insieme a
continua a migliorare il sistema ma non ci sarà
essere interruzioni che è certo che abbiamo fatto
in particolare non mirare al 100%
affidabilità perché non vogliamo farlo
non importa per l’utente e lo farà
ci è costato parecchio ci rallenterebbe
ci impedirà di scrivere fantastiche funzionalità
la concorrenza che beve pesantemente conosci il
trapano quindi ci saranno interruzioni ed è
non è divertente forse un po ‘ma davvero se
vieni chiamato alle 5:00 del mattino
mattina e sai che i tuoi clienti hanno
un brutto momento di cui nessuno è davvero felice
ma ora va bene quello che vogliamo
noi vogliamo ottenere il sistema di nuovo in pista
il più rapidamente possibile e il primo
cosa che possiamo fare è minimizzare il
impatto in modo che il tuo sistema abbia un certo tempo
tra i guasti MTTF significa tempo per
fallimento e quindi ha una media TR vuota
il tempo per riparare quanto tempo ci vuole te
per rimetterlo in funzione e in esecuzione
Certo, possiamo aumentare il tempo medio per
incapacità di rendere il sistema più affidabile
ma ci costa quando possiamo anche ridurre
il tempo medio per riparare quanto tempo lo fa
portaci a farlo funzionare di nuovo
e una cosa che facciamo è il sree
squadra è direttamente nel ciclo non c’è
operazioni Naka sotto alcuna il
la squadra di esri è responsabile
del servizio e noi abbiamo molto buona
informazioni diagnostiche se ottieni un
problema generale con il tuo servizio verso il basso
messaggio non è molto utile che tu abbia
per capire cosa c’è di sbagliato in
il servizio da dove viene
se hai un buon monitoraggio della scatola bianca
e ti è stato detto che hai il
picco di latenza leggera e RPC sta andando
da questa cella a questa cella di rovescio
avere un punto di partenza che puoi guardare
la rete tra questi due cluster
puoi vedere se ci sono stati dei rilasci
distribuito in uno o nell’altro cluster
la configurazione cambia cose del genere
cita i nostri problemi in modo da aiutarti
iniziare molto molto rapidamente e il
la terza cosa è esercitarsi così se lo hai
un servizio molto stabile e tu fai
certo che sta migliorando molto
non ho avuto molto ieri o questo
settimana in modo da poter dire ah ho solo bisogno di
leggendo su questo non ho idea di cosa
parte del sistema è che non ha avuto un
problema negli ultimi due anni e allora
dovresti fare è esercitarti
fronte e studi hanno dimostrato che
questo diminuisce il tempo di un’interruzione di
qualcosa tra il 50 e il 70 percento ma
la pratica non sembra davvero divertente
come possiamo rendere divertente l’approccio allora
abbiamo a Google è chiamato una ruota di
sfortuna ed è fondamentalmente come un
Dungeons framments if
ti ricordi che così fondamentalmente vieni
con una lista di cose che tipicamente
rompi nel tuo sistema puoi fare una torta
grafico come quello che non mi permettono di fare
mostrarti cosa va veramente storto, così noi
sostituirlo con
cose che si possono immaginare che sarebbe
terribile per il tuo sistema con gli squali
laser a strappo con frangiflutti
sempre popolare cavalleria orso non vogliono
che hai messo al tuo servizio chiunque tu
scegli uno di quelli che puoi lanciare un d20 tu
sono il giocatore di D & D e e e una persona su
la squadra è il padrone del gioco corre il
lo scenario dice che hai ricevuto il messaggio sul paging
Dice questo e questo è andato storto e poi
la vittima i giocatori cercano di capire
come è successo dicono che lo farò
guarda quel cruscotto cosa vedo e
così e così via e cercare di trovare il modo di
risolvi il problema e cosa ha effettivamente
causato perché c’è un molto
parte importante non vogliamo solo
ottenere un sistema installato e funzionante di nuovo
c’è la nostra prima priorità ma
dopo che il sistema è stato rattoppato in qualche modo condotto
nastro ma è in esecuzione che vogliamo capire
fuori quale fosse la causa principale e se lo fosse
è stata una brutta interruzione che vogliamo scrivere a
post-mortem e post-mortem dovrebbero
documenta cosa è successo e perché ma
scrivere un tale documento è prendere
quantità significativa di tempo facendo tutto il
ricerca per la causa principale prende
tempo quindi non puoi fare un arbitrario
quantità di questi tutto il tempo così abbiamo
di dichiarare che non si dovrebbero avere più
di una media di due eventi per
spostamento a lungo raggio
dovresti tipicamente quello che stava andando
sulla magia
di solito non dovresti avere più di
questi eventi perché poi lo faresti
o non essere in grado di fare davvero un profondo
investigazione o altre cose come
progetto di lavoro quindi è per questo che tipicamente
avere un’area con almeno otto persone
su una rotazione a chiamata preferiamo
avendo due lati su lati diversi di
il pianeta in modo da poter seguire il
Sole una rotazione che non ottieni
paginato alle 3:00 perché la persona è accesa
Dall’altra parte del pianeta è
responsabile e avere almeno sei persone
quindi hai sei settimane per fare progetti di lavoro
e così cinque settimane per fare progetti di lavoro o
facciamo quattro picchi del lavoro del progetto e uno
o due settimane di chiamata come principale
o secondario e quindi ne hai abbastanza
tempo per scrivere davvero un buon postmortem
quindi qual è l’autopsia di un post
mortem documenta cosa è successo cosa
abbiamo scoperto e cosa dovremmo fare
loro quindi ha un elenco di elementi di azione
e non lasciare che questi oggetti d’ azione marciscano dentro
quel documento li ha messi nelle tue spalle
sistema di tracciamento e assicurarsi che ottengano
la priorità, ma la parte più importante
di post mortem è di diventare irreprensibili
una delle tante aziende in cui ho lavorato
quando c’era qualcosa di sbagliato e
ci fu in seguito la discussione il
la prima e unica domanda era chi è anche lui
chiaro e sai chi era sempre
incolpare la persona che non era nella stanza
al momento di partecipare al
discussione quindi è meglio non prendere un
vacanza che non è quello che vuoi
ovviamente quello che vuoi è quella gente
fatti avanti e dirti cosa hanno fatto
come è andato storto e non viene incolpato
per questo guardiamo al processo e
tecnologie così se christophe lo premesse
pulsante rosso lucido che ha preso
giù nel sistema la domanda non è perché
Christophe è così stupida che la domanda è
perché abbiamo avuto il pulsante nel primo
posto
e cosa possiamo fare a riguardo e si?
quindi evitiamo la stessa cosa da
accadendo di nuovo
quindi speriamo non sarà possibile ottenere paging per
lo stesso problema mesi e anni
e di nuovo ne otterrai di nuovo
interruzioni interessanti che sono divertenti
debug e farà una buona ruota di
sfortuna quindi come stiamo facendo in tempo
okay, assumi solo i programmatori che hai lasciato
fanno ciò che vogliono migliorare
l’affidabilità del sistema che hai
per avere uno SLA e tutti devono essere d’accordo
che questo è il giusto SLA e questo è
la cosa più importante è usare i budget dell’era
per lanciare per ottenere i tuoi lanci che hai
un comune schiocco del 5% delle tue operazioni
il lavoro va al team di sviluppo operativo
il carico sul team SOE è mantenuto dal 50% di te
avere abbastanza persone per conto tuo
rotazione core in modo che possano effettivamente fare
indagine profonda senza essere
sfiniti pratichi pratica pratica
e le tue Le autopsie sono semplicità ora
spudoratamente blocca di nuovo il Bluebook
copia di esso o se si hmm
non voglio spendere i soldi che ci sono
in realtà una copia di esso online di come
creative commons su google.com non sre
quindi puoi dare un’occhiata lì e poi
prendi la tua buona vecchia copia cartacea grazie
molto
Grazie ho comprato un libro dal modo in cui lo ha fatto
molte troppe pagine credo 800 o
qualcosa – devo ammettere che non ho letto
tutti loro oh ok ok, ne abbiamo uno
minuto per domande o in realtà per
sì proviamo alcune domande così
rilasci di rilascio aumentano le possibilità di
errori per le versioni successive come questi
tendono ad essere più grandi che dovresti rilasciare come
spesso il più possibile così la versione più piccola
diventa il più affidabile è e il
più facile è eseguire il debug perché il Delta
è più piccolo quindi se ripensi al
Anni ’90 in cui i vostri cd-rom di bordo
come se avessi un team di sviluppo da cambiare
tutto nel sistema oltre 12 mesi
quindi praticamente tutto ciò che avevi
testato per l’ultima versione è diventato
senza valore se avessi avuto solo 8 ore
Giornata lavorativa di 8 ore per loro di cambiare e
rompere le cose è molto più facile da trovare
fuori quello che è andato storto di nuovo se tu
sono in una situazione in cui sei fuori da un
salone che non stai lanciando dovrebbero
non continuare a cambiare il sistema che dovrebbero
correggi il sistema e non solo il ritardo
rilasci successivi facendo progetti su
il lato che vuoi mantenere quella finestra come
il più breve possibile
per sistemare il sistema in modo che il team di sviluppo
può tornare allo sviluppo futuro ma
solo una volta che il sistema è stato risolto
c’è un incentivo conflittuale
per quanto riguarda la diversità della tecnologia
usato dagli sviluppatori per esempio ogni nuovo
lingua o piattaforma utilizzata nel
il paesaggio aumenta il lavoro dell’SRE
squadra in modo che loro siano dispiaciuti
aumenta il lavoro del team SOE più di
usando qualcosa già in atto, credo
c’è un compromesso qui, naturalmente
non voglio come gestire questo come
pazza causa di cose
poi di nuovo il linguaggio di programmazione che
qualcosa è scritto e non importa
tanto alla fine della giornata, se tu
fissare determinati standard e
la cosa migliore è ottenere il team SOE
coinvolto molto presto nella progettazione
processo in modo da poter essere d’accordo sul
tecnologie che usi e se
qualcosa è solo una misura migliore per il tuo
servizio e renderà il servizio migliore
andare per esso
se è solo perché è la fantasia
cosa nuova che hai sempre voluto provare
fuori forse un sari non sarà entusiasta
quindi di nuovo riducendo il numero di
dipendenze critiche che il tuo servizio
è probabilmente il meglio che puoi sempre
mai fare per aumentare l’affidabilità
e anche il mal di testa che mantiene
quel codice ti darà un’ultima volta
domanda
oops domande arrivano così velocemente che cosa
sono i tipici budget SLA su diversi
prodotti nessun commento ma c’era a
annuncio pubblico questa settimana
cloudspinner ora offre cinque nove di
affidabilità che va molto bene grazie
Christoph e grazie per essere venuto
[Applausi]

Please follow and like us: