Press "Enter" to skip to content

GOTO 2017 • From Your Keyboard to your Customers without a Server to Manage In-between • Chris Munns


[Musica]
è bello essere di nuovo qui oggi
è stata una conferenza davvero fantastica
il nome è Chris Muntz
attualmente sono uno sviluppatore senior
difendere l’ elenco dei server da Amazon Web
Servizi basati nella nostra città di New York
ufficio fondamentalmente quello che faccio è concentrarsi su
interfacciarsi con persone come tutti voi
qui nella stanza quindi il mio obiettivo principale è
lavorare con AWS è clienti sviluppatori
per capire cosa può significare il servizio
per loro come pensano al servizio I
pensa ora alle architetture di servizio
è interessante è che io stesso o
il cui iPhone è un po ‘di fiducia in me
Io NON SONO uno sviluppatore in realtà
provengono da molto più di un tradizionale
sfondo dell’infrastruttura e delle operazioni
Ho trascorso un sacco di tempo e data center
gestione di grandi farm di server Linux
e facendo cose come la configurazione
gestione e tutti i tipi di cose come
quello ma un paio di anni fa, tipo
subito dopo AWS ha lanciato un prodotto
chiamato lambda di cui parlerò
oggi sono davvero venuto a vedere
questo è questo concetto di beatitudine delle stelle
il futuro e quindi sono molto privilegiato
e abbastanza fortunato da passare tutto il mio tempo
fondamentalmente focalizzato su questo quindi perché siamo noi
qui oggi in questo discorso così c’è stato
un numero di discorsi finora questa settimana
già sulle liste dei server su cosa potrebbe essere
significa e forse non significa che sia
sicuramente un termine in una parola di moda che è
cresciuto nel senso di molte cose nel
settore uno veloce sai cosa io
sempre a cui piace rispondere è che sì noi
capire che ci sono server dietro
le scene delle liste dei server ma al
fine della giornata uno degli aspetti chiave di
è che non ti occupi di loro a
tutto e comunque anche se questo non è il
punto bene, vediamo che la riunione di servizio è
in realtà penso che il prossimo
evoluzione nel modo in cui le persone stanno pensando
su come creare applicazioni e
architetture e quindi abbiamo un po ‘ di
passaggio da mainframe a
client server fino al web e anche
in cose come i micro servizi ma che cosa
il servizio rappresenta è davvero il tutto
prossimo ciclo di vita di come penso
gli sviluppatori ci penseranno
costruire applicazioni quindi cosa fa
serverless significa per noi qui a AWS davvero
scende a una specie di quattro guida
principi che usiamo quando fondamentalmente
etichetterà o meno un prodotto come
prodotto di servizio quindi ovviamente il concetto
di non esserci server per il provisioning
o gestisci e questo significa anche cose
come contenitori così un prodotto per noi
essere liste di server
non pensi mai al funzionamento
sistema non c’è gestione delle patch
non c’è RDP o SSH non c’è niente
come una licenza del sistema operativo che
vuoi pensare a e
realisticamente non hai idea di
quelli sottostanti server fisici o
server virtuali o contenitori che potrebbero
essere esistente in quella piattaforma che dovrebbe
scala con l’uso in modo da traffico o
richieste o punti dati entrano nel
prodotto o piattaforma di servizio dovrebbe
scala automaticamente per soddisfare questo
che significa che non devi mai
pensa a cose come capacità
la pianificazione in modo da non dover pagare per
oziare realisticamente a pensare
la pianificazione della capacità è una specie di business
decisione su quanto ozioso vogliamo
pagare nella speranza che ad un certo punto noi
avere un carico di lavoro del cliente che arriverà
e consumare una percentuale maggiore di
quella capacità nel tempo, infine
cose come alta disponibilità e colpa
la tolleranza è incorporata e così è
molto importante oggi quando gli sviluppatori lo sono
pensando a come strutturano il loro
architetture siamo in mondi fisici
o persino il mondo della macchina virtuale anche
i mondi contenitori sono cose
che stai ancora spendendo in genere
una notevole quantità di tempo a pensare
su e architetti per così gentile di
per generale ancora principi guida in
termini di ciò che sentiamo servizio significa e
Penso che si allinea abbastanza bene con come
la maggior parte del settore ne parla
oggi
ora siamo tipo di servizio di avviamento per noi
qui a AWS è intorno ai suoi prodotti
simboli di destra nel mezzo qui
di lambda e così lambda è un calcolo
prodotto che abbiamo qui ad AWS oggi
molti di voi penso che siano familiari
con esso ma se non sono un po ‘di tempo
a parlare un po ‘più su di esso
e quando parliamo di lambda parliamo
su di esso nel senso di essere nel
metà di ciò che chiameremmo un servizio
architettura e così con lambda che hai
un concetto di un evento fonte di qualche tipo
del meccanismo di attivazione che sta per
causare una funzione lambda da invocare
e quindi quella funzione lambda può fare
praticamente qualunque cosa tu voglia
per parlare con altri database altri
api’s hughes memorizza nella cache i data store
quello che-hanno-si in base a che cosa è che
la tua applicazione deve fare e così a
l’ architettura del servizio è di nuovo carina
molto bene avremo sempre una sorta di
la fonte dell’evento avrà sempre lambda at
un certo punto durante il calcolo e poi può
o potrebbe non avere altri servizi che tu
potrebbe parlare con così potresti
potenzialmente hanno tutti i tuoi affari
la logica esiste solo in lambda e quando
arriva a tipo di architettura o il
usa i casi che vediamo per la sopravvivenza
in realtà è un numero di cose così web
applicazioni fondamentalmente la capacità di
cose potenti come siti web statici o
cose come app a pagina singola è molto
comune e qualcosa che vediamo crescere
specialmente quando vediamo le persone muoversi
più verso la singola pagina web
applicazioni con cose come reagire e
altri framework JavaScript che si comportano
allo stesso modo backends così cose come
micro-servizi che è stato un grande
argomento questa settimana qui alla conferenza
vedi le persone che lo costruiscono usando lambda
e il server elenca l’ elaborazione dei dati così
in tempo reale analisi del flusso di ingerire
cose come l’utente fa clic su punti dati da
I carichi di lavoro relativi a IOT di tutti i tipi
cose come l’analisi dei log e altri tipi
di cose in cui si diventa massicci
quantità di dati e in genere
le organizzazioni farebbero cose come batch
elaborarli e una sorta di semi
l’intervallo regolare e le persone lo vogliono
quella informazione è stata elaborata quasi
immediatamente in questi giorni e così potremmo
potenzialmente parlare di quanto sia reale
il tempo deve essere ma nel caso di
flussi di lavoro di streaming che di solito significa
Ingerimento molto rapido tipicamente nell’ordine
di secondi e questo è in realtà un po ‘
oggi fondamentalmente dollaro per dollaro uno di
i più grandi casi d’ uso che vediamo
lambda e serverless oggi cose come
chat BOT così come si interfaccia con il tuo
clienti o forse internamente all’interno
anche la tua organizzazione sta cambiando rapidamente
Ho visto cose come interne
BOT di chat aziendali che utilizzano per
sai come diffondere
informazione che normalmente avrebbe
esisteva forse in un wiki o in un SharePoint
da qualche parte ma poi vediamo anche persone
metterli pubblicamente sui nostri siti web
comportarsi come tipo di vendita di
bot di abilitazione o persino assistenza clienti
bot e che continua a crescere dentro
usa Alexa qualcosa di cui ho parlato
ieri in realtà abbiamo tentato di costruire
un’abilità di Alexa sul palco dal vivo o qualcuno dei
tu in quel discorso affatto ieri a
un paio di voi quindi è stata una specie di gara
contro il tempo e abbiamo visto alcuni
aspetti interessanti su Alexa e il
Alexa Voice Service e tu sai che è
comprensione del mio strascico newyorkese
erano così che era un po ‘interessante
sessione ma Alexa sta davvero crescendo
termini di potere e capacità ci sono
qualcosa come più di 17.000 abilità di Alexa
oggi e puoi pensare ad un Alexis
abilità come tipo di una micro voce
applique controllata
che vive all’interno di un dispositivo che è
alimentato da una LexA quindi potresti dire
cose come Alexa hanno acceso le luci o
spegni le luci o dimmi
tempo o dimmi il mio mio attuale te
conosci il numero di conto bancario o fammi un
la pizza ci sono tutti i tipi di cose che
puoi farlo con Alexa e infine io
all’automazione che è in realtà dove io
penso che molte persone inizino con lambda
lo sta usando all’interno di AWS per fare cose
come incollare insieme vari servizi e
componenti all’interno della tua infrastruttura
e dovrei dire che effettivamente sto usando questo
in altri posti ne ho effettivamente uno
cliente che utilizza lambda come parte di a
quadro per la gestione della rete fisica
ingranaggi all’interno del loro centro dati così loro
costruito un’API di gestione di fronte a
Dispositivi Juniper in realtà e sono stati
successo nella costruzione di questo tipo di
interfaccia davvero interessante di fronte
hardware fisico e dati fisici
centri così ancora un numero di veramente gentile
di casi di uso comune qui oggi sto andando
concentrati un po ‘di più sul web
aspetto applicativo ma felice
potenzialmente parlare del resto di questi
al di fuori di questo così per quelli di voi che
sono nuovi dove inizi così questo è
davvero un mondo completamente nuovo di nuovo in termini
di come pensi alle applicazioni e
per un certo numero di persone di cui ho parlato
per esso può essere un po ‘scoraggiante per andare
dal modello di ho un server e
tipicamente che contiene tutto ciò che riguarda
la mia applicazione o anche un multi livello
architettura per questa cosa dove i server
non esiste più e così gentile del
costrutto fondamentale che hai usato
da un paradigma di sviluppo non è più
intorno così il mio primo suggerimento è in realtà
iniziare con un quadro così ci sono a
numero di quadri esistenti
lì e che cosa questi sono gonna do è
tipo di semplificare notevolmente ciò che è
coinvolto nella costruzione di un servizio
applicazione c’è in realtà molti di più
di quelli che sono quassù, questi sono
alcuni dei più popolari che ho
visto e conosco il creatore del disordine
JS ha parlato ieri e davvero che tipo
di differenziati alcuni di questi è il
lingue che stanno supportando o
funzionalità come multi cloud
capacità o altri tipi di aspetti
o sfumature in giro come le lingue
che supportano così Claudia con giusto
un esempio qui è un JavaScript
struttura
da qui il Jas nel suo nome e con
Claudia ne hanno davvero davvero
modello semplice per costruire backend API così
puoi vedere qui in quello che è approssimativamente –
il fatto che essa
tipo di schiacciato sulla diapositiva
circa cinque righe di codice con queste cinque
linee di codice e il comando che è
proprio qui nella parte inferiore della diapositiva I
ottenere una funzione lambda e un gateway API
e tutto l’ integratore insieme e
effettivamente ho un back-end API e
ovviamente ciao mondo non è molto
complicata logica aziendale ma ancora
questa è l’impalcatura necessaria per a
API molto basilare che potrebbe crescere fino a diventare
molto potente nel tempo è un calice
in realtà un quadro che è venuto fuori da noi
qui ad AWS ciò che è interessante è questo
non è venuto da nessuno dei servizi
team di prodotto in realtà è venuto dal nostro
Il team dell’SDK ha avuto un prurito da graffiare
intorno a costruire un quadro per aiutarli
fuori e hanno finito per costruire questo
calice prodotto tipo di lato e
quindi è un prodotto open-source che tu
può andare e contribuire e leggere
e quindi questo è un tipo simile basato su Python
di cosa a claudia su cinque righe e
Ottengo un’API giusto, quindi questo è un calcolo
gateway API di funzionalità che funge da
front-end possiamo davvero fare molto
di cose veramente veramente avanzate
con questo molto simile all’altro
quadri quindi lasciami solo tuffarmi solo a
qui un po ‘ più in profondità
calice e perché non mi aspetto che tu lo faccia
leggi tutto ciò che è su questa diapositiva
si tratta di circa 30 ish o linee di
codice che è all’interno di questo però è
in realtà per gli endpoint API in termini di
quello che chiameremmo un percorso di applicazione
quindi il tipo di cosa che finisce al
tipo della prima parte di un URI sul
URL per un gateway API e quindi come parte
di questo ci sono cose come built-in
gestione degli errori e vari metodi HTTP
supporto
c’è anche il supporto integrato per
autorizzazione di autenticazione diversa
capacità e di nuovo sto ricevendo tutto
di questo in circa 30 righe di codice così
quando inizi quando sei
iniziando nuovo in questo spazio I
consiglio vivamente di dare un’occhiata a
un quadro e provare a lavorare fuori da quello
ora diciamo che avevi un esistente
applicazione e o forse hai un
linguaggio di scelta che non esiste a
quadro che ti piace così ciò che noi
avere a AWS ora è uno strumento chiamato
Sam
noterai anche Sam, che è il nostro
piccola mascotte per il server elenca oltre a
la sala espositiva abbiamo un sacco di
adesivi per Sam, ci stiamo davvero provando
metti Sam in ogni sorta di cose ma
ciò che Sam è in realtà è un modello
modello guidato per la definizione di serverless
applicazioni per semplificare davvero
cosa serve per costruirli e distribuirli
ed è completamente non presidiato dal
il punto di vista della lingua è fondamentalmente giusto
utilizzato come gestione dell’infrastruttura
strumento quindi un esempio di un modello SAM
qui quello che abbiamo è circa 20
o così linee di codice e cosa
in realtà rappresenta è il massimo di noi
avere alcune intestazioni che dicano il
servizio che cosa faranno questi modelli
e poi abbiamo due risorse, la prima
è una funzione di servizio la seconda è
quello che viene definito un semplice tavolo è semplice
tavolo coprirò molto velocemente questo è
in realtà intenzione di creare per voi un DynamoDB
tavolo e tutto ciò di cui hai bisogno è essenzialmente
questa una riga di codice e quindi un nome
per questo e un paio di mesi fa noi
abbiamo lanciato il ridimensionamento automatico per DynamoDB, così noi
consideralo ora un elenco di server no
sequel database prodotto ma sopra
qui questa lista dei server funzione tipo cosa
vedi è una specie di un numero di cose
quello sarebbe usato per categorizzare lambda
funziona così dove il mio codice vive dove
il conduttore di quel codice vive e io lo farò
Parliamo di questo qui tra un momento
lingua che sto usando permessi
Voglio dare la mia funzione lambda e
poi in basso qui c’è un concetto
di un evento e quindi ho un evento che
è di tipo API e quindi vedi alcune API
proprietà che sono definite di seguito e così
quello che verrà da questo è un lambda
funzione un gateway API una tabella dynamodb
e poi tutto il tipo di colla relativa
componenti per combinare tutti questi ora
se dovessi farlo nella console
questo sarebbe un bel numero di clic
quindi sai provare a pensare di evitare
quelli e usa di nuovo uno di questi
quadri per dare una sorta di a
questa è una visualizzazione leggermente migliore
da un esempio che mostrerò qui in
solo un po ‘di quello che ho è da
approssimativamente le righe dalla 9 alla 25 di tutto il genere
della carne di questo modello di Sam che io
avere ciò che viene creato da esso è
circa le sei risorse che vedi
eccovi di nuovo molto facile da ottenere
iniziato da questo quando sei giusto
cercando di capire cosa serva
lo spazio sembra molto potente 2
quadri così come cose come Sam
e poi solo un paio di circa un mese
e mezzo o giù di tempo fa, in realtà
ha lanciato uno strumento per test locali di
applicazioni di servizio in modo che tu possa effettivamente
ora fare il tipo locale di test di debug di
entrambi i carichi di lavoro API
e poi cose che si collegherebbero ad a
funzione lambda via dire come uno streaming
invocazione o una sorta di altro evento
e così questo ancora una volta semplifica il
ciclo di vita degli sviluppatori che è piuttosto importante
quando sei appena agli inizi , quindi facciamolo
mettiti le mani con un po ‘di questo lasciami
mostra in realtà un esempio di lambda
funzione e in realtà sto andando a mostrare
anche tu Sam e Sam locali così
l’esempio da cui estrarrò
loro sono in realtà qualcosa che tu
potrebbe andare e trovare te stesso e giocare con
e se il tuo account AWS è ancora coperto
dal livello gratuito con cui potresti giocare
questo senza assolutamente alcun costo se non lo è
il livello gratuito che potresti fondamentalmente eseguire
questa demo per pochi centesimi per probabilmente alcuni
numero di settimane ed è
in realtà piuttosto semplice cosa
è che hai lanciato un sito web
e ti mostrerò questo qui in movimento
dove il nostro amico Sam rimbalza
intorno allo schermo e include tutto
questo codice front-end in s3 allora hai
un gateway API e una funzione lambda
questo lo incolla tutto, quindi questo è il mio
Esempio qui della fattoria sam così come noi
vedo che ho il mio meraviglioso amico Sam qui
rimbalzando c’è una collisione
rilevamento in modo che non si sovrappongano e
essenzialmente quello che facciamo è che abbiamo un
funzione single lambda e tutti i dis
la funzione lambda lo fa davvero
per me un Sam conta così è un sam count
la combinazione di questo è solo un po ‘
combinazione più grande di variabile chiamata
var Sam conta e quindi circa due righe
laggiù c’è un moltiplicatore che posso
o entrare da un ambiente
variabile o impostarla staticamente e
quindi fondamentalmente mi dà il totale
Conta di Sam e quindi l’API è super
super super base quindi ho questa corsa
qui a livello locale sul mio portatile ho anche
ora andato e in realtà sparato solo
appena prima abbiamo iniziato qui il Sam
locale e in realtà lascia che ti mostri reale
veloce qui così questo è il Sam modelli
è tutto ciò che è uguale
modello per questa demo quindi ancora una volta
dalle righe dalla 9 alla 26 è una specie di
tutta la carne di quello che ho intenzione di fare così
questo è un indice di runtime node.js 4.3 che
maniglia
il mio gestore l’URI del codice che ha un punto
in una barra parlerò un po ‘ qui
un po ‘più tardi e vediamo un po’ di ambiente
variabili e poi vediamo l’evento
mappare in basso così quando in realtà
ho questo modello qui e sto correndo
contro Sam local ciò che ho fatto è
semplicemente praticamente andato ed eseguito così
Sam API inizio locale e di riferimento
Sam modello e poi quello che fa è
prendi il mio codice in bundle in una finestra mobile
container in esecuzione localmente sul mio laptop
in modo tale che posso andare l’interfaccia che
mi dà qui su localhost ed essere
in grado di chiamare la mia API ora ho solo un
endpoint API singolo ma se l’avessi
moltiplica mi mostrerebbe il tipo di
mappatura completa per tutti loro
quindi l’essenziale qui
va bene, quindi questo è il numero
restituito dalla mia API in questo momento e questo è
un fattore di quello attualmente in qui
avere il numero 10 e un moltiplicatore di 1
allora posso davvero tornare allo stesso
finestra locale qui e quello che ottengo è il
stesso risultato che otterrei da questo
funzione lambda se era in esecuzione nel
servizio Lambda quindi se sei familiare
con lambda a tutti vedrai qui il
stesso tipo di output e linee di errore o
non le compagnie aeree in questo caso ma l’uscita
le linee di questa funzione vengono eliminate
proprio qui sotto ho il
durata che ci sono voluti
durata e la quantità di memoria utilizzata
quindi un tipo davvero interessante
cosa semplice per me da fare locale
test con e c’è molto di più
capacità di questo così veloce
cosa che mostrerò quindi diciamo che io
scherzano qui e trasformo la mucca di Sam in gatto
ora gatto non è un numero valido come la maggior parte di
probabilmente sei ben consapevole quindi se me ne vado
e aggiorna questo e ricevo un errore
messaggio più importante di quello
potrebbe vedere dal mio strumento di test locale che
mi ha detto che indovinate un po ‘gatto non è
definito e quindi questo è un problema e
ti dice dove quella linea è che è
rotto e quindi lo rende davvero facile
per me di tornare indietro e correggere che così
di nuovo in termini di iniziare da te
sicuramente voglio pensare a a
quadro se sei davvero contrario
il tuo framework usa decisamente uno strumento
come Sam e Sam locali perché è così
renderà il tuo ciclo di vita dello sviluppo
solo che molto più rapida quindi cerchiamo di arrivare
solo un po ‘ più in profondità in lambda
per quelli di voi che non lo sono
familiarità con esso e tipo di parlare a
un po ‘di più su ciò che accade
dietro le quinte di lambda e cosa tu
può fare per tipo di giocare con e
configurare lambda così con lambda I
detto che fondamentalmente un servizio
l’architettura ha una sorta di invocazione
modello o metodo allora hai il tuo
funzione e qualunque funzione svolga
oggi ce ne sono fondamentalmente tre diversi
tipi di modelli di invocazione esistenti
per Lambda quindi abbiamo sincrono
efficacemente una spinta
abbiamo un sincrono che più di tipo
di un evento e quindi abbiamo flusso
basato e quindi i casi d’uso su di loro
Davvero un po ‘ diverso da cosa
prodotto di integrazione per il quale sei tu
integrazione vuoi metterlo così vediamo
qui un esempio di un gateway API dove
Farò una chiamata API e lo farò
aspetto che la mia chiamata API sia immediata
tornato
e quindi è una specie di molto tradizionale
tipo di modello di spinta sincrono per l’utilizzo
qualcosa come l’endpoint dell’API e
c’è anche qualcosa come lambda
cose come l’asincrono
guidato dagli eventi, quindi questa è roba come me
diciamo che hai dati dei clienti
che viene da te, sia che si tratti di un’immagine
file un file audio o video o forse
anche cose come un documento e tu vuoi
per passare e fare l’ elaborazione del testo su
che se vuoi generare metadati
da quello forse vuoi prendere un
immagine e ridimensionala o convertila in a
formato diverso e quindi questo è un modello
dove di solito non stai cercando un
risposta subito ma tu vuoi fare
qualcosa fuori banda e così è
dove l’evento asincrono guidato dagli eventi
i modelli si adattano molto bene e ancora
è qualcosa che è il tipo di The
pane e burro di ciò che le persone usano
lambda per questi giorni davvero un po ‘
caso d’uso semplice ma davvero
potente e facilmente scalabile
flusso basato questo è dove vorresti
fondamentalmente connetterlo con qualcosa
come DynamoDB o Kinesis oggi dove
le richieste arrivano così nel caso di
le persone di dynamodb stanno aggiornando o scrivendo
l’eliminazione di record nel database esso
trasmetterà effettivamente tali modifiche indietro
e causare un’invocazione lambda o se
stai ingerendo dati con qualcosa
come Kinesis che se non lo sei
familiarità con esso è una specie di a
massa-scala
ingerire un servizio così molto simile ad a
Kafka un certo numero di altre cose ma
fondamentalmente puoi solo tirare un po ‘
registra in Kinesis e alla fine
potrebbe essere elaborato da una funzione lambda
e ancora questo è davvero utile per
cose come carichi di lavoro IOT ed estremi
analisi e log analysis e cose
così così tre diversi tipi di
modelli di esecuzione o di invocazione principali che
abbiamo e quindi ciò che esiste oggi è a
poco più di 20 servizi che sono
integrato oggi dal lato ada vs di
le cose sono solo una specie di breve esempio
di ciò che è possibile se quelle cose piacciono
i dati memorizzano cose come lo sviluppo
strumenti di gestione questo è effettivamente il
colla infrastrutture dei casi d’uso che ero
parlando di prima
cose come endpoint quindi API gateway AWS
è le funzioni passo piattaforma della piattaforma IOT che
parleremo di qui brevemente
come Alexa di nuovo così Alexa può direttamente
invoca una funzione lambda come parte di te
conversando con esso e infine noi
avere cose come servizi di messaggio
se sia effettivamente qualcosa come SES
o SNS o anche la capacità di Cronje
come qualcuno che ha passato molto tempo
la gestione dei server che gestiscono i lavori cron è
sempre un tale dolore nel culo e così tu
può avere un tipo completamente gestito
Estratto via per te sistema per fare
cron jobs e in realtà è davvero
davvero carino, quindi basta parlare a
un po ‘ più profondo su due dei
prodotti che sono come molto strettamente
allineato con lambda quindi gateway API è un
Gateway API non eravamo le prime persone
per venire con questo prodotto come il
concetto ma quale gateway API di Amazon
ti dà cose come il caching
sia nel gateway e sul bordo il
possibilità di ottenere registri e metriche da esso
in effetti puoi inserire il gateway API
davanti a un altro lambda ma praticamente
qualsiasi tipo di endpoint HTTP o HTTPS
avete così abbiamo clienti che lo faranno
metti un peg gateway davanti alle cose
come risorse on-prem o ovviamente
Arrivano cose come ec2 e gateway API
con un sacco di specie di veramente cool
capacità per te
quindi ovviamente darà l’abilità
per creare un front-end API ma anche
ha incorporato cose come DDoS
autenticazione di limitazione della protezione e
meccanismi di autorizzazione la capacità di
fare cose come misurare o fare uso
livelli che sono davvero fantastici
cose se tu mai costruisci un
API consumata dagli sviluppatori esterni
è anche il tipo di cosa che c’è
davvero nessuna ragione per cui scrivere il tuo
proprio oggi quindi esiste un po ‘di molti
diversi prodotti gateway API sul
mercato direi se stai costruendo
qualcosa che è un’API che dovresti
ha sempre una sorta di gateway API
che stai utilizzando e così con Amazon API
gateway abbiamo considerato un prodotto di servizio
non c’è un servizio da gestire non c’è
scala su cui riflettere e ancora può
alleviare cose come l’ autenticazione e
l’autorizzazione riguarda gli sviluppatori
trascorrere in genere un sacco di tempo sul
dopo un altro tipo di prodotto nel
suite è la funzione di passo di AWS quindi una
cosa comune quando hai lambda
funzioni sai che sono queste
piccolo piccolo tipo di quantità da morso
di calcolo bene raramente abbiamo mai solo
bisogno solo di un piccolo piccolo morso
quantità di calcolo e così spesso abbiamo
fare cose come metterle insieme o
farli invocare in reazione a ciascuno
altro poi vuoi gestire le cose
come tentativi e fallimenti e c’è
tutti i tipi di logica che vuoi mettere
da quelle parti ora puoi mettere quella logica
direttamente nel tuo codice ma finisci
incorrere in problemi con
come il fatto che una funzione lambda possa
eseguito solo per un massimo di cinque minuti oggi così
se hai una funzione lambda che chiama
un’altra funzione lambda che chiama un altro
funzione lambda se quella prima volta
fuori si perde fondamentalmente la catena di
tutto sotto e così passo
le funzioni ti permettono fondamentalmente
astratta di tutta quella conoscenza del flusso di lavoro
nel servizio stesso e può fare
cose come vedi qui sopra sono
capacità di alberi decisionali da catturare
il fallimento è la capacità di svolgere attività parallele
per eseguire determinati percorsi di attività sequenziali
sulla base di quello che potresti effettivamente anche
gestire le cose come la logica di errore personalizzata
e quindi se hai una specie di multi-step
workflow all’interno di un’applicazione questo
anche un po ‘ di nuovo allevierà il
capacità o la necessità per voi di dover
scrivi la logica che esiste tra
ci sono così sicuramente dare un’occhiata al passaggio
funziona di nuovo se hai quei tipi
dei carichi di lavoro torniamo un po ‘indietro
a lambda così con lambda abbiamo davvero io
pensare reso quasi semplice come
possibile come può essere da un calcolo
prodotto per pensare a come scala
realisticamente c’è una specie di a
singola manopola con cui potresti girare
lambda ed è la quantità di memoria
che vuoi che la tua funzione sia in grado
potenzialmente mai consumare ciò che viene
con quello è una quantità proporzionale di
CPU e risorse di rete così sei
non dirò mai che voglio lambda
funzione che ha un gigahertz 2.3 si
conosci il processore Xeon non è il tipo di
cosa a cui ti interesserà quando
stai per dire che voglio lambda
funzione che ha accesso a 512
megabyte di RAM e poi siamo di nuovo
andando ad allineare proporzionalmente alcuni
percentuale di un core CPU per quello e così
se hai un carico di lavoro che è di più
intensivo di calcoli , stai per uscire
la memoria perché tipicamente troviamo
che quelli sono molto ben allineati e così
questo è ancora una volta l’unica manopola che
si ottiene, ma c’è un avvertimento circa
questo non è sempre meglio per te
manovella che manopola tutta la strada e quindi abbiamo
avere qui come esempio di calcolo a
mille volte tutti i numeri primi
meno di un milione e quello che puoi vedere
qui sul grafico è così oggi lamda
supporta fino a un concerto e mezzo di
memoria in realtà solo da cui paragona
un centinaio di 28 Meg per un solo concerto se
si guarda ai tempi ovviamente il
più quantità di memoria che abbiamo il
più veloce che la nostra funzione venga elaborata
ma da una prospettiva di costo non lo è
necessariamente il più conveniente è
sempre il più veloce e così puoi vedere
qui che
all’incirca se dovessimo confrontare i costi
prima o 128 Meg ha un costo di circa
quasi come un concerto ma se lo fossimo
davvero alla ricerca di forse un momento ottimale
contro il modello di costo i 512 megabyte
potrebbe essere stato in realtà una misura migliore
e quindi vuoi pensare a qualcosa di
mi occupo della velocità nel tuo carico di lavoro
o mi interessa dei costi
quindi in cose come API ti chiama probabilmente
cura un po ‘di più sulla velocità ma
in cose come l’elaborazione batch del fare
cose come analisi del flusso o evento
fonte di approvvigionamento a cui potresti realmente interessarti a
un po ‘di più sui costi e così via
la manopola ti dà un sacco di potenza ma
c’è un po ‘di pensarlo
si vuole fare come parte di un altro
cosa che si vuole pensare è
lambda runtimes così oggi ne supportiamo quattro
diverse lingue all’interno di lambda no
J ass Python Java e c-sharp e
ci sono un paio di aspetti diversi da
perché sceglieresti uno di questi o quando
e dove ma anche le cose che vuoi
pensare è sempre una specie di separazione
la logica aziendale dalla funzione
firma come la chiameremo cose simili
dipendenze vuoi essere davvero intelligente
su quali dipendenze includi
e poi in termini generali
i runtime hanno interpretato le lingue così
nodejs e Python sono significativamente
più veloce da avviare rispetto a Java e c-sharp
ma questo è solo durante l’ora di inizio
lo trovo ancora spesso per un numero di
clienti che le lingue compilate
potrebbe essere molto più veloce in cose come
calcoli matematici o anche cose
come la trasformazione di un’immagine per
esempio ci sono alcuni strumenti in Java
questo lo rende molto più veloce che in
Python o un nodojs
quindi quando si tratta di pensare a come
ti separi, quindi dobbiamo passare
queste tre aree qui così separate
la tua logica aziendale da efficacemente il
firma quindi quello che vediamo qui è quello
Ho una specie di mappa presa in giro
funzione qui chiamata app da fare e poi
quello che ho è il mio conduttore quindi il conduttore
è ciò a cui Lambda sta andando a guardare
invoca quando hai una richiesta in tal senso
arriva in questo è fondamentalmente la voce
indica la tua esecuzione dei codici e
parleremo un po ‘qui tra un momento
su qualcosa chiamato efficacemente
riutilizzo del contenitore ma quando un contenitore
il riutilizzo accade sta per eseguire cosa
la logica esiste all’interno di questo lambda
maniglia
in realtà vuoi mantenere il tuo lamda
handler il più pulito possibile e
pensa di prendere qualsiasi tipo di extra
funzionalità dell’applicazione e entrambi
spostandolo altrove in questo file o
potenzialmente pensare al modulo izing
quello fuori e dire come un pacchetto quello
tu includi e parleremo un po ‘
sulle migliori pratiche anche per questo
un po ‘così quando si tratta di uso del contenitore
qualcosa che una sorta di spiegazione reale
Veloce quindi sappi che lambda non corre sopra
di docker funziona su qualsiasi cosa
sembra esattamente come la finestra mobile che usiamo
contenitore in genere del senso più basso a
fare riferimento a qualcosa in modo efficace
vive all’interno dello spazio del kernel del
host che esegue lambda per te così
parleremo qui del ciclo di vita ma
in fondo quello che succede è quando lo hai
un’invocazione lambda spariamo su ciò che è
considerato un contenitore su un host che noi
gestiamo il nostro codice in esso
esegui il tuo codice e poi il tuo codice
termina l’esecuzione ora paghi solo per
la durata dell’esecuzione del codice
basato sulle centinaia di millisecondi di
tempo ma cosa faremo per le prestazioni
le ragioni sono tenere quell’host e così via
da quel punto hai ciò che è chiamato a
inizio caldo e visualizzerò questo qui
in un secondo quindi ci sono cose che tu
potrebbe fare all’interno della tua funzione per
in realtà accelerare il caldo iniziato
esecuzione come lo spostamento di determinate logiche
o definire cose come certe
le variabili nell’ambito globale possono farlo
in realtà accelerare la tua funzione abbastanza a
un po ‘a seconda di cosa fai
diciamo per esempio che era necessario
raggiungere un negozio di valore chiave da tirare
in un certificato che è il tipo di
cosa si vorrebbe fare fuori
il gestore nel tipo di prime linee
del tuo codice prima dei tuoi gestori
eseguito in modo da non doverlo fare
che ogni volta perché in genere
tipo di cosa non sta per cambiare
che spesso guardiamo una specie di a
modo migliore per visualizzarlo così quando a
funzione lambda viene eseguita di nuovo cosa
lo facciamo è che dobbiamo scaricare il tuo codice
avviare un nuovo contenitore per esso quale cinturino
il runtime quindi questo va fondamentalmente
attraverso qualcosa come e include o
richiede all’interno del tuo codice e poi
avvia il tuo codice ed eseguilo e così via
quando parliamo di dove questo tipo di
si trova in termini di cosa ne pensate
ottimizzazione rispetto a ciò a cui pensiamo
ottimizzando così una partenza a freddo completa è dove
non abbiamo un host con il tuo codice
su di esso o per qualche motivo facciamo disco
dobbiamo creare un nuovo host e tirare
il tuo codice su di esso e poi dalla tua parte
una partenza a freddo parziale è che abbiamo un host
ha il tuo codice ma non ha un
contenitore che contiene il tuo codice e
allora inizio caldo è che abbiamo un host che ha
un contenitore che ha il tuo codice e un
è arrivata l’invocazione e così siamo
andando a eseguirlo proprio allora e così
di nuovo quello che vuoi veramente essere
pensare è dal bootstrap di
il tuo runtime e questo è dove le cose
come interpreti lingue versi non
le lingue interpretate diventano importanti
così come ciò è che esiste all’interno
il tuo gestore che sarà la chiave per
le prestazioni della tua funzione ora
questo è un po ‘diverso da quello che sei
pensando a un tradizionale
ambiente applicativo in cui si dispone
un po ‘come lo sai tutti come a
caldo application server questo è un po ‘
diverso da un modello perché efficacemente
lo stiamo invocando ogni volta alle spalle
le scene per te e quindi cosa finisce
succedere dietro è se corri dentro
un PC V questa è un’altra cosa
i clienti hanno trovato bene in realtà
anche avere a che fare è il fatto che
dobbiamo mettere una rete elastica
interfaccia sulla tua funzione nel tuo V PC
quindi una cosa che raccomanderemo sempre
è non usare V PC a meno che non sia necessario
a meno che non si debba parlare con una risorsa
all’interno del tuo V PC perché aggiunge
per essere entrambi bene lo fa al freddo
ora di inizio per la tua funzione così
importante pensare a questo dal
prospettiva di come pensi a cosa
includi all’interno del gestore di eventi
come si pensa a quello che si include in
il tuo codice è anche il motivo per cui è davvero
importante non includere moduli aggiuntivi
nel tuo codice questo potrebbe essere qualcosa
questo è molto comune oggi in entrambi Python
e nodejs è hey, stiamo pulendo tutto
questi moduli che fanno tutto questo figo
roba ma forse hai solo bisogno di un piccolo
un po ‘di funzionalità in realtà
un modo migliore di andare con la costruzione di quello
funzionalità te stesso o spogliarlo
fuori da quel pacchetto di terze parti così via
demo alcuni dei modi in cui questo è gentile
di chiave
quindi se vado verso la console di laminato
qui vediamo se sarà ancora
riscaldato per me okay , questo è in realtà
la funzione lambda che era dietro il
Endpoint gateway API che questa interfaccia
qui è costruito e quello che ho qui
è la capacità di testare questo lambda
la funzione vediamo quanto velocemente di esso
okay , in questo caso è stato eseguito in
14 millisecondi lasciami trovare quello che è
sarà freddo che posso davvero
facilmente, quindi creerò molto
i test di base aprono quelle sorgenti di funzioni
quindi questa è una funzione effettivamente scritta
nel giro d’affari è per questo che cosa spero
per evidenziare qui è una funzione fredda
che posso usare per mostrare esempi veloci
comunque, vedrai normalmente quando
stai costruendo e testando una funzione
se è una funzione fredda che non ha
stato eseguito la prima volta che tu
vai ed esegui o la prima volta che vai
ed esegui quella funzione la durata
sarà molto più lungo perché noi
Devo passare attraverso questa partenza a pieno freddo
di ottenere un container tirando giù il tuo
codice che esegue il tuo codice o che ritorna
il risultato comunque quello che vedrai è se
fai questi test e semi rapidi
successione troverai quella durata
rimane efficacemente molto molto piccolo e così
questo è il motivo per cui a volte la gente pensa questo
la prima volta che eseguono lambda quello
è lento sai cosa stai vedendo
c’è quella prima penalità iniziale di
la partenza a freddo che ti fa pensare
questo è quello che sta succedendo ma
realisticamente ciò che troviamo per quasi
tutti i nostri clienti che stanno eseguendo
la produzione inizia a freddo non è qualcosa
di cui devono davvero preoccuparsi
in genere la maggior parte delle applicazioni sono andando essere
accesso un po ‘di frequente così sai
periodicamente ogni due minuti e
quindi cose come il freddo inizia davvero gentile
di pista verso la fine molto lontana di dire
come il tuo TP 99 in termini di prestazioni
il dolore indica le mie scuse per non averlo
il mio esempio di lavoro per mostrarvi questo
Certo, proprio prima di entrare, lo ero
facendo la funzione di Sam uno e ma è
perché non l’avevo provato dal web
interfaccia quindi ora è sfortunatamente a
funzione calda quindi non è un buon esempio
di cosa succede quando una funzione è
chiamato sì, tornerà davvero
rapidamente andando avanti
così di nuovo inizia a freddo che può sembrare brutto
in fase di sviluppo, ma bisogna
capire che una domanda sotto
il carico non vedrà lo stesso tipo
di problemi di prestazioni che effettivamente abbiamo
statistiche meravigliose e carica e dati
punti che lo dimostrano per i nostri clienti
e ti abbiamo fatto conoscere i clienti
caricare mostra anche più memoria non lo è
sempre più costoso ma non lo è
sempre la cosa migliore da fare in modo da fare
voglio tipo di modificare la tua funzione e
accordare per quanto tempo sta per
eseguire per basato sulla quantità di memoria e CPU
potresti aver bisogno e ricordare che ti diamo
solo una singola manopola che è allineata con
memoria ma ottieni più CPU con quello
e quindi è una specie di un altro tipo di
cosa fondamentale quando la gente parla
prestazioni e, infine, necessariamente
non voglio pensare troppo a proposito
ottimizzando il tuo codice così ho avuto
i clienti vengono da me e dicono che siamo
facendo questo in Python dovremmo fare
in Java o viceversa che vuoi
pensa davvero al tuo benchmarking
funzioni per capire quanto tempo
stai spendendo durante quel tipo di freddo
avvia o iniziale verso bootstrap quando lo fa
è caldo
quindi di nuovo se stai testando questo e
qualcosa come la console che sta per
sembra molto più lento con qualcosa di simile
Java poi python ma questo non significa
quello sotto carico è la tua applicazione
andando a fare altrettanto rispetto a te
facendo una specie di test di selezione unici nel
console passiamo a parlare di a
un paio di altre cose qui così parlano
su come davvero non puoi muoverti velocemente se
non stai misurando cosa sta succedendo così
lambda ha costruito in esso numero di
le capacità lo hanno integrato nel cloud
guardare metriche così la possibilità per voi di
capire cose come il conteggio delle invocazioni
errori di invocazione della durata dell’ubicazione se
ti stai strozzando dal backend
così oggi il limite di concorrenza che noi
set è un migliaio di richieste simultanee
notare questo non significa un migliaio
richieste simultanee al secondo significa
concomitante entro un intervallo di tempo
più piccolo di così, perché costruiamo
funziona in centinaia di
millisecondi in pratica stai guardando
una concorrenza di completamente a
tempo di esecuzione questo potrebbe essere qualcosa
questo può buttare via le persone perché questo
significa che puoi effettivamente invocare di più
di mille funzioni in un secondo
ma non puoi invocare più di a
mille funzioni e dire più di a
millisecondo per gateway API dello stesso tipo di
cosa così abbiamo catturare un sacco di dati
per te def
vogliono prestare attenzione a quelli
cose e guarda quei grafici e
capire come usarli per
risoluzione dei problemi e comprensione di ciò che è
in corso è la prestazione saggio noi anche in
i termini di registrazione catturano un sacco di
registrazione per te così con i registri di sorveglianza del cloud
che è un altro prodotto AWS con API
gateway e con lambda catturiamo a
numero di cose per impostazione predefinita con lambda
in pratica puoi inserire informazioni
il tuo registro semplicemente emettendolo così giusto
tipo di fare un tipo standard di consiglio
punto log o qualunque cosa potrebbe essere equivalente
sii nella lingua che stai usando
verranno catturati e fatti
disponibile per te in un orologio cloud
il cloud watch ha abilità per le cose
quelli che sono chiamati perni di registro quindi questo è
in realtà la possibilità per voi per generare
metriche basate su log quindi questa è una
modo rapido in realtà per creare punti dati
dalla tua funzione e poi usalo
generare un po ‘come un grafico visivo e
allora davvero così la gente penserà
lamentarsi in qualche modo giustamente del
l’interfaccia dei log di watch cloud non è il
be-all fine del processo di log
interfacce ma davvero quello che abbiamo il coraggio
tu devi pensare di prenderlo
dati che lo esportano in uno strumento che tu
così come ci sono strumenti come Splunk e
log lee e lo stack di alci e un numero
di altre cose che sono veramente profonde
potenti strumenti di visualizzazione del registro che stai per fare
voglio inserire quei dati in uno di questi
molto probabilmente qualcosa che abbiamo avuto
integrato con lambda un po ‘prima
quest’anno è un prodotto chiamato x-ray così
i raggi x non sono prestazioni di un’applicazione
strumento in modo che non è destinato a sostituire un
cane da dati o una nuova reliquia o un’app
le dinamiche infatti sono quei prodotti
in realtà per lo più costruisce l’integrazione
con i raggi x cosa ti offre la radiografia
è la profilazione e la capacità di risolvere i problemi
le tue funzioni e quindi cattura cosa
sono chiamate tracce che poi vengono costruite
in una mappa di servizio e può tipo di dare
hai una visione di quando hai una funzione
che è stato chiamato da un’API che
parla con molti altri servizi in modo efficace
quali sono le latenze che erano
coinvolto su quello che i successi sono
potenzialmente guasti o problemi e
rende molto facile il debugging
tipo di sistemi distribuiti che è un
sfida altrimenti, quindi ecco una specie di un
esempio di usare i raggi X c’è davvero
tipo di solo due righe che ho dovuto
cambia in questo codice il primo è quello
include l’SDK
e poi il prossimo è fondamentalmente creare
il mio client AWS SDK con l’ acquisizione di raggi X.
AWS si mette di fronte a ciò che è fondamentalmente
tutto quello che devo fare per il mio codice strumento per
essere in grado di raccogliere informazioni da raggi X.
Posso davvero fare molto più che posso
davvero come nelle funzioni e
crea la mia cattura ma questo sta andando
per darti un po ‘ di base
funzionalità in modo che questo è il codice avvolto
intorno a chiamare qualcosa in s3 così ho
un secchio ho una chiave
e ho un corpo che metterò
in questo oggetto s3 cosa ottengo da questo
è un grafico di servizio quindi vedo X Ray
lì vedo che lambda ha un
l’invocazione è la prima cosa che
vedi AWS lambda poi il lambda
la funzione stessa che esegue e poi quella
mettendo i suoi dati in s3 ora questo è un
esempio veramente veramente semplicistico
tipicamente avresti una funzione lambda
che forse sta parlando con s3 e a
database e una sorta di altro servizio
e sta per mappare quella mappa completa
per te l’altra cosa che fa è
darti una sorta di vista a cascata
il tuo codice o nel tuo flusso di applicazioni
in modo che effettivamente vediamo tutta la all’estrema
terminare qui i codici di risposta se fosse un
Chiamata HTTP vediamo la durata e poi
puoi vedere una visualizzazione
durata quindi questa è un’altra cosa che è
davvero un tipo di chiave e capire il
prestazioni di un’applicazione di servizio
cool, quindi è una specie di registrazione delle metriche
e profilazione quindi la prossima volta è solo parlare
su build e test della tua applicazione
questo caso in realtà costruisce e distribuisce il tuo
applicazione
un paio di prodotti qui parlerò
molto rapidamente che ti può aiutare
questo in modo che la generazione del codice sia un elemento di configurazione gestito
servizio questo è utile per la compilazione
codice per includere le dipendenze del codice per
prova il tuo codice a livello di codice così
fare cose come test delle unità che lasciano filtrare
le pedine della sintassi sono più o meno
esattamente quale codice esiste per e
quindi questo è un servizio gestito per te
che non devi correre dire un Jenkins
o una città della squadra o qualcosa del genere
te stesso
quindi ha un file di comando in sostanza che
hai inserito il tuo codice base chiamato build
file spec e il nostro file damo spec build
in questo caso e così
vediamo qui è solo un po ‘come di base
sezioni ad esso il primo nostro ambiente
variabili allora abbiamo fasi che
ci sono quattro di oggi e quindi puoi
vedi che questo sarebbe per una nota J s
funzione lambda quindi sto facendo un NPM
Installa Sto andando a correre
Sì, ci sono dei filamenti per assicurarmi che il mio codice sia
pulito potrebbe fare i test NPM per unità
prova e poi farò davvero il pacchetto
in modo che il pacchetto AWS CloudFormation
il comando fa parte di ciò di cui Sam ha bisogno
per costruire e distribuire il tuo
applicazione e quindi posso dirlo
esattamente quello che voglio mettere in quello
applicazione che mi interessa in genere
ti tapperai è qualcosa come il codice
costruisce in una sorta di pipelining
sistema quindi una sorta di continuo
sistema di consegna e quindi abbiamo un prodotto
chiamato pipeline di codice che fa esattamente
che questo ti permette di tipo di modello
fuori dal codice da compilare per testare la distribuzione
attraverso molte diverse fasi potenzialmente
così tipicamente sarà la pipeline di uno sviluppatore
guarda qualcosa di buono, questo è solo un po ‘
un frammento di parte di uno, ma tu commetti
il tuo codice il tuo repository di codice quindi
sarà impacchettato e testato
e il codice si costruisce e poi lo farai
utilizzare qualcosa come CloudFormation per
distribuiscilo così se usi Sam che usi
CloudFormation o se ne stavi usando uno
degli altri strumenti del framework che potresti
fondamentalmente in realtà hanno un lambda
funzione che chiama uno di quelli così è
tipo di divertimento che puoi usare usare lambda to
distribuisci il tuo lambda così il più minimis
tipo di pipeline sviluppatori che tu
vedrebbe qualcosa di simile così io
ho la mia fonte di applicazione allora ho
il mio stadio di costruzione e poi ho un palco
giù qui sotto che usa
CloudFormation fondamentalmente distribuire il mio
funzione e quindi potrei fare un po ‘
testare contro di esso così a seconda di cosa
è che sto usando che potrei usare
qualcosa come Sam local in realtà
invocare la richiesta per una funzione lambda I
potrebbe usare l’API lambda per testare
qualcosa o potrei usare una terza parte
strumento per dire testare un’API e creare
questo è davvero molto facile con
qualcosa chiamato codice stella così codice stella
è una specie di interfaccia su cui si basa
cima a molti di questi prodotti ha il
possibilità per voi di creare ciò che chiamiamo
progetti che sono basati su vari
diverse tecnologie e così è
probabilmente il modo più semplice per andare e
crea ciò che vedi qui in questa diapositiva
e
di questa pipeline di distribuzione, quindi se lo sei
iniziando con senza server e tu sei
iniziare con Lamda questo è
sicuramente un buon punto di partenza con
guardando a tutto ciò, così tipo
concludere qui con alcune buone pratiche
correre un po ‘di tempo in tempo il mio
scuse così cose comuni che vedo io
vedere le persone creare ciò che chiamo lambda
monoliti questa è l’idea che tu sia
andando a mettere tutte le tue funzionalità
per esempio un’API o per una sorta di a
servizio all’interno di una singola funzione questo
non è una buona cosa da fare in genere
di nuovo avevo menzionato più codice
che vive all’interno del tuo schierabile
tipo di artefatto di efficacemente più lento
lambda sta per essere per un raffreddore
iniziare anche a complicare potenzialmente a
inizio caldo ma non ti aiuta
nel pensare a come dovresti costruire
funzioni lambda e chi è così realistico
si vuole pensare è lambda è
tipo di quello che mi piacerebbe chiamare nano
servizi quindi anche più piccoli di un micro
servizio in modo si può pensare tipo di
ogni endpoint HTTP e in chiamata che noi
farebbe come la sua funzione lambda così
ogni metodo HTTP correlato al proprio
funzione lambda e di nuovo questo è dove
strumenti come Sam e le diverse
quadri che esistono rendono questo davvero
facile da fare ma è qualcosa che
la gente non ha molta familiarità con
pensando a come davvero in decomposizione
la loro applicazione il più piccola possibile
quindi a meno che il tuo codice sia fondamentalmente tuo
i gestori di funzione condividono un’invocazione
fonte in cui vuoi dividerli
le loro funzioni lambda indipendenti
o binari se stai usando dire Java o
C nitido e di nuovo è un po ‘il migliore
pratica che vuoi davvero seguire
Un’altra cosa che si potrebbe desiderare di
pensare è raggruppare il tuo codice in
la tua confezione così la gente dirà
ok bene, mi decompongo il mio
monolite lambda in singoli lambda
ma ho un sacco di duplicazione del codice qualsiasi
posto che si vede la duplicazione del codice
pensa di usare una specie di linguaggio
modulo basato su NPM, un pacchetto di pip maven
pacchetto ecc a meno che il tuo lambda funzioni
Condivido lo stesso tipo di tipo di evento così
se hai funzioni lambda che alcuni
vengono invocati da un gateway API alcuni
essere invocato dicendo oh puoi trasmettere
quelli dovrebbero essere completamente separati
i progetti separano completamente Sam
torni basi di codice completamente separati così
ancora una volta se si sta condividendo un gestore si
ancora voglia di pensare a loro scissione
in file nello stesso repository se
stai usando completamente diverso
gestori che completamente diversi
repository che sono completamente
di nuovo si appoggiano diverse applicazioni
riutilizzo del codice tramite moduli di imballaggio e
quindi da una prospettiva di test per Sam
i modelli almeno li convalidano sempre
localmente prima di caricarli così quando
si carica un modello Sam su
CloudFormation
ci vuole tempo per elaborarlo
ed è in realtà molto percepito
come lento ma sta facendo molto dietro il
scene per aggiornare le tue risorse in a
metodologia molto controllata e così via
a volte se conosci il dito grasso
qualcosa all’interno di un modello ti file
può trovare che ci vuole un paio di
minuti prima di ottenere i risultati sul
e infine nel CD CIN
processo li convalida sempre come parte di
che così di nuovo tornando alla costruzione
Le specifiche che avevo dovrei ispezionare il mio
file all’interno del loro lambda e API
gateway appena parlato di qui in a
il secondo supporta qualcosa chiamato
variabili d’ambiente piuttosto
semplice la capacità che hai
essenzialmente una coppia di valori chiave che consente
per aggiungere efficacemente dinamici Ness a
la tua esecuzione della funzione e cosa
stai cercando di farlo come se fosse
due minuti e tre minuti, va bene così
questo è veramente utile per aggiungere nuovamente
il dinamico nough stuferà il tuo ambiente così
possiamo vedere qui un esempio di un Sam
modello dove sto catturando due
parametri dall’utente così ho
qualcosa chiamato caratteristica speciale
un altro chiamato il mio ambiente
passandoli nei riferimenti per il mio
codice effettivo e poi il tuo lambda
la funzione può consumare così forse tu
avere alcune capacità che vuoi solo
per testare le cose in scena o in versi
che hai in prod o vuoi farlo
passare le chiavi in ​​un posto e non
un altro tipo di questo ti dà questo
capacità costruito in un’altra opzione che
hai qualcosa chiamato parametro
archiviare in modo che un parametro store sia una specie di a
luogo centralizzato per mantenere i dati come
coppie di valori chiave quindi database delle chiavi API
ambiente di configurazione delle credenziali
le variabili che puoi vedere qui sono
in realtà un frammento di codice lambda dove
Sto chiamando a
con il servizio di archiviazione parametri che sono
tirandoli dentro e poi eseguendo
loro e quindi è fantastico su questo è
ci sono concetti di gerarchie
Sono un permesso che lo aggira
quindi diciamo che hai più di tipo
di un ambiente aziendale controllato
puoi dare agli sviluppatori l’ accesso a
alcuni parametri memorizzano i dati memorizzati per
sviluppatori e quindi puoi controllare per
produzione, ma si può avere la base di codice
consumandoli esattamente allo stesso modo uno
base di codice che può essere eseguita in qualsiasi
ambiente senza alcun tipo di cambiamento
e così questo tipo di allineamenti torna di nuovo
alcune delle migliori pratiche di voi sanno
usa sempre i parametri e tanto quanto te
le variabili d’ambiente possono particolarmente te
in grado di creare un singolo modello che Sam
può essere utilizzato in più posti questo
in realtà estende l’altro gestito
quadri anche tu vuoi pensare
sul riutilizzo di quelli il più possibile
in modo che dev sia sempre in scena
la messa in scena sembra sempre come prod e
quindi hai una specie di diverso
ambienti che si desidera avere solo
un po ‘così tutte le mie diapositive saranno
pubblicato e quindi saremo in grado di recuperare
quindi solo una specie di involucro qui così ora
Sono in un momento in cui suona così bene
ci sono molti aspetti diversi qui
un sacco di cose diverse che abbiamo parlato
di nuovo tu sai che c’è il
lo spazio di servizio è davvero eccitante, trovo
che è davvero cambiato nel modo in cui
le aziende pensano di costruire il loro
applicazioni che attraversiamo a
numero di diversi aspetti oggi di
dove inizi dove ti cresci
attraverso in termini di monitoraggio e
registrando come pensi di costruire
quel tipo di più di un professionista
flusso di lavoro di sviluppo con la costruzione e
strumenti di test I di nuovo inizio
quadri
e tipo di guardare alcune delle cose
come il codice inizia ad aiutare a capire il tuo più facile
percorso attraverso questa applicazione di servizio
ancora una volta fondamentalmente cose costruite intorno
lambda quindi vediamo davvero cose simili
funziona come un servizio come il futuro di
sviluppo di applicazioni specialmente in un
modello basato sugli eventi, c’è un sacco di
cose diverse che potreste pensare
che rendono un’applicazione guidata dagli eventi
chiudendo praticamente tutto io
parlato di oggi può essere trovato su questo
sito web in modo AWS su slash amazon.com
il server elenca tutti gli strumenti che io
parlato di includere la terza parte
i quadri possono essere trovati su una pagina collegata
fuori da questo
su AWS amazon.com / serverless /
strumenti di sviluppo di nuovo con questo il mio nome
è Chris Mundy Vela / avvocato per
elenchi di server a AWS si potevano trovare al
Natale sul mese di Twitter su amazon.com
sempre felice di rispondere a domande su
qualunque cosa io possa e in termini di oggi
Prenderò domande all’esterno così il prossimo
l’altoparlante può essere configurato ma davvero apprezzato
vieni in questa sessione spero che tu
ho imparato un po ‘di più su lambda
e liste di server e grazie ancora

Please follow and like us: