SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
Lecole Cole @lecole
Steffany Boldrini @steffbold
HOWTO BUILD A BIG DATA
APPLICATION
We start off by building 3-tier applications
• Web Server
• Application Server
• Database
HOWTO BUILD A BIG DATA
APPLICATION
We break down the parts to enable scaling
• Remove state from Application server
• Shard Database
• Introduce caching
3TIER ARCHITECTURE V1
Data Collection Instances
client
mobile client
Data Collection
Data Collection Instances
Data Collection Instances
Data Analysis
Elastic Load
Balancing
router
Amazon

Route 53
Internet
Gateway
Internet
Gateway
Application Server
MySQL DB instances
Application Instances
Application Instances
Application Instances
Business Users
HOWTO BUILD A BIG DATA
APPLICATION
To deal with data volume we move to NoSQL Database
• Columnar database
• Fast reads, No Joins
3TIER ARCHITECTURE V1
Data Collection Instances
client
mobile client
Data Collection
Data Collection Instances
Data Collection Instances
Data Analysis
Elastic Load
Balancing
router
Amazon

Route 53
Internet
Gateway
Internet
Gateway
Application Server
MySQL DB instances
Application Instances
Application Instances
Application Instances
Business Users
3TIER ARCHITECTURE V2
Data Collection Instances
client
mobile client
Data Collection
Data Collection Instances
Data Collection Instances
Elastic Load
Balancing
router
Amazon

Route 53
Internet
Gateway
Internet
Gateway
Application Server
Application Instances
Amazon

DynamoDB
Cache Node
Data Analysis
Business Users
Application Instances
Application Instances
HOWTO BUILD A BIG DATA
APPLICATION
But we still need SQL of some parts of our application
• We add Redshift data warehouse
• Columnar database
• Fast reads
• SQL engine
• Petabyte Scale data warehouse
3TIER ARCHITECTURE V2
Data Collection Instances
client
mobile client
Data Collection
Data Collection Instances
Data Collection Instances
Elastic Load
Balancing
router
Amazon

Route 53
Internet
Gateway
Internet
Gateway
Application Server
Application Instances
Amazon

DynamoDB
Cache Node
Amazon 

Redshift
Data Analysis
Business Users
Application Instances
Application Instances
HOWTO BUILD A BIG DATA
APPLICATION
Let push a little more into removing as many “servers” as
possible.
• How can we remove the Data Collection servers
• How can we remove Application Servers
• How can we improve thought put
3TIER ARCHITECTURE V2
Data Collection Instances
client
mobile client
Data Collection
Data Collection Instances
Data Collection Instances
Elastic Load
Balancing
router
Amazon

Route 53
Internet
Gateway
Internet
Gateway
Application Server
Application Instances
Amazon

DynamoDB
Cache Node
Amazon 

Redshift
Data Analysis
Business Users
Application Instances
Application Instances
3TIER SERVERLESS
client
mobile client
Eventful Data Collection
Amazon

DynamoDB
Cache Node
Amazon 

Redshift
Application Instances
Application Server
Elastic Load
Balancing
router
Amazon

Route 53
Internet
Gateway
Internet
Gateway
AWS
Lambda
Amazon API
Gateway
Amazon Machine
Learning
Data Analysis
Business Users
Application Instances
Application Instances
HOWTO BUILD A BIG DATA
APPLICATION
Let push a little more into removing as many “servers” as
possible.
• How can we remove the Data Collection servers
• How can we remove Application Servers
• How can we improve thought put
3TIER SERVERLESS
client
mobile client
Eventful Data Collection
Amazon

DynamoDB
Cache Node
Amazon 

Redshift
Application Instances
Application Server
Elastic Load
Balancing
router
Amazon

Route 53
Internet
Gateway
Internet
Gateway
AWS
Lambda
Amazon API
Gateway
Amazon Machine
Learning
Data Analysis
Business Users
Application Instances
Application Instances
HOWTO BUILD A BIG DATA
APPLICATION
Removing your application servers is not so easy.
• You run your application server as a monolith
• You have a proven build/deployment process
• You understand how to debug your application
locally
3TIER SERVERLESS
client
mobile client
Eventful Data Collection
Amazon

DynamoDB
Cache Node
Amazon 

Redshift
Application Instances
Application Server
Elastic Load
Balancing
router
Amazon

