SlideShare a Scribd company logo
THE FUTURE WILL BETHE FUTURE WILL BE
SERVERLESSSERVERLESS
Verona, 9 May 2018
Luciano Mammino ( )@loige
loige.link/serverless-jsday 1
loige.link/serverless-jsday 2
LUCIANO... WHOLUCIANO... WHO
Find me online:
-  (@loige)
-  (lmammino)
-
-  (loige.co)
Twitter
GitHub
Linkedin
Blog
Solution Architect at
with @mariocasciaro
with @andreaman87
with @ Podgeypoos79 3
AGENDAAGENDA
CHAPTER 1:CHAPTER 1: FROM BARE METAL TO SERVERLESSFROM BARE METAL TO SERVERLESS
CHAPTER 2:CHAPTER 2: SERVERLESS, WTF?!SERVERLESS, WTF?!
CHAPTER 3:CHAPTER 3: UNDERSTANDING SERVERLESSUNDERSTANDING SERVERLESS
CHAPTER 4:CHAPTER 4: A SERVERLESS USE CASEA SERVERLESS USE CASE
CHAPTER 5:CHAPTER 5: PROS N' CONSPROS N' CONS
CHAPTER 6:CHAPTER 6: IT'S TIME TO GET STARTEDIT'S TIME TO GET STARTED
4
CHAPTER 1CHAPTER 1
FROMFROM BAREMETALBAREMETAL  TO  TO SERVERLESSSERVERLESS
loige.co/from-bare-metal-to-serverless
5
“YOUHAVETOKNOWTHEPASTTOUNDERSTANDTHE“YOUHAVETOKNOWTHEPASTTOUNDERSTANDTHE
PRESENT.”PRESENT.”
― Carl Sagan
6
1989-1991 — Sir Tim Berners-Lee invented the World Wide Web 7
1991-1995 — The bare metal age 8
1995 — The invention of web hosting 9
1997 — Grid computing: 2 machines are better than 1!
Ian Foster
10
1999 — Salesforce introduces the concept of Software as a Service (SaaS)
Marc Benioff
11
2001 — VMWare releases ESXi, "server virtualization" becomes a thing 12
2002-2006 — AWS is born (IaaS), people talk about "Cloud computing" 13
2009 — Heroku and the invention of the "Platform as a Service" (PaaS)
 James Lindenbaum
Adam Wiggins
Orion Henry
14
2011 — Envolve/Firebase, real time database as a service (RTDaaS???)
James Tamplin and Andrew Lee
15
2012 — Parse.com and the first Backend as a Service (BaaS)
Tikhon Bernstam
Ilya Sukhar
James Yu
Kevin Lacker
16
2013 — Docker, "linux containers are better than virtual machines"
Solomon Hykes
17
2013-2015 — Kubernetes / Swarm / Nomad / CoreOs (containers at scale) 18
2014 — Launch of AWS Lambda (FaaS) 19
CHAPTER 2CHAPTER 2
SERVERLESS,WTF*?!SERVERLESS,WTF*?!
*What's The Fun 20
"Serverless most often refers to serverless applications. Serverless applications
are ones that don't require you to provision or manage any servers. You can focus
on your core product and business logic instead of responsibilities like operating
system (OS) access control, OS patching, provisioning, right-sizing, scaling, and
availability. By building your application on a serverless platform, the platform
manages these responsibilities for you."
 
— Amazon Web Services
loige.link/serverless-apps-lambda
21
“   The essence of the serverless trend is the absence of the
server concept during software development.
 
— Auth0
loige.link/what-is-serverless
22
loige.link/serverless-commitstrip 23
CHAPTER 3CHAPTER 3
UNDERSTANDING SERVERLESSUNDERSTANDING SERVERLESS
24
loige.link/serverless-abstraction
25
THE 4 PILLARS OF SERVERLESSTHE 4 PILLARS OF SERVERLESS
(TLDR; IT'S NOT ONLY ABOUT SERVERS)(TLDR; IT'S NOT ONLY ABOUT SERVERS)
No server management
You don't know how many and how they are configured
Flexible scaling
If you need more resources, they will be allocated for you
High availability
Redundancy and fault tolerance are built in
Never pay for idle
Unused resources cost $0
26
THE SERVERLESS LAYERSTHE SERVERLESS LAYERS
(TLDR; IT'S NOT ONLY "FAAS")(TLDR; IT'S NOT ONLY "FAAS")
COMPUTECOMPUTE
DATADATA
MESSAGING AND STREAMINGMESSAGING AND STREAMING
27
USER MANAGEMENT AND IDENTITYUSER MANAGEMENT AND IDENTITY
MONITORING AND DEPLOYMENTMONITORING AND DEPLOYMENT
EDGEEDGE
STUFF THAT WE CAN BUILDSTUFF THAT WE CAN BUILD
 Mobile Backends
 APIs & Microservices
 Data Processing pipelines
⚡  Webhooks
  Bots and integrations
⚙  IoT Backends
 Single page web applications
28
SOME SERVERLESS APPS I HELPED BUILDSOME SERVERLESS APPS I HELPED BUILD
Open source
A "semi-automated" weekly newsletter ( )
A middleware framework for AWS Lambda ( )
 
Enterprise
Various solutions for the UK Energy industry: Trading platform, Billing engine,
Market data aggregator ( )
Big data pipeline (~1-5TB/day/customer) to make network data searchable
( )
Fullstack bulletin
middy.js.org
Planet 9 Energy
Vectra.ai
29
EXECUTION MODELEXECUTION MODEL
Event →
30
IF   ________________________________  
 
THEN ________________________________ 
        
