Submit Search
Upload
Serverless adventures with AWS Lambda and Clojure
β’
1 like
β’
1,309 views
Lars Trieloff
Follow
My slides from #serverless Conference in New York, May 26th, 2016
Read less
Read more
Software
Report
Share
Report
Share
1 of 51
Download now
Download to read offline
Recommended
Genesis200902 sugyan
Genesis200902 sugyan
Yoshihiro Sugi
Β
Introduction to Japanese Morphological Analysis
Introduction to Japanese Morphological Analysis
Takeshi Arabiki
Β
Automated decision making with predictive applications β Big Data Brussels
Automated decision making with predictive applications β Big Data Brussels
Lars Trieloff
Β
Big Data Munich β Decision Automation and Big Data
Big Data Munich β Decision Automation and Big Data
Lars Trieloff
Β
Big Data Berlin β Automating Decisions is the Next Frontier for Big Data
Big Data Berlin β Automating Decisions is the Next Frontier for Big Data
Lars Trieloff
Β
Data Natives 2015: Predictive Applications are Going to Steal Your Job: this ...
Data Natives 2015: Predictive Applications are Going to Steal Your Job: this ...
Lars Trieloff
Β
Web Forms 2.0
Web Forms 2.0
Lars Trieloff
Β
Smartcon 2015 β Automated Decisions in the Supply Chain
Smartcon 2015 β Automated Decisions in the Supply Chain
Lars Trieloff
Β
Recommended
Genesis200902 sugyan
Genesis200902 sugyan
Yoshihiro Sugi
Β
Introduction to Japanese Morphological Analysis
Introduction to Japanese Morphological Analysis
Takeshi Arabiki
Β
Automated decision making with predictive applications β Big Data Brussels
Automated decision making with predictive applications β Big Data Brussels
Lars Trieloff
Β
Big Data Munich β Decision Automation and Big Data
Big Data Munich β Decision Automation and Big Data
Lars Trieloff
Β
Big Data Berlin β Automating Decisions is the Next Frontier for Big Data
Big Data Berlin β Automating Decisions is the Next Frontier for Big Data
Lars Trieloff
Β
Data Natives 2015: Predictive Applications are Going to Steal Your Job: this ...
Data Natives 2015: Predictive Applications are Going to Steal Your Job: this ...
Lars Trieloff
Β
Web Forms 2.0
Web Forms 2.0
Lars Trieloff
Β
Smartcon 2015 β Automated Decisions in the Supply Chain
Smartcon 2015 β Automated Decisions in the Supply Chain
Lars Trieloff
Β
How to get value out of data
How to get value out of data
Lars Trieloff
Β
Business Reasons for Predictive Applications
Business Reasons for Predictive Applications
Lars Trieloff
Β
Automated Decision Making with Predictive Applications β Big Data DuΜsseldorf
Automated Decision Making with Predictive Applications β Big Data DuΜsseldorf
Lars Trieloff
Β
Automated Decision making with Predictive Applications β Big Data Hamburg
Automated Decision making with Predictive Applications β Big Data Hamburg
Lars Trieloff
Β
AMEX Meetings&Events 2015 Global Meetings & Events Forecast
AMEX Meetings&Events 2015 Global Meetings & Events Forecast
Lausanne Montreux Congress
Β
Blue Yonder - NOAH16 London
Blue Yonder - NOAH16 London
NOAH Advisors
Β
Forecasting - MENA 2012 Conference
Forecasting - MENA 2012 Conference
Mohammed Hadi
Β
Automated decision making with predictive applications β Big Data Amsterdam
Automated decision making with predictive applications β Big Data Amsterdam
Lars Trieloff
Β
How to market and sell unbundled travel
How to market and sell unbundled travel
Kevin May
Β
ADDD (Automated Data Driven Decisions) β How To Make it Work
ADDD (Automated Data Driven Decisions) β How To Make it Work
Lars Trieloff
Β
Automated decision making with predictive applications β Big Data Frankfurt
Automated decision making with predictive applications β Big Data Frankfurt
Lars Trieloff
Β
Forecasting and Managing Passenger Growth
Forecasting and Managing Passenger Growth
Lockheed-Martin
Β
Airport forecasting
Airport forecasting
Mohammed Hadi
Β
Presentation on forecasting
Presentation on forecasting
Muhammad Sharjeel
Β
Airline and Airport Big Data: Impact and Efficiencies
Airline and Airport Big Data: Impact and Efficiencies
Joshua Marks
Β
Marketing Airline
Marketing Airline
zeeshanvali
Β
A4A Industry Review and Outlook
A4A Industry Review and Outlook
Airlines for America (A4A)
Β
Big Data For Flight Delay Report
Big Data For Flight Delay Report
JSPM's JSCOE , Pune Maharashtra.
Β
Big data analysis concepts and references
Big data analysis concepts and references
Information Security Awareness Group
Β
A Brief History of Big Data
A Brief History of Big Data
Bernard Marr
Β
Putting the F in FaaS: Functional Compositional Patterns in a Serverless World
Putting the F in FaaS: Functional Compositional Patterns in a Serverless World
Lars Trieloff
Β
Automated decision making using Predictive Applications β Big Data Paris
Automated decision making using Predictive Applications β Big Data Paris
Lars Trieloff
Β
More Related Content
Viewers also liked
How to get value out of data
How to get value out of data
Lars Trieloff
Β
Business Reasons for Predictive Applications
Business Reasons for Predictive Applications
Lars Trieloff
Β
Automated Decision Making with Predictive Applications β Big Data DuΜsseldorf
Automated Decision Making with Predictive Applications β Big Data DuΜsseldorf
Lars Trieloff
Β
Automated Decision making with Predictive Applications β Big Data Hamburg
Automated Decision making with Predictive Applications β Big Data Hamburg
Lars Trieloff
Β
AMEX Meetings&Events 2015 Global Meetings & Events Forecast
AMEX Meetings&Events 2015 Global Meetings & Events Forecast
Lausanne Montreux Congress
Β
Blue Yonder - NOAH16 London
Blue Yonder - NOAH16 London
NOAH Advisors
Β
Forecasting - MENA 2012 Conference
Forecasting - MENA 2012 Conference
Mohammed Hadi
Β
Automated decision making with predictive applications β Big Data Amsterdam
Automated decision making with predictive applications β Big Data Amsterdam
Lars Trieloff
Β
How to market and sell unbundled travel
How to market and sell unbundled travel
Kevin May
Β
ADDD (Automated Data Driven Decisions) β How To Make it Work
ADDD (Automated Data Driven Decisions) β How To Make it Work
Lars Trieloff
Β
Automated decision making with predictive applications β Big Data Frankfurt
Automated decision making with predictive applications β Big Data Frankfurt
Lars Trieloff
Β
Forecasting and Managing Passenger Growth
Forecasting and Managing Passenger Growth
Lockheed-Martin
Β
Airport forecasting
Airport forecasting
Mohammed Hadi
Β
Presentation on forecasting
Presentation on forecasting
Muhammad Sharjeel
Β
Airline and Airport Big Data: Impact and Efficiencies
Airline and Airport Big Data: Impact and Efficiencies
Joshua Marks
Β
Marketing Airline
Marketing Airline
zeeshanvali
Β
A4A Industry Review and Outlook
A4A Industry Review and Outlook
Airlines for America (A4A)
Β
Big Data For Flight Delay Report
Big Data For Flight Delay Report
JSPM's JSCOE , Pune Maharashtra.
Β
Big data analysis concepts and references
Big data analysis concepts and references
Information Security Awareness Group
Β
A Brief History of Big Data
A Brief History of Big Data
Bernard Marr
Β
Viewers also liked
(20)
How to get value out of data
How to get value out of data
Β
Business Reasons for Predictive Applications
Business Reasons for Predictive Applications
Β
Automated Decision Making with Predictive Applications β Big Data DuΜsseldorf
Automated Decision Making with Predictive Applications β Big Data DuΜsseldorf
Β
Automated Decision making with Predictive Applications β Big Data Hamburg
Automated Decision making with Predictive Applications β Big Data Hamburg
Β
AMEX Meetings&Events 2015 Global Meetings & Events Forecast
AMEX Meetings&Events 2015 Global Meetings & Events Forecast
Β
Blue Yonder - NOAH16 London
Blue Yonder - NOAH16 London
Β
Forecasting - MENA 2012 Conference
Forecasting - MENA 2012 Conference
Β
Automated decision making with predictive applications β Big Data Amsterdam
Automated decision making with predictive applications β Big Data Amsterdam
Β
How to market and sell unbundled travel
How to market and sell unbundled travel
Β
ADDD (Automated Data Driven Decisions) β How To Make it Work
ADDD (Automated Data Driven Decisions) β How To Make it Work
Β
Automated decision making with predictive applications β Big Data Frankfurt
Automated decision making with predictive applications β Big Data Frankfurt
Β
Forecasting and Managing Passenger Growth
Forecasting and Managing Passenger Growth
Β
Airport forecasting
Airport forecasting
Β
Presentation on forecasting
Presentation on forecasting
Β
Airline and Airport Big Data: Impact and Efficiencies
Airline and Airport Big Data: Impact and Efficiencies
Β
Marketing Airline
Marketing Airline
Β
A4A Industry Review and Outlook
A4A Industry Review and Outlook
Β
Big Data For Flight Delay Report
Big Data For Flight Delay Report
Β
Big data analysis concepts and references
Big data analysis concepts and references
Β
A Brief History of Big Data
A Brief History of Big Data
Β
More from Lars Trieloff
Putting the F in FaaS: Functional Compositional Patterns in a Serverless World
Putting the F in FaaS: Functional Compositional Patterns in a Serverless World
Lars Trieloff
Β
Automated decision making using Predictive Applications β Big Data Paris
Automated decision making using Predictive Applications β Big Data Paris
Lars Trieloff
Β
Automated decision making with big data β Big Data Vienna
Automated decision making with big data β Big Data Vienna
Lars Trieloff
Β
10 Things I Learned About Pricing β Product Camp Berlin 2014
10 Things I Learned About Pricing β Product Camp Berlin 2014
Lars Trieloff
Β
The DNA of Marketing
The DNA of Marketing
Lars Trieloff
Β
Cross community campaigns with CQ5
Cross community campaigns with CQ5
Lars Trieloff
Β
Mastering the customer engagement ecosystem with CQ5
Mastering the customer engagement ecosystem with CQ5
Lars Trieloff
Β
Advanced Collaboration And Beyond
Advanced Collaboration And Beyond
Lars Trieloff
Β
Getting Into The Flow With CQ DAM
Getting Into The Flow With CQ DAM
Lars Trieloff
Β
The Zero Bullshit Architecture
The Zero Bullshit Architecture
Lars Trieloff
Β
Creating Value In Social Networking
Creating Value In Social Networking
Lars Trieloff
Β
5 Ways To Build Asset Centric Applications
5 Ways To Build Asset Centric Applications
Lars Trieloff
Β
REST and AJAX Reconciled
REST and AJAX Reconciled
Lars Trieloff
Β
Β΅jax in 30 minutes (for Stockholm)
Β΅jax in 30 minutes (for Stockholm)
Lars Trieloff
Β
Β΅jax in 30 minutes
Β΅jax in 30 minutes
Lars Trieloff
Β
Living in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 Applications
Lars Trieloff
Β
Mindquarry For Cocoon Users
Mindquarry For Cocoon Users
Lars Trieloff
Β
More from Lars Trieloff
(17)
Putting the F in FaaS: Functional Compositional Patterns in a Serverless World
Putting the F in FaaS: Functional Compositional Patterns in a Serverless World
Β
Automated decision making using Predictive Applications β Big Data Paris
Automated decision making using Predictive Applications β Big Data Paris
Β
Automated decision making with big data β Big Data Vienna
Automated decision making with big data β Big Data Vienna
Β
10 Things I Learned About Pricing β Product Camp Berlin 2014
10 Things I Learned About Pricing β Product Camp Berlin 2014
Β
The DNA of Marketing
The DNA of Marketing
Β
Cross community campaigns with CQ5
Cross community campaigns with CQ5
Β
Mastering the customer engagement ecosystem with CQ5
Mastering the customer engagement ecosystem with CQ5
Β
Advanced Collaboration And Beyond
Advanced Collaboration And Beyond
Β
Getting Into The Flow With CQ DAM
Getting Into The Flow With CQ DAM
Β
The Zero Bullshit Architecture
The Zero Bullshit Architecture
Β
Creating Value In Social Networking
Creating Value In Social Networking
Β
5 Ways To Build Asset Centric Applications
5 Ways To Build Asset Centric Applications
Β
REST and AJAX Reconciled
REST and AJAX Reconciled
Β
Β΅jax in 30 minutes (for Stockholm)
Β΅jax in 30 minutes (for Stockholm)
Β
Β΅jax in 30 minutes
Β΅jax in 30 minutes
Β
Living in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 Applications
Β
Mindquarry For Cocoon Users
Mindquarry For Cocoon Users
Β
Serverless adventures with AWS Lambda and Clojure
1.
Serverless Adventures with AWS
Lambda and Clojure
2.
________ ______ __ ___/______________
________________ /___________________ _____ _ _ _ ___/_ | / / _ _ ___/_ /_ _ _ ___/_ ___/ ____/ // __/ / __ |/ // __/ / _ / / __/(__ )_(__ ) /____/ ___//_/ _____/ ___//_/ /_/ ___//____/ /____/ .d8b. d8888b. db db d88888b d8b db d888888b db db d8888b. d88888b .d8888. db d8b db d888888b d888888b db db d8' `8b 88 `8D 88 88 88' 888o 88 `~~88~~' 88 88 88 `8D 88' 88' YP 88 I8I 88 `88' `~~88~~' 88 88 88ooo88 88 88 Y8 8P 88ooooo 88V8o 88 88 88 88 88oobY' 88ooooo `8bo. 88 I8I 88 88 88 88ooo88 88~~~88 88 88 `8b d8' 88~~~~~ 88 V8o88 88 88 88 88`8b 88~~~~~ `Y8b. Y8 I8I 88 88 88 88~~~88 88 88 88 .8D `8bd8' 88. 88 V888 88 88b d88 88 `88. 88. db 8D `8b d8'8b d8' .88. 88 88 88 YP YP Y8888D' YP Y88888P VP V8P YP ~Y8888P' 88 YD Y88888P `8888Y' `8b8' `8d8' Y888888P YP YP YP βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β β β β β ___ ____ __ ____ _______. __ ___ .___ ___. .______ _______ ___ β β / / / / / | | | / | / | | _ | / β β / ^ / / / | (----` | | / ^ | / | | |_) | | .--. | / ^ β β / /_ / | | / /_ | |/| | | _ < | | | | / /_ β β / _____ / / .----) | | `----./ _____ | | | | | |_) | | '--' | / _____ β β /__/ __ &&&&&&&&&&/ |_______/ |_______/__/ __ |__| |__| |______/ |_______/ /__/ __ β β &::::::::::& β β &::::&&&:::::& ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β βββββββββββββββββ&::::&βββ&::::&βββββ£ β βββ &::::& &::::& β β &::::&&&::::& β ______ __ ______ __ __ __ .______ _______ β &::::::::::& β / || | / __ | | | | | | | _ | ____| β &:::::::&& β | ,----'| | | | | | | | | | | | | |_) | | |__ β &::::::::& &&&& β | | | | | | | | .--. | | | | | | | / | __| β &:::::&&::& &:::& β | `----.| `----.| `--' | | `--' | | `--' | | | ----.| |____ β &:::::& &::&&:::&& β ______||_______| ______/ ______/ ______/ | _| `._____||_______| β &:::::& &:::::& β β &:::::& &::::& β β &::::::&&&&::::::&& ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ &&::::::::&&&::::& &&&&&&&& &&&&&
3.
Lars Trieloff !β€ ! @trieloff !"
@trieloff
4.
!" !"#$%&'
5.
!
6.
What?
7.
Excel + HTTP
= Excelsior
8.
!" github.com/trieloff/excelsior
9.
!
10.
Why?
11.
! Clojure
12.
Ξ» !
13.
! 12 β 12factor.net
14.
! Swagger swagger.io
15.
!"?
16.
AWS Lambda!
17.
!" = #
18.
!" = #
19.
!"
20.
AWS Ξ» +
Clojure Ξ» = β₯
21.
!
22.
Sounds good.
23.
Sounds too good.
24.
Sounds too good
to be true.
25.
If something sounds
too good to be true, it probably is.
26.
βββββββββββββββ β β β β β
Clojure β β βββββββΌββββββββ β β ! β β βββββββββΌββββββ β β AWS Lambda β β β β β βββββββββββββββ
27.
!
28.
How?
29.
β ! github.com/metosin/compojure-api β
" github.com/jpb/ring-aws-lambda-adapter β # github.com/mjul/docjure β β circleci.com β % github.com/mhjort/lein-clj-lambda
30.
ββββββββββββββββββββββββββ ββββββββββββββββββββββββββ β ββββββββββββββββββββββ
β β β β β ββββββββββββββββββ β β β β β β β ββββββββββββββ β β β β β β β β β Docjure !β β β β β β β β β ββββββββββββββ β β β ββββββββββββββ β AWS API Gateway β β β β My code " β β β ββββββββββΆβswagger.jsonββββββImportββββββΆβ β β β ββββββββββββββββββ β β Export ββββββββββββββ β β β β Compojure API # βββΌββββββ β β β ββββββββββββββββββββββ β β β β Ring Lambda Adapter $ β β β ββββββββββββββββββββββββββ ββββββββββββββββββββββββββ β β β Proxy β β β βΌ β ββββββββββββββββββββββββββ β β β β β β β β β β β β β ββββββββββββββ β AWS Lambda β ββββββββββββBuild % ββββββΆβ server.jar βββββDeployβββββββΆβ β ββββββββββββββ β β β β β β β β ββββββββββββββββββββββββββ
31.
!
32.
Problems?
33.
βββββββββββββββ β β β β β
Clojure β β βββββββΌββββββββ β β!"#β β βββββββββΌββββββ β β AWS Lambda β β β β β βββββββββββββββ
34.
!" github.com/trieloff/lein-aws-apigateway
35.
!" AWS API Gateway
36.
!" AWS IAM Permissions
37.
Execution failed due
to conο¬guration error: Invalid permissions on Lambda function aws lambda add-permission --function-name <name> --statement-id <someid> --action "lambda:*" --principal "apigateway.amazonaws.com" ! docs.aws.amazon.com/cli/latest/reference/ lambda/add-permission.html
38.
!
39.
Tips?
40.
Think small 100 LOC
should be enough for a Lambda function. !
41.
Think modular Two tiny functions
are better than one large function. !
42.
!" github.com/trieloff/salvador
43.
Think Stateless simplicity, performance, composablity β
44.
Be lazy Sit, donβt
stand on the shoulders of giants. Re- use, donβt re-invent. β»
45.
ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ β
β β β β β β Typeform ββββRedirectβββΆβ Excelsior ββββRedirectβββΆβ Salvador β β β β β β β ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ β² β² β β Spreadsheet Template β β β β ββββββββββββββββββββ ββββββββββββββββββββ β β β β β S3 β β S3 β β β β β ββββββββββββββββββββ ββββββββββββββββββββ
46.
Smile & Share Community
eats code for breakfast. β
47.
!
48.
β°
49.
AWS Ξ» +
Clojure Ξ» = β₯
50.
! Rainbow Parentheses
make " #
51.
))))))))))))*
Download now