Route 53
Internet
Gateway
Internet
Gateway
AWS
Lambda
Amazon API
Gateway
Amazon Machine
Learning
Data Analysis
Business Users
Application Instances
Application Instances
MICRO SERVICES
Some of you may have seen the Netflix’s Micro-
services diagram
MICRO SERVICES
• It’s not as scary as you think
• Most applications are small (Compared to Netflix)
• There are many frameworks to manage your
application
• Serverless (Multi Cloud, Multi language)
• AWS SAM (AWS specific, Multi language)
MICRO SERVICES
This architecture requires different tooling and mindset
• More difficult to run offline
• More difficult to debug
• More difficult to Monitor
• Many more places where it can and will break
MICRO SERVICES
With all these problem why would I want to more to
Micro Services.
• Many different presentations on why
• Microservices at Netflix scale (Great video)
3TIER SERVERLESS
client
mobile client
Eventful Data Collection
Amazon

DynamoDB
Cache Node
Amazon 

Redshift
Application Instances
Application Server
Elastic Load
Balancing
router
Amazon

Route 53
Internet
Gateway
Internet
Gateway
AWS
Lambda
Amazon API
Gateway
Amazon Machine
Learning
Data Analysis
Business Users
Application Instances
Application Instances
SERVERLESS
client
mobile client
Internet
Gateway
AWS
Lambda
Amazon API
Gateway
Amazon
Kinesis
Amazon
Elastic Search
Service
Amazon
Kinesis
Analytics
React Static
Application
Data Analysis
Business Users
Amazon

DynamoDB
Cache Node
Amazon 