"IF"IF THISTHIS THENTHEN THATTHAT" MODEL" MODEL
31
SERVERLESS AND JAVASCRIPTSERVERLESS AND JAVASCRIPT
Frontend
Serverless Web hosting is static, but you can build SPAs
(React, Angular, Vue, etc.)
Backend
Node.js is supported by every provider
⚡ Fast startup (as opposed to Java)
Use all the modules on NPM
Support other languages/dialects
(TypeScript, ClojureScript, ESNext...)
32
exports.myLambda = function (
event,
context,
callback
) {
// get input from event and context
// use callback to return output or errors
}
ANATOMY OF A NODE.JS LAMBDA ON AWSANATOMY OF A NODE.JS LAMBDA ON AWS
33
CHAPTER 4CHAPTER 4
A SERVERLESS USE CASEA SERVERLESS USE CASE
34
Search for threats using network metadata
Security researcher
Have an API to be able to search across 
network metadata files available on the 
shared FTP drive
I can find and validate potential 
security threats on the network
35
A SERVERLESS IMPLEMENTATION (ON AWS)A SERVERLESS IMPLEMENTATION (ON AWS)
Network
Metadata
FTP Storage
Search API
(API Gateway)
Network metadata search service
User or other
services
Sync
Lambda
Parse/Load
Lambda
API
Lambda
Network Metadata
S3 Bucket
/metadata
elastic search index 36
scheduled event
new object
API 
Request 
SYNC LAMBDASYNC LAMBDA
{
"account": "123456789012",
"region": "us-east-1",
"detail": {},
"detail-type": "Scheduled Event",
"source": "aws.events",
"time": "2018-05-09T14:30:21Z",
"id": "cdc73f9d-aea9-1234-9d5a-835b769c0d9c",
"resources": [
"arn:aws:events:us-east-1:123456789012:rule/my-schedule"
]
}
Cloudwatch scheduled event
37
exports.syncLambda = (
event,
context,
callback
) => {
// 1. connect to the FTP server
// 2. get list of files from FTP
// 3. get list of files from S3
// 4. make a diff to find new files in FTP
// 5. read the new files and save them to S3
// 6. invoke the callback to stop lambda
}
SYNC LAMBDASYNC LAMBDA
38
LOAD LAMBDALOAD LAMBDA
{
"Records": [
{
"eventTime": "2018-05-09T14:30:21Z",
"s3": {
"object": {
"eTag": "0123456789abcdef0123456789abcdef",
"sequencer": "0A1B2C3D4E5F678901",
"key": "2018-05-09-metadata.csv.gz",
"size": 1024
},
"bucket": {
"arn": "arn:aws:s3:::metadata-sync-files",
"name": "metadata-sync-files",
}
},
"awsRegion": "us-east-1",
"eventName": "ObjectCreated:Put",
"eventSource": "aws:s3"
}
]
}
S3 new object event
new object
39
exports.loadLambda = (
event,
context,
callback
) => {
// 1. get the new file details from the `event`
// 2. read the file and deserialize the records
// 3. send the records to elastic search using
// the bulk API
// 4. invoke the callback to stop lambda
}
LOAD LAMBDALOAD LAMBDA
40
API LAMBDAAPI LAMBDA
{
"body": "",
"resource": "/metadata/search",
"requestContext": {
"resourceId": "123456",
"apiId": "1234567890",
"resourcePath": "/metadata/search",
"httpMethod": "GET",
"requestId": "c6af9ac6-7b61-11e6-9a41-93e8deadbeef",
"stage": "prod"
},
"queryStringParameters": {
"q": "srcIp:127.0.0.1 AND host:google.com"
},
"headers": {
"User-Agent": "Custom User Agent String",
},
"httpMethod": "GET",
"path": "/metadata/search"
}
API Gateway proxy event
API 
Request 
41
exports.apiLambda = (
event,
context,
callback
) => {
// 1. read the HTTP details (query) from
// the `event`
// 2. issue the query to ElasticSearch to the
// given index
// 3. reformat the results into an API gateway
// response
// 4. invoke the callback passing the response
}
API LAMBDAAPI LAMBDA
42
ORCHESTRATION / CONFIGURATIONORCHESTRATION / CONFIGURATION
WHO DEFINES THE EVENTS AND WHERE DO WE STORE THE CONFIG?WHO DEFINES THE EVENTS AND WHERE DO WE STORE THE CONFIG?
43
ORCHESTRATION / CONFIGURATIONORCHESTRATION / CONFIGURATION
MANY OPTIONSMANY OPTIONS
Manually a.k.a. "clicky-clicky" from the Web UI
Declarative code-based approaches:
orAWS Cloudformation SAM
Serverless framework
Terraform
44
service: metadataSearch
provider:
name: aws
runtime: nodejs8.10
functions:
sync:
handler: index.syncLambda
environment:
FTP_HOST: "28.0.1.22:23"
FTP_USERNAME: admin
FTP_PASSWORD: unicorns
S3_BUCKET: metadata-sync-files
events:
- schedule: rate(2 hours)
load:
handler: index.loadLambda
environment:
ES_INDEX: metadata
events:
- s3:
bucket: metadata-sync-files
event: "s3:ObjectCreated:*"
api:
handler: index.apiLambda
environment:
ES_INDEX: metadata
events:
- http: GET metadata/search
SERVERLESS FRAMEWORK EXAMPLESERVERLESS FRAMEWORK EXAMPLEserverless.yml
sls deploy
Reads the serverless.yml and parses the
resources
Creates a zip file containing the source
code
Creates a Cloudformation stack with all
the resources listed in serverless.yml
Deploys the stack (including Lambda code)
$
45
(MANY) THINGS I DIDN'T HAVE TO WORRY ABOUT...(MANY) THINGS I DIDN'T HAVE TO WORRY ABOUT...
What type of virtual machine do I need?
What operating system?
How to keep OS/System updated?
How much disk space do I need?
How do I handle/retry failures?
How do I collect and rotate logs?
What about metrics?
What machine do I need to run the database?
How do I backup the database?
How do I scale the database?
Which web server should I use and how to configure it?
Throttling? Managing API Keys? API caching?
46
CHAPTER 5CHAPTER 5
PROS N' CONSPROS N' CONS
47
FOCUS ON DELIVERING BUSINESS VALUE / FAST TIMEFOCUS ON DELIVERING BUSINESS VALUE / FAST TIME
TO MARKETTO MARKET
48
LESS "TECH-FREEDOM™" /LESS "TECH-FREEDOM™" /
TIGHT VENDOR LOCK-IN!TIGHT VENDOR LOCK-IN!
49
OPTIMAL RESOURCE ALLOCATIONOPTIMAL RESOURCE ALLOCATION
50
NOT-MAGIC™!NOT-MAGIC™!
YOU STILL HAVE TO WRITE CONFIGURATIONYOU STILL HAVE TO WRITE CONFIGURATION
51
AUTO-SCALABILITYAUTO-SCALABILITY
52
COLDSTARTCOLDSTARTPROBLEMPROBLEM
loige.link/cold-start
53
HIGH AVAILABILITYHIGH AVAILABILITY
54
SOFT/HARDLIMITSSOFT/HARDLIMITS
loige.link/lambda-limits
55
PAY PER USAGEPAY PER USAGE
(don't pay for idle!)
56
LOCAL DEVELOPMENT,LOCAL DEVELOPMENT,
TESTING, DEBUGGINGTESTING, DEBUGGING
57
GROWING ECOSYSTEMGROWING ECOSYSTEM
58
OLDER TECHNOLOGIESOLDER TECHNOLOGIES
MIGHT NOT INTEGRATE WELLMIGHT NOT INTEGRATE WELL
59
CHAPTER 6CHAPTER 6
IT'S TIME TO GET STARTEDIT'S TIME TO GET STARTED
60
WHO IS ALREADY ADOPTING SERVERLESSWHO IS ALREADY ADOPTING SERVERLESS
61
PICK A FAAS AND START TO HAVE FUN!PICK A FAAS AND START TO HAVE FUN!
IBM
Cloud
Functions
AWS
Lambda
Azure
Functions
Google
Cloud
Functions
Auth0
Webtask
Iron.io
FaaS
Spotinst
Functions
Apache
OpenWhisk
Fission
stdlib
service
Functions
62
Fn Kubeless
CLOUD BASEDCLOUD BASED
SELF-HOSTED / OPEN SOURCESELF-HOSTED / OPEN SOURCE
Feffe LeverOS Open FaaS
WHY IS SERVERLESS THE FUTURE?WHY IS SERVERLESS THE FUTURE?
MY 2 FAVOURITE REASONS:MY 2 FAVOURITE REASONS:
Opportunity to deliver value to the customer quickly
Pay only for the used resources
63
TOMORROW I'LL MIGRATE ALLTOMORROW I'LL MIGRATE ALL
MY APPS TO SERVERLESSMY APPS TO SERVERLESS
APPROACH THISAPPROACH THIS
WITH CARE...WITH CARE...
64
THANKS!THANKS!
QUESTIONS?QUESTIONS?
Now or later to :)@loige
loige.link/serverless-jsday
If your company wants to get started with serverless on
AWS, be sure to check out serverlesslab.com
65
CREDITSCREDITS
High Res Emojis by emojiisland.com
World Wide Web Foundation, history of the web
Web hosting on Wikipedia
The history of web hosting: how things have changed since Tibus started in 1996
Grid computing on Wikipedia
Globus toolkit on Wikipedia
Globus Alliance on Wikipedia
Globus: A Metacomputing Infrastructure Toolkit (slides)
The Anatomy of the Grid: Enabling Scalable Virtual Organizations (paper)
Computer Weekly, the history of Cloud Computing
Brief history of Salesforce.com
With long history of virtualization behind it, IBM looks to the future
About Amazon Web Services (official)
Fullstack python: What is Serverless
Parse (platform) on Wikipedia
Firebase on Wikipedia
Kubernetes on Wikipedia
CoreOS on Wikipedia
AWS Lambda on Wikipedia
Serverless Computing on Wikipedia
"AWS Serverless Applications Lens" white paper (pdf)
"Serverless Architectures with AWS Lambda" white paper (pdf)
AWS Lambda VS the World
Serverless: Looking Back to See Forward
Awesome Serverless (GitHub repository)
Discussion about the history of Serverless on Lobste.rs
a HUGE thanks to:
@vladholubiev
@mariocasciaro
@katavic_d
@Podgeypoos79
PLEASE GIVE FEEDBACK
loige.link/vote-jsday
66

