SlideShare a Scribd company logo
1 of 37
Download to read offline
Microservices
• Chose Framework
• Define Principles
• Develop
• Deploy – CI/CD - ELB - Capacity Planning…
Adopting Serverless Architecture
Adopting Serverless
Culture
Architecture
Guruprasad Holla
Founder, Quiznext
Head of Engineering @Vidyanext
Principle Architect @Harman, @ADITI
15+Years building solutions for ISVs, B2B and B2C
QuizNext- 3x Practice App for CBSE&ICSE
• Gamified learning app
• Supports real time 1:1 challenges, Delivers Quizzes, Live
completions for CBSE/ICSE 6-10
• Backed completely by serverless
• ~100K users
• 10M+ Server calls
QuizNext
Architecture
(AWS)
AWS Cloud
AWS Lambda
Amazon CloudWatch
Cloud Watch
Events
Amazon Cognito
AWS S3
GraphQL
AWS AppSync
Amazon DynamoDB
Amazon Pinpoint
Amazon Simple
Notification Service
Amazon Simple
Queue Service
Amazon Athena
QuizNext
Architecture
(AWS)
AWS Cloud
AWS Lambda
Amazon CloudWatch
Cloud Watch
Events
Amazon Cognito
AWS S3
GraphQL
AWS AppSync
Amazon DynamoDB
Amazon Pinpoint
Amazon Simple
Notification Service
Amazon Simple
Queue Service
Amazon Athena
• Amplify client for GraphQL
• Two API end points
• Content Access
• Quiz Service - user data,
performance, points,
challenges etc
• Subscriptions for live challenges and
leader board updates
• In app notifications
• GraphQL - Offline access to data
AWS AppSync
QuizNext
Architecture
(AWS)
AWS Cloud
AWS Lambda
Amazon CloudWatch
Cloud Watch
Events
Amazon Cognito
AWS S3
GraphQL
AWS AppSync
Amazon DynamoDB
Amazon Pinpoint
Amazon Simple
Notification Service
Amazon Simple
Queue Service
Amazon Athena
• User authentication
• Phone number validation
• OTP Verification(SNS)
Amazon Cognito
QuizNext
Architecture
(AWS)
AWS Cloud
AWS Lambda
Amazon CloudWatch
Cloud Watch
Events
Amazon Cognito
AWS S3
GraphQL
AWS AppSync
Amazon DynamoDB
Amazon Pinpoint
Amazon Simple
Notification Service
Amazon Simple
Queue Service
Amazon Athena
• User data, Challenges data,
recommendations and some content
meta data
• Most of direct CRUD operations are
driven by Appsync – dynamo db
templates
• Some data access is routed through
lambda functions
Amazon DynamoDB
QuizNext
Architecture
(AWS)
AWS Cloud
AWS Lambda
Amazon CloudWatch
Cloud Watch
Events
Amazon Cognito
AWS S3
GraphQL
AWS AppSync
Amazon DynamoDB
Amazon Pinpoint
Amazon Simple
Notification Service
Amazon Simple
Queue Service
Amazon Athena
• Question Content storage
• Question Templates, Live
quiz questions
• Dynamo DB archived
elements
• App Images
AWS S3
QuizNext
Architecture
(AWS)
AWS Cloud
AWS Lambda
Amazon CloudWatch
Cloud Watch
Events
Amazon Cognito
AWS S3
GraphQL
AWS AppSync
Amazon DynamoDB
Amazon Pinpoint
Amazon Simple
Notification Service
Amazon Simple
Queue Service
Amazon Athena
• Triggered from appsync
• Event driven cleanup jobs
• ranking jobs
• test creation jobs etc
• Recommendation generations
• SQS based auto respond jobs
• In memory cache
AWS Lambda
QuizNext
Architecture
(AWS)
AWS Cloud
AWS Lambda
Amazon CloudWatch
Cloud Watch
Events
Amazon Cognito
AWS S3
GraphQL
AWS AppSync
Amazon DynamoDB
Amazon Pinpoint
Amazon Simple
Notification Service
Amazon Simple
Queue Service
Amazon Athena
QuizNext
Architecture
(AWS)
AWS Cloud
AWS Lambda
Amazon CloudWatch
Cloud Watch
Events
Amazon Cognito
AWS S3
GraphQL
AWS AppSync
Amazon DynamoDB
Amazon Pinpoint
Amazon Simple
Notification Service
Amazon Simple
Queue Service
Amazon Athena
QuizNext
Architecture
(AWS)
AWS Cloud
AWS Lambda
Amazon CloudWatch
Cloud Watch
Events
Amazon Cognito
AWS S3
GraphQL
AWS AppSync
Amazon DynamoDB
Amazon Pinpoint
Amazon Simple
Notification Service
Amazon Simple
Queue Service
Amazon Athena
QuizNext
Architecture
(AWS)
AWS Cloud
AWS Lambda
Amazon CloudWatch
Cloud Watch
Events
Amazon Cognito
AWS S3
GraphQL
AWS AppSync
Amazon DynamoDB
Amazon Pinpoint
Amazon Simple
Notification Service
Amazon Simple
Queue Service
Amazon Athena
QuizNext
Architecture
AWS Cloud
AWS Lambda
Cloud Watch
Events
Amazon Cognito
AWS S3
GraphQL
AWS AppSync
Amazon DynamoDB
Amazon Pinpoint
SNS
SQS
Amazon Athena
Amazon EC2
How did we land here?
Webhooks for CRM
• HA Service for sales reversal
• Not too simple, not too complex
• Unpredictable load
• Internal CRM Users
• Stateless
Amazon API Gateway
AWS Lambda
Payment Receiver Webhook
• HA Service
• Used only during end of the month
• High traceability and logging
• Independent DB
• CRM Integration
Amazon API Gateway
AWS Lambda
Amazon DynamoDB
Today at QuizNext
< 100$/Month to
support 20K active
users
AppSync 10M server
calls a month for
20$
0 downtime
Incremental
deployments
No peak time panics No log cleaning, disc
overrun etc
3 environments
automated by cloud
formation
All configurations are backed
on Git
What did we learn?
“Change the way we look at services”
FaaS
Function 1
Function 2
Function 3
Function 4
Function 5
+ BaaS
Think about scale on day 1
• Is your implementation scalable?
• Can code run multi instance?
• Will your code timeout?
• DynamoDB Scan vs Query
• Indexes, Composite keys
• Host affinity?
Think about atomicity
• Triggers are not evil
• Resources as packages
• Explore SQS, S3, Cloudwatch etc
Update Score
Calculate Rank
Update Score
Trigger Ranker
Calculate Rank
Think of micro jobs
• Explore triggers
• Can we delay this?
• Can we clean it up later?
• Aggregation, rollups etc
• Look for timeouts
Update Score
Calculate Rank
MVP at architecture level
• Know your extension options
• Throwing hardware/resource is easy and cheaper
• Cost of redesign is smaller
Resolver
Templates
Think about cost
• Understand how you are billed
• Its complicated - so tag resources
• Use cost explorer and breakdown costing data
• Set min capacity for dev/test environment
Think about UX
• Are you writing critical data?
• When do you need confirmations
• What can be delay executed
Update Score
Calculate Rank
Update Score
Trigger Ranker
Calculate Rank
Be script ready
Everything is programmable
• Migrations are easy
• You can modify resources
• You can modify configs
Do not overengineer
• You can do it later
Explore tooling
Questions?
Thank you
g p r a s a d h o l l a
Guruprasad Holla
#serverless #aws #gamification #edtech