Redshift
Amazon Machine
Learning
AWS
Lambda
Amazon API
Gateway
AWS
Lambda
AWS
Lambda
MOVINGYOUR APPLICATION
TO SERVERLESS
What are the steps we took to move our monolithic
Django/Java/NodeJS app to Serverless.
• Separate presentation logic from business logic
• Understand time requirements for each function
• Understand the input and output payload for each
function
MOVINGYOUR APPLICATION
TO SERVERLESS
What technologies will you use.
• Serverless framework
• Similar to AWS SAM
• Multi Language (Python, Go, C#, Javascript, Java)
• Multi Platform (AWS, GCP, Microsoft, IBM)
MOVINGYOUR APPLICATION
TO SERVERLESS
Understanding the limitations and constraints.
• AWS Lambda
• 5 minute execution time
• 50 mb function bundles
• API Gateway
• 30 Second time out
• 10 MB payload limit
MOVINGYOUR APPLICATION
TO SERVERLESS
Breaking down the frontend of our monolith application.
• Separate view logic and business logic
• Create libraries out of business logic to simplify
sharing
• View logic and template gets translated to
ReactJS components
• API Gateway endpoints are created for each
view
MOVINGYOUR APPLICATION
TO SERVERLESS
Wait how do we manage 30-50 endpoints.
• Thats where Serverless framework comes into
play
• Define each endpoint usingYAML
• Define access each Lambda function to API
Gateway connection
• Define access to other resources needed.
MOVINGYOUR APPLICATION
TO SERVERLESS
But my functions takes longer then 5 minutes to
execute.
• Well there is still a problem.
• API Gateway has a 30 second time out.
• So your functions have to execute within 30
seconds.
• That will not work for my application. (My
application too)
MOVINGYOUR APPLICATION
TO SERVERLESS
How to get passed the 30 second time out from API Gateway.
• Create ticketing system.
• ReactJS component requests data from the backend,
and the backend returned aTicket ID.
• ReactJS application Polls for results to the backend
every (x) seconds.
• Ticketing systems checks status and returns to the
frontend the job has completed and the data is ready.
• ReactJS application requests data for itsTicket ID.
MOVINGYOUR APPLICATION
TO SERVERLESS
How do I do all of that with ReactJS.
• We wont go in-depth with ReactJS (Thats a whole talk by
itself).
• With ReactJS we use Redux for data flow coordination.
• And Redux Saga for side effects (Ajax calls to the server).
• Redux Saga allows you to create a kind of demon
process for your data fetching from the backend.
• We create a long demon sequence to poll and fetch
data after the processing is complete.
MOVINGYOUR APPLICATION
TO SERVERLESS
Wait I thought you need NodeJS to run ReactJS
• ReactJS is just Javascript and can be ran from a
CDN.
• You can compile your ReactJS application into a
Javascript bundle thats loaded from a Static HTML
page.
• Once RectJS is loaded it runs from the users
browser.
MOVINGYOUR APPLICATION
TO SERVERLESS
What about this ticketing system.
• This is another place Lambda comes in handy.
• You can asynchronous launch a lambda function
per request.
• If you need a complex workflow, you can use AWS
Step functions to synchronize your lambda
functions.
MOVINGYOUR APPLICATION
TO SERVERLESS
Put all that together you get something pretty
interesting.
• No longer paying for idle time.
• Better react to spikes in your system.
• Ability to scale dynamically.
• Ability to start off small and grow.
3TIER SERVERLESS
client
mobile client
Eventful Data Collection
Amazon

DynamoDB
Cache Node
Amazon 

Redshift
Application Instances
Application Server
Elastic Load
Balancing
router
Amazon

Route 53
Internet
Gateway
Internet
Gateway
AWS
Lambda
Amazon API
Gateway
Amazon Machine
Learning
Data Analysis
Business Users
Application Instances
Application Instances
SERVERLESS
client
mobile client
Internet
Gateway
AWS
Lambda
Amazon API
Gateway
Amazon
Kinesis
Amazon
Elastic Search
Service
Amazon
Kinesis
Analytics
React Static
Application
Data Analysis
Business Users
Amazon

DynamoDB
Cache Node
Amazon 

Redshift
Amazon Machine
Learning
AWS
Lambda
Amazon API
Gateway
AWS
Lambda
AWS
Lambda
MOVINGYOUR APPLICATION
TO SERVERLESS
Its not all good.
• Need for increase monitoring.
• Need for increase Alerting.
• Need for better logging.
• Need for better error handling.
QUESTIONS

Más contenido relacionado

La actualidad más candente

Deep Dive on AWS Lambda - January 2017 AWS Online Tech Talks
Deep Dive on AWS Lambda - January 2017 AWS Online Tech TalksDeep Dive on AWS Lambda - January 2017 AWS Online Tech Talks
Deep Dive on AWS Lambda - January 2017 AWS Online Tech TalksAmazon Web Services
 
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar Series
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar SeriesDeep Dive on Serverless Web Applications - AWS May 2016 Webinar Series
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar SeriesAmazon Web Services
 
AWS re:Invent 2016: Real-time Data Processing Using AWS Lambda (SVR301)
AWS re:Invent 2016: Real-time Data Processing Using AWS Lambda (SVR301)AWS re:Invent 2016: Real-time Data Processing Using AWS Lambda (SVR301)
AWS re:Invent 2016: Real-time Data Processing Using AWS Lambda (SVR301)Amazon Web Services
 
SMC302 Building Serverless Web Applications
SMC302 Building Serverless Web ApplicationsSMC302 Building Serverless Web Applications
SMC302 Building Serverless Web ApplicationsAmazon Web Services
 
AWS Lambda: Event-driven Code for Devices and the Cloud
AWS Lambda: Event-driven Code for Devices and the CloudAWS Lambda: Event-driven Code for Devices and the Cloud
AWS Lambda: Event-driven Code for Devices and the CloudAmazon Web Services
 
Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECS Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECS Amazon Web Services
 
Announcing Lambda @ the Edge - December 2016 Monthly Webinar Series
Announcing Lambda @ the Edge - December 2016 Monthly Webinar SeriesAnnouncing Lambda @ the Edge - December 2016 Monthly Webinar Series
Announcing Lambda @ the Edge - December 2016 Monthly Webinar SeriesAmazon Web Services
 
Serverless presentation
Serverless presentationServerless presentation
Serverless presentationjasonsich
 
AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...
AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...
AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...Amazon Web Services
 
(BDT307) Zero Infrastructure, Real-Time Data Collection, and Analytics
(BDT307) Zero Infrastructure, Real-Time Data Collection, and Analytics(BDT307) Zero Infrastructure, Real-Time Data Collection, and Analytics
(BDT307) Zero Infrastructure, Real-Time Data Collection, and AnalyticsAmazon Web Services
 
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...Amazon Web Services
 
Future of Serverless
Future of ServerlessFuture of Serverless
Future of ServerlessYoav Avrahami
 
Helping SEPTA with the Pope’s Visit to Philadelphia | AWS Public Sector Summi...
Helping SEPTA with the Pope’s Visit to Philadelphia | AWS Public Sector Summi...Helping SEPTA with the Pope’s Visit to Philadelphia | AWS Public Sector Summi...
Helping SEPTA with the Pope’s Visit to Philadelphia | AWS Public Sector Summi...Amazon Web Services
 
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...Amazon Web Services
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
Real-Time Processing Using AWS Lambda
Real-Time Processing Using AWS LambdaReal-Time Processing Using AWS Lambda
Real-Time Processing Using AWS LambdaAmazon Web Services
 
AWS Lambda: Event-driven Code in the Cloud
AWS Lambda: Event-driven Code in the CloudAWS Lambda: Event-driven Code in the Cloud
AWS Lambda: Event-driven Code in the CloudAmazon Web Services
 
State of serverless
State of serverlessState of serverless
State of serverlessAnurag Saran
 
Migrating your .NET Applications to the AWS Serverless Platform
Migrating your .NET Applications to the AWS Serverless PlatformMigrating your .NET Applications to the AWS Serverless Platform
Migrating your .NET Applications to the AWS Serverless PlatformAmazon Web Services
 

La actualidad más candente (20)

Deep Dive on AWS Lambda - January 2017 AWS Online Tech Talks
Deep Dive on AWS Lambda - January 2017 AWS Online Tech TalksDeep Dive on AWS Lambda - January 2017 AWS Online Tech Talks
Deep Dive on AWS Lambda - January 2017 AWS Online Tech Talks
 
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar Series
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar SeriesDeep Dive on Serverless Web Applications - AWS May 2016 Webinar Series
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar Series
 
AWS re:Invent 2016: Real-time Data Processing Using AWS Lambda (SVR301)
AWS re:Invent 2016: Real-time Data Processing Using AWS Lambda (SVR301)AWS re:Invent 2016: Real-time Data Processing Using AWS Lambda (SVR301)
AWS re:Invent 2016: Real-time Data Processing Using AWS Lambda (SVR301)
 
SMC302 Building Serverless Web Applications
SMC302 Building Serverless Web ApplicationsSMC302 Building Serverless Web Applications
SMC302 Building Serverless Web Applications
 
AWS Lambda: Event-driven Code for Devices and the Cloud
AWS Lambda: Event-driven Code for Devices and the CloudAWS Lambda: Event-driven Code for Devices and the Cloud
AWS Lambda: Event-driven Code for Devices and the Cloud
 
Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECS Continuous Delivery to Amazon ECS
Continuous Delivery to Amazon ECS
 
Announcing Lambda @ the Edge - December 2016 Monthly Webinar Series
Announcing Lambda @ the Edge - December 2016 Monthly Webinar SeriesAnnouncing Lambda @ the Edge - December 2016 Monthly Webinar Series
Announcing Lambda @ the Edge - December 2016 Monthly Webinar Series
 
Serverless presentation
Serverless presentationServerless presentation
Serverless presentation
 
AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...
AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...
AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...
 
(BDT307) Zero Infrastructure, Real-Time Data Collection, and Analytics
(BDT307) Zero Infrastructure, Real-Time Data Collection, and Analytics(BDT307) Zero Infrastructure, Real-Time Data Collection, and Analytics
(BDT307) Zero Infrastructure, Real-Time Data Collection, and Analytics
 
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
AWS re:Invent 2016: Application Lifecycle Management in a Serverless World (S...
 
Future of Serverless
Future of ServerlessFuture of Serverless
Future of Serverless
 
Helping SEPTA with the Pope’s Visit to Philadelphia | AWS Public Sector Summi...
Helping SEPTA with the Pope’s Visit to Philadelphia | AWS Public Sector Summi...Helping SEPTA with the Pope’s Visit to Philadelphia | AWS Public Sector Summi...
Helping SEPTA with the Pope’s Visit to Philadelphia | AWS Public Sector Summi...
 
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
AWS re:Invent 2016: Serverless Architectural Patterns and Best Practices (ARC...
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Real-Time Processing Using AWS Lambda
Real-Time Processing Using AWS LambdaReal-Time Processing Using AWS Lambda
Real-Time Processing Using AWS Lambda
 
AWS Lambda: Event-driven Code in the Cloud
AWS Lambda: Event-driven Code in the CloudAWS Lambda: Event-driven Code in the Cloud
AWS Lambda: Event-driven Code in the Cloud
 
State of serverless
State of serverlessState of serverless
State of serverless
 
Migrating your .NET Applications to the AWS Serverless Platform
Migrating your .NET Applications to the AWS Serverless PlatformMigrating your .NET Applications to the AWS Serverless Platform
Migrating your .NET Applications to the AWS Serverless Platform
 
What's New with AWS Lambda
What's New with AWS LambdaWhat's New with AWS Lambda
What's New with AWS Lambda
 

Similar a How to Build a Big Data Application: Serverless Edition

The State of Serverless Computing | AWS Public Sector Summit 2017
The State of Serverless Computing | AWS Public Sector Summit 2017The State of Serverless Computing | AWS Public Sector Summit 2017
The State of Serverless Computing | AWS Public Sector Summit 2017Amazon Web Services
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingAmazon Web Services
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingKristana Kane
 
Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T...
 Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T... Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T...
Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T...Amazon Web Services
 
2016-06 - Design your api management strategy - AWS - Microservices on AWS
2016-06 - Design your api management strategy - AWS - Microservices on AWS2016-06 - Design your api management strategy - AWS - Microservices on AWS
2016-06 - Design your api management strategy - AWS - Microservices on AWSSmartWave
 
Introducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds MeetupIntroducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds MeetupBoaz Ziniman
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinAmazon Web Services
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinIan Massingham
 
Why Scale Matters and How the Cloud is Really Different (at scale)
Why Scale Matters and How the Cloud is Really Different (at scale)Why Scale Matters and How the Cloud is Really Different (at scale)
Why Scale Matters and How the Cloud is Really Different (at scale)Amazon Web Services
 
Build a Serverless Web Application in One Day
Build a Serverless Web Application in One DayBuild a Serverless Web Application in One Day
Build a Serverless Web Application in One DayAmazon Web Services
 
SMC301 The State of Serverless Computing
SMC301 The State of Serverless ComputingSMC301 The State of Serverless Computing
SMC301 The State of Serverless ComputingAmazon Web Services
 
Raleigh DevDay 2017: Build a serverless web application in one day workshop
Raleigh DevDay 2017: Build a serverless web application in one day workshopRaleigh DevDay 2017: Build a serverless web application in one day workshop
Raleigh DevDay 2017: Build a serverless web application in one day workshopAmazon Web Services
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
Build a Serverless Web Application in One Day Workshop - DevDay Los Angeles 2017
Build a Serverless Web Application in One Day Workshop - DevDay Los Angeles 2017Build a Serverless Web Application in One Day Workshop - DevDay Los Angeles 2017
Build a Serverless Web Application in One Day Workshop - DevDay Los Angeles 2017Amazon Web Services
 
WKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn
WKS407 Wild Rydes Takes Off – The Dawn of a New UnicornWKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn
WKS407 Wild Rydes Takes Off – The Dawn of a New UnicornAmazon Web Services
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudAmazon Web Services
 
Workshop : Wild Rydes Takes Off - The Dawn of a New Unicorn
Workshop : Wild Rydes Takes Off - The Dawn of a New UnicornWorkshop : Wild Rydes Takes Off - The Dawn of a New Unicorn
Workshop : Wild Rydes Takes Off - The Dawn of a New UnicornAmazon Web Services
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudAmazon Web Services
 
Workshop: Serverless DevOps to the Rescue
Workshop: Serverless DevOps to the RescueWorkshop: Serverless DevOps to the Rescue
Workshop: Serverless DevOps to the RescueAmazon Web Services
 

Similar a How to Build a Big Data Application: Serverless Edition (20)

The State of Serverless Computing | AWS Public Sector Summit 2017
The State of Serverless Computing | AWS Public Sector Summit 2017The State of Serverless Computing | AWS Public Sector Summit 2017
The State of Serverless Computing | AWS Public Sector Summit 2017
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless Computing
 
Getting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless ComputingGetting Started with AWS Lambda and Serverless Computing
Getting Started with AWS Lambda and Serverless Computing
 
Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T...
 Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T... Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T...
Getting Started with AWS Lambda and the Serverless Cloud - AWS Summit Cape T...
 
2016-06 - Design your api management strategy - AWS - Microservices on AWS
2016-06 - Design your api management strategy - AWS - Microservices on AWS2016-06 - Design your api management strategy - AWS - Microservices on AWS
2016-06 - Design your api management strategy - AWS - Microservices on AWS
 
Introducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds MeetupIntroducing to serverless computing and AWS lambda - Israel Clouds Meetup
Introducing to serverless computing and AWS lambda - Israel Clouds Meetup
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit Dublin
 
Scaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit DublinScaling on AWS for the First 10 Million Users at Websummit Dublin
Scaling on AWS for the First 10 Million Users at Websummit Dublin
 
Why Scale Matters and How the Cloud is Really Different (at scale)
Why Scale Matters and How the Cloud is Really Different (at scale)Why Scale Matters and How the Cloud is Really Different (at scale)
Why Scale Matters and How the Cloud is Really Different (at scale)
 
Build a Serverless Web Application in One Day
Build a Serverless Web Application in One DayBuild a Serverless Web Application in One Day
Build a Serverless Web Application in One Day
 
SMC301 The State of Serverless Computing
SMC301 The State of Serverless ComputingSMC301 The State of Serverless Computing
SMC301 The State of Serverless Computing
 
Raleigh DevDay 2017: Build a serverless web application in one day workshop
Raleigh DevDay 2017: Build a serverless web application in one day workshopRaleigh DevDay 2017: Build a serverless web application in one day workshop
Raleigh DevDay 2017: Build a serverless web application in one day workshop
 
Build an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million UsersBuild an App on AWS for Your First 10 Million Users
Build an App on AWS for Your First 10 Million Users
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Build a Serverless Web Application in One Day Workshop - DevDay Los Angeles 2017
Build a Serverless Web Application in One Day Workshop - DevDay Los Angeles 2017Build a Serverless Web Application in One Day Workshop - DevDay Los Angeles 2017
Build a Serverless Web Application in One Day Workshop - DevDay Los Angeles 2017
 
WKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn
WKS407 Wild Rydes Takes Off – The Dawn of a New UnicornWKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn
WKS407 Wild Rydes Takes Off – The Dawn of a New Unicorn
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
Workshop : Wild Rydes Takes Off - The Dawn of a New Unicorn
Workshop : Wild Rydes Takes Off - The Dawn of a New UnicornWorkshop : Wild Rydes Takes Off - The Dawn of a New Unicorn
Workshop : Wild Rydes Takes Off - The Dawn of a New Unicorn
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
Workshop: Serverless DevOps to the Rescue
Workshop: Serverless DevOps to the RescueWorkshop: Serverless DevOps to the Rescue
Workshop: Serverless DevOps to the Rescue
 

Más de ecobold

Partnerships & Is Now a Great Time to Buy Real Estate?
Partnerships & Is Now a Great Time to Buy Real Estate?Partnerships & Is Now a Great Time to Buy Real Estate?
Partnerships & Is Now a Great Time to Buy Real Estate?ecobold
 
How to Run the Perfect Demo for Founders
How to Run the Perfect Demo for FoundersHow to Run the Perfect Demo for Founders
How to Run the Perfect Demo for Foundersecobold
 
Is Open Source a Good Strategy for your Startup?
Is Open Source a Good Strategy for your Startup?Is Open Source a Good Strategy for your Startup?
Is Open Source a Good Strategy for your Startup?ecobold
 
SaaS Metrics for Startups
SaaS Metrics for StartupsSaaS Metrics for Startups
SaaS Metrics for Startupsecobold
 
How to Build a Real Time Analytics Enterprise with Open Source
How to Build a Real Time Analytics Enterprise with Open Source How to Build a Real Time Analytics Enterprise with Open Source
How to Build a Real Time Analytics Enterprise with Open Source ecobold
 
Learn CSS From Scratch
Learn CSS From ScratchLearn CSS From Scratch
Learn CSS From Scratchecobold
 
Startup 102
Startup 102Startup 102
Startup 102ecobold
 
Ecobold entrepreneurs roundtable ert
Ecobold entrepreneurs roundtable ertEcobold entrepreneurs roundtable ert
Ecobold entrepreneurs roundtable ertecobold
 
Startup 101
Startup 101Startup 101
Startup 101ecobold
 

Más de ecobold (9)

Partnerships & Is Now a Great Time to Buy Real Estate?
Partnerships & Is Now a Great Time to Buy Real Estate?Partnerships & Is Now a Great Time to Buy Real Estate?
Partnerships & Is Now a Great Time to Buy Real Estate?
 
How to Run the Perfect Demo for Founders
How to Run the Perfect Demo for FoundersHow to Run the Perfect Demo for Founders
How to Run the Perfect Demo for Founders
 
Is Open Source a Good Strategy for your Startup?
Is Open Source a Good Strategy for your Startup?Is Open Source a Good Strategy for your Startup?
Is Open Source a Good Strategy for your Startup?
 
SaaS Metrics for Startups
SaaS Metrics for StartupsSaaS Metrics for Startups
SaaS Metrics for Startups
 
How to Build a Real Time Analytics Enterprise with Open Source
How to Build a Real Time Analytics Enterprise with Open Source How to Build a Real Time Analytics Enterprise with Open Source
How to Build a Real Time Analytics Enterprise with Open Source
 
Learn CSS From Scratch
Learn CSS From ScratchLearn CSS From Scratch
Learn CSS From Scratch
 
Startup 102
Startup 102Startup 102
Startup 102
 
Ecobold entrepreneurs roundtable ert
Ecobold entrepreneurs roundtable ertEcobold entrepreneurs roundtable ert
Ecobold entrepreneurs roundtable ert
 
Startup 101
Startup 101Startup 101
Startup 101
 

Último

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
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
 

Último (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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
 

How to Build a Big Data Application: Serverless Edition

  • 1. Lecole Cole @lecole Steffany Boldrini @steffbold
  • 2. HOWTO BUILD A BIG DATA APPLICATION We start off by building 3-tier applications • Web Server • Application Server • Database
  • 3. HOWTO BUILD A BIG DATA APPLICATION We break down the parts to enable scaling • Remove state from Application server • Shard Database • Introduce caching
  • 4. 3TIER ARCHITECTURE V1 Data Collection Instances client mobile client Data Collection Data Collection Instances Data Collection Instances Data Analysis Elastic Load Balancing router Amazon
 Route 53 Internet Gateway Internet Gateway Application Server MySQL DB instances Application Instances Application Instances Application Instances Business Users
  • 5. HOWTO BUILD A BIG DATA APPLICATION To deal with data volume we move to NoSQL Database • Columnar database • Fast reads, No Joins
  • 6. 3TIER ARCHITECTURE V1 Data Collection Instances client mobile client Data Collection Data Collection Instances Data Collection Instances Data Analysis Elastic Load Balancing router Amazon
 Route 53 Internet Gateway Internet Gateway Application Server MySQL DB instances Application Instances Application Instances Application Instances Business Users
  • 7. 3TIER ARCHITECTURE V2 Data Collection Instances client mobile client Data Collection Data Collection Instances Data Collection Instances Elastic Load Balancing router Amazon
 Route 53 Internet Gateway Internet Gateway Application Server Application Instances Amazon
 DynamoDB Cache Node Data Analysis Business Users Application Instances Application Instances
  • 8. HOWTO BUILD A BIG DATA APPLICATION But we still need SQL of some parts of our application • We add Redshift data warehouse • Columnar database • Fast reads • SQL engine • Petabyte Scale data warehouse
  • 9. 3TIER ARCHITECTURE V2 Data Collection Instances client mobile client Data Collection Data Collection Instances Data Collection Instances Elastic Load Balancing router Amazon
 Route 53 Internet Gateway Internet Gateway Application Server Application Instances Amazon
 DynamoDB Cache Node Amazon 
 Redshift Data Analysis Business Users Application Instances Application Instances
  • 10. HOWTO BUILD A BIG DATA APPLICATION Let push a little more into removing as many “servers” as possible. • How can we remove the Data Collection servers • How can we remove Application Servers • How can we improve thought put
  • 11. 3TIER ARCHITECTURE V2 Data Collection Instances client mobile client Data Collection Data Collection Instances Data Collection Instances Elastic Load Balancing router Amazon
 Route 53 Internet Gateway Internet Gateway Application Server Application Instances Amazon
 DynamoDB Cache Node Amazon 
 Redshift Data Analysis Business Users Application Instances Application Instances
  • 12. 3TIER SERVERLESS client mobile client Eventful Data Collection Amazon
 DynamoDB Cache Node Amazon 
 Redshift Application Instances Application Server Elastic Load Balancing router Amazon
 Route 53 Internet Gateway Internet Gateway AWS Lambda Amazon API Gateway Amazon Machine Learning Data Analysis Business Users Application Instances Application Instances
  • 13. HOWTO BUILD A BIG DATA APPLICATION Let push a little more into removing as many “servers” as possible. • How can we remove the Data Collection servers • How can we remove Application Servers • How can we improve thought put
  • 14. 3TIER SERVERLESS client mobile client Eventful Data Collection Amazon
 DynamoDB Cache Node Amazon 
 Redshift Application Instances Application Server Elastic Load Balancing router Amazon
 Route 53 Internet Gateway Internet Gateway AWS Lambda Amazon API Gateway Amazon Machine Learning Data Analysis Business Users Application Instances Application Instances
  • 15. HOWTO BUILD A BIG DATA APPLICATION Removing your application servers is not so easy. • You run your application server as a monolith • You have a proven build/deployment process • You understand how to debug your application locally
  • 16. 3TIER SERVERLESS client mobile client Eventful Data Collection Amazon
 DynamoDB Cache Node Amazon 
 Redshift Application Instances Application Server Elastic Load Balancing router Amazon
 Route 53 Internet Gateway Internet Gateway AWS Lambda Amazon API Gateway Amazon Machine Learning Data Analysis Business Users Application Instances Application Instances
  • 17. MICRO SERVICES Some of you may have seen the Netflix’s Micro- services diagram
  • 18. MICRO SERVICES • It’s not as scary as you think • Most applications are small (Compared to Netflix) • There are many frameworks to manage your application • Serverless (Multi Cloud, Multi language) • AWS SAM (AWS specific, Multi language)
  • 19. MICRO SERVICES This architecture requires different tooling and mindset • More difficult to run offline • More difficult to debug • More difficult to Monitor • Many more places where it can and will break
  • 20. MICRO SERVICES With all these problem why would I want to more to Micro Services. • Many different presentations on why • Microservices at Netflix scale (Great video)
  • 21. 3TIER SERVERLESS client mobile client Eventful Data Collection Amazon
 DynamoDB Cache Node Amazon 
 Redshift Application Instances Application Server Elastic Load Balancing router Amazon
 Route 53 Internet Gateway Internet Gateway AWS Lambda Amazon API Gateway Amazon Machine Learning Data Analysis Business Users Application Instances Application Instances
  • 22. SERVERLESS client mobile client Internet Gateway AWS Lambda Amazon API Gateway Amazon Kinesis Amazon Elastic Search Service Amazon Kinesis Analytics React Static Application Data Analysis Business Users Amazon
 DynamoDB Cache Node Amazon 
 Redshift Amazon Machine Learning AWS Lambda Amazon API Gateway AWS Lambda AWS Lambda
  • 23. MOVINGYOUR APPLICATION TO SERVERLESS What are the steps we took to move our monolithic Django/Java/NodeJS app to Serverless. • Separate presentation logic from business logic • Understand time requirements for each function • Understand the input and output payload for each function
  • 24. MOVINGYOUR APPLICATION TO SERVERLESS What technologies will you use. • Serverless framework • Similar to AWS SAM • Multi Language (Python, Go, C#, Javascript, Java) • Multi Platform (AWS, GCP, Microsoft, IBM)
  • 25. MOVINGYOUR APPLICATION TO SERVERLESS Understanding the limitations and constraints. • AWS Lambda • 5 minute execution time • 50 mb function bundles • API Gateway • 30 Second time out • 10 MB payload limit
  • 26. MOVINGYOUR APPLICATION TO SERVERLESS Breaking down the frontend of our monolith application. • Separate view logic and business logic • Create libraries out of business logic to simplify sharing • View logic and template gets translated to ReactJS components • API Gateway endpoints are created for each view
  • 27. MOVINGYOUR APPLICATION TO SERVERLESS Wait how do we manage 30-50 endpoints. • Thats where Serverless framework comes into play • Define each endpoint usingYAML • Define access each Lambda function to API Gateway connection • Define access to other resources needed.
  • 28. MOVINGYOUR APPLICATION TO SERVERLESS But my functions takes longer then 5 minutes to execute. • Well there is still a problem. • API Gateway has a 30 second time out. • So your functions have to execute within 30 seconds. • That will not work for my application. (My application too)
  • 29. MOVINGYOUR APPLICATION TO SERVERLESS How to get passed the 30 second time out from API Gateway. • Create ticketing system. • ReactJS component requests data from the backend, and the backend returned aTicket ID. • ReactJS application Polls for results to the backend every (x) seconds. • Ticketing systems checks status and returns to the frontend the job has completed and the data is ready. • ReactJS application requests data for itsTicket ID.
  • 30. MOVINGYOUR APPLICATION TO SERVERLESS How do I do all of that with ReactJS. • We wont go in-depth with ReactJS (Thats a whole talk by itself). • With ReactJS we use Redux for data flow coordination. • And Redux Saga for side effects (Ajax calls to the server). • Redux Saga allows you to create a kind of demon process for your data fetching from the backend. • We create a long demon sequence to poll and fetch data after the processing is complete.
  • 31. MOVINGYOUR APPLICATION TO SERVERLESS Wait I thought you need NodeJS to run ReactJS • ReactJS is just Javascript and can be ran from a CDN. • You can compile your ReactJS application into a Javascript bundle thats loaded from a Static HTML page. • Once RectJS is loaded it runs from the users browser.
  • 32. MOVINGYOUR APPLICATION TO SERVERLESS What about this ticketing system. • This is another place Lambda comes in handy. • You can asynchronous launch a lambda function per request. • If you need a complex workflow, you can use AWS Step functions to synchronize your lambda functions.
  • 33. MOVINGYOUR APPLICATION TO SERVERLESS Put all that together you get something pretty interesting. • No longer paying for idle time. • Better react to spikes in your system. • Ability to scale dynamically. • Ability to start off small and grow.
  • 34. 3TIER SERVERLESS client mobile client Eventful Data Collection Amazon
 DynamoDB Cache Node Amazon 
 Redshift Application Instances Application Server Elastic Load Balancing router Amazon
 Route 53 Internet Gateway Internet Gateway AWS Lambda Amazon API Gateway Amazon Machine Learning Data Analysis Business Users Application Instances Application Instances
  • 35. SERVERLESS client mobile client Internet Gateway AWS Lambda Amazon API Gateway Amazon Kinesis Amazon Elastic Search Service Amazon Kinesis Analytics React Static Application Data Analysis Business Users Amazon
 DynamoDB Cache Node Amazon 
 Redshift Amazon Machine Learning AWS Lambda Amazon API Gateway AWS Lambda AWS Lambda
  • 36. MOVINGYOUR APPLICATION TO SERVERLESS Its not all good. • Need for increase monitoring. • Need for increase Alerting. • Need for better logging. • Need for better error handling.