More Related Content

What's hot

Security in serverless world (get.net)
Security in serverless world (get.net)Security in serverless world (get.net)
Security in serverless world (get.net)
Yan Cui
 
Yan Cui - How to build observability into a serverless application - Codemoti...
Yan Cui - How to build observability into a serverless application - Codemoti...Yan Cui - How to build observability into a serverless application - Codemoti...
Yan Cui - How to build observability into a serverless application - Codemoti...
Codemotion
 
Building ‘Bootiful’ microservices cloud
Building ‘Bootiful’ microservices cloudBuilding ‘Bootiful’ microservices cloud
Building ‘Bootiful’ microservices cloudIdan Fridman
 
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...
Lee Calcote
 
ApacheCon NA - Apache Camel K: a cloud-native integration platform
ApacheCon NA - Apache Camel K: a cloud-native integration platformApacheCon NA - Apache Camel K: a cloud-native integration platform
ApacheCon NA - Apache Camel K: a cloud-native integration platform
Nicola Ferraro
 
New Features of Kubernetes v1.2.0 beta
New Features of Kubernetes v1.2.0 betaNew Features of Kubernetes v1.2.0 beta
New Features of Kubernetes v1.2.0 beta
Giragadurai Vallirajan
 
Java Microservices with Spring Boot and Spring Cloud - Denver JUG 2019
Java Microservices with Spring Boot and Spring Cloud - Denver JUG 2019Java Microservices with Spring Boot and Spring Cloud - Denver JUG 2019
Java Microservices with Spring Boot and Spring Cloud - Denver JUG 2019
Matt Raible
 
Samuele Resca - REACTIVE PROGRAMMING, DAMN. IT IS NOT ABOUT REACTJS - Codemot...
Samuele Resca - REACTIVE PROGRAMMING, DAMN. IT IS NOT ABOUT REACTJS - Codemot...Samuele Resca - REACTIVE PROGRAMMING, DAMN. IT IS NOT ABOUT REACTJS - Codemot...
Samuele Resca - REACTIVE PROGRAMMING, DAMN. IT IS NOT ABOUT REACTJS - Codemot...
Codemotion
 
Patterns and practices for building resilient Serverless applications
Patterns and practices for building resilient Serverless applicationsPatterns and practices for building resilient Serverless applications
Patterns and practices for building resilient Serverless applications
Yan Cui
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
Eberhard Wolff
 
Microservices with Spring and Cloud Foundry
Microservices with Spring and Cloud FoundryMicroservices with Spring and Cloud Foundry
Microservices with Spring and Cloud Foundry
Alain Sahli
 