More Related Content

What's hot

NEW LAUNCH! Delivering Powerful Graphics-Intensive Applications from the AWS ...
NEW LAUNCH! Delivering Powerful Graphics-Intensive Applications from the AWS ...NEW LAUNCH! Delivering Powerful Graphics-Intensive Applications from the AWS ...
NEW LAUNCH! Delivering Powerful Graphics-Intensive Applications from the AWS ...Amazon 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
 
Serverless presentation
Serverless presentationServerless presentation
Serverless presentationjasonsich
 
To Serverless And Beyond!
To Serverless And Beyond!To Serverless And Beyond!
To Serverless And Beyond!SheenBrisals
 
Sloppy Little Serverless Stories
Sloppy Little Serverless StoriesSloppy Little Serverless Stories
Sloppy Little Serverless StoriesSheenBrisals
 
Building a WorkFlow using AWS Step Functions with Skycatch
Building a WorkFlow using AWS Step Functions with SkycatchBuilding a WorkFlow using AWS Step Functions with Skycatch
Building a WorkFlow using AWS Step Functions with SkycatchAmazon Web Services
 
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)Amazon Web Services
 
Thinking Asynchronously Full Vesion - Utah UG
Thinking Asynchronously Full Vesion - Utah UGThinking Asynchronously Full Vesion - Utah UG
Thinking Asynchronously Full Vesion - Utah UGEric Johnson
 
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
 
