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

Mais conteúdo relacionado

Mais procurados

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
 

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

Semelhante a 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
 

Semelhante a 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
 

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

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

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 

Último (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

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