Мониторинг облачной CI-системы на примере Jenkins / Александр Акбашев (HERE T...
Мониторинг облачной CI-системы на примере Jenkins / Александр Акбашев (HERE T...Мониторинг облачной CI-системы на примере Jenkins / Александр Акбашев (HERE T...
Мониторинг облачной CI-системы на примере Jenkins / Александр Акбашев (HERE T...
Ontico
 
Serverless in production, an experience report (microservices london)
Serverless in production, an experience report (microservices london)Serverless in production, an experience report (microservices london)
Serverless in production, an experience report (microservices london)
Yan Cui
 
Service discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring CloudService discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring Cloud
Marcelo Serpa
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
Murthy Chintalapati
 
Why PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring BootWhy PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring Boot
Toshiaki Maki
 
What's new with Apache Camel 3? | DevNation Tech Talk
What's new with Apache Camel 3? | DevNation Tech TalkWhat's new with Apache Camel 3? | DevNation Tech Talk
What's new with Apache Camel 3? | DevNation Tech Talk
Red Hat Developers
 
Mario Fusco - Reactive programming in Java - Codemotion Milan 2017
Mario Fusco - Reactive programming in Java - Codemotion Milan 2017Mario Fusco - Reactive programming in Java - Codemotion Milan 2017
Mario Fusco - Reactive programming in Java - Codemotion Milan 2017
Codemotion
 
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
VMware Tanzu
 
Being serverless and Swift... Is that allowed?
Being serverless and Swift... Is that allowed? Being serverless and Swift... Is that allowed?
Being serverless and Swift... Is that allowed?
Dev_Events
 

What's hot (20)

Security in serverless world (get.net)
Security in serverless world (get.net)Security in serverless world (get.net)
Security in serverless world (get.net)
 
Yan Cui - How to build observability into a serverless application - Codemoti...
Yan Cui - How to build observability into a serverless application - Codemoti...Yan Cui - How to build observability into a serverless application - Codemoti...
Yan Cui - How to build observability into a serverless application - Codemoti...
 
Building ‘Bootiful’ microservices cloud
Building ‘Bootiful’ microservices cloudBuilding ‘Bootiful’ microservices cloud
Building ‘Bootiful’ microservices cloud
 
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...
Create Great CNCF User-Base from Lessons Learned from Other Open Source Commu...
 
ApacheCon NA - Apache Camel K: a cloud-native integration platform
ApacheCon NA - Apache Camel K: a cloud-native integration platformApacheCon NA - Apache Camel K: a cloud-native integration platform
ApacheCon NA - Apache Camel K: a cloud-native integration platform
 
New Features of Kubernetes v1.2.0 beta
New Features of Kubernetes v1.2.0 betaNew Features of Kubernetes v1.2.0 beta
New Features of Kubernetes v1.2.0 beta
 
Java Microservices with Spring Boot and Spring Cloud - Denver JUG 2019
Java Microservices with Spring Boot and Spring Cloud - Denver JUG 2019Java Microservices with Spring Boot and Spring Cloud - Denver JUG 2019
Java Microservices with Spring Boot and Spring Cloud - Denver JUG 2019
 
Samuele Resca - REACTIVE PROGRAMMING, DAMN. IT IS NOT ABOUT REACTJS - Codemot...
Samuele Resca - REACTIVE PROGRAMMING, DAMN. IT IS NOT ABOUT REACTJS - Codemot...Samuele Resca - REACTIVE PROGRAMMING, DAMN. IT IS NOT ABOUT REACTJS - Codemot...
Samuele Resca - REACTIVE PROGRAMMING, DAMN. IT IS NOT ABOUT REACTJS - Codemot...
 
Patterns and practices for building resilient Serverless applications
Patterns and practices for building resilient Serverless applicationsPatterns and practices for building resilient Serverless applications
Patterns and practices for building resilient Serverless applications
 
Microservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring CloudMicroservice With Spring Boot and Spring Cloud
Microservice With Spring Boot and Spring Cloud
 
Microservices with Spring and Cloud Foundry
Microservices with Spring and Cloud FoundryMicroservices with Spring and Cloud Foundry
Microservices with Spring and Cloud Foundry
 
Мониторинг облачной CI-системы на примере Jenkins / Александр Акбашев (HERE T...
Мониторинг облачной CI-системы на примере Jenkins / Александр Акбашев (HERE T...Мониторинг облачной CI-системы на примере Jenkins / Александр Акбашев (HERE T...
Мониторинг облачной CI-системы на примере Jenkins / Александр Акбашев (HERE T...
 
Serverless in production, an experience report (microservices london)
Serverless in production, an experience report (microservices london)Serverless in production, an experience report (microservices london)
Serverless in production, an experience report (microservices london)
 
Service discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring CloudService discovery with Eureka and Spring Cloud
Service discovery with Eureka and Spring Cloud
 
Sun Web Server Brief
Sun Web Server BriefSun Web Server Brief
Sun Web Server Brief
 
Why PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring BootWhy PCF is the best platform for Spring Boot
Why PCF is the best platform for Spring Boot
 
What's new with Apache Camel 3? | DevNation Tech Talk
What's new with Apache Camel 3? | DevNation Tech TalkWhat's new with Apache Camel 3? | DevNation Tech Talk
What's new with Apache Camel 3? | DevNation Tech Talk
 
Mario Fusco - Reactive programming in Java - Codemotion Milan 2017
Mario Fusco - Reactive programming in Java - Codemotion Milan 2017Mario Fusco - Reactive programming in Java - Codemotion Milan 2017
Mario Fusco - Reactive programming in Java - Codemotion Milan 2017
 
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
Winning the Lottery with Spring: A Microservices Case Study for the Dutch Lot...
 
Being serverless and Swift... Is that allowed?
Being serverless and Swift... Is that allowed? Being serverless and Swift... Is that allowed?
Being serverless and Swift... Is that allowed?
 

Similar to The future will be Serverless - JSDay Verona 2018

The future will be Serverless (FrontConf Munich 2017)
The future will be Serverless (FrontConf Munich 2017)The future will be Serverless (FrontConf Munich 2017)
The future will be Serverless (FrontConf Munich 2017)
Luciano Mammino
 
Serverless - minimizing the attack surface
Serverless - minimizing the attack surfaceServerless - minimizing the attack surface
Serverless - minimizing the attack surface
Avi Shulman
 
Lessons Learnt from Running Thousands of On-demand Spark Applications
Lessons Learnt from Running Thousands of On-demand Spark ApplicationsLessons Learnt from Running Thousands of On-demand Spark Applications
Lessons Learnt from Running Thousands of On-demand Spark Applications
Itai Yaffe
 
How to build observability into a serverless application
How to build observability into a serverless applicationHow to build observability into a serverless application
How to build observability into a serverless application
Yan Cui
 
Top conf serverlezz
Top conf   serverlezzTop conf   serverlezz
Top conf serverlezz
Antons Kranga
 
Let's set the record straight on the term serverless and what it’s not
Let's set the record straight on the term serverless and what it’s notLet's set the record straight on the term serverless and what it’s not
Let's set the record straight on the term serverless and what it’s not
Jeshan Babooa
 
Unlocking Agility with the AWS Serverless Application Model (SAM)
Unlocking Agility with the AWS Serverless Application Model (SAM)Unlocking Agility with the AWS Serverless Application Model (SAM)
Unlocking Agility with the AWS Serverless Application Model (SAM)
Amazon Web Services
 
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
Amazon Web Services
 
Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)
Yan Cui
 
How to build observability into a serverless application
How to build observability into a serverless applicationHow to build observability into a serverless application
How to build observability into a serverless application
Yan Cui
 
Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)
Yan Cui
 
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Brocade
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
Chip Childers
 
Operator SDK for K8s using Go
Operator SDK for K8s using GoOperator SDK for K8s using Go
Operator SDK for K8s using Go
CloudOps2005
 
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCONMicroservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
Adrian Cockcroft
 
Introduction to the Serverless paradigm
Introduction to the Serverless paradigmIntroduction to the Serverless paradigm
Introduction to the Serverless paradigm
Alex Casalboni
 
ENPM808 Independent Study Final Report - amaster 2019
ENPM808 Independent Study Final Report - amaster 2019ENPM808 Independent Study Final Report - amaster 2019
ENPM808 Independent Study Final Report - amaster 2019
Alexander Master
 
Serverless in production (O'Reilly Software Architecture)
Serverless in production (O'Reilly Software Architecture)Serverless in production (O'Reilly Software Architecture)
Serverless in production (O'Reilly Software Architecture)
Yan Cui
 
Serverless in production, an experience report
Serverless in production, an experience reportServerless in production, an experience report
Serverless in production, an experience report
Yan Cui
 
Using Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in TorontoUsing Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in Toronto
Daniel Zivkovic
 

Similar to The future will be Serverless - JSDay Verona 2018 (20)

The future will be Serverless (FrontConf Munich 2017)
The future will be Serverless (FrontConf Munich 2017)The future will be Serverless (FrontConf Munich 2017)
The future will be Serverless (FrontConf Munich 2017)
 
Serverless - minimizing the attack surface
Serverless - minimizing the attack surfaceServerless - minimizing the attack surface
Serverless - minimizing the attack surface
 
Lessons Learnt from Running Thousands of On-demand Spark Applications
Lessons Learnt from Running Thousands of On-demand Spark ApplicationsLessons Learnt from Running Thousands of On-demand Spark Applications
Lessons Learnt from Running Thousands of On-demand Spark Applications
 
How to build observability into a serverless application
How to build observability into a serverless applicationHow to build observability into a serverless application
How to build observability into a serverless application
 
Top conf serverlezz
Top conf   serverlezzTop conf   serverlezz
Top conf serverlezz
 
Let's set the record straight on the term serverless and what it’s not
Let's set the record straight on the term serverless and what it’s notLet's set the record straight on the term serverless and what it’s not
Let's set the record straight on the term serverless and what it’s not
 
Unlocking Agility with the AWS Serverless Application Model (SAM)
Unlocking Agility with the AWS Serverless Application Model (SAM)Unlocking Agility with the AWS Serverless Application Model (SAM)
Unlocking Agility with the AWS Serverless Application Model (SAM)
 
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
 
Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)
 
How to build observability into a serverless application
How to build observability into a serverless applicationHow to build observability into a serverless application
How to build observability into a serverless application
 
Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)
 
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
Event-driven automation, DevOps way ~IoT時代の自動化、そのリアリティとは?~
 
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
 
Operator SDK for K8s using Go
Operator SDK for K8s using GoOperator SDK for K8s using Go
Operator SDK for K8s using Go
 
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCONMicroservices Application Tracing Standards and Simulators - Adrians at OSCON
Microservices Application Tracing Standards and Simulators - Adrians at OSCON
 
Introduction to the Serverless paradigm
Introduction to the Serverless paradigmIntroduction to the Serverless paradigm
Introduction to the Serverless paradigm
 
ENPM808 Independent Study Final Report - amaster 2019
ENPM808 Independent Study Final Report - amaster 2019ENPM808 Independent Study Final Report - amaster 2019
ENPM808 Independent Study Final Report - amaster 2019
 
Serverless in production (O'Reilly Software Architecture)
Serverless in production (O'Reilly Software Architecture)Serverless in production (O'Reilly Software Architecture)
Serverless in production (O'Reilly Software Architecture)
 
Serverless in production, an experience report
Serverless in production, an experience reportServerless in production, an experience report
Serverless in production, an experience report
 
Using Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in TorontoUsing Data Science & Serverless Python to find apartment in Toronto
Using Data Science & Serverless Python to find apartment in Toronto
 

More from Luciano Mammino

Did you know JavaScript has iterators? DublinJS
Did you know JavaScript has iterators? DublinJSDid you know JavaScript has iterators? DublinJS
Did you know JavaScript has iterators? DublinJS
Luciano Mammino
 
What I learned by solving 50 Advent of Code challenges in Rust - RustNation U...
What I learned by solving 50 Advent of Code challenges in Rust - RustNation U...What I learned by solving 50 Advent of Code challenges in Rust - RustNation U...
What I learned by solving 50 Advent of Code challenges in Rust - RustNation U...
Luciano Mammino
 
Building an invite-only microsite with Next.js & Airtable - ReactJS Milano
Building an invite-only microsite with Next.js & Airtable - ReactJS MilanoBuilding an invite-only microsite with Next.js & Airtable - ReactJS Milano
Building an invite-only microsite with Next.js & Airtable - ReactJS Milano
Luciano Mammino
 
From Node.js to Design Patterns - BuildPiper
From Node.js to Design Patterns - BuildPiperFrom Node.js to Design Patterns - BuildPiper
From Node.js to Design Patterns - BuildPiper
Luciano Mammino
 
Let's build a 0-cost invite-only website with Next.js and Airtable!
Let's build a 0-cost invite-only website with Next.js and Airtable!Let's build a 0-cost invite-only website with Next.js and Airtable!
Let's build a 0-cost invite-only website with Next.js and Airtable!
Luciano Mammino
 
Everything I know about S3 pre-signed URLs
Everything I know about S3 pre-signed URLsEverything I know about S3 pre-signed URLs
Everything I know about S3 pre-signed URLs
Luciano Mammino
 
Serverless for High Performance Computing
Serverless for High Performance ComputingServerless for High Performance Computing
Serverless for High Performance Computing
Luciano Mammino
 
Serverless for High Performance Computing
Serverless for High Performance ComputingServerless for High Performance Computing
Serverless for High Performance Computing
Luciano Mammino
 
JavaScript Iteration Protocols - Workshop NodeConf EU 2022
JavaScript Iteration Protocols - Workshop NodeConf EU 2022JavaScript Iteration Protocols - Workshop NodeConf EU 2022
JavaScript Iteration Protocols - Workshop NodeConf EU 2022
Luciano Mammino
 
Building an invite-only microsite with Next.js & Airtable
Building an invite-only microsite with Next.js & AirtableBuilding an invite-only microsite with Next.js & Airtable
Building an invite-only microsite with Next.js & Airtable
Luciano Mammino
 
Let's take the monolith to the cloud 🚀
Let's take the monolith to the cloud 🚀Let's take the monolith to the cloud 🚀
Let's take the monolith to the cloud 🚀
Luciano Mammino
 
A look inside the European Covid Green Certificate - Rust Dublin
A look inside the European Covid Green Certificate - Rust DublinA look inside the European Covid Green Certificate - Rust Dublin
A look inside the European Covid Green Certificate - Rust Dublin
Luciano Mammino
 
Monoliths to the cloud!
Monoliths to the cloud!Monoliths to the cloud!
Monoliths to the cloud!
Luciano Mammino
 
The senior dev
The senior devThe senior dev
The senior dev
Luciano Mammino
 
Node.js: scalability tips - Azure Dev Community Vijayawada
Node.js: scalability tips - Azure Dev Community VijayawadaNode.js: scalability tips - Azure Dev Community Vijayawada
Node.js: scalability tips - Azure Dev Community Vijayawada
Luciano Mammino
 
A look inside the European Covid Green Certificate (Codemotion 2021)
A look inside the European Covid Green Certificate (Codemotion 2021)A look inside the European Covid Green Certificate (Codemotion 2021)
A look inside the European Covid Green Certificate (Codemotion 2021)
Luciano Mammino
 
AWS Observability Made Simple
AWS Observability Made SimpleAWS Observability Made Simple
AWS Observability Made Simple
Luciano Mammino
 
Semplificare l'observability per progetti Serverless
Semplificare l'observability per progetti ServerlessSemplificare l'observability per progetti Serverless
Semplificare l'observability per progetti Serverless
Luciano Mammino
 
Finding a lost song with Node.js and async iterators - NodeConf Remote 2021
Finding a lost song with Node.js and async iterators - NodeConf Remote 2021Finding a lost song with Node.js and async iterators - NodeConf Remote 2021
Finding a lost song with Node.js and async iterators - NodeConf Remote 2021
Luciano Mammino
 
Finding a lost song with Node.js and async iterators - EnterJS 2021
Finding a lost song with Node.js and async iterators - EnterJS 2021Finding a lost song with Node.js and async iterators - EnterJS 2021
Finding a lost song with Node.js and async iterators - EnterJS 2021
Luciano Mammino
 

More from Luciano Mammino (20)

Did you know JavaScript has iterators? DublinJS
Did you know JavaScript has iterators? DublinJSDid you know JavaScript has iterators? DublinJS
Did you know JavaScript has iterators? DublinJS
 
What I learned by solving 50 Advent of Code challenges in Rust - RustNation U...
What I learned by solving 50 Advent of Code challenges in Rust - RustNation U...What I learned by solving 50 Advent of Code challenges in Rust - RustNation U...
What I learned by solving 50 Advent of Code challenges in Rust - RustNation U...
 
Building an invite-only microsite with Next.js & Airtable - ReactJS Milano
Building an invite-only microsite with Next.js & Airtable - ReactJS MilanoBuilding an invite-only microsite with Next.js & Airtable - ReactJS Milano
Building an invite-only microsite with Next.js & Airtable - ReactJS Milano
 
From Node.js to Design Patterns - BuildPiper
From Node.js to Design Patterns - BuildPiperFrom Node.js to Design Patterns - BuildPiper
From Node.js to Design Patterns - BuildPiper
 
Let's build a 0-cost invite-only website with Next.js and Airtable!
Let's build a 0-cost invite-only website with Next.js and Airtable!Let's build a 0-cost invite-only website with Next.js and Airtable!
Let's build a 0-cost invite-only website with Next.js and Airtable!
 
Everything I know about S3 pre-signed URLs
Everything I know about S3 pre-signed URLsEverything I know about S3 pre-signed URLs
Everything I know about S3 pre-signed URLs
 
Serverless for High Performance Computing
Serverless for High Performance ComputingServerless for High Performance Computing
Serverless for High Performance Computing
 
Serverless for High Performance Computing
Serverless for High Performance ComputingServerless for High Performance Computing
Serverless for High Performance Computing
 
JavaScript Iteration Protocols - Workshop NodeConf EU 2022
JavaScript Iteration Protocols - Workshop NodeConf EU 2022JavaScript Iteration Protocols - Workshop NodeConf EU 2022
JavaScript Iteration Protocols - Workshop NodeConf EU 2022
 
Building an invite-only microsite with Next.js & Airtable
Building an invite-only microsite with Next.js & AirtableBuilding an invite-only microsite with Next.js & Airtable
Building an invite-only microsite with Next.js & Airtable
 
Let's take the monolith to the cloud 🚀
Let's take the monolith to the cloud 🚀Let's take the monolith to the cloud 🚀
Let's take the monolith to the cloud 🚀
 
A look inside the European Covid Green Certificate - Rust Dublin
A look inside the European Covid Green Certificate - Rust DublinA look inside the European Covid Green Certificate - Rust Dublin
A look inside the European Covid Green Certificate - Rust Dublin
 
Monoliths to the cloud!
Monoliths to the cloud!Monoliths to the cloud!
Monoliths to the cloud!
 
The senior dev
The senior devThe senior dev
The senior dev
 
Node.js: scalability tips - Azure Dev Community Vijayawada
Node.js: scalability tips - Azure Dev Community VijayawadaNode.js: scalability tips - Azure Dev Community Vijayawada
Node.js: scalability tips - Azure Dev Community Vijayawada
 
A look inside the European Covid Green Certificate (Codemotion 2021)
A look inside the European Covid Green Certificate (Codemotion 2021)A look inside the European Covid Green Certificate (Codemotion 2021)
A look inside the European Covid Green Certificate (Codemotion 2021)
 
AWS Observability Made Simple
AWS Observability Made SimpleAWS Observability Made Simple
AWS Observability Made Simple
 
Semplificare l'observability per progetti Serverless
Semplificare l'observability per progetti ServerlessSemplificare l'observability per progetti Serverless
Semplificare l'observability per progetti Serverless
 
Finding a lost song with Node.js and async iterators - NodeConf Remote 2021
Finding a lost song with Node.js and async iterators - NodeConf Remote 2021Finding a lost song with Node.js and async iterators - NodeConf Remote 2021
Finding a lost song with Node.js and async iterators - NodeConf Remote 2021
 
Finding a lost song with Node.js and async iterators - EnterJS 2021
Finding a lost song with Node.js and async iterators - EnterJS 2021Finding a lost song with Node.js and async iterators - EnterJS 2021
Finding a lost song with Node.js and async iterators - EnterJS 2021
 

Recently uploaded

GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 

Recently uploaded (20)

GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 

The future will be Serverless - JSDay Verona 2018

  • 1. THE FUTURE WILL BETHE FUTURE WILL BE SERVERLESSSERVERLESS Verona, 9 May 2018 Luciano Mammino ( )@loige loige.link/serverless-jsday 1
  • 3. LUCIANO... WHOLUCIANO... WHO Find me online: -  (@loige) -  (lmammino) - -  (loige.co) Twitter GitHub Linkedin Blog Solution Architect at with @mariocasciaro with @andreaman87 with @ Podgeypoos79 3
  • 4. AGENDAAGENDA CHAPTER 1:CHAPTER 1: FROM BARE METAL TO SERVERLESSFROM BARE METAL TO SERVERLESS CHAPTER 2:CHAPTER 2: SERVERLESS, WTF?!SERVERLESS, WTF?! CHAPTER 3:CHAPTER 3: UNDERSTANDING SERVERLESSUNDERSTANDING SERVERLESS CHAPTER 4:CHAPTER 4: A SERVERLESS USE CASEA SERVERLESS USE CASE CHAPTER 5:CHAPTER 5: PROS N' CONSPROS N' CONS CHAPTER 6:CHAPTER 6: IT'S TIME TO GET STARTEDIT'S TIME TO GET STARTED 4
  • 5. CHAPTER 1CHAPTER 1 FROMFROM BAREMETALBAREMETAL  TO  TO SERVERLESSSERVERLESS loige.co/from-bare-metal-to-serverless 5
  • 7. 1989-1991 — Sir Tim Berners-Lee invented the World Wide Web 7
  • 9. 1995 — The invention of web hosting 9
  • 10. 1997 — Grid computing: 2 machines are better than 1! Ian Foster 10
  • 11. 1999 — Salesforce introduces the concept of Software as a Service (SaaS) Marc Benioff 11
  • 12. 2001 — VMWare releases ESXi, "server virtualization" becomes a thing 12
  • 13. 2002-2006 — AWS is born (IaaS), people talk about "Cloud computing" 13
  • 14. 2009 — Heroku and the invention of the "Platform as a Service" (PaaS)  James Lindenbaum Adam Wiggins Orion Henry 14
  • 15. 2011 — Envolve/Firebase, real time database as a service (RTDaaS???) James Tamplin and Andrew Lee 15
  • 16. 2012 — Parse.com and the first Backend as a Service (BaaS) Tikhon Bernstam Ilya Sukhar James Yu Kevin Lacker 16
  • 17. 2013 — Docker, "linux containers are better than virtual machines" Solomon Hykes 17
  • 18. 2013-2015 — Kubernetes / Swarm / Nomad / CoreOs (containers at scale) 18
  • 19. 2014 — Launch of AWS Lambda (FaaS) 19
  • 21. "Serverless most often refers to serverless applications. Serverless applications are ones that don't require you to provision or manage any servers. You can focus on your core product and business logic instead of responsibilities like operating system (OS) access control, OS patching, provisioning, right-sizing, scaling, and availability. By building your application on a serverless platform, the platform manages these responsibilities for you."   — Amazon Web Services loige.link/serverless-apps-lambda 21
  • 22. “   The essence of the serverless trend is the absence of the server concept during software development.   — Auth0 loige.link/what-is-serverless 22
  • 24. CHAPTER 3CHAPTER 3 UNDERSTANDING SERVERLESSUNDERSTANDING SERVERLESS 24
  • 26. THE 4 PILLARS OF SERVERLESSTHE 4 PILLARS OF SERVERLESS (TLDR; IT'S NOT ONLY ABOUT SERVERS)(TLDR; IT'S NOT ONLY ABOUT SERVERS) No server management You don't know how many and how they are configured Flexible scaling If you need more resources, they will be allocated for you High availability Redundancy and fault tolerance are built in Never pay for idle Unused resources cost $0 26
  • 27. THE SERVERLESS LAYERSTHE SERVERLESS LAYERS (TLDR; IT'S NOT ONLY "FAAS")(TLDR; IT'S NOT ONLY "FAAS") COMPUTECOMPUTE DATADATA MESSAGING AND STREAMINGMESSAGING AND STREAMING 27 USER MANAGEMENT AND IDENTITYUSER MANAGEMENT AND IDENTITY MONITORING AND DEPLOYMENTMONITORING AND DEPLOYMENT EDGEEDGE
  • 28. STUFF THAT WE CAN BUILDSTUFF THAT WE CAN BUILD  Mobile Backends  APIs & Microservices  Data Processing pipelines ⚡  Webhooks   Bots and integrations ⚙  IoT Backends  Single page web applications 28
  • 29. SOME SERVERLESS APPS I HELPED BUILDSOME SERVERLESS APPS I HELPED BUILD Open source A "semi-automated" weekly newsletter ( ) A middleware framework for AWS Lambda ( )   Enterprise Various solutions for the UK Energy industry: Trading platform, Billing engine, Market data aggregator ( ) Big data pipeline (~1-5TB/day/customer) to make network data searchable ( ) Fullstack bulletin middy.js.org Planet 9 Energy Vectra.ai 29
  • 32. SERVERLESS AND JAVASCRIPTSERVERLESS AND JAVASCRIPT Frontend Serverless Web hosting is static, but you can build SPAs (React, Angular, Vue, etc.) Backend Node.js is supported by every provider ⚡ Fast startup (as opposed to Java) Use all the modules on NPM Support other languages/dialects (TypeScript, ClojureScript, ESNext...) 32
  • 33. exports.myLambda = function ( event, context, callback ) { // get input from event and context // use callback to return output or errors } ANATOMY OF A NODE.JS LAMBDA ON AWSANATOMY OF A NODE.JS LAMBDA ON AWS 33
  • 34. CHAPTER 4CHAPTER 4 A SERVERLESS USE CASEA SERVERLESS USE CASE 34
  • 36. A SERVERLESS IMPLEMENTATION (ON AWS)A SERVERLESS IMPLEMENTATION (ON AWS) Network Metadata FTP Storage Search API (API Gateway) Network metadata search service User or other services Sync Lambda Parse/Load Lambda API Lambda Network Metadata S3 Bucket /metadata elastic search index 36 scheduled event new object API  Request 
  • 37. SYNC LAMBDASYNC LAMBDA { "account": "123456789012", "region": "us-east-1", "detail": {}, "detail-type": "Scheduled Event", "source": "aws.events", "time": "2018-05-09T14:30:21Z", "id": "cdc73f9d-aea9-1234-9d5a-835b769c0d9c", "resources": [ "arn:aws:events:us-east-1:123456789012:rule/my-schedule" ] } Cloudwatch scheduled event 37
  • 38. exports.syncLambda = ( event, context, callback ) => { // 1. connect to the FTP server // 2. get list of files from FTP // 3. get list of files from S3 // 4. make a diff to find new files in FTP // 5. read the new files and save them to S3 // 6. invoke the callback to stop lambda } SYNC LAMBDASYNC LAMBDA 38
  • 39. LOAD LAMBDALOAD LAMBDA { "Records": [ { "eventTime": "2018-05-09T14:30:21Z", "s3": { "object": { "eTag": "0123456789abcdef0123456789abcdef", "sequencer": "0A1B2C3D4E5F678901", "key": "2018-05-09-metadata.csv.gz", "size": 1024 }, "bucket": { "arn": "arn:aws:s3:::metadata-sync-files", "name": "metadata-sync-files", } }, "awsRegion": "us-east-1", "eventName": "ObjectCreated:Put", "eventSource": "aws:s3" } ] } S3 new object event new object 39
  • 40. exports.loadLambda = ( event, context, callback ) => { // 1. get the new file details from the `event` // 2. read the file and deserialize the records // 3. send the records to elastic search using // the bulk API // 4. invoke the callback to stop lambda } LOAD LAMBDALOAD LAMBDA 40
  • 41. API LAMBDAAPI LAMBDA { "body": "", "resource": "/metadata/search", "requestContext": { "resourceId": "123456", "apiId": "1234567890", "resourcePath": "/metadata/search", "httpMethod": "GET", "requestId": "c6af9ac6-7b61-11e6-9a41-93e8deadbeef", "stage": "prod" }, "queryStringParameters": { "q": "srcIp:127.0.0.1 AND host:google.com" }, "headers": { "User-Agent": "Custom User Agent String", }, "httpMethod": "GET", "path": "/metadata/search" } API Gateway proxy event API  Request  41
  • 42. exports.apiLambda = ( event, context, callback ) => { // 1. read the HTTP details (query) from // the `event` // 2. issue the query to ElasticSearch to the // given index // 3. reformat the results into an API gateway // response // 4. invoke the callback passing the response } API LAMBDAAPI LAMBDA 42
  • 43. ORCHESTRATION / CONFIGURATIONORCHESTRATION / CONFIGURATION WHO DEFINES THE EVENTS AND WHERE DO WE STORE THE CONFIG?WHO DEFINES THE EVENTS AND WHERE DO WE STORE THE CONFIG? 43
  • 44. ORCHESTRATION / CONFIGURATIONORCHESTRATION / CONFIGURATION MANY OPTIONSMANY OPTIONS Manually a.k.a. "clicky-clicky" from the Web UI Declarative code-based approaches: orAWS Cloudformation SAM Serverless framework Terraform 44
  • 45. service: metadataSearch provider: name: aws runtime: nodejs8.10 functions: sync: handler: index.syncLambda environment: FTP_HOST: "28.0.1.22:23" FTP_USERNAME: admin FTP_PASSWORD: unicorns S3_BUCKET: metadata-sync-files events: - schedule: rate(2 hours) load: handler: index.loadLambda environment: ES_INDEX: metadata events: - s3: bucket: metadata-sync-files event: "s3:ObjectCreated:*" api: handler: index.apiLambda environment: ES_INDEX: metadata events: - http: GET metadata/search SERVERLESS FRAMEWORK EXAMPLESERVERLESS FRAMEWORK EXAMPLEserverless.yml sls deploy Reads the serverless.yml and parses the resources Creates a zip file containing the source code Creates a Cloudformation stack with all the resources listed in serverless.yml Deploys the stack (including Lambda code) $ 45
  • 46. (MANY) THINGS I DIDN'T HAVE TO WORRY ABOUT...(MANY) THINGS I DIDN'T HAVE TO WORRY ABOUT... What type of virtual machine do I need? What operating system? How to keep OS/System updated? How much disk space do I need? How do I handle/retry failures? How do I collect and rotate logs? What about metrics? What machine do I need to run the database? How do I backup the database? How do I scale the database? Which web server should I use and how to configure it? Throttling? Managing API Keys? API caching? 46
  • 47. CHAPTER 5CHAPTER 5 PROS N' CONSPROS N' CONS 47
  • 48. FOCUS ON DELIVERING BUSINESS VALUE / FAST TIMEFOCUS ON DELIVERING BUSINESS VALUE / FAST TIME TO MARKETTO MARKET 48
  • 49. LESS "TECH-FREEDOM™" /LESS "TECH-FREEDOM™" / TIGHT VENDOR LOCK-IN!TIGHT VENDOR LOCK-IN! 49
  • 50. OPTIMAL RESOURCE ALLOCATIONOPTIMAL RESOURCE ALLOCATION 50
  • 51. NOT-MAGIC™!NOT-MAGIC™! YOU STILL HAVE TO WRITE CONFIGURATIONYOU STILL HAVE TO WRITE CONFIGURATION 51
  • 56. PAY PER USAGEPAY PER USAGE (don't pay for idle!) 56
  • 57. LOCAL DEVELOPMENT,LOCAL DEVELOPMENT, TESTING, DEBUGGINGTESTING, DEBUGGING 57
  • 59. OLDER TECHNOLOGIESOLDER TECHNOLOGIES MIGHT NOT INTEGRATE WELLMIGHT NOT INTEGRATE WELL 59
  • 60. CHAPTER 6CHAPTER 6 IT'S TIME TO GET STARTEDIT'S TIME TO GET STARTED 60
  • 61. WHO IS ALREADY ADOPTING SERVERLESSWHO IS ALREADY ADOPTING SERVERLESS 61
  • 62. PICK A FAAS AND START TO HAVE FUN!PICK A FAAS AND START TO HAVE FUN! IBM Cloud Functions AWS Lambda Azure Functions Google Cloud Functions Auth0 Webtask Iron.io FaaS Spotinst Functions Apache OpenWhisk Fission stdlib service Functions 62 Fn Kubeless CLOUD BASEDCLOUD BASED SELF-HOSTED / OPEN SOURCESELF-HOSTED / OPEN SOURCE Feffe LeverOS Open FaaS
  • 63. WHY IS SERVERLESS THE FUTURE?WHY IS SERVERLESS THE FUTURE? MY 2 FAVOURITE REASONS:MY 2 FAVOURITE REASONS: Opportunity to deliver value to the customer quickly Pay only for the used resources 63
  • 64. TOMORROW I'LL MIGRATE ALLTOMORROW I'LL MIGRATE ALL MY APPS TO SERVERLESSMY APPS TO SERVERLESS APPROACH THISAPPROACH THIS WITH CARE...WITH CARE... 64
  • 65. THANKS!THANKS! QUESTIONS?QUESTIONS? Now or later to :)@loige loige.link/serverless-jsday If your company wants to get started with serverless on AWS, be sure to check out serverlesslab.com 65
  • 66. CREDITSCREDITS High Res Emojis by emojiisland.com World Wide Web Foundation, history of the web Web hosting on Wikipedia The history of web hosting: how things have changed since Tibus started in 1996 Grid computing on Wikipedia Globus toolkit on Wikipedia Globus Alliance on Wikipedia Globus: A Metacomputing Infrastructure Toolkit (slides) The Anatomy of the Grid: Enabling Scalable Virtual Organizations (paper) Computer Weekly, the history of Cloud Computing Brief history of Salesforce.com With long history of virtualization behind it, IBM looks to the future About Amazon Web Services (official) Fullstack python: What is Serverless Parse (platform) on Wikipedia Firebase on Wikipedia Kubernetes on Wikipedia CoreOS on Wikipedia AWS Lambda on Wikipedia Serverless Computing on Wikipedia "AWS Serverless Applications Lens" white paper (pdf) "Serverless Architectures with AWS Lambda" white paper (pdf) AWS Lambda VS the World Serverless: Looking Back to See Forward Awesome Serverless (GitHub repository) Discussion about the history of Serverless on Lobste.rs a HUGE thanks to: @vladholubiev @mariocasciaro @katavic_d @Podgeypoos79 PLEASE GIVE FEEDBACK loige.link/vote-jsday 66