Automate Migration to AWS with Datapipe
Automate Migration to AWS with DatapipeAutomate Migration to AWS with Datapipe
Automate Migration to AWS with DatapipeAmazon Web Services
 
Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS Varun Manik
 
Deep Dive: Continuous Delivery for AI Applications with ECS - May 2017 AWS On...
Deep Dive: Continuous Delivery for AI Applications with ECS - May 2017 AWS On...Deep Dive: Continuous Delivery for AI Applications with ECS - May 2017 AWS On...
Deep Dive: Continuous Delivery for AI Applications with ECS - May 2017 AWS On...Amazon 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
 
State of serverless
State of serverlessState of serverless
State of serverlessAnurag Saran
 
AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )
AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )
AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )Amazon Web Services
 
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: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)Amazon Web Services
 
AWS Lambda Containers - bridging the gap between serverless and containers on...
AWS Lambda Containers - bridging the gap between serverless and containers on...AWS Lambda Containers - bridging the gap between serverless and containers on...
AWS Lambda Containers - bridging the gap between serverless and containers on...Yun Zhi Lin
 

What's hot (20)

NEW LAUNCH! Delivering Powerful Graphics-Intensive Applications from the AWS ...
NEW LAUNCH! Delivering Powerful Graphics-Intensive Applications from the AWS ...NEW LAUNCH! Delivering Powerful Graphics-Intensive Applications from the AWS ...
NEW LAUNCH! Delivering Powerful Graphics-Intensive Applications from the AWS ...
 
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
 
Serverless presentation
Serverless presentationServerless presentation
Serverless presentation
 
To Serverless And Beyond!
To Serverless And Beyond!To Serverless And Beyond!
To Serverless And Beyond!
 
Sloppy Little Serverless Stories
Sloppy Little Serverless StoriesSloppy Little Serverless Stories
Sloppy Little Serverless Stories
 
AWS Lambda in C#
AWS Lambda in C#AWS Lambda in C#
AWS Lambda in C#
 
Building a WorkFlow using AWS Step Functions with Skycatch
Building a WorkFlow using AWS Step Functions with SkycatchBuilding a WorkFlow using AWS Step Functions with Skycatch
Building a WorkFlow using AWS Step Functions with Skycatch
 
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
AWS re:Invent 2016: Getting Started with Serverless Architectures (CMP211)
 
Thinking Asynchronously Full Vesion - Utah UG
Thinking Asynchronously Full Vesion - Utah UGThinking Asynchronously Full Vesion - Utah UG
Thinking Asynchronously Full Vesion - Utah UG
 
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...
 
Automate Migration to AWS with Datapipe
Automate Migration to AWS with DatapipeAutomate Migration to AWS with Datapipe
Automate Migration to AWS with Datapipe
 
Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS Artificial Intelligence & Machine learning foundation topic in AWS
Artificial Intelligence & Machine learning foundation topic in AWS
 
Deep Dive: Continuous Delivery for AI Applications with ECS - May 2017 AWS On...
Deep Dive: Continuous Delivery for AI Applications with ECS - May 2017 AWS On...Deep Dive: Continuous Delivery for AI Applications with ECS - May 2017 AWS On...
Deep Dive: Continuous Delivery for AI Applications with ECS - May 2017 AWS On...
 
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
 
State of serverless
State of serverlessState of serverless
State of serverless
 
