Press "Enter" to skip to content

GOTO 2017 • Cloud Native Data Pipelines • Sid Anand


[Musica]
benvenuto nel cloud dei dati nativi
condutture Sono Sid Anand un po ‘
su di me nel corso degli ultimi 16 anni o giù di lì ho
lavorare sull’infrastruttura dati end-to-end
la maggior parte del mio tempo è stata spesa a
aziende che sono in genere di consumo
di fronte a traffico elevato traffico elevato
aziende come LinkedIn Netflix eBay e
Etsy circa due anni e mezzo fa
aderito ad un società compito aziendale che
lavora nello spazio di sicurezza chiamato gari
e stanno facendo un lavoro interessante
con i dati nel cloud e parlerò con
te ne parli oggi nel mio tempo libero
Sono un co-presidente di Q con San Francisco
e Londra sono un committer su Apache
progetto di flusso d’aria e ho mio padre di
due turbolenti quattro anni e mezzo
vecchio ragazzo e una ragazza di sette mesi così a
Gauri cosa facciamo così facciamo email
di nuovo sicuro per quelli di voi non familiari
con esso ora la cosa è l’email ha
in realtà non è mai stato al sicuro dagli anni ’70
con l’avvento del protocollo SMTP
è stato solo più di recente
protocolli di sicurezza come SPF D Kim e
Demark sono stati sviluppati molti dei quali
sono stati sviluppati dai membri della mia squadra e
non è in uso diffuso in questo momento
quindi continui a incontrare questo tipo di
scenari giusti puoi inviare email dal tuo
banca o carta di credito dicendo che ce ne sono alcuni
una sorta di carica sospettosa e hai bisogno
per essere necessario effettuare il login immediatamente e
verificare le accuse o forse sai
il tuo account sarà chiuso e
in sostanza ti verrà pescato in più
casi perché la tua banca non ci prova
mandarti cose del genere via email
e la maggior parte della gente non se ne rende conto e allora
facciamo il nostro primo prodotto che era
lanciato qualche anno prima di me
unito era quello di proteggere i consumatori in un b2c
società così la maggior parte delle mie ex società
LinkedIn eBay PayPal Netflix usa il
gari da proteggere per proteggere l’e-mail
canale tra loro e i loro clienti
in modo che riduca le possibilità di loro
clienti di essere pescate da un’email che
sembrava che fosse da Netflix quando io
siamo arrivati circa due anni e mezzo fa
prova a prendere questa tecnologia e ad applicarla
all’impresa in modo che le imprese
potrebbe anche essere salvaguardato in questo modo
dall’e-mail in entrata quindi potresti averlo
sentito molti anni fa LinkedIn sorta di
perso 17 milioni di password non ho davvero
perderli hanno solo quell’altra gente
averli e sai che ce n’erano alcuni
discussione di un percorso di posta elettronica per
quell’attacco e questo è un po ‘il caso
che sai che stiamo cercando di prevenire
destra
sai sempre più perdita di dati a
il livello di impresa quindi il nostro primo
la versione del nostro prodotto era un lotto
prodotto in modo che i clienti aziendali siano schierati
uno dei nostri sensori nel loro centro dati
e ogni 15 minuti ci manderebbero
un file che conteneva intestazioni e e-mail
analizzeremo quei dati nel cloud
useremmo il sottoinsieme per allenarlo
modelli e per la maggior parte vorremmo
segnare quei dati così potremmo sapere
assegnare un punteggio di fiducia su un intervallo da
cluster su non attendibile per ogni e-mail e
forniremmo un dashboard di visibilità
ai nostri clienti che mostrerebbero
le statistiche sul loro flusso di posta sono circa
un anno fa abbiamo iniziato a sviluppare un vicino
prodotto in tempo reale quasi in tempo reale
il flusso di posta del caso d’uso sta arrivando e il nostro
il servizio basato sul cloud sta applicando quelli
fidarsi di modelli o, in alcuni casi, costruire
alcuni al volo e di nuovo mostrando a
dashboard di visibilità che ora è a
cruscotto in tempo reale ma in aggiunta
stiamo anche eseguendo fondamentalmente un controllo
flusso dove basato su una politica che possiamo
inviare un segnale al nostro sensore a
o mettere in quarantena l’e-mail etichettarlo o
permettergli di passare attraverso e in più
casi che stiamo eseguendo essenzialmente tre
nove tra il sensore e ritorno al
sensore con tre secondi di latenza e
la maggior parte di quel tempo è effettivamente spesa
sull’Internet pubblica che non lo facciamo
controllare così all’interno della nostra implementazione cloud
in realtà lo sappiamo in molti casi
sub-secondo in modo che cosa è la ragione per cui
questo è chiamato dati nativi del cloud
condutture quindi se lavori a te sai bene
aziende di dati come LinkedIn o Facebook
o Twitter o Google i loro dati
le squadre di ingegneri sono enormi, lo sai 500
non è un numero sconosciuto giusto e
stanno eseguendo i propri dati personalizzati
condutture su hardware e per se tu
ricorda Dean stock sai che c’era un
architettura di riferimento con molto open
tecnologie di origine tipicamente in grande
società ciascuna di queste squadre sarebbe
supportato ognuna di quelle scatole sarà
supportato da una squadra diversa che conosci
se stai usando Kafka hai bisogno di un
squadra a portata di mano per sapere se la patch
ha bisogno di essere riparato per fare un po ‘
operazioni su di esso per configurarlo
quella roba ora se lavori ad una startup
non si dispone di centinaia di ingegneri che si
possono avere un ingegnere che lavora sul
la pipeline di dati della nostra azienda ha circa 10
totale della dimensione totale dell’azienda di 20
gli ingegneri dieci dei quali stanno lavorando
la pipeline dei dati e il lato della scienza dei dati
e dentro e stanno correndo nel cloud
nella maggior parte dei casi così ci sono cose che
queste piccole imprese possono fare in modo che
ottengono lo stesso tipo di paragonabile
condutture che ti aspetteresti in un
Facebook o Twitter e la risposta è
sì, se si adottano cloud nativi
tecniche e alcuni open source
la tecnologia è in un certo modo te
dovrebbe essere in grado di diventare altamente disponibile
dati Loli e C altamente scalabili
condutture per fare cose interessanti come
predizioni
quindi, prima che io possa indovinare, prima di arrivare
in un’architettura che dovremmo definire
quali sono alcune qualità desiderabili di a
pipeline di dati resilienti e per noi lì
sono quattro aspetti correttezza tempestività
operabilità e costo così correttezza
essenzialmente significa che dovremmo avere
integrità dei dati
e per finire nella nostra pipeline di dati noi
non dovrebbe perdere alcun dato che dovremmo sostenere
aumentato tutti i dati e dal momento che stiamo costruendo
come il tipo di pipeline che stiamo lavorando
come una pipeline di dati predittivi
generare previsioni e ranghi e
segna la distribuzione dei dati fuori dal
pipeline dovrebbe essere come ci aspettavamo
non dovrebbe improvvisamente trovare che il 99%
dei messaggi stavano generando sono
considerato pesce o non fidato in termini di
tempo eunice se stai eseguendo a
pipeline giornaliera oraria o quasi in tempo reale
quello che è veramente importante è che è il
Zar SLA incontrato qualunque sia la SLA è sono
devono essere soddisfatti perché nel nostro caso
potremmo avere una mail in a in
casella di posta di qualcuno fino a quando non abbiamo analizzato
e ha detto che è sicuro consegnare
termini di operabilità se lavori se
hai lavorato in questi grandi team di dati
troverai che è un problema molto comune
è la maggioranza operativa della fatica del
tempo o la maggior parte di un ingegnere dei dati
il tempo in queste aziende è solo mantenere
cose e risolvere problemi di dati e
Parlerò della rapida recuperabilità ma
uno dei principali problemi che si verificano nei dati
condutture è che se c’è un bug una volta
correggi il bug che devi risolvere tutto
i dati che sono quel flusso
a valle e contattare tutti quelli
team e fondamentalmente sistemare tutti i dati
che hai corrotto fino in fondo
flusso e che si risolve in un sacco di
stanchezza operativa perché ogni bug
ha un grande raggio di esplosione un’altra cosa
questo è importante per l’ operabilità
abbiamo una specie di grana fine
monitoraggio e allerta in modo che possiamo
controlla che stiamo incontrando la nostra correttezza
e tempestività come Ethel facilità e poi
rapida recuperabilità quindi ce ne sono due
aspetti della progettazione di un sistema per
l’affidabilità si chiama tempo medio
tra il fallimento e uno è la media MTTR
tempo di recupero quindi non ho incluso a
lato qui ma c’è una cosa interessante
nel mio discorso ho dato l’anno scorso questo
conferenza sai che c’è questo
confronto di una jeep con una Roll-Royce
Rolls Royce
è progettato per funzionare davvero bene
entro i suoi limiti operativi come
bella rosa e sulla destra dell’autostrada ma
se lo smontiamo, lo faremo
abbattere e poi stai andando a
passare un tempo considerevole riparandolo
mentre una jeep è stata progettata per comprare da
le persone che l’hanno creato per essere preso
al di fuori dei suoi confini progettuali hanno
non ho davvero bisogno di sapere cosa sei
andando a fare con la jeep ma l’attesa
che lo spezzerai e quando tu
rompilo dovrebbe essere davvero facile da risolvere
così su YouTube se cerchi un Marine
Il team Corps riunisce la Jeep in quattro
minuti vedrai cosa intendo, così è
una sorta di ciò che vogliamo nei nostri dati
si verificheranno errori nella pipeline
abbiamo solo bisogno di recuperare rapidamente quando
questo succede e finalmente da quando siamo
correre nel cloud una delle promesse
del cloud è stato pay-as-you-go in modo che possiamo
sfruttare alcuni aspetti del ridimensionamento automatico
e forse Lambda per ridurre i nostri costi
di eseguire una pipeline di dati qualcosa di te
non può davvero fare nel tuo centro dati
quindi cosa fare l’analisi analitica predittiva
assomiglia ad agari così abbiamo due
le classi di analisi predittiva sono
in un edificio e modelli di formazione e
l’altro sta applicando quei modelli
in un batch o quasi in tempo reale
pipeline per segnarli e parlare di oggi
si concentrerà principalmente sull’applicazione del
modelli quindi diamo un’occhiata a un esempio di
la nostra architettura di pipeline batch così noi
dire tre società Enterprise A B
e C e stanno ricevendo posta in arrivo
loro tutto il tempo e loro hanno
dispiegato un sensore e un sensore Gauri in
i loro data center e nel nostro primo
versione del nostro prodotto che era partita
ogni 15 minuti il ​​nostro sensore verrebbe caricato
un file in s3 nella parte superiore dell’ora
avremmo e useremo il flusso d’aria per il nostro
motore del flusso di lavoro e parlerò un po ‘
ne parleremo più tardi ma noi
essenzialmente hanno un motore di workflow
chiamato flusso d’aria che eseguirà a
scintilla lavoro per segnare quei dati e
genera alcune statistiche aggregate una volta
un’ora
e produrrà quei dati in a
percorso diverso in s3 che abbiamo impostato come
tre con quello che viene chiamato SNS
notifiche così come i dati arrivano in f3 in
queste notifiche del bucket di output sono
inviato su semplice servizio di notifica SNS
che li accoderà in coda semplice
servizio così SMS è un argomento basato su push
fare la fila ed essenzialmente quello che fa è
per ogni evento, si suppone che notificherà a
un sacco di abbonati e SQS è una coda
servizio che effettivamente mantenere tutte
quei messaggi ma permette un singolo
consumo del messaggio e se lo si desidera
saperne di più su questo io puoi avere un
guarda l’ ultimo riposo, parliamo di realtà
andando ai dettagli di come lavorate voi due
insieme ma lo presumo
solo per ottenere un aumento di mano di quanti
le persone hanno familiarità con SNS e SQS
va bene, va molto bene
ora come i flussi di messaggi in sqs abbiamo scala
fuori ciò che chiamiamo il nostro livello di importatore
quindi i nostri importatori sono lavori Ruby che lo faranno
leggere questi messaggi e importarli
li nel nostro database Postgres in modo s3
contiene tutti i nostri dati tutti gli input
dati tutti i dati intermedi tutti i
dati di output ma il nostro database Postgres è
usato per alimentare un sottoinsieme dei dati al nostro
web app in modo che sia solo il sottoinsieme di
i dati che dobbiamo mostrare nel nostro
prodotto di visibilità e lavoro dell’importatore
è quello di inserire in modo efficiente tutto questo
dati nel database PostScript e noi
il flusso d’aria è in pratica la gestione di questo
intero processo anche controllando la qualità
e e caratteristiche di perdita dei dati
su ogni fase di questa pipeline, quindi facciamolo
guarda alcune delle architettoniche
componenti qui a destra il primo è s
3 S 3 è dove siamo essenzialmente
costruendo i nostri dati Lake è scalabile
prestazioni disponibili il suo server meno noi
non ho bisogno di gestirlo è abituato a
memorizzare tutti i nostri dati come ho già detto la nostra
input intermedio e
dati di output e tutta la nostra scienza dei dati
l’elaborazione va contro s3 così
essenzialmente è come l’HDFS ma non lo facciamo
davvero bisogno di preoccuparsi per ridimensionarla
per la crescita dei dati per la messaggistica siamo
utilizzando una combinazione di SNS più sq
insieme usandoli insieme otteniamo
i benefici di entrambi e in sostanza noi
ottenere un pub / sub transazionale affidabile così
ciò che significa in sostanza è che otteniamo
i vantaggi di pub / sub come multiplo
ascoltatori di argomenti ma anche noi
transazioni quando si consuma un messaggio
in realtà devi inviare un atto da lasciare
sqs sapere che lo hai consumato di nuovo
è sorveglianza ed è infinita
scalabile e performante ne abbiamo due
casi di elaborazione così per i nostri dati
elaborazione scientifica che in questo caso è
aggregazioni di punteggio costruendo modelli noi
usa SPARC e l’abbiamo usato in
entrambi i gusti sono entrambi EMR e anche in esecuzione
il nostro e si è attivato in entrambi i casi da
il flusso d’ aria del flusso d’ aria farà ruotare un ammasso
se è EMR o la nostra immagine di
correndo facile da fare qualunque cosa
l’elaborazione è richiesta e quindi girarla
in basso e scintilla ha un molto bello
modello di programmazione ma è molto
complesso per il debug e penso che uno dei
i diffusori di questa traccia in seguito selezioneranno
di entrare nei dettagli della scintilla e di te
Non ho usato si otterrà che si otterrà
un apprezzamento di quanto sia complesso e
Intendo un potente ovviamente e per
una sorta di elaborazione generale come alcuni
logica aziendale, prendiamo semplicemente qualsiasi cosa
tipo di servizio che abbiamo e noi
incapsulare in un gruppo di ridimensionamento automatico
e lasciamo che Amazon gestisca quell’auto
gruppo di ridimensionamento quindi è sempre attivo e
ridimensionamento per il traffico del motore del flusso di lavoro
stavano usando è il flusso d’aria in modo che coordina
tutti i lavori scintilla e altri complessi
è leggero e tratta DAG come
codice così config come codice se hai usato
altri tipi di motori del flusso di lavoro come Ozzy
o Azkaban con cui combatti fondamentalmente
conosci llamó e file zip di llamó
e e i file xml e l’approccio che
sistemi come Luigi e un flusso d’aria
i nostri ospiti trattano questo come codice normale e
usa i tuoi processi di sviluppo da gestire
loro ha un po ‘di a
curva di apprendimento ripida in particolare intorno
operazioni e questo perché il flusso d’aria è
Non molto supponente su come corri
ti dà un senso
come eseguirlo su una scatola e tipo
devi renderlo scala e infine il
il database che usiamo è Postgres per no
motivo migliore dei nostri sviluppatori web
scelto quello e quindi lo stiamo usando e
dal momento che ci sono binari le persone sembrano reali
persone di Postgres e viceversa
quindi in questo modello scrivi come tre dei nostri
i servizi non sono gestiti da noi e tre
di loro sono e che ti informa a
un po ‘su come corriamo siamo tali
una piccola squadra che possiamo permetterci di correre
tutto noi stessi e quando abbiamo un
scelta scegliamo sempre qualcosa
fornito dall’Amazzonia e quando non lo facciamo
trovare una soluzione adeguata ci sarà
scegliere di gestirlo da soli e in
questo caso non c’era niente di buono
motore di flusso di lavoro fornito da Amazon e
conosci fino ad un certo punto come me
accennato che a volte usiamo EMR e
a volte non lo facciamo perché loro
svantaggi di usarlo quindi parliamo
su costi e tempestività proprio quando noi
Erano in esecuzione ogni giorno giusto per il 23
ore del giorno siamo pagati solo per
le istanze EC2 che correvano flusso d’aria del nostro
database e la nostra app Web e alla fine
del giorno in cui abbiamo corso un’intera giornata
quel punto che abbiamo pagato per l’esecuzione di AMR per
un’ora e gli importatori per un’ora
e tutti i messaggi che dovevamo pagare
su SNS e SQS
quindi eravamo molto efficienti in termini di costi, quindi noi
costruito dentro si conosce un’infrastruttura che
era si sa non ha avuto solo un mucchio di
nodi in piedi che stavamo pagando
anche se fossero istanze riservate
quando siamo andati alle cose dell’ora abbiamo cambiato noi
in realtà erano se ci siamo imbattuti per a
minuti cinque minuti o un’ora
facile fondamentalmente ci carica per il
Un’ora intera quindi non stavamo salvando
tutti i soldi con questa architettura eravamo
quando eravamo tutti i giorni ma una volta siamo andati
ogni ora non stavamo salvando nulla così
l’idea era per noi che ci siamo appena trasferiti a Lamda
lamda ti carica fino a 100 millisecondi
piuttosto che fino all’ora, così noi
so che l’ abbiamo trovato in generale con alcuni
indietro dei calcoli della busta a
salvaci circa 100 volte il costo, quindi cosa?
un centesimo del costo di esecuzione del
carico equivalente anche in modo continuo su ec2
sapresti correre su Lambert
è come si conosce un centesimo verso la
dollaro quindi è abbastanza un buon risparmio
se stai considerando lamda
per quanto riguarda la tempestività così nel
mondo in lotti
stiamo correndo ogni ora ea volte
come nuovi clienti arrivano online i nostri dati
il volume sta crescendo e i nostri lavori intelligenti
impiegano più tempo a correre e i nostri importatori
impiegare più tempo per importare quei dati e il
la sfida che abbiamo sta completando tutto
entro un’ora tutto il tempo in modo
flusso d’aria dal momento che gestisce lo spin-up di
scintilla possiamo solo configurare in un
flusso d’aria variabile il numero di lavoratori
e il tipo di istanza che definisce il
memoria e caratteristiche della CPU di quello
spark cluster prima del prossimo
Corsa oraria e la prossima corsa oraria sarà
automaticamente ruotare su un più grande più forte
cluster più grande per la scintilla e il
gli importatori hanno ragione su come scalare il
importatori fuori così abbiamo adottato la cosa
chiamato ridimensionamento automatico di quanti di voi solo
è qui lo sai che le mani usano l’auto
ridimensionamento ok, sono circa 10 persone giuste
quindi ciò che ci offre lo scaling automatico e io lo farò
ti dico perché questo è importante così noi
avere un budget orario per finire il nostro
il carico di lavoro e qualche volta la scintilla prenderà
50 minuti e che cosa essenzialmente
significa che abbiamo 10 minuti o meno per
importa tutti i dati nel nostro database
e abbiamo bisogno di un modo per fare un costo
compromesso delle prestazioni e uno scalare automatico
e il gruppo di ridimensionamento automatico ci consente di definire a
Massimo e minimo di questo
del gruppo e se stiamo trovando il nostro
i lavori di scintilla stanno prendendo più tempo e
più a lungo abbiamo alzato il massimo che paghiamo a
piccolo extra e otteniamo l’importatore
ci vorrà una vita e io vado a
parlare con te un po ‘sulla
autoscaler ora ma essenzialmente cosa
fa è ascolta un sqs cue e it
si ridimensionerà in base ad alcuni
caratteristiche di quella stecca per ottenere a
più alto rendimento, se necessario, quindi il nostro primo
approccio al auto-ridimensionamento usa ciò che è
ha chiamato una metrica cpu quindi ho intenzione di ordinare
di parlare di questo adesso
così come ho detto abbiamo questi
importatori e un modo per scalare un cluster
degli importatori in entrata o in uscita si basa sul
CPU media del gruppo di importatori
e questo è un primo passo comune per
chiunque usi il ridimensionamento automatico come diranno
ok voglio ridimensionare questo facile risorsa
forse CPU è una buona misura quindi cerchiamo di usare
la CPU media quindi quello che ho qui
il grafico a sinistra o sul grafico arancione è il
i messaggi che stanno arrivando in SQS da
sai scintille slash s3 e nel
all’inizio non ci sono importatori quindi questo
curva verde che è il numero di
i messaggi vengono elaborati da sqs sul contatore
tipo di basso qui e noi già noi
in realtà hanno solo una istanza tutto il
tempo, ma per questa dimostrazione solo
Supponiamo che sia tipo zero e poi questo
linea blu è la CPU totale
cluster e puoi vedere alcuni passaggi qui
il autoscaler
continua ad aggiungere sempre più nodi così
ciò che sta accadendo in sostanza è il
il programma di scalabilità automatica sta aumentando il pool e come
lo fa l’elaborazione del processo
aumenta la velocità di elaborazione aumenta
fino a quando non ci sono più messaggi a
processo e completa l’elaborazione di
tutti i messaggi sqs e come ho detto
quindi la metrica utilizzata per l’auto
il ridimensionamento per scalare è la CPU media quindi
la nostra politica di ridimensionamento è che noi diciamo al
il programma di scalabilità automatica non lascia mai andare la CPU media
superiore al 40 percento se aggiunge
più macchine e quindi quello che fa è
manterrà l’aggiunta di macchine per mantenerlo
CPU a circa il 40% puoi vederlo
fa un ottimo lavoro di farlo in modo
sta sempre andando oltre
c’è un problema con questo approccio
CP non è in realtà una grande metrica quando
si arriva fino all’ultimo messaggio in sqs
diciamo che hai scalato fino a 20 nodi 19
dei nodi sono inattivi e sono CP
fondamentalmente attorno al 2% e quindi un nodo
come elaborare l’ultimo batch e il
e la nostra politica di ridimensionamento è qualcosa di simile
quando questo quando cade la CPU media
meno del 10% hey il programma di scalabilità automatica inizia a uccidere
nodi e questo è ciò che accade il
il programma di scalabilità automatica non sa quale sia la nota
quello che sta elaborando l’ultimo messaggio
inizia a uccidere le note ea volte
uccide il sai l’importatore
sta elaborando l’ultimo messaggio e
quello che succede è che otteniamo questo molto lungo
coda di elaborazione dell’ultimo messaggio e
ci vuole davvero molto tempo quindi è così
chiamato ridimensionamento prematuro quindi l’idea era
CP non è davvero una buona misura, quindi noi
ne ho provato uno diverso e si chiama
l’ approccio basato sulla coda , così quando sei
leggere i messaggi dai messaggi di sqs sono
in due stati sono o visibili o
sono in volo se sono visibili
significa che verrà richiesta una richiesta in quella coda
darti un messaggio se è invisibile
significa nessuna richiesta di ottenere che lo farà
darti quel messaggio per cui è invisibile
un certo periodo di time out quindi cosa noi
ho qui questa prima curva blu a destra
ecco il numero è visibile
messaggi in coda così come lo è la scintilla
lavorando nella produzione di messaggi il numero
di messaggi visibili aumentano e il nostro
la politica scalare è lunga quanto quella
il valore è maggiore di zero scala il
cluster out renderlo più grande e a questo
puntare ciò che accade è il cluster inizia
elaborare i messaggi che entrano e
volo che è la curva arancione questi sono
dentro i messaggi e le scintille si fermano sai
creando nuovi messaggi qui e ora siamo
semplicemente li stiamo semplicemente consumando
quindi questo scende a zero e colpiamo zero noi
smettere di ridimensionare, quindi il cluster è ora
alla sua dimensione massima e quindi aspettiamo
fino a quando tutti i messaggi in-flight diventano 0
il che significa che sono stati tutti
elaborati e quindi magicamente solo
scala immediatamente nel nostro intero cluster
e questo funziona molto bene per noi no
più ha
coda lunga siamo sostanzialmente ridimensionati
mentre tu eri a conoscenza dei messaggi
elaborato e abbiamo scalato in quando lì
non erano rimasti messaggi di invito così alcuni
la gente chiede come come dobbiamo
qual è l’approccio nativo alla cloud
costruendo questi gruppi di ridimensionamento automatico così noi
abbiamo adottato tre strumenti principali come
tre principali strumenti o linguaggi di strumenti
così il primo si chiama terraform how
molti di voi hanno usato terraforme
e supporto packer eccellente così
terraform è il modo di allocare
risorse come SQS Kinesis e loro
fondamentalmente in un conoscente dichiarativo
modello sono in realtà tutti configurati
codice ma in sostanza ti danno te
conoscere una risorsa sqs e questo è
essenzialmente lo strumento da assegnare
queste Amazon o conosci le risorse GCP
una volta ottenuta una macchina ec2 devi
installare probabilmente alcuni di uno due
pacchetti e alcuni come pacchetti Python
per renderlo utile per te, ad esempio
i nostri dati firmano come il nostro gruppo di scintilla
che costruiamo costruiamo che l’ ami sta usando
ansible e parker ed essenzialmente quelli
dobbiamo fondamentalmente ottenere una vaniglia
istanza e poi installiamo come sci-fi
o scikit psichico: impara
o come altri pacchetti forse Java e così via
ansible è il modo in cui lo faresti
fornire una singola macchina ECG con tutto
i pacchetti che conosci OS e Python
che devi eseguire la tua applicazione
e infine Packer è anche questo strumento
da Hoshi Corp che genererà un ami
per te e un’immagine della macchina di Amazon da
tutto ciò che hai, quindi facciamolo
Facciamo un esempio diamo un’occhiata a
esempio quindi passo uno eseguiamo packer e
Packer sarà come creare un ec2
istanza con fondamentalmente è un vuoto
tela proprio come un po ‘come vuoto
immagine di base Ubuntu 1404 su di esso e davvero
nulla di cui la tua applicazione ha bisogno e
quindi eseguiremo un playbook rispondibile
per eseguire il provisioning sai qual è la tua app
come se si tratta di un’applicazione Python sta andando a
bisogno come un sacco di pacchetti di installazione di fossa
e forse un paio di pacchetti in meno
e poi Packer prenderà un
istantanea di quella macchina e registrazione
l’ami con Amazon e poi lo farà
distruggi la macchina in realtà non lo fa
serve la macchina oltre a cuocerla
ami e finalmente una terraforma insieme a
questo ami sarà come un Bluegreen
la moda farà ruotare un nuovo ridimensionamento automatico
raggruppa e avvia la configurazione con questo ami
e sostituisci il tuo ridimensionamento automatico esistente
gruppo in modo che faccia le distribuzioni di Bluegreen
e questo è essenzialmente il modo in cui implementiamo
tutti i nostri gruppi di scaling automatico oggi così
questo tipo di copre la tempestività e
e costi aspetti della nostra pipeline di lotti
per quanto riguarda l’operabilità e la correttezza
così quando abbiamo iniziato i nostri dati
la squadra scientifica era essenzialmente tu lo sai
scrivere cron jobs per eseguire la nostra scintilla simile
lavori e sai che non è l’ideale in molti
modi in cui avevamo bisogno di un modo migliore per l’ autore
configurare e gestire i flussi di lavoro e noi
sai anche bisogno di informazioni visive in
la prestazione e la correttezza e
stato dei nostri flussi di lavoro come per esempio
era un dato compito che falliva molto e
costantemente ritentato è questo il motivo per cui il nostro
SLA sta richiedendo sempre più tempo
completo giusto e anche di cui avevamo bisogno
davvero ottima integrazione con la nostra
esistente avvisando così veniamo svolto un
ingegnere a chiamata per dargli un’occhiata
dei nostri flussi di lavoro inefficienti e migliori
soluzione che abbiamo trovato probabilmente riguarda
due anni fa era il flusso d’aria di Apache che
Stava iniziando solo in quel momento non lo era
anche in Apache e così è questo
sembra così dato che conosci un dato
flusso di lavoro o un dag non è altro che
Codice Python è solo molto semplice Python
codice e quando visualizzato sembra
questo giusto e e il pugnale che sei
guardando essenzialmente gestisce il lotto
flusso di lavoro o architettura batch mostrata
in basso a destra e dire che si desidera
sai che vuoi una visione del
la corsa del tuo
della tua pipeline in modo da ottenere un Gantt
grafico per ogni corsa e cosa
questo dimostra che è il lar il
il passo più lungo e di cui abbiamo parlato
il passo più lungo è lo SPARC
aggregazione e punteggio che succede e
poi dopo che l’abluzione è terminata e questo
i dati sono in qualche modo pompati in S3
gli importatori lo completeranno, quindi questo richiede
circa dieci minuti ci vuole circa uno
minuto va bene tutto e poi anche noi
ho una specie di attesa per la cosa di s3 qui
perché dopo averlo conosciuto
coerenza come consistenza finale
problema quindi per evitarlo facciamo davvero del genere
di un tempo per aspettare ed essenzialmente
questa cosa intera dura circa 20 minuti
o meno per correre e cosa succede se ti conosci
voglio sapere che hey questo è carino
veloce per un oleodotto orario dove siamo
completandolo entro i primi venti
ogni minuto di ogni ora, naturalmente
pagando per l’intera ora ma è così
sempre funzionante in modo efficiente e quindi
puoi ottenere una sorta di durata dell’attività
grafico che ti darà uno storico
vista della gestione della tua pipeline e
ognuna di queste linee rappresenta a
compito diverso, quindi di nuovo questo è il massimo
test costoso questo è l’aggregato
Il lavoro di SPARC e quello che troviamo è il primo
mese di cose l’anno scorso era solo
ottenendo linearmente più lento e c’era a
bug e il team di scienza dei dati lo hanno trovato
risolto e poi siamo sostanzialmente finiti
le prossime quattro settimane una corsa costante
tempi del nostro lavoro SPARC intendo a questo
il punto sta prendendo più di mezz’ora a
eseguirlo e hanno portato di nuovo verso il basso per
circa dieci minuti poi ne fecero un altro
ottimizzazione e hanno portato il tempo
ancora più in basso quindi una cosa che
succede almeno nella scienza dei dati è così
è come un ciclo virtuoso giusto che sia
usando nuove funzionalità e, a volte
quelle caratteristiche non si comportano come
si aspetterebbero e il re di diventare più lento
e poi devono fare qualcosa del genere
pulizia per riportare indietro i tempi
allineamento ed essenzialmente questo è un nuovo
caratteristica quindi queste sono due ottimizzazioni
e quindi aggiungi un’altra funzionalità e
di nuovo il tempo è salito così cose come l’aria
il flusso ti dà quella capacità di
mantenere questo ciclo virtuale di nuovo
lo sviluppo di funzionalità si conosce nuovo
scienza dei dati come lo sviluppo di modelli come
così come l’ottimizzazione delle prestazioni
ora cosa succede quando la tua pipeline
dura più di un’ora o cosa succede se
il tuo oleodotto genera una sorta di
errori in quel caso abbiamo integrazione
con allentamento e usiamo come aggiungere alcuni
rallenta il flusso d’aria fondamentalmente come faremo
scaricare qui
come questo dice che ci manca la nostra ora
SLA e questo dice che sai indovinare
cosa abbiamo perso i dati e poi lo faremo
in realtà una pagina o una chiamata con intubazione
con Victor ops o qualunque cosa tu sappia
pager dovere e quindi verrà notificato
c’è qualcosa che non va nella pipeline
e il flusso d’aria soddisfa tutte queste esigenze
per noi così essenzialmente questo è come il nostro
condotte discontinue e con flusso d’aria noi
farti conoscere la correttezza e
operabilità di cui abbiamo bisogno e riguardo al nostro
vicino alla pipeline in tempo reale così come il nostro
vicino alla pipeline in tempo reale corre di nuovo noi
hanno tre clienti che stanno scaricando
i dati che ottengono in Kinesis Kinesis
è la risposta di amazon a Kafka e abbiamo
un gruppo di scaler auto scalatore che
stai ricevendo i dati dentro di te
microsecondi nella maggior parte dei casi in cui
sono stati effettivamente scaricati su di te quando
un cliente è su di loro e noi segniamo il
dati e scrivere i dati segnati a
un altro stream di Kinesis siamo importatori
lo leggerò e lo importeremo nel nostro
Database di Postgres e poi lo faranno
inviarlo anche a un altro stream Kinesis
che verrà letto dai nostri lurchers e
i nostri lurchers sono responsabili del look
fare una corrispondenza sulle politiche del cliente a
vedere se è stata soddisfatta una condizione di allarme
e se sono stati incontrati possono prendere
un’azione come quarantena nell’e – mail
sul sensore attraverso la rete attraverso il
internet e questo è un tuo conoscente
pipeline in tempo reale per il nostro controllo
sistema simile a questo abbiamo anche alcuni
aggiornamenti a questa pipeline da questo lato
già era un po ‘ impegnato, ma puoi farlo
immagina che anche noi abbiamo anche noi
elasticsearch in questo mix è a
un’altra crema Kinesis a valle del
importatori e parlerò un po ‘
a tale proposito ora quando si parla di
componenti quindi ancora una volta s3 è il nostro data Lake
va bene
memorizza anche se i dati stanno arrivando
in Kinesis usiamo firehose per scrivere
quei dati a s3 perché il nostro modello
l’edificio andrà contro i dati in s3
facciamo ancora le fatture modello completo ogni notte
invece di SQL SNF, potremmo davvero
sono rimasto con esso per un messaggio ma
perché il mondo intero usa Kafka e
non volevamo essere così innovativi noi
deciso ok andiamo con qualcosa
è un Casca ospitato con cui siamo andati
Kinesis qui e tu sai di nuovo che è
elenco dei server qualcosa che non gestiamo
ed è un lavoro che va bene per noi in retrospettiva
Penso che potremmo essere in grado di fare come
presto sqs e potrebbe effettivamente avere
stato meglio, ma una cosa che abbiamo guardato
era la dimensione del messaggio e noi in quel momento
eravamo preoccupati del limite di 64 KB
potrebbero essere stati anche i messaggi di sqs
restrittivo e il Kinesis si ottiene
pensa 1 MB così è stato uno dei
ragioni per cui siamo andati con Kinesis per generale
elaborazione abbiamo iniziato a spostare tutto
a lambda per la ragione di costo che io
menzionato ma lambda supporta solo come
Nodo Python e Java abbiamo ancora un
un sacco di cose in Ruby e per quello
motivo per cui eseguiamo ancora l’auto
scalari ea volte c’è anche a
limite di memoria l’ agnello più grande che
puoi ottenere 1,5 album di memoria
e alcune cose che facciamo potrebbero richiedere di più
di quello perché mapperemo un modello enorme
in memoria e potremmo finire per usare
più memoria quindi è come il secondo
utilizzare il caso per l’ utilizzo di un ridimensionamento automatico
lambda spark quindi è interessante
indica la nostra prima implementazione di
il nostro sistema in tempo reale ha appena preso la nostra scintilla
lavori per segnare e basta cambiare il
interfaccia per utilizzare il micro batch
approccio e sai che il lavoro era
scritto per funzionare tra 10 minuti
quindi funzionava ancora in 10 minuti
ma questo non ci ha veramente aiutato
quasi in tempo reale, quindi abbiamo trovato il
le prestazioni del lavoro non erano migliori
solo perché avevamo micro-lotti
perché alcune delle operazioni nel
codice spaghetti che è diventato la nostra scintilla
codice con fare alcuni davvero inefficienti
le cose e la quantità di tempo per riscrivere
quel lavoro avrebbe preso probabilmente a
anno perché sai dato a sapere che sono
non dicendo i tempi dei dati dove la gente
non erano come seguire le migliori pratiche
ma erano come se sapessi scrivere
codice con una mano libera e tu sai
i dati significavano che dovevano fare le cose
tra 10 e 20 minuti e quel codice no
traduci bene a correre nel vicino
modello di streaming in tempo reale, quindi abbiamo preso un
punteggio e aggregazione e noi giusto
usa Park ora per la costruzione del modello e
abbiamo effettivamente spostato il punteggio
direttamente in una lambda e parlerò
sull’aggregazione successiva che ancora usiamo
flusso d’aria per certe cose come il
build del modello notturno che stiamo ancora utilizzando
il database per contenere alcuni dati ma cosa
abbiamo fatto è così perché ci siamo avvicinati
tempo reale
non potremmo più fare questa aggregazione
ogni ora i nostri utenti vogliono in tempo reale
aggregazione e l’altro problema con
fare aggregazione oraria è quello che sei
essenzialmente fare è un pre aggregato
alcune lampade di dati in una tabella di dettagli in
Postgres
e poi sta dicendo il tuo flusso d’aria
calcolare un pre aggregato per quello
ora e dati arriva tardi e quando i dati
arriva tardi
i tuoi sostenitori sono completamente sbagliati, quindi
quello che abbiamo fatto è che abbiamo appena ucciso pre
aggregazione del tutto e noi abbiamo messo
elasticsearch a valle del nostro database
lettura di un flusso di modifica delle modifiche e
facciamo solo al volo le nostre vacanze 500
milioni di punti dati e si scopre il nostro
l’app Web è 100 volte più veloce ed è di più
accurato quindi in realtà ci conosciamo
seguire questo approccio su come poliglotta
persistenza dove diciamo il tuo relazionale
il database non deve fare tutto
se si dispone di un database relazionale e a
cambia il flusso di acquisizione
a valle puoi mettere tutto ciò che vuoi
potrebbe essere un motore grafico che potrebbe essere un
motore di ricerca potrebbe essere qualunque e
al momento mettiamo l’Alaska
cerca a valle per fare entrambe le ricerche e
anche l’ abrogazione al volo e questo è
è stata una grande vittoria per noi, quindi che tipo di
altre innovazioni abbiamo trovato
quando abbiamo iniziato a costruire questo NRT
conduttura oh dovrei dovrei menzionare
che l’ elasticsearch che stiamo usando
è la ricerca Amazon Elastic ospitata noi
di nuovo non lo gestisco quindi è completamente
serverless
Non so perché ho detto che siamo riusciti
dovrebbe in realtà dire il servizio per questo e
abbiamo fatto anche un’altra cosa, la nostra scintilla
lavori per il punteggio necessario per fare un po ‘
funzioni di windowing e cosa effettivamente
fare è memorizzare nuovamente i dati in ElastiCache
Amazon ElastiCache e invece di
andando sai a Postgres o sai
scrivere qualche codice scintilla complesso proprio così
quanti di voi usano una radica non va bene?
enorme quantità di quante ne sai
tutto ciò che va bene non è ancora un numero enorme
di persone e io in quanti di voi lavorano
finanza
ok bene ti interessa quello che
alzò la mano da quando mi sono incontrato bene così
um Ho parlato con un paio di persone circa
questo e in genere le persone in finanza
non ho questo esatto requisito
lo trovi nella Silicon Valley
che è che si sa si chiude mercato
hanno un tempo libero e quindi parlerò
su questo adesso
quindi Apache Avro è l’ auto-descrizione
formato di serializzazione quindi pensa a quando
metti i dati in un database e tu
accedi a quei dati c’è uno schema intorno
quei dati e c’è una sorta di e
è una sorta di codice che convalida
che tutti i dati in entrata o in uscita
corrisponde allo schema ma cosa succede quando
hai una pipeline di dati e due
i processi stanno comunicando attraverso a
file sul file system giusto o sono
comunicare attraverso una pipa o dati
streaming attraverso quale garanzia fanno loro
hanno che il lettore e scrittore sono
usando lo stesso schema come fanno loro
sono d’accordo sui tipi dei campi in
che i dati per gradi nella cardinalità
dei campi questo è il problema che
Avro risolve a destra Avro si applica a
schema sopra i dati a riposo o
streaming in modo che ci sia un contratto e
i dati non vengono corrotti, quindi supporta
Prem
di tipi di dati in su boolean float
stringa quel genere di cose
tipi di dati annidati complessi registrano matrici
mappe dei sindacati e ha collegamenti linguistici
per varie lingue, almeno fino a quando
recentemente direi che è stato il più
comune un formato di struttura che ci piace usato
per i big data lo sai ma ora immagino
stiamo vedendo sempre più parkade a destra
ma è stato sicuramente per un lungo periodo
di tempo il formato di scelta e it
supporta l’evoluzione dello schema, quindi perché lo è
utile va bene quindi un gari è un IOT
ok azienda abbiamo sensori implementati in
i nostri siti dei clienti sono quei sensori
aggiornato in tempi diversi abbiamo no
controllo su quando un cliente lo farà
aggiorna il loro sensore in modo che siano tutti
eseguire diverse versioni del codice
e in realtà stanno inviando diversi
versioni del formato a noi giusto così
forse la versione uno ne sta inviando tre
i campi versione due ne hanno aggiunti due
più campi per i dati inviati a noi e
la terza versione ha aggiunto due campi e
rilascia due campi a destra e in qualsiasi dato
il tempo che il mix di formati di dati sta arrivando
su Kinesis per noi e per fare questioni
leggermente più complicato il
versione che ci aspettiamo dalla nostra parte
è una versione diversa e così molto
prima ancora avevamo il nostro primo
cliente abbiamo scelto Avro come nostro
formato di serializzazione per supportare questo
caso d’uso specifico che non dovremmo mai sapere
il formato dei dati che arrivano sopra
filo dovrebbe essere trasparente e il
in questo modo è il codice nel
il server è una specie di compilazione contro
versione v4 e il codice in esecuzione e tutto
questi consumatori sono compilati contro
versioni diverse che chiamiamo uno scrittore
versione dello schema e uno schema di un lettore
versione dei lettori sul si sa è
su V 4 e gli scrittori su V 1 V 2 V 3
e quando il lettore deve leggere il codice
consegna sia al lettore che allo scrittore
schema e ottiene una netta unione di ciò
dati e non hanno bisogno di preoccuparsi così
fintanto che il lettore lo schema dello scrittore
viene passato con ogni messaggio sopra il
tubo
e il e ha ottenuto come il
il servizio basato sul cloud ha accesso ad esso
possiamo fare questa risoluzione dello schema e noi
non devi mai preoccuparti di arretrare
compatibilità e noi facciamo rispettare
retrocompatibilità in un lavoro di Jenkins
se hai domande di cui posso parlare
che in seguito è diventato così utile
come strumento per proteggerci dal formato dei dati
problemi con i nostri clienti l’ abbiamo usato
all’interno della nostra pipeline per ogni passo quindi
tutti i nostri processi sono disaccoppiati da
l’un l’altro non solo in virtù dell’uso
spunti come Kinesis ma anche perché il
il formato dei dati supporta lo schema automatico
evoluzione e perché siamo un silicio
Compagnia della valle che conosci di 20 ingegneri
abbiamo bisogno di avere almeno quattro diversi
lingue quindi tutto è scritto in a
rotaie di lingua diversa Python e Java
sono tutti coinvolti nella decodifica e
roba di codifica e roba di impostazione in
gasdotto e non abbiamo J’s ora così
sfortunatamente che supporta anche Averell così
ci sono collegamenti linguistici per tutti
queste lingue così come un esempio questo è
uno schema di uno schema medio hai a
tipo di registrazione che chiamiamo utente di guru
è un record utente e il record utente ha
il nome così come l’utente preferito
numero e il colore preferito degli utenti e
il primo campo è un campo obbligatorio il
il nome è obbligatorio e il secondo due
campi numero preferito e preferito
il colore lo vedrai ha questo strano
la notazione sembra una matrice di int e
nan o stringa e L significa solo che è
un campo opzionale così come ho menzionato Avro
è molto comune nel mondo dei big data e
viene in genere utilizzato per scrivere file di grandi dimensioni
a riposo su come HDFS dove il blocco
la dimensione è come 64 MB e lo schema è
posto nella parte superiore del file come JSON
e poi ci sono solo dati in binario
scritto sotto e quando hai un
milioni o miliardi di questi record del
spese generali dello schema è piccolo come
Lo 0,001 percento è molto comune
come un sovraccarico per lo schema, ma cosa
succede se stai trasmettendo un record
in un momento sopra Kinesis
giusto o Kafka in quel caso gli schemi
Il 99% dei dati che in realtà non desideri
per inviare lo schema con ogni singolo
il messaggio che hai inviato è sovraccarico
quindi una cosa che penso sia l’ultima
volta ho dato questo discorso ho promesso fuori
open-source questo e non ho capito
intorno ad esso in modo vi prometto ancora una volta
questo è per noi open source
un registro dello schema
arriva con la confluenza di Alec che c’è
come un’implementazione che abbiamo implementato
qualcosa su un lambda che è molto
efficacemente molto leggero in sostanza
abbiamo un lambda e ne ha due
funziona così a volte le persone parlano
è una funzione come un servizio che noi
in realtà non seguire quel modello noi
in realtà invio a più funzioni
in un lambda e quindi una delle funzioni
è lo schema del registro quindi in questo caso il nostro
produttore prima di inviare un messaggio verso il basso
la pipe registrerà uno schema e
restituiremo un ID univoco
di fatto UUID e lo invierà
UUID più un dato attraverso il filo e
il consumatore riceverà l’ID e il
dato che il problema è che ha questo
dati non ha lo schema del writer
eppure ha un ID per ottenere uno schema di scrittura
effettuerà quindi una ricerca tramite lo schema
per ID ottieni lo schema del writer e memorizzalo nella cache
e poi userà quello insieme al suo
sai cosa ha compilato contro il
schema del lettore per decodificarlo al volo
e questo è essenzialmente il modo in cui lo usiamo così
in ogni posto usiamo le chinasi che abbiamo
questo registro dello schema lambda e abbiamo tagliato
giù su tutte le ore sempre a prendere
elaborare questi dati noi sappiamo tutto il
invio di tempo in trasmissione ed elaborazione
quindi penso che a questo punto sono davvero
pronto per domande ovviamente nessuno di
quello che abbiamo fatto è uno sforzo da un solo uomo
più persone nella mia squadra sono state
aiutandoti e conosci qualche domanda si
sì la domanda è stata di cui sto parlando
un numero diverso come un lambda Java
numero funzionale di te, giusto AWS
Lambda ti ringrazio di sicuro, quindi la strada
Kinesis funziona è che ottieni molto
molto un kafka ottieni partizioni nitide
e ogni partizione è fornita con a
limite IO molto severo e diciamolo
per una determinata partizione puoi fare a
Mille metto un secondo e cinque letture a
secondo va bene quindi quello che succede è cosa
succede quando superi così bene te
farti strozzare da Amazon proprio così tu
dovuto in modo che quando ciò accade si deve
ridimensiona i tuoi frammenti okay
il problema con la scala di questi
i frammenti è il modo in cui fanno Amazon
quello che chiama una scissione di frammenti strada
hanno diviso il frammento e hanno messo fine
di pennarello nel vecchio frammento e e
creane due nuovi dividendo lo scatto
lo spazio chiave in cui non sono effettivamente
tagliare la quantità di dati sul due in
a metà non piace dividere il frammento
sposta i dati a metà quindi cosa fanno
è solo che lo mettono solo loro e il
grafico corrente e ne creano due vuoti
sicuro di svuotare i frammenti ora è questo che a
split shard è in Amazon sei tu
seguendo questo sì giusto ora cosa
succede in genere è ma lo trovi
quello tuo quando trovi che sei dentro
il problema con un frammento è in genere sul
leggendo lato stai cadendo
dietro nell’elaborazione sul lato della lettura
e c’è un enorme sei come dietro
diciamo otto ore o un paio d’ore
appena dietro da un paio d’ore
spaccare la scheggia non ti aiuta
sei ancora dietro di te non ti capisco
non magicamente arriva a X la lettura
capacità di cui hai bisogno in modo che sia uno
problema sai che dicono quello scatto
le divisioni sono molto economiche e veloci e questo
è il motivo per cui sono a buon mercato e si fida di loro
non spostare i dati intorno al secondo
il problema è che nessuno dovrebbe preoccuparsi
su questo diritto con SMS e SQS voi
diventa magico
ridimensionamento orizzontale automatico
non dovrebbe essere fornito io e così è stato
abbiamo bloccato con esso potremmo solo elaborare
tutto in parallelo e non hanno mai
preoccupati oh sai che questo è il nostro
capacità prevista e questo è quanto
abbiamo eseguito il provisioning e quindi cosa abbiamo
attualmente è un lavoro di flusso d’aria che
come il pre-emptive ridimensionamento quando
siamo prossimi ad incontrarlo come colpire a
confine iniziamo ad aggiungere frammenti e e
abbiamo bisogno di un lavoro per mantenerlo nel
SMS qf modello viene automaticamente ridimensionato
sotto il cofano che Amazon mantiene
aggiungendo istanze quando internamente è
colpendo l’80 percento della capacità
su una qualsiasi delle partizioni sqs che è
quello che vorremmo spero alla risposta
la tua versione va bene nella parte posteriore va bene così
la sua domanda è nella nostra implementazione di
il registro dello schema siamo sempre
memorizzazione nella cache dello schema del writer sul
lato del consumatore o è una ricerca per
obiettare in modo che la risposta sia sì
sempre in cache e abbastanza interessante
è metà delle nostre funzioni che si sono mosse
a lambda e quei lambda stanno chiamando
questa lambda e scopriamo che è così che siamo noi
ho scoperto che i nostri lambda sono molto
longevo perché sono tutti dei lambda
leggendo da Kinesis vivono per tre
giorni così così sono i successi al
registro dello schema lambda da uno dei nostri
i normali lambda di lavorazione sono molto
in basso memorizzano per alcuni giorni
rispondi cucinando ok bene ok quindi quello è un
davvero una buona domanda questa domanda è
qual è la scala che stiamo vedendo
scala che stiamo vedendo è decine di
milioni all’ora a volte più dipende
nell’ora del giorno e alcune cose
che facciamo come possiamo alcune parti del nostro
codice che dobbiamo rielaborare e possiamo
spingere 400 milioni attraverso in circa un giorno
come su un caso d’uso di ritrattamento se tu
necessario se dobbiamo fare un cambiamento a
il nostro algoritmo di punteggio o qualcosa di noi
a volte la rielaborazione che ho menzionato abbiamo
ricerca elastica se aggiungo un nuovo campo e
manteniamo 60 giorni di sicurezza dei dati
dati per noi o 500 milioni di record così
se aggiungiamo un nuovo campo per quello
Kinesis hop dobbiamo fondamentalmente spingere
500 milioni di record e ci vuole
circa come un giorno qualsiasi altra domanda
perfetta ottima domanda quindi la sua domanda
è qual è il trade-off di EMR contro
self-hosted quindi ci sono voluti come un’ora
per cui il palmo con EMR è impossibile
specificare il nostro vero ho ragione così avremmo
prendi l’EMR ami e poi iniziamo
installando tonnellate di pacchetti Python
ci vorrebbero 40 minuti e poi
siamo pronti per usarlo bene quindi tu
lo so così è stato un grosso problema come
questo fa girare il tempo ed è per questo che ci siamo trasferiti
lontano dall’EMR grazie
[Applausi]

Please follow and like us: