Press "Enter" to skip to content

GOTO 2017 • Designing for the Serverless Age • Gojko Adzic


[Musica]
ok suppongo che inizieremo grazie molto
tanto per decidere di essere in questo discorso
piuttosto che qualcos’altro sono Goku e
di cosa parlerò è come
le implementazioni dei servizi influiscono sul modo in cui progettiamo
e distribuire i nostri sistemi penso uno di
le cose veramente interessanti che sono
accadendo al momento è tutto questo
la parola d’ordine sta esplodendo e molte persone
si stanno avvicinando da un tecnico
prospettiva dove è
stateless è funzioni è piattaforma
come servizio e come industria ci piace
occuparsi di materiale tecnico , ecco cosa
Tendiamo a fare ma penso che il
tutta la cosa senza server qualunque tu
decidere di chiamarlo è molto di più
importante guardare da un finanziario
prospettiva così come siamo
avvicinarsi alle cose in termini di progettazione
e implementando le applicazioni, noi
Diamo per scontato oggi sono stato costruito
basato sulle nostre esperienze negli ultimi 20 anni
30 anni di implementazione di sistemi e molti di
i vincoli che esistono nell’ultimo
20 30 anni non più applicati a
schierando con una SS lambda che significa
che molte cose per le quali ora prendiamo
concesso come le migliori pratiche sono solo
soluzioni per vincoli che non sono più
applicare e questo è stato davvero davvero
interessante per me un po ‘ di quando noi
ha iniziato a girare la testa per lambda
schieramenti e questo è un po ‘quello che io
voglio parlare di quali sono le cose
che ora pensiamo siano le migliori pratiche ma
sono in realtà solo soluzioni per problemi
che non sono più applicabili e gentili
in termini di quello che sto andando parlare su
solo come esempio sviluppo a
collaborazione che aiuta le persone a fare
mappe mentali online e a febbraio 2016
abbiamo iniziato a migrare da Heroku a un SS
lambda it
ci sono voluti circa un anno per muoversi
tutto perché abbiamo fatto gradualmente
durante l’anno li abbiamo aumentato ora
tipo di diminuito i costi di hosting di
circa 1/2 e mentre allo stesso tempo
aggiungendo un sacco di nuovi servizi e il nostro
il numero di utenti attivi è aumentato del 50%
nello stesso periodo così gentile di tutto in tutto
la mia stima è che abbiamo risparmiato circa il 66%
o 2/3 sui nostri costi di hosting e questo è
davvero molto interessante se guardi
da una prospettiva che esegue un piccolo
attività commerciale
quindi, dopo aver iniziato a pubblicare
questo è entrato un ragazzo di nome Robert Charlie
toccami con me voleva fare un
documento scientifico su questo e insieme noi
ha scritto un vero documento scientifico Martin
ieri ho parlato di articoli scientifici
si sa tutti i miei professori
università di cui andremo fiero
io e so che tutto l’alcol tipo di
valeva qualcosa alla fine e tu
può tipo di download questo è it’s
chiamato il tipo di economico an
L’impatto architettonico del cefalus è
orribile ma va bene così puoi prenderlo
molto di più sui numeri che ho parlato
A proposito di lì, ma mi sono reso conto come eravamo
facendo ricerche per questo che in realtà
i nostri risultati non erano nemmeno quelli
interessante perché abbiamo parlato con le persone
che ha salvato qualcosa come il 99% sul loro
costi di hosting allontanandosi da altri
piattaforme a – lambda ‘
Heroku è ragionevolmente efficiente in termini di costi
comunque e in movimento o in movimento dai vecchi
generazioni di cloud hosting o in movimento
dall’ospitalità on-premise a lambda ha un
potenziale ancora più grande da fare
roba così la cosa fondamentale ci penso
questo è davvero importante da considerare
il modo in cui lambda ha un prezzo e in
la mia esperienza è principalmente con lambda AWS
anche se praticamente tutto l’altro cloud
i provider sono funzioni di copia e
i modelli ora così il modo in cui un doppio è lambda
è un prezzo tipo di cambiamenti fondamentalmente
gli incentivi per gli schieramenti
cambia radicalmente gli incentivi per
buona architettura e penso di Martin
ho parlato di ieri di ingegneria
e come funziona all’interno
vincoli
Penso che il costo sia uno dei maggiori
i vincoli in cui dobbiamo lavorare
e il tipo di modello di pricing di
fondamentalmente cambia davvero importante
così gentile in termini di lamda dei prezzi
prezzi roba per richiesta e per 100
incrementi di millisecondo in un processore in
un pacchetto di memoria virtuale quindi questi due
le cose sono davvero molto importanti per
considerare perché cambiano il modo in cui paghiamo
per il tipo di ciò che stiamo usando e
iniziano a caricare le cose non in termini
di capacità riservata ma in termini di
utilizzo effettivo su cento millisecondi
incrementa quindi non importa se
hai cinque VM VM 500 se corri
tre scatole o 5000 scatole da elaborare
tutto ciò che conta è il numero
le richieste sono arrivate e quanto tempo hanno impiegato
eseguire in quali condizioni di memoria
quindi l’ intera parola chiave dei servizi è
orribile perché ovviamente ci sono
server là fuori e cose del genere
ma come qualcuno è venuto con una vera bella
definizione su Twitter l’altro giorno è
dicendo che tipo di che la cosa è
serverless
se paghi solo per l’uso effettivo
se non stai pagando per quello che hai
pianificare come una capacità riservata così gentile
di storicamente non è stato come
quella architettura storicamente buona
ottimizzato per risorse riservate e I
tu sai 20 anni fa nel mio precedente
vita ho lavorato su piattaforme di trading che
sono stati distribuiti su hardware immortale che ero
mai dovuto morire il costo di archiviazione
più della mia casa erano i processori
follemente costoso e tutto era
replicato replicato duplicato perché
non è mai e poi mai dovuto morire ma
una volta che hai una macchina come te
ottimizzare per l’utilizzo di ciò che hai comprato
sei tipo che ti infili dentro qualcosa
mettere tutto il possibile per correre lì e
stai molto attento a non eccedere
la capacità di questo perché se lo fai
allora sai di aggiungerne un altro
processori o aggiungendo un po ‘di spazio in più
richiede
una quantità folle di costi quindi del 2006
Il tipo di Amazon è venuto fuori con l’idea
che puoi ottenere una macchina virtuale
correndo tra circa cinque o dieci minuti
che era completamente pazzo al momento
Ho lavorato per un grande fornitore di telecomunicazioni
dove ci sono voluti nove mesi per
fornitura di una macchina virtuale internamente
e sai che ora arriva Amazon, puoi
ottenere la VM per circa dieci minuti e e
che c’era qualcosa di straordinario ma gentile
non ha cambiato radicalmente il modo in cui siamo
pensando a dispiegamenti perché tu
ho cinque macchine virtuali che stai pagando
per cinque macchine virtuali così sei
impacchettare tutto in quei cinque
macchine virtuali e insegniamo alle persone
buon design del software come il disaccoppiamento
isolamento e tutti quelli brillanti
pratiche di progettazione del software e quindi
perché hai cinque macchine virtuali
poi metti i tuoi server di pagamento e
il tuo registro e il tuo sistema di monitoraggio tutto
sulle cinque macchine virtuali in cui sono
iniziare a interagire tra di noi e noi
abbiamo avuto questo problema , stiamo distribuendo
un sacco di diversi servizi di pagamento a
riserva le VM che uno dei VMS non ha pulito
lo spazio temp correttamente ora uno di
i servizi di pagamento non hanno pulito
dopo se stesso e tutto il tempo che ha riempito
up the temp space Linux inizia davvero
Davvero male comportarsi quando si riempie il
spazio temp in modo tale che il tipo di VM ha iniziato
impazzire tutti i servizi di pagamento
quella macchina è andata giù anche se loro
sono stati progettati per essere disaccoppiati e
isolato e tutto e quello quando
quella macchina è andata giù c’era a
a cascata sai tutti i restanti quattro
le macchine hanno iniziato a riempirsi in quel momento
spazio molto molto rapidamente e tutto
tipo di implosi
quindi anche se sai che insegna alla gente
sul buon design come disaccoppiamento finiamo
distribuire materiale per risparmiare denaro perché
dobbiamo prenotare la capacità e il prossimo
generazione di distribuzioni cloud Google
App Engine Heroku e cose del genere
hanno trasferito molte delle responsabilità
ai provider di cloud come
provisioning come monitoraggio e cose
così, ma tutto è rimasto
stavi pagando per i dinosauri su Heroku
esempio, abbiamo la nostra applicazione è stata distribuita su
Heroku noi
abbiamo circa 20 o 30 diversi
esportatori in due formati diversi e
se ho intenzione di eseguire un primario e un
failover per ciascuno di questi esportatori
VM isolate separate più per alcuni
esportatori ho bisogno di molta più capacità e
per altri per uno su cinque o sei
VM significa che per 30 esportatori
Ho bisogno di un centinaio di macchine virtuali da far funzionare se davvero
voglio renderlo affidabile e isolato
ma alcuni di quegli esportatori come
markdown Ho scritto per me nessun altro
usa quello come alcuni di quegli esportatori
PDF Lo uso sempre, quindi lo sai
Metterò il mercato sull’esportatore sul
stesso blocco di macchine del PDF che sono
non andando a creare un blocco separato di
macchine per risparmiare denaro e tu sai di
Certo, abbiamo fatto uno stupido errore e alcuni
di quelle cose ha iniziato a interferire con
l’un l’ altro perché erano sullo stesso
macchina ora tecnicamente abbiamo un
soluzione per questo e abbiamo avuto una soluzione
per questo è contenitori è isolamento
è cose del genere, ma come si sa
la compagnia media è molto molto difficile
dedicare le risorse per gestire
tutto lì così che fa lambda
L’Islam che tipo prevede che a
servizio in modo partiamo allontanandosi dalla
capacità riservata di utilizzare la capacità
non importa quante macchine virtuali hai bisogno
Amazon scalerà questo e
ricaricarti per quanto hai usato
e questo è il tipo di richiesta basata
il prezzo è davvero molto interessante
quindi quello che significa è che non c’è
più incentivi finanziari da mettere
il markdown nel PDF esportatore sul
stessa VM ancora peggio perché hanno
diversa memoria ha bisogno di markdown no
bisogno di qualsiasi memoria PDF ha bisogno di molto perché
sta usando go script e go script è un
la memoria sta mettendo queste due cose sopra
la stessa VM finirò per pagare per un
markdown per una filigrana ad alta memoria
questo è molto più di quello che mi serve se io
separarli in modo finanziario
gli incentivi qui sono in realtà per le persone
per separare le app in tutti questi piccoli
moduli isolati è davvero molto
interessante perché detto storicamente
era completamente diverso quindi uno dei
cose che penso tipo di persone
dovrebbe pensare di più e non lo è
microservizi non è un tipo di funzioni
puoi ronzare per questo in qualsiasi modo
vuoi ma penso a quello che abbiamo iniziato
pensare è davvero
disaccoppiare diversi compiti che hanno
diversi vincoli di memoria diversi
Vincoli della CPU implementazione diversa
Hai bisogno e stai pensando bene, lo sai
se non importa quante macchine virtuali questo
corre su non mi interessa che sia
schierato separatamente e questo è molto molto
liberatorio ed è completamente opposto
di quello che ci è stato insegnato a fare molto
tipo di molte pratiche come Bluegreen
schieramenti molte pratiche come tipo di
monitoraggio concentrato e cose simili
che non lo facevano più così problematico
e questo si apre davvero
possibilità interessanti per esempio
spostandoci da Heroku a lambda abbiamo gentilezza
di un gruppo di codice cancellato che era –
trattare con il tipo di sai capire
cosa sta succedendo su una particolare VM
capire come interagiscono queste cose
con fare che interagiscono tra loro in modo da
un sacco di questo codice di infrastruttura è
andato così la prossima cosa che tipo di I
pensare storicamente è successo e no
più a lungo vale generalmente
architettura a causa di tutta l’ idea
di voi sapete cose riservate ottimizzate per
fallimenti e ciò che voleva dire era davvero
gestione dello stato complessa che volevi
avere una macchina di failover caldo o una coppia
di riempimento a caldo di macchine che possono prendere
il carico in te lo sai molto rapidamente se
qualcosa non funziona, quindi i dati devono essere
la cache replicata deve essere replicata
i dati devono essere sincronizzati fra
macchine replicate quindi questo tipo di
le politiche di invalidazione della cache necessarie per le persone
a preoccuparsi di questo c’è molto
codice molto complesso da fare per farlo
funziona davvero molto bene ma da a
prospettiva del tipo di pagamento per richiesta
di macchine di failover non stanno facendo
qualsiasi cosa così gentile a meno che la ricezione
chiedi che non paghi per loro e
allora la grande domanda diventa te
in realtà bisogno di pianificare il failover come
quello e un altro davvero interessante
vincolo che penso sia di Canova
cambiando con l’intero lambda
l’architettura è il tipo di tempo per
recuperare che era storicamente un grande
autista per un sacco di architettonico
le pratiche non è più così importante
e questo si apre davvero
possibilità interessanti cosa penso
sta diventando molto più importante è il
tempo di iniziare
quindi quando parliamo del tempo per iniziare
Mi limiterò a vedere qualcosa di molto
rapidamente vediamo se gli dei del
Internet ci aiuta qui così bene così se lo faccio
[Musica]
e faccio il constable, andiamo bene
quindi questo è una specie di un’API Web che su
qualsiasi richiesta di slash ciao risponderà
con hi lì non è che una specie di
complicato
e se non ho fatto uno stupido errore, noi
dovrebbe essere in grado di fare qualcosa del genere
Sto usando uno strumento open-source per
implementazioni qui che effettivamente abbiamo
open source mentre lo costruisci
mindmap il primo che abbiamo creato
era qualcosa come 30 linee di
Codice JavaScript e circa 250 righe di
script di shell da distribuire e poi I
capito che il tipo di rischio è no
più a lungo nel codice il rischio è nel
distribuzione così volevamo avere correttamente
distribuzione e configurazione testate da unità
e noi abbiamo semplicemente confezionato tutto
gli script quindi questa cosa è ora su a
URL su Amazon e se prendo questo URL così
Ho creato uno slash ciao, quindi se lo faccio
ciao arricciato, vi salgo
quindi ora questo è un tipo di cosa che è
in esecuzione su una VM ma ciò che è veramente
interessante su questo è che se tutti
inizi ad attaccare questa cosa ora
gestirà perfettamente il carico se
nessuno sta usando che non devono pagare
per niente se abbiamo un enorme
ora forte ma poi gentile da parte tua
sapere che il picco si spegne è perfettamente
bene così si scalerà e scalerà
in più con questo ottengo un sacco di
le cose automaticamente come il monitoraggio
logging provisioning di sicurezza tutto il
roba che tipo di persone vogliono trattare
con le operazioni così l’ho creato
cosa chiamata andare a Copenhagen quindi se me ne vado
al mio lambda ora
vieni su internet okay, quindi abbiamo una manopola
non è l’account giusto
bene bene bene
quindi vediamo Amazon quattro uno tre tre
quindi per ora hai visto il mio codice venire
andiamo così se vado a lambda ora ho
non ho idea di cosa siano cambiati qui così
questo è il bene III, puoi vedere come
spesso uso questa anomalia usando il comando
linea D quindi quello che voglio che tu dica è gentile
di con con questo si ottiene un mucchio di
operazioni cose gratis gratis
e perché è questo trambusto di sofferenza e
cose che non contano
facciamo funzioni funzioni funzioni
pagina delle funzioni per andare a Copenaghen okay
quindi eccolo e poi ho un po ‘di
un sacco di cose intorno al monitoraggio che ho
il mio tipo di errori controlla che ho i log
nel cloud watch ho più o meno
tutto ciò di cui ho bisogno da un’operazione
prospettiva già fornita a me così
c’è tutta questa parola d’ordine in questo senso
lambda si sta spostando da DevOps a no ops
e Simon worldly in cui è ricercatore
il Regno Unito ha detto che la tua azienda non lo è
fatto DevOps, ma non preoccuparti di saltare un
tutta la generazione di cose e passare a
qualcosa di simile ed è facile
abbastanza giusto non sta uccidendo completamente
DevOps ma ora ho detto che sai di avere
tutte le cose che ho già fatto
un registro che ho tipo quando è iniziato
quando è finita quanta memoria ha usato
e questo è incredibilmente buono per
ottimizzare le cose se si guarda il tipo di
la tipica architettura e e e
roba del genere che normalmente avevamo in mente
fuori quanti soldi una particolare funzione
costava correre era quasi impossibile
le persone stanno ottimizzando basandosi su un intestino
sento che stavano ottimizzando tutto
applicazioni ora so esattamente per questo
compito particolare quanti soldi sono
spendere così posso decidere di aver bisogno
tipo di investire nell’ottimizzazione o meno
quindi questo è davvero davvero
interessante e gentile in termini di tempo
per iniziare, eccone alcuni
numeri empirici che ho ottenuto questi sono
non confermato da AWS a Tablas
non pubblica alcun numero al riguardo
ma questi sono i miei numeri che noi
ottenuto generalmente così per un completamente nuovo
istanza di uno schierato così se tu
inizia a colpire questa roba ora e questo
istanza che sta eseguendo il loro contenuto
caricare con il codice JavaScript
questa signora impiega meno di un secondo a
ottieni la nuova istanza se vuoi fare un
nuova distribuzione una nuova versione come quella che ho
appena fatto ci vogliono circa tre o quattro
secondi per tipo di impostare tutto così
questa è la roba dell’infrastruttura ora
ciò che rimane è quanto dura la nostra app
connettersi al database caricare il
la cache carica i dati e le cose sono
Penso un po ‘ diverso dal precedente
architetture in cui stavamo ottimizzando
per un rapido failover cosa dobbiamo iniziare
pensare è ottimizzare per veloce
iniziare pigro caricamento di tutto tipo di
fare in modo che non aggiungiamo un sacco di
questa roba perché se possiamo allora fa
questa fermata è solo una specie di inizio e morte
da solo ora c’è tutta una parola d’ordine
qui dove le persone parlano di come
abbiamo bisogno di ottimizzare abbiamo bisogno di scrivere
questa roba in modo apolido perché
c’è una grande confusione di parole d’ordine e
alcune persone parlano della funzione dei servizi
come un servizio che in un funzionale
programmazione e programmazione funzionale
è apolide e tu conosci gente
gettare parole d’ordine intorno a lambda non lo sono
gli apolidi non devono dirlo a nessuno
quel lambda è un contenitore statico
non avevo idea di quanti contenitori
stai correndo quando inizia il contenitore
non hai controllo su quando è
andando a fermarsi e se il prossimo
richiesta dallo stesso utente sta per
colpire stesso contenitore o completamente
contenitore diverso così piuttosto che
sviluppando per apolide quello che penso noi
dovrebbe pensare a questo sviluppo
tipo di sicuro per nulla per cui progettare
certo nulla quando il carico della VM è
perfettamente bene per iniziare a memorizzare le cose nella cache
in quella VM che non sono specifici dell’utente
è così che risparmiamo molto tempo
elaborazione delle richieste è così che salviamo a
molti soldi perché tu sai che lì
sarà una VM in esecuzione è solo che tu
non deve mai prendere nulla di ciò che è
specifico per quella particolare richiesta
stato di una sessione utente non c’è il
lo stato di una sessione utente deve essere
da qualche altra parte e parleremo di
un’opzione piuttosto interessante dove
spingere lo stato dell’utente in seguito, ma in un certo senso
non sono gli apolidi che hanno
mai schierato nessuno di questi discorsi
loro sono dei senza stato
no e penso che tu perda molto
soldi trattandoli come apolidi così
la prossima cosa che penso di tipo
storicamente è successo è stato davvero
davvero difficile da replicare la produzione
sapevi che la gente aveva una produzione
sistema con archiviazione costosa o anche se
è sul cloud con buone macchine virtuali e poi
questo è costato molto per cui non vorresti
Paga lo stesso importo per il tuo allestimento
non volevo pagare lo stesso importo per
il test così tipicamente tipo di
test delle prestazioni a meno che tu non sia Lmax
correrebbe su una specie di copia più piccola di
dati su una copia più piccola della produzione
e cose del genere non lo erano
davvero rilevanti non erano affidabili
e in generale ciò lo ha reso davvero molto
difficile pretendere nulla
utilizzo e produzione di produzione
prestazioni basate sul sistema di test
ora ho un paio di amici
dall’Australia e loro rivendicano
che non so se questo è vero o no
il tempo in cui quel tipo di Facebook è
continuamente rotto in Australia perché
Facebook è davvero buono con il tipo di
condurre esperimenti di business su tutti
i loro utenti e il tipo di Australia è il
mercato che è abbastanza grande per essere
statisticamente significativo è inglese
quindi non devono sprecare molto
tempo per preparare il software per quello ma
A Facebook non interessa molto
sugli australiani sono rilassati
persone comunque in modo che possano fare esperimenti
in Australia e poi quando pensano
ciò che funziona non funziona
traducilo negli Stati Uniti adesso quando tu
pensare a una cosa del genere che è
incredibilmente utile ma fino alle cinque
anni fa o fino a tre anni fa
che era a tua disposizione se il tuo Google
o Facebook eseguendo esperimenti come
ti senti caro hai bisogno di un
copia completa della produzione per
qualcosa del genere e hai bisogno del
copia di produzione pertinente di cui hai bisogno
sincronizzare i dati tra questi
cose che uno di loro è il migliore
esempi di quanto sia importante è a
la storia ha chiamato 40 sfumature di blu
assolutamente amato perché è uno di
quelle cose rare in cui puoi leggere
entrambi i lati della storia online quaranta
sfumature di blu ha portato a tipo di quello il
il capo del design di Google voleva
cambia il colore dei collegamenti sul
homepage per annunci e sviluppatori
lo sfidò un po ‘
e voleva cambiarlo in a
particolare colletto blu durante la notte
eseguito 40 diversi colori di blu e
misurato il numero di persone che fanno clic
quello e poi come risultato di quello
dipende da che parte si legge questo ragazzo
o il quitter è stato licenziato perché il
la differenza era qualcosa come 250
milioni di dollari tra la corrente
il colore e il suo colore se si espande a
un intero anno intero e il 100% degli utenti
così genere di cose di questo genere sono
incredibilmente importante da testare ma per
la maggior parte delle persone là fuori era quasi
impossibile farlo perché la produzione
la copia costa così tanto quando abbiamo iniziato
facendo lambda ho avuto questo geniale meglio
idea nel mondo e volevo
integrare il grafico dei dati wiki della conoscenza
con la nostra app in modo che quando si preme a
il punto interrogativo si apre automaticamente
termini correlati sarebbe stato fantastico
Sarebbe stato fantastico se ne andasse
essere fantastici e miei affari
il partner ha detto no che è un’idea schifosa
nessuno lo userà per non farlo
perdere tempo facendo così sai che mi piace
di solito non mi piace chiedere
il permesso piace chiedere perdono
quindi ho deciso che lo farò comunque
e ha detto che so che lo farai
comunque non toccare il cazzo
codice di produzione perché se lo metti
in noi stiamo andando ad avere persone che conosci
urlando che non possiamo sostenere il
Giusta prestazione saremo in fondo
come qui stiamo andando e ho detto okay
e poi mi sono reso conto con i lambda
non paghi per cose se tu persone
non li uso quindi ne ho spesi due
i giorni hanno battuto una versione lambda veloce
quello è stato esteso con questo distribuito a
copia completamente separata del nostro
produzione e ha inviato il 20% dei nostri utenti
lì e tu sai ed ecco io
ha dimostrato che si trattava di un cazzo un’idea nessuno
vuole usarlo così abbiamo cancellato il codice
con la nostra produzione inquietante, ma così
questo è questo è qualcuno che sai qualcosa
che tradizionalmente avremmo litigato
chi ha ragione chi è l’ uomo sbagliato lo farebbe
comunque e poi quel codice sarebbe rimasto dentro
la produzione e il tipo di sai costi
noi più per mantenere è stato fantastico
perché potremmo eseguire un rapido esperimento
quindi perché stiamo pagando per le richieste
non stiamo pagando per la capacità di riserva
era esattamente la stessa quantità di denaro per
invia l’80% degli utenti a una versione 20% a
un altro o inviare tutti allo stesso
versione o per avere una versione per
Copenaghen o per avere una versione per
andare o avere una versione per qualsiasi cosa
vuoi e in realtà un po ‘ di cosa
inizia a farci pensare a è
allontanandosi dal pensare
produzione a pensare al multiplo
versioni e multi versioning in lambda
è incredibilmente ben fatto, lo sai per
le mie scene come hanno fatto tutti gli altri
un framework Orion un framework di registrazione
e una versione multi dati nel framework
tutti lo hanno fatto quando erano giovani
altrimenti non lo sai non lo fai
arrivare a chiamarti uno sviluppatore e
poi finisci per soffrire
mantenendo quella merda per 10
anni ma va bene così un multi dati
richiesta di versioning multi versioning
il servizio multi versioning è davvero
davvero difficile fare bene su scala e
Probabilmente Amazon l’ha fatto per loro
proprie esigenze e hanno appena esposto una T
lambda quindi ogni funzione lambda ottiene a
versione numerica ogni volta che si distribuisce
e tu puoi dirigere le chiamate per a
funzione particolare o all’ultimo
versione non distribuita o ad un particolare
distribuzione numerica o è possibile assegnare
alias a una distribuzione numerica come
staging test di produzione così quando noi
iniziato a fare questo siamo partiti davvero
tipo di fare oh ho una produzione
versione una versione di prova e la gestione temporanea
versione e poi abbiamo capito perché lo farò
basta salvare una versione per testare questa funzionalità
oh avrò una versione per tipo di te
sapere quando stiamo facendo qualcosa
sperimentale e il 5% dei nostri utenti davvero
davvero bisogno di questa funzione, ma non lo è
pronto per tutti gli altri possiamo distribuire a
versione per loro e darlo a loro e
provalo su di loro presto ed è multi
la versione è incredibilmente ben fatta quindi io
penso che questa sia una cosa davvero interessante
iniziare a pensare a come si fa
raggruppiamo i nostri compiti perché ha un
impatto enorme su come progettiamo come noi
distribuire se stiamo progettando per a
universo a più versioni in cui sai a
nello stesso tempo diverse versioni di a
involucro in esecuzione e cose diverse sono
comunicare con anche io penso che il
concetto di design guidato da tutto il dominio di
gli aggregati diventano incredibilmente di più
importante perché vogliamo essere sicuri
quel tipo di sai tutti i dati per a
particolare versione di questo oggetto
viaggia insieme e perché siamo gentili
di non voler intasare la comunicazione
cose che vogliamo essere sicuri
gli aggregati sono in realtà relativamente
minimale in modo che possiamo spingerli in giro
e possiamo caricarli rapidamente ma il
il film sulla terra ci ha portato a pensare
molto di più su ciò che sono i nostri effettivi
aggregati dove l’aggregato
confini cosa deve essere in a
versione particolare coerente con
di per sé ciò che può essere solo tipo di essere
versioni differenti ed e va bene così io
penso che sia completamente interessante
tipo di fenomeno che non sono realmente
visto nel mio codice prima e perché
abbiamo progettato per il multi versioning ora
in primo piano mentre stiamo migrando possiamo fare
un sacco di cose folli e la roba che
era il tradizionale a tua disposizione
conosci le aziende che fanno miliardi e
miliardi di dollari che possiamo fare ora e
siamo una squadra di due persone e basta
Penso che sia sorprendente come una specie di cosa per noi
può fare dalla piattaforma così alla prossima
cosa veramente interessante guidata dal
Il modello di pricing di AWS lambda è quello
diversi servizi a pagamento per diversi
le cose in modo da poter risparmiare un bel po ‘di
denaro giocando a arbitrare disponibile sì
contro AWS è fantastico
e ricorda che tipo di lambda è come un
spese di servizio di elaborazione per il
numero di richieste nel tempo, quindi se possibile
delegare il lavoro da lambda a cose simili
non addebita il numero di
richieste in tempo puoi risparmiare un sacco di
cassa per esempio tipo di gateway API
addebiti per i byte che vengono trasferiti
il numero di richieste allo stesso tempo
tipo di s3 è il sistema di archiviazione
solo le accuse per il trasferimento non lo fa
preoccuparsi del numero di richieste così uno
esempio di ciò è che possediamo Heroku
e prima abbiamo iniziato a pensare davvero
a questo proposito lasceremmo caricare le persone
file per l’esportazione in un server in cui il
il server avrebbe comunicato con
archiviazione e quindi il server salverebbe
roba attraverso lo stoccaggio con rondò
convertitore sarebbe sorta di caricarlo
eseguire dal deposito per l’utente che cosa
ciò significa che durante tutto questo
volta che il server è occupato che stiamo pagando per
il server ora se stai caricando un
cento megabyte file il trasferimento da
tu a
Amazon e il trasferimento per Amazon a
sei in realtà la maggior quantità di tempo
il tempo di conversione è relativamente veloce
quindi stiamo pagando un po ‘per questo
operazione per molto tempo siamo perché
ci sono solo tre paga solo S3
per il trasferimento se possiamo convincere la gente
carica direttamente su s3 e scarica
direttamente da s3 abbiamo ridotto il nostro
i costi del server di una quantità significativa così
qualche altro servizio che è interessante
considerare come kognito l’Amazzonia
solo il servizio di autenticazione e di sessione
addebiti per il numero di utenti
non addebita il numero di
richiede a quegli utenti di farlo no
carica per la capacità delle sessioni
addebita solo il numero di utenti
in modo da spostare lo stato della sessione in kognito
è un modo davvero molto interessante di
tipo di gioco di arbitraggio con Amazon
contro Amazon, così come una specie di
esempio ti mostrerò più tardi c’è anche
questa cosa ha chiamato il gateway IOT
abusiamo in modo massiccio del gateway IOT
progettato per ottenere dispositivi a bassa potenza
parlare tra di loro, ma che abbiamo costruito genere
della collaborazione in tempo reale direttamente
attraverso stiamo costruendo in tempo reale
collaborazione direttamente tramite IOT
gateway che tipo di perché solo
addebiti per il numero di messaggi
non addebita il tempo di elaborazione
non addebita di nuovo il trasferimento dei dati
puoi arbitrare le cose gentilmente così gentilmente
di abbiamo iniziato a muoversi molto di più per
pensando alle applicazioni e al tipo
di app gestite come Heroku come Google
App Engine per davvero la colla tra
diversi servizi di piattaforma per me
lambda riguarda principalmente ciò che manca
dalla piattaforma di Amazon e come posso gentil
di colla quelle cose cose insieme e
qual è il tipo di ciò che è reale
valore commerciale del mio codice perché è
improbabile che lo sviluppo di una coda
il sistema di interfaccia è dove posso fornire
il massimo valore in grado di fornire valore
sviluppo di tipo dei piccoli bit di
elaborare quei messaggi in coda e
è davvero molto interessante, così gentile
proprio come un esempio che questo è gentile
di come convincere la gente a usare direttamente s3
da un browser così su un server che abbiamo
qualcosa del genere, la s3 è l’Amazon
SDK API in modo da ottenere una richiesta di caricamento
file popolato con te sai dove
ha bisogno di andare a limitare la dimensione del file
tu
tipo di fornisce roba di sicurezza e poi
ottieni una firma e poi restituita
quello al browser che ti porta a sapere
20 millisecondi poi spende il browser
dieci minuti per caricare il grande file su s3
dove stai solo pagando per il trasferimento
allora questo tipo di cose va molto bene
rapidamente torni indietro e le persone scaricano
direttamente da s3 da un URL firmato così
Amazon è amazon, certo che c’è
questo cinque diversi modi di autorizzare
richieste
ci sono gli URL firmati, c’è la cig v4
che lo fanno per genere di approcci questo
sta dando alle persone l’accesso a kognito così
questo un sacco di modi in cui puoi
fare in modo che le persone accedano direttamente a uno di
questi servizi front-end senza andare
attraverso un server tradizionale in modo gentile
per davvero beneficiare di quella
finanziariamente penso a quello che abbiamo iniziato
pensare a molto di più è dare il
piattaforma i ruoli che erano
tradizionalmente associato al server
elaborare cose come essere il Gateway
custodire le cose come essere il
le cose di un orchestratore come tenere un po ‘di
sensazione di immagazzinamento se lo spingi via
dal lambda che è il tipo di
processore alle altre parti della
piattaforma è possibile risparmiare un sacco di soldi ora
ecco perché penso che questo sia così folle in
Settembre la nostra app ha avuto qualcosa di simile
400.000 utenti attivi è non sei tu
conosci Google ma non è Topolino come
bene e solo così che non sto barando
questa è la V live page di Amazon quindi se vado a
la mia bacheca di fatturazione e guardo la mia
costi per dove è il conto di settembre
dettagli della bolletta Settembre così per quattro
centomila utenti attivi in
Settembre abbiamo pagato 53 centesimi
per Lambda ora battere quello con il tuo
costi di hosting e noi li conosciamo
Certo che ce n’è un altro
servizi come abbiamo pagato quattro dollari per
trasferimento dati e quindi abbiamo pagato qualcosa
per gateway API e qualcosa per dynamo
e cose del genere ma, tutto sommato, che
il conto era di cento dollari per te
conosci quattrocentomila utenti attivi
che sono tipo di collaborare in realtà
ora questo è folle
completamente pazzo se si guarda il tipo di
roba equivalente stavo facendo dieci
anni fa, che questo è completamente
completamente pazzo e sai riassumere
tutte le versioni multiple e tutto
altrimenti forniscono quasi non gratis
ma incluso nel prezzo è quello
perchè penso che questo sia meraviglioso e e e
sai fantastico in tanti modi così
tipo di un’altra cosa che è iniziata
succede qui mentre iniziamo a pensare
su sempre più arbitraggi
servizi diversi contro l’altro noi
capito che tipo di ciò che ha inciso
la mia testa per gli ultimi 30 anni è no
fidati degli utenti a parlare con Becky e
risorse come gli utenti non sono autorizzati a
parlare con lo storage direttamente gli utenti non sono mai
mai e poi mai permesso di connettere il tuo
database direttamente devono andare
devono passare attraverso un gatekeeper
attraverso un server perché sul server
scarichiamo richieste non valide che convalidiamo
cose noi sappiamo tutto prima del
server non ci fidiamo di tutto dopo
il server di cui ci fidiamo è così che noi
sapere ha fatto l’intera cosa della logica web
evoluto abbiamo server applicativi noi
avere spazio di archiviazione abbiamo clienti e penso
specie se si inizia a usare
la piattaforma su Amazon nessuno di questi
le cose sono in realtà fisicamente back-end
le risorse più s3 sono disponibili oltre
Dinamo HTTP che è il database
disponibile su HTTP il fatto che lo siamo
non lasciare che gli utenti parlino direttamente con te
non significa che non è disponibile se
qualcuno indovina il nome
è lì che Amazon lo sta rendendo disponibile
e a causa di quel tipo di Amazon è
in realtà implementando davvero davvero bene
politiche di autorizzazione a livello di richiesta
ogni singola richiesta va da lambda a
un database è autorizzato perché se loro
non ho idea se il tuo lambda sta parlando
al database se qualcun altro Islam
i giorni che parlano di derivati ​​sono ed è
non il tuo database da nessuna parte è loro
database ed è tipo di cose come
questo è davvero molto interessante da
una prospettiva di pensare bene a te
sapere se è autorizzato per richiesta
qual’è il danno in realtà
autorizzando i clienti ad andare lì così
Amazon ti dà tre o quattro diversi
meccanismi per autorizzarli
richieste tra cui dire tra cui dire
che questo utente è autorizzato a scrivere
a questa particolare chiave nel database
e solo permesso di leggere da queste chiavi
nel database gerarchicamente o questo
l’utente può leggere solo da questo
parte della coda e posta a questi
parti della coda e lo stesso
politiche di autorizzazione esattamente uguali
applica come se parlassi con il cliente
lì poi se si passa attraverso il server
e poi ho capito bene che lo sai
solo introducendo la latenza mettendo a
server nel mezzo stiamo solo pagando
di più e abbiamo iniziato a usare questo
come un matto il mio cervello ancora non lo permette
per consentire agli utenti di connettersi a
database perché sono stato un lato server
sviluppatore per 20 anni ed è solo
sbagliato
ma stiamo lasciando che le persone parlino al
archiviazione direttamente bene penso che le persone
parlare alle code e tipo di
cose come così sai forse due anni
da ora verrò a parlare
e di ‘ no no, non tutti lo sapete
parlando con il database e tutti i nostri dati
è rubato ed è orribile o lo sai
ma generalmente se ci pensi è
non è il tuo database, è il database di Amazon
ed è disponibile usando HTTP così è
non back-end è contenuto o è
middleware di qualche tipo così gentile da parte nostra
iniziato ad allontanarsi dal tipo di
modelli a tre livelli per i clienti intelligenti no
terminali smart non stupidi dove
le cose si connettono direttamente, quindi ecco un URL
e questo è un
un prototipo che abbiamo sviluppato per una chat
app che funziona su tutti i browser e funziona
su tutti i dispositivi mobili e cose simili
quello e il tipo di esso
il codice sorgente è su github che puoi
cercalo in seguito in modo tale che ti colleghi
a questo dal tuo telefono cellulare o
qualcosa del genere e poi puoi
tipo di accesso come ospite cosa
significa che ora stiamo ottenendo un
ID autorizzazione di Cognito che posso creare
questo login con il nome utente e
password di accesso tramite login di Google
attraverso Facebook accedi attraverso molti
molti modi diversi fanno due fattori
autenticazione per un tipo di conferenza di
mostra che sai aprire e poi una volta
ho questo posso effettivamente usare le loro API
direttamente da un browser per parlare con qualsiasi
risorsa voglio che mi sia permesso di parlare
per questo in questo caso stiamo parlando
direttamente a se non puoi entrare nel
elenco dei server appena lo pompiamo siamo
parlando con il gateway IOT IOT
gateway è progettato per tipo di scambio
messaggi tra dispositivi a bassa potenza ma
in realtà ti permette di avere un
Interfaccia WebSocket così come è cool
così puoi usare WebSockets su richiesta
gestito che ha pagato $ 5 per milione
messaggi così noccioline e loro sono
completamente gestito in modo che tu sappia che possiamo
ottenere un milione di persone che si collegano a questo
ora o possiamo ottenere cinque persone che si connettono
a questo ed è tutto fatto
operativamente il codice sorgente è 30
linee di codice quindi è solo completamente
insano quello che possiamo fare ora con questo
roba e quanto costa e io te
conosco dieci anni fa mi ricordo un po ‘
valutare un sacco di spinta diversa
meccanismi in cui stavano facendo
degradante di un lampo che stavano facendo
lungo palo stavano facendo tutto questo
cose incredibili e penso il meglio
cosa scegliamo che stavano chiedendo
qualcosa come centomila quid a
mese posso ottenere questo ora per cinque
dollari su un milione di messaggi se
nessuno lo sta usando
Non pago se le persone lo usano e
probabilmente farci dei soldi così sai
perfettamente bene da pagare ma non c’è
costo iniziale non è mensile
costi di manutenzione questo è folle
è completamente dal momento che penso di tipo
questa cosa cambia come ci avviciniamo a cosa
ci riserviamo ciò che facciamo
e ti ho detto che basta formattare per vedere una bella ah
buono buono buono buono buono
quindi um sì, ho detto che lo sai
da qui puoi andare solo per andare al
Lincoln e tu puoi ottenere la fonte
codice per questo così gentile di questo rispetto
quello che voglio dire è una buona ingegneria
da chi è guidata l’architettura
il costo dei vincoli è una delle chiavi
vincoli che dobbiamo affrontare e
schierando su lambda fondamentalmente
cambia la struttura dei costi così tanto
cose che conosci si sono evolute come meglio
pratiche negli ultimi 20 anni tipo di
non si applicano più e la nostra sfida come a
comunità nel corso dei prossimi cinque a 10 anni
sarà per capire cosa sei
conosci solo le catene del vecchio mondo
che stiamo correndo voglio dire in te tu
so II può parlare ciò che è sbagliato su
lambda 4 sai giorni di fila e questo
non è un proiettile d’argento che non risolve
tutti i problemi ma penso che sia un
prospettiva davvero molto interessante se
puoi sapere di eseguire un quattrocento
mille usi e pagare cinquantatre centesimi
per il tutto è semplicemente folle e
Penso che siano degli incentivi finanziari
di quello otterranno più o meno
tutto ciò che può funzionare in lambda per correre
in lambda nei prossimi cinque anni e
è per questo che sai anche se molte persone
qui presumo non stiano davvero schierando
cose in produzione per lambda ancora questo
arriverà a indagare su questo
e in particolare a basso costo
gli esperimenti sono fantastici se ne hai bisogno
eseguire una sorta di stupido esperimento a buon mercato
e non sai se funzionerà
fuori o no, questo è brillante per quello
e poi anche se lo fai e tipo
distribuzione on-premise più tardi di te
sapere cosa integrare e e cosa
buttare via così gentile di Credo che uno dei
le cose fondamentali che conoscevi era una mente
lo spostamento per noi è
è iniziare a consentire ai client di connettersi
risorse di back-end perché non ci sono
risorse di back-end più e che cosa
significa che tutto a un tratto la tua app
non funziona davvero solo sulla cinquantina o
cinque o cinquecento macchine virtuali
sta correndo su quattrocentomila
anche i processi client perché è possibile
spingere se lasci che le persone parlino con Becky e
risorse che puoi spingere a orchestrarti
può spingere lo stato al client e tutto il
roba che è difficile da fare
gestire nelle architetture distribuite
spingerlo alla macchina dei clienti in cui il
client è un singolo client che ha un
stato unico che semplifica le cose
significativamente così invece di tipo
è per questo che paghiamo così poco per lambda
la nostra app non funziona sul VMS
corre sul VMS è una colla tra
diversi servizi di back-end della nostra app
in realtà corre su quattrocentomila
processi client che non è necessario
pagare per e questo è il tipo di davvero
così interessante è il turno della mente
un po ‘come due URL per maggiori informazioni
questo primo è il mio blog dove pubblico un post
molte cose su questa roba perché lo sono
incredibilmente entusiasta per questo il secondo
uno è lo strumento open source per
spiegamento che ti ho mostrato di quel tipo
di semplificare le cose se lo fai
JavaScript è praticamente ringraziato
molto Spero di specie di solletico
la tua immaginazione, almeno
e se qualcuno ha postato delle domande io
Immagino che si può parlare di questo ora dobbiamo
avere domande dov’è il possibile
leggilo forte ok bella come ti senti
sul tipo di blocco di quello che è un
domanda davvero interessante e
lo sblocco è problematico in molti
livelli molte persone parlano di chiusura
in termini di blocco con le librerie
bloccare con il codice se si utilizza Oracle quindi
sai che usi le librerie di Oracle con
lambda perché la piattaforma ti chiama
non viceversa, in realtà
non è bloccato nell’API lambda
Non ci sono che è si muove lontano da
ci sarebbe banale il grosso problema
sei bloccato nella piattaforma se tu
voglio davvero ottenere i benefici di
lambda allora stai lasciando che i clienti parlino
allo stoccaggio direttamente penso che le linee parlino
al database correttamente e questo è
dove il blocco avviene ora per noi
abbiamo un po ‘di quello che abbiamo deciso
commercialmente che sta andando davvero per
Amazon e Amazon
tutto è una buona decisione commerciale
ci dà il rischio che quelli di Obama non lo siano
lavorando ma nella mia esperienza tipo
sono abbastanza solidi e sono molto
molto meglio fare lo stand OP posso farlo
So che ci sono alcuni strumenti come
il framework senza server che ti consente
per distribuirlo su più nuvole e fare tipo
di questa cosa ibrida ma immagino il grande
problema quindi come sai fare a
la distribuzione indipendente dal database sei tu
arrivare a usare il meno comune
denominatore dell’intera cosa e
non stai mai veramente usando la piattaforma
quello che è così gentile è a
decisione commerciale che immagino
tutti hanno bisogno di fare da soli, ma
ci sono sicuramente cose come lo sai
porte e adattatori o esagonali
architettura e cose che puoi
roba di design quindi se lo fai davvero
decidere di passare a diversi nuvola
fornitore sai che non lo farò
Non ho mai lavorato con una società in cui
l’intero investimento nel poterlo fare
spostare dal database principale pagato
perché non si sono mai allontanati dal
database principale quindi è commerciale
decisione ci sono solo due di noi che costruiscono
questa cosa quindi preferirei spendere cose
offrendo funzionalità di successo rispetto a
tipo di costruzione di un software astratto
sistema ma sai se ne hai cinque
tipo di sviluppatori perché non tenerli
occupato così così questo disturbo ha bloccato il tuo
un po ‘ posso ottenere Apple paga sul tuo
telefono anche quando lo sblocchi va bene così
abbiamo come si mantiene lo stato noi
decisione quindi tendiamo a spingere molto al
i clienti direttamente e noi tendiamo a mantenere
lo stato in incognito o nel
i browser degli utenti di kognito sono automatici
la sincronizzazione tra dispositivi non è così
tendono ad usarlo molto perché nostro
lo stato è in genere un tipo di documento
stai lavorando e non ne abbiamo bisogno
tenere un sacco di quello, ma kognito è un
abbastanza buon modo di tipo di sincronizzazione
roba su dispositivi che utilizzano la dinamo
qualcosa del genere per mantenere il tipo di
stato per utente è anche abbastanza buono
perché è possibile configurare dinamo a
consentire agli utenti di scrivere solo su a
tasto particolare in modo che tu ko o o un tasto sub
quindi puoi scrivere solo nel tuo stato
e leggi solo dal tuo stato per
esempio, che
sarebbe una possibilità mm-hmm se
Lo sono se sono P, quindi non lo so
che non è mai successo a noi sorta di
Il gateway API lambda ti consente di
mantieni le cose che puoi semplicemente configurare
strozzatura così puoi dire che lo sai
Voglio correre fino a mille
funzioni simultanee di questo o fino a I
pensa che il limite di default sia un migliaio
per funzione, ma poi puoi aumentare
o con la porta API dove si può fare
limitazione basata su una chiave API e
chiave di autorizzazione o tipo di generalmente
su un endpoint API in modo da poter configurare
link diretto così puoi con
monitoraggio hanno e cose simili
quel punto se sei tipo di essere DDoS
di nuovo la mia ipotesi è che Amazon lo farà
proteggersi contro DDoS molto meglio
di quello che posso codice che non conosco gentile
di circa chiunque nel pubblico se
ti senti in grado di costruire un DDoS migliore
sistema di difesa di Amazon ma certamente
puoi configurarlo per ottenere un
allarme precoce e poi capire cosa
a fare da lì in modo da non dover
spendere milioni e milioni e milioni
se si ottiene la polvere in questo momento il
il più grande svantaggio è che lambda
le funzioni sono limitate a circa cinque
i minuti corrono
quindi tutto ciò che richiede più di cinque
minuti che devi dividere in più
esecuzioni che significa che non puoi mantenere un
socket aperto che stavamo cercando di sviluppare
qualcosa che parla con l’API di Twitter
s e Twitter non ha un’API push o
sai se sei mortale non puoi
ottieni l’API push di cui hai bisogno per connetterti
socket e portarli al tipo di flusso
roba a te e con lambda che non lo è
Voglio dire, è possibile ma è necessario
tipo di caricare ogni cinque minuti e
quindi disconnettersi nello stato di rendering in modo
per qualcosa del genere lo farei ancora
usa ECS un altro tipo di ragionevole
lo svantaggio per molte persone è quello
non c’è praticamente nessun SLA, il lambda
o non virtuale non è in realtà isolamento
e che non offrono alcuna data e
loro non di
Neela è ancora così la nostra esperienza è quella
tipo di noi est la regione
è sovraccarico di tutto
perché quello è il primo che
iniziato occasionalmente diventa una specie di
singhiozzo dove otteniamo un po ‘ di ritardo ma
non abbiamo mai veramente avuto un’interruzione completa
da febbraio 2016, quando abbiamo iniziato a essere gentili
di trasferirsi in ciò che non è così
succederà e penso che tu sappia come
Lomb che diventa sempre di più
importante presumo che inizieranno
fornendo una fetta per esso ad un certo punto
quindi questo è un limite interessante BI
indovinare quelli sarebbero quelli sarebbero i
due limitazioni chiave chiave per le persone così io
penso che siamo a corto di tempo, non so se
abbiamo una specie di sarò intorno a voi lo sapete
mi possono raccogliere in in in in
corridoio e poi parleremo di questo
cosa ho bisogno di ottenere altre persone a
istituito grazie mille
[Applausi]
Please follow and like us:

Be First to Comment

Lascia un commento