AWS Kinesis
AWS KinesisAWS Kinesis
AWS Kinesis
 
AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )
AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )
AWS re:Invent 2016: Serverless Computing Patterns at Expedia (SVR306) )
 
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: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
 
AWS Lambda Containers - bridging the gap between serverless and containers on...
AWS Lambda Containers - bridging the gap between serverless and containers on...AWS Lambda Containers - bridging the gap between serverless and containers on...
AWS Lambda Containers - bridging the gap between serverless and containers on...
 

Similar to Serverless Culture

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
 
Serverless Microservices - Real life story of a Web App that uses AngularJS, ...
Serverless Microservices - Real life story of a Web App that uses AngularJS, ...Serverless Microservices - Real life story of a Web App that uses AngularJS, ...
Serverless Microservices - Real life story of a Web App that uses AngularJS, ...Mitoc Group
 
AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)
AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)
AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)Amazon Web Services
 
Serverless Microservices - Real life story of a Web App that uses AWS Lambda
Serverless Microservices - Real life story of a Web App that uses AWS LambdaServerless Microservices - Real life story of a Web App that uses AWS Lambda
Serverless Microservices - Real life story of a Web App that uses AWS LambdaMitoc Group
 
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
 
Microservices Architecture for Content Management Systems using AWS Lambda an...
Microservices Architecture for Content Management Systems using AWS Lambda an...Microservices Architecture for Content Management Systems using AWS Lambda an...
Microservices Architecture for Content Management Systems using AWS Lambda an...Mitoc Group
 
Building Scalable Web Applications using Microservices Architecture and Serve...
Building Scalable Web Applications using Microservices Architecture and Serve...Building Scalable Web Applications using Microservices Architecture and Serve...
Building Scalable Web Applications using Microservices Architecture and Serve...Mitoc Group
 
Compute Without Servers – Building Applications with AWS Lambda - Technical 301
Compute Without Servers – Building Applications with AWS Lambda - Technical 301Compute Without Servers – Building Applications with AWS Lambda - Technical 301
Compute Without Servers – Building Applications with AWS Lambda - Technical 301Amazon Web Services
 
Big data and serverless - AWS UG The Netherlands
Big data and serverless - AWS UG The NetherlandsBig data and serverless - AWS UG The Netherlands
Big data and serverless - AWS UG The NetherlandsMarek Kuczynski
 
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...Amazon Web Services
 
Serverless without Code (Lambda)
Serverless without Code (Lambda)Serverless without Code (Lambda)
Serverless without Code (Lambda)CloudHesive
 
AWS Startup Day Bangalore: Being Well-Architected in the Cloud
AWS Startup Day Bangalore: Being Well-Architected in the CloudAWS Startup Day Bangalore: Being Well-Architected in the Cloud
AWS Startup Day Bangalore: Being Well-Architected in the CloudAdrian Hornsby
 
AWS re:Invent 2016: Event Handling at Scale: Designing an Auditable Ingestion...
AWS re:Invent 2016: Event Handling at Scale: Designing an Auditable Ingestion...AWS re:Invent 2016: Event Handling at Scale: Designing an Auditable Ingestion...
AWS re:Invent 2016: Event Handling at Scale: Designing an Auditable Ingestion...Amazon Web Services
 
Deep Dive on Microservices and Docker
Deep Dive on Microservices and DockerDeep Dive on Microservices and Docker
Deep Dive on Microservices and DockerKristana Kane
 
Serverless Architecture Patterns
Serverless Architecture PatternsServerless Architecture Patterns
Serverless Architecture PatternsAmazon Web Services
 
serverless_architecture_patterns_london_loft.pdf
serverless_architecture_patterns_london_loft.pdfserverless_architecture_patterns_london_loft.pdf
serverless_architecture_patterns_london_loft.pdfAmazon Web Services
 
Serverless — it all started in Vegas
Serverless — it all started in VegasServerless — it all started in Vegas
Serverless — it all started in VegasMartin Buberl
 

