SlideShare une entreprise Scribd logo
1  sur  66
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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 platformNicola 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 betaGiragadurai 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 2019Matt 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 applicationsYan 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 CloudEberhard Wolff
 
Microservices with Spring and Cloud Foundry
Microservices with Spring and Cloud FoundryMicroservices with Spring and Cloud Foundry
Microservices with Spring and Cloud FoundryAlain 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 CloudMarcelo Serpa
 
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 BootToshiaki 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 TalkRed 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 2017Codemotion
 
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
 

Tendances (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?
 

Similaire à 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 surfaceAvi 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 ApplicationsItai 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 applicationYan Cui
 
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 notJeshan 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 applicationYan 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 PreviewChip Childers
 
Operator SDK for K8s using Go
Operator SDK for K8s using GoOperator SDK for K8s using Go
Operator SDK for K8s using GoCloudOps2005
 
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 OSCONAdrian Cockcroft
 
Introduction to the Serverless paradigm
Introduction to the Serverless paradigmIntroduction to the Serverless paradigm
Introduction to the Serverless paradigmAlex 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 2019Alexander 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 reportYan 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 TorontoDaniel Zivkovic
 

Similaire à 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
 

Plus de 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? DublinJSLuciano 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 MilanoLuciano 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 - BuildPiperLuciano 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 URLsLuciano Mammino
 
Serverless for High Performance Computing
Serverless for High Performance ComputingServerless for High Performance Computing
Serverless for High Performance ComputingLuciano Mammino
 
Serverless for High Performance Computing
Serverless for High Performance ComputingServerless for High Performance Computing
Serverless for High Performance ComputingLuciano 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 2022Luciano 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 & AirtableLuciano 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 DublinLuciano 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 VijayawadaLuciano 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 SimpleLuciano Mammino
 
Semplificare l'observability per progetti Serverless
Semplificare l'observability per progetti ServerlessSemplificare l'observability per progetti Serverless
Semplificare l'observability per progetti ServerlessLuciano 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 2021Luciano 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 2021Luciano Mammino
 

Plus de 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
 

Dernier

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 

Dernier (20)

#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 

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