SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante 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
 

Semelhante 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
 

Mais 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
 

Mais 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

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.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.