Similar to Serverless Culture (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
 
Best of re:Invent
Best of re:InventBest of re:Invent
Best of re:Invent
 
The Best of re:invent 2016
The Best of re:invent 2016The Best of re:invent 2016
The Best of re:invent 2016
 
Serverless Microservices - Real life story of a Web App that uses AngularJS, ...
Serverless Microservices - Real life story of a Web App that uses AngularJS, ...Serverless Microservices - Real life story of a Web App that uses AngularJS, ...
Serverless Microservices - Real life story of a Web App that uses AngularJS, ...
 
AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)
AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)
AWS re:Invent 2016: Born in the Cloud; Built Like a Startup (ARC205)
 
Serverless Microservices - Real life story of a Web App that uses AWS Lambda
Serverless Microservices - Real life story of a Web App that uses AWS LambdaServerless Microservices - Real life story of a Web App that uses AWS Lambda
Serverless Microservices - Real life story of a Web App that uses AWS Lambda
 
SMC301 The State of Serverless Computing
SMC301 The State of Serverless ComputingSMC301 The State of Serverless Computing
SMC301 The State of Serverless Computing
 
Microservices Architecture for Content Management Systems using AWS Lambda an...
Microservices Architecture for Content Management Systems using AWS Lambda an...Microservices Architecture for Content Management Systems using AWS Lambda an...
Microservices Architecture for Content Management Systems using AWS Lambda an...
 
Building Scalable Web Applications using Microservices Architecture and Serve...
Building Scalable Web Applications using Microservices Architecture and Serve...Building Scalable Web Applications using Microservices Architecture and Serve...
Building Scalable Web Applications using Microservices Architecture and Serve...
 
Compute Without Servers – Building Applications with AWS Lambda - Technical 301
Compute Without Servers – Building Applications with AWS Lambda - Technical 301Compute Without Servers – Building Applications with AWS Lambda - Technical 301
Compute Without Servers – Building Applications with AWS Lambda - Technical 301
 
Big data and serverless - AWS UG The Netherlands
Big data and serverless - AWS UG The NetherlandsBig data and serverless - AWS UG The Netherlands
Big data and serverless - AWS UG The Netherlands
 
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...
Building a Real Time Dashboard with Amazon Kinesis, Amazon Lambda and Amazon ...
 
Serverless without Code (Lambda)
Serverless without Code (Lambda)Serverless without Code (Lambda)
Serverless without Code (Lambda)
 
AWS Startup Day Bangalore: Being Well-Architected in the Cloud
AWS Startup Day Bangalore: Being Well-Architected in the CloudAWS Startup Day Bangalore: Being Well-Architected in the Cloud
AWS Startup Day Bangalore: Being Well-Architected in the Cloud
 
AWS re:Invent 2016: Event Handling at Scale: Designing an Auditable Ingestion...
AWS re:Invent 2016: Event Handling at Scale: Designing an Auditable Ingestion...AWS re:Invent 2016: Event Handling at Scale: Designing an Auditable Ingestion...
AWS re:Invent 2016: Event Handling at Scale: Designing an Auditable Ingestion...
 
Deep Dive on Microservices and Docker
Deep Dive on Microservices and DockerDeep Dive on Microservices and Docker
Deep Dive on Microservices and Docker
 
Fin jaws 202103
Fin jaws 202103Fin jaws 202103
Fin jaws 202103
 
Serverless Architecture Patterns
Serverless Architecture PatternsServerless Architecture Patterns
Serverless Architecture Patterns
 
serverless_architecture_patterns_london_loft.pdf
serverless_architecture_patterns_london_loft.pdfserverless_architecture_patterns_london_loft.pdf
serverless_architecture_patterns_london_loft.pdf
 
Serverless — it all started in Vegas
Serverless — it all started in VegasServerless — it all started in Vegas
Serverless — it all started in Vegas
 

More from AWS User Group Bengaluru

Lessons learnt building a Distributed Linked List on S3
Lessons learnt building a Distributed Linked List on S3Lessons learnt building a Distributed Linked List on S3
Lessons learnt building a Distributed Linked List on S3AWS User Group Bengaluru
 
Building Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWSBuilding Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWSAWS User Group Bengaluru
 
