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