Exploring opportunities with communities for a successful career
Exploring opportunities with communities for a successful careerExploring opportunities with communities for a successful career
Exploring opportunities with communities for a successful careerAWS User Group Bengaluru
 
Slack's transition away from a single AWS account
Slack's transition away from a single AWS accountSlack's transition away from a single AWS account
Slack's transition away from a single AWS accountAWS User Group Bengaluru
 
Building Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWSBuilding Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWSAWS User Group Bengaluru
 
Medlife's journey with AWS from 0(zero) orders to 6 digit mark
Medlife's journey with AWS from 0(zero) orders to 6 digit markMedlife's journey with AWS from 0(zero) orders to 6 digit mark
Medlife's journey with AWS from 0(zero) orders to 6 digit markAWS User Group Bengaluru
 
Exploring opportunities with communities for a successful career
Exploring opportunities with communities for a successful careerExploring opportunities with communities for a successful career
Exploring opportunities with communities for a successful careerAWS User Group Bengaluru
 
Lessons learnt building a Distributed Linked List on S3
Lessons learnt building a Distributed Linked List on S3Lessons learnt building a Distributed Linked List on S3
Lessons learnt building a Distributed Linked List on S3AWS User Group Bengaluru
 
Keynote - Chaos Engineering: Why breaking things should be practiced
Keynote - Chaos Engineering: Why breaking things should be practicedKeynote - Chaos Engineering: Why breaking things should be practiced
Keynote - Chaos Engineering: Why breaking things should be practicedAWS User Group Bengaluru
 

More from AWS User Group Bengaluru (20)

Demystifying identity on AWS
Demystifying identity on AWSDemystifying identity on AWS
Demystifying identity on AWS
 
AWS Secrets for Best Practices
AWS Secrets for Best PracticesAWS Secrets for Best Practices
AWS Secrets for Best Practices
 
Cloud Security
Cloud SecurityCloud Security
Cloud Security
 
Lessons learnt building a Distributed Linked List on S3
Lessons learnt building a Distributed Linked List on S3Lessons learnt building a Distributed Linked List on S3
Lessons learnt building a Distributed Linked List on S3
 
Medlife journey with AWS
Medlife journey with AWSMedlife journey with AWS
Medlife journey with AWS
 
Building Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWSBuilding Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWS
 
Exploring opportunities with communities for a successful career
Exploring opportunities with communities for a successful careerExploring opportunities with communities for a successful career
Exploring opportunities with communities for a successful career
 
Slack's transition away from a single AWS account
Slack's transition away from a single AWS accountSlack's transition away from a single AWS account
Slack's transition away from a single AWS account
 
Log analytics with ELK stack
Log analytics with ELK stackLog analytics with ELK stack
Log analytics with ELK stack
 
Refactoring to serverless
Refactoring to serverlessRefactoring to serverless
Refactoring to serverless
 
Amazon EC2 Spot Instances Workshop
Amazon EC2 Spot Instances WorkshopAmazon EC2 Spot Instances Workshop
Amazon EC2 Spot Instances Workshop
 
Building Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWSBuilding Efficient, Scalable and Resilient Front-end logging service with AWS
Building Efficient, Scalable and Resilient Front-end logging service with AWS
 
Medlife's journey with AWS from 0(zero) orders to 6 digit mark
Medlife's journey with AWS from 0(zero) orders to 6 digit markMedlife's journey with AWS from 0(zero) orders to 6 digit mark
Medlife's journey with AWS from 0(zero) orders to 6 digit mark
 
AWS Secrets for Best Practices
AWS Secrets for Best PracticesAWS Secrets for Best Practices
AWS Secrets for Best Practices
 
Exploring opportunities with communities for a successful career
Exploring opportunities with communities for a successful careerExploring opportunities with communities for a successful career
Exploring opportunities with communities for a successful career
 
Lessons learnt building a Distributed Linked List on S3
Lessons learnt building a Distributed Linked List on S3Lessons learnt building a Distributed Linked List on S3
Lessons learnt building a Distributed Linked List on S3
 
Cloud Security
Cloud SecurityCloud Security
Cloud Security
 
Amazon EC2 Spot Instances
Amazon EC2 Spot InstancesAmazon EC2 Spot Instances
Amazon EC2 Spot Instances
 
Cost Optimization in AWS
Cost Optimization in AWSCost Optimization in AWS
Cost Optimization in AWS
 
Keynote - Chaos Engineering: Why breaking things should be practiced
Keynote - Chaos Engineering: Why breaking things should be practicedKeynote - Chaos Engineering: Why breaking things should be practiced
Keynote - Chaos Engineering: Why breaking things should be practiced
 

Recently uploaded

Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Fact vs. Fiction: Autodetecting Hallucinations in LLMs
Fact vs. Fiction: Autodetecting Hallucinations in LLMsFact vs. Fiction: Autodetecting Hallucinations in LLMs
Fact vs. Fiction: Autodetecting Hallucinations in LLMsZilliz
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesSanjay Willie
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
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
 
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
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 

Recently uploaded (20)

Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Fact vs. Fiction: Autodetecting Hallucinations in LLMs
Fact vs. Fiction: Autodetecting Hallucinations in LLMsFact vs. Fiction: Autodetecting Hallucinations in LLMs
Fact vs. Fiction: Autodetecting Hallucinations in LLMs
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
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
 
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
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 

Serverless Culture

  • 1.
  • 3. • Chose Framework • Define Principles • Develop • Deploy – CI/CD - ELB - Capacity Planning…
  • 4.
  • 7. Guruprasad Holla Founder, Quiznext Head of Engineering @Vidyanext Principle Architect @Harman, @ADITI 15+Years building solutions for ISVs, B2B and B2C
  • 8. QuizNext- 3x Practice App for CBSE&ICSE • Gamified learning app • Supports real time 1:1 challenges, Delivers Quizzes, Live completions for CBSE/ICSE 6-10 • Backed completely by serverless • ~100K users • 10M+ Server calls
  • 9. QuizNext Architecture (AWS) AWS Cloud AWS Lambda Amazon CloudWatch Cloud Watch Events Amazon Cognito AWS S3 GraphQL AWS AppSync Amazon DynamoDB Amazon Pinpoint Amazon Simple Notification Service Amazon Simple Queue Service Amazon Athena
  • 10. QuizNext Architecture (AWS) AWS Cloud AWS Lambda Amazon CloudWatch Cloud Watch Events Amazon Cognito AWS S3 GraphQL AWS AppSync Amazon DynamoDB Amazon Pinpoint Amazon Simple Notification Service Amazon Simple Queue Service Amazon Athena • Amplify client for GraphQL • Two API end points • Content Access • Quiz Service - user data, performance, points, challenges etc • Subscriptions for live challenges and leader board updates • In app notifications • GraphQL - Offline access to data AWS AppSync
  • 11. QuizNext Architecture (AWS) AWS Cloud AWS Lambda Amazon CloudWatch Cloud Watch Events Amazon Cognito AWS S3 GraphQL AWS AppSync Amazon DynamoDB Amazon Pinpoint Amazon Simple Notification Service Amazon Simple Queue Service Amazon Athena • User authentication • Phone number validation • OTP Verification(SNS) Amazon Cognito
  • 12. QuizNext Architecture (AWS) AWS Cloud AWS Lambda Amazon CloudWatch Cloud Watch Events Amazon Cognito AWS S3 GraphQL AWS AppSync Amazon DynamoDB Amazon Pinpoint Amazon Simple Notification Service Amazon Simple Queue Service Amazon Athena • User data, Challenges data, recommendations and some content meta data • Most of direct CRUD operations are driven by Appsync – dynamo db templates • Some data access is routed through lambda functions Amazon DynamoDB
  • 13. QuizNext Architecture (AWS) AWS Cloud AWS Lambda Amazon CloudWatch Cloud Watch Events Amazon Cognito AWS S3 GraphQL AWS AppSync Amazon DynamoDB Amazon Pinpoint Amazon Simple Notification Service Amazon Simple Queue Service Amazon Athena • Question Content storage • Question Templates, Live quiz questions • Dynamo DB archived elements • App Images AWS S3
  • 14. QuizNext Architecture (AWS) AWS Cloud AWS Lambda Amazon CloudWatch Cloud Watch Events Amazon Cognito AWS S3 GraphQL AWS AppSync Amazon DynamoDB Amazon Pinpoint Amazon Simple Notification Service Amazon Simple Queue Service Amazon Athena • Triggered from appsync • Event driven cleanup jobs • ranking jobs • test creation jobs etc • Recommendation generations • SQS based auto respond jobs • In memory cache AWS Lambda
  • 15. QuizNext Architecture (AWS) AWS Cloud AWS Lambda Amazon CloudWatch Cloud Watch Events Amazon Cognito AWS S3 GraphQL AWS AppSync Amazon DynamoDB Amazon Pinpoint Amazon Simple Notification Service Amazon Simple Queue Service Amazon Athena
  • 16. QuizNext Architecture (AWS) AWS Cloud AWS Lambda Amazon CloudWatch Cloud Watch Events Amazon Cognito AWS S3 GraphQL AWS AppSync Amazon DynamoDB Amazon Pinpoint Amazon Simple Notification Service Amazon Simple Queue Service Amazon Athena
  • 17. QuizNext Architecture (AWS) AWS Cloud AWS Lambda Amazon CloudWatch Cloud Watch Events Amazon Cognito AWS S3 GraphQL AWS AppSync Amazon DynamoDB Amazon Pinpoint Amazon Simple Notification Service Amazon Simple Queue Service Amazon Athena
  • 18. QuizNext Architecture (AWS) AWS Cloud AWS Lambda Amazon CloudWatch Cloud Watch Events Amazon Cognito AWS S3 GraphQL AWS AppSync Amazon DynamoDB Amazon Pinpoint Amazon Simple Notification Service Amazon Simple Queue Service Amazon Athena
  • 19. QuizNext Architecture AWS Cloud AWS Lambda Cloud Watch Events Amazon Cognito AWS S3 GraphQL AWS AppSync Amazon DynamoDB Amazon Pinpoint SNS SQS Amazon Athena Amazon EC2
  • 20. How did we land here?
  • 21. Webhooks for CRM • HA Service for sales reversal • Not too simple, not too complex • Unpredictable load • Internal CRM Users • Stateless Amazon API Gateway AWS Lambda
  • 22. Payment Receiver Webhook • HA Service • Used only during end of the month • High traceability and logging • Independent DB • CRM Integration Amazon API Gateway AWS Lambda Amazon DynamoDB
  • 23. Today at QuizNext < 100$/Month to support 20K active users AppSync 10M server calls a month for 20$ 0 downtime Incremental deployments No peak time panics No log cleaning, disc overrun etc 3 environments automated by cloud formation All configurations are backed on Git
  • 24. What did we learn?
  • 25.
  • 26. “Change the way we look at services”
  • 27. FaaS Function 1 Function 2 Function 3 Function 4 Function 5 + BaaS
  • 28. Think about scale on day 1 • Is your implementation scalable? • Can code run multi instance? • Will your code timeout? • DynamoDB Scan vs Query • Indexes, Composite keys • Host affinity?
  • 29. Think about atomicity • Triggers are not evil • Resources as packages • Explore SQS, S3, Cloudwatch etc Update Score Calculate Rank Update Score Trigger Ranker Calculate Rank
  • 30. Think of micro jobs • Explore triggers • Can we delay this? • Can we clean it up later? • Aggregation, rollups etc • Look for timeouts Update Score Calculate Rank
  • 31. MVP at architecture level • Know your extension options • Throwing hardware/resource is easy and cheaper • Cost of redesign is smaller Resolver Templates
  • 32. Think about cost • Understand how you are billed • Its complicated - so tag resources • Use cost explorer and breakdown costing data • Set min capacity for dev/test environment
  • 33. Think about UX • Are you writing critical data? • When do you need confirmations • What can be delay executed Update Score Calculate Rank Update Score Trigger Ranker Calculate Rank
  • 34. Be script ready Everything is programmable • Migrations are easy • You can modify resources • You can modify configs Do not overengineer • You can do it later Explore tooling
  • 36.
  • 37. Thank you g p r a s a d h o l l a Guruprasad Holla #serverless #aws #gamification #edtech