SlideShare a Scribd company logo
1 of 42
Download to read offline
Experiences in Architecting &
Implementing Platforms Using
Serverless
Srushith Repakula
Head of Engineering, KonfHub
AWS Serverless Hero
Srushith Repakula
AWS Serverless Hero
Head of Engineering at KonfHub
AWS UG Tirupati Lead
Host of ServerlessSaturdays
@SrushithR
Amazon SNS
Amazon
EventBridge
AWS Step
Functions
Amazon
Aurora
Serverless AWS
AppSync
RDS Proxy
AWS
Lambda
Amazon Kinesis
Data Streams
AWS Fargate
Amazon
Athena
Amazon
Elastic
File System
Amazon
Simple
Queue Service
Amazon S3
AWS Glue
Amazon Managed
Streaming for Kafka
Amazon
Timestream
Amazon Neptune
https://konf.me/sls-poll
@SrushithR
https://konf.me/sls-poll
As simple as that!
Serverless URL Shortener
https://github.com/SrushithR/Serverless-URL-Shortener
AWS
AppSync
Source: Twitter
Source: Twitter
@SrushithR
Highly
scalable
GraphQL APIs
Data Sync, Real Time
and offline capabilities
Fine grained
access control
Key Features
Lambda
RDS
DynamoDB
REST API
AppSync
Data Sources @SrushithR
Best Practices & Things to Remember
● There can be no public access - for the good!
● The maximum limit for expiry of API key is 365 days
● Quotas and limits
● Security best practices - using the correct authorization mode
based on the access patterns
● WAF in front of AppSync
● Turn off introspection - Schema not discoverable
In action!
@SrushithR
@SrushithR
The Pain Points
Network
accessibility
Cold starts Connection
management &
pooling
@SrushithR
Aurora
Serverless
@SrushithR
On demand, auto
scaling DB
Use of Data API* -
No problem of
Connection pooling
Cost saving*!
Key Features
Easy Peasy!
Best Practices and Things to Remember!
● Limitation on the number of connections: 1000 per second and 500 concurrently
● Understand Scaling Point and enable “Force Scaling” if needed
● Data API has a default timeout of 45 seconds. This can be increased
● Each transaction should run within 3 minutes
● Data size limitations - 64 KB per row and 1 MiB overall. Always account for pagination to
ensure the query doesn’t fail
So, does Aurora
Serverless V1 solve
everything
@SrushithR
Enter Aurora
Serverless V2
● Multi AZ support
● Read Replicas
● Much improved & granular
scaling
● Global databases
● Compatible with RDS
Proxy
What does Aurora Serverless V2 offer?
@SrushithR
● Missing Data API support
● Inability to scale down to 0
● Costlier in comparison
So, does V2 solve everything?
@SrushithR
Amazon EventBridge is a
serverless event bus that
makes it easier to build
event-driven applications
Design Patterns - Hub & Spoke Model
User Management
Checkout
Event &
Registrations
App Data
Payments
@SrushithR
Design Patterns - Hub & Spoke Model
User Management
Checkout
Event &
Registrations
App Data
Payments
@SrushithR
Payments
Checkout
Users
Management
App Data
Registrations
Notifications
@SrushithR
Design Patterns - Static Event Flow
Checkout
“Registration
Successful!”
@SrushithR
Design Patterns - Filtered Event Flow
Payments
Settlements Service
Registrations
Management Service
Amount details,
payment status
Registration details -
name, email etc
Failure notification
with order details
@SrushithR
Design Patterns - Transformed Event Flow
Checkout
Events &
Registrations
App Data
Payments
Trigger external
webhooks
@SrushithR
Best Practices and Things to Remember!
● Configure events (Matched, Part of matched, Constant, Transformed) based on the
downstream consumers
● Filter out data that is passed over to the consumers - especially payment or PII data
● Standardise event structuring for better filtering and routing - “metadata” and “data”
● At least once delivery with a 24 hour retry - build for idempotency
● Use EventBridge for microservices communications and SNS for internal service
communications
● Look at functionless integrations wherever possible
@SrushithR
AWS Step Functions is a
serverless orchestration service
that lets you combine AWS
Lambda functions and other AWS
services to build business-critical
applications
@SrushithR
Orchestration Parallel Processing Retry, time wait,
conditional execution
@SrushithR
Key Features
@SrushithR
Best Practices and Points to Remember!
● Choosing between standard and express workflows
● Leverage S3 instead of passing large payloads
● Use timeouts to avoid stuck executions
● Move out the retry, time wait, conditional execution from the application layer to step
function configuration
● Use task tokens to await for responses from 3rd party APIs
@SrushithR
Challenges & Lessons Learnt
● Lot of context in the architecture - a boon or a bane?
● Loosely coupled, difficult to get started and debug
● Keep an eye out for silent failures, especially in asynchronous invocations - use Lambda
Destinations
● Lambda functions can scale, but can your downstream services?
● DDoS* can happen, and you might not even know!
@SrushithR
Srushith Repkaula
Head of Engineering, KonfHub
AWS Serverless Hero
@SrushithR
Resources
1. https://medium.com/lego-engineering/the-power-of-amazon-eventbridge-is-in-its-detail-
92c07ddcaa40
2. https://acloudguru.com/blog/engineering/how-to-integrate-your-workload-with-slack-usin
g-amazon-eventbridge-api-destinations
3. https://aws.amazon.com/blogs/compute/using-amazon-rds-proxy-with-aws-lambda
4. https://acloudguru.com/blog/engineering/how-to-integrate-your-workload-with-slack-usin
g-amazon-eventbridge-api-destinations
5. https://github.com/SrushithR/realtime-polling-app
6. https://github.com/dabit3/this-or-that
7. https://serverlessland.com/patterns/eventbridge-sqs
8. https://aws.amazon.com/eventbridge/features/
9.
@SrushithR
Image and Icon Credits
1. API cartoon - https://auth0.com/blog/what-is-an-api-how-apis-work-for-non-developers/
2. Rest vs GraphQL - https://twitter.com/Rapid_API/status/1517497279145459712/photo/1
3. Icons made by <a href="https://www.flaticon.com/free-icon/flow_1160137" title="Kiranshastry">Kiranshastry</a> from <a
href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a>
4. <a href='https://www.freepik.com/vectors/music'>Music vector created by stories - www.freepik.com</a>
5. Icons made by <a href="https://www.flaticon.com/authors/smashicons" title="Smashicons">Smashicons</a> from <a
href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a>
6. Icons made by <a href="https://creativemarket.com/eucalyp" title="Eucalyp">Eucalyp</a> from <a href="https://www.flaticon.com/"
title="Flaticon"> www.flaticon.com</a>
7. Icons made by <a href="https://www.flaticon.com/free-icon/rocket_788195" title="prettycons">prettycons</a> from <a
href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a>
8. Icons made by <a href="http://www.freepik.com/" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">
www.flaticon.com</a>
9. Icons made by <a href="https://www.flaticon.com/authors/becris" title="Becris">Becris</a> from <a href="https://www.flaticon.com/"
title="Flaticon"> www.flaticon.com</a>
10. Icons made by <a href="https://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/"
title="Flaticon"> www.flaticon.com</a>
11. Icons made by <a href="https://www.flaticon.com/authors/ddara" title="dDara">dDara</a> from <a href="https://www.flaticon.com/"
title="Flaticon"> www.flaticon.com</a>
12. Icons made by <a href="https://www.flaticon.com/authors/geotatah" title="geotatah">geotatah</a> from <a
href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a>
13. DB security - <a href="https://www.flaticon.com/free-icons/server" title="server icons">Server icons created by Freepik - Flaticon</a>
14. Cold start - <a href="https://www.flaticon.com/free-icons/temperature" title="temperature icons">Temperature icons created by
Smashicons - Flaticon</a>
15. DB connectivity - <a href="https://www.flaticon.com/free-icons/network" title="network icons">Network icons created by pmicon -
Flaticon</a>
Image and Icon Credits
1. Webhook - <a href="https://www.flaticon.com/free-icons/webhook" title="webhook icons">Webhook icons created by Freepik -
Flaticon</a>
2. Rest API - <a href="https://www.flaticon.com/free-icons/api" title="api icons">Api icons created by berkahicon - Flaticon</a>
3. User - <a href="https://www.flaticon.com/free-icons/user" title="user icons">User icons created by Freepik - Flaticon</a>

More Related Content

Similar to Experiences in Architecting Platforms Using Serverless

Serverless Generative AI on AWS, AWS User Groups of Florida
Serverless Generative AI on AWS, AWS User Groups of FloridaServerless Generative AI on AWS, AWS User Groups of Florida
Serverless Generative AI on AWS, AWS User Groups of FloridaCloudHesive
 
Serverless Developer Experience I AWS Dev Day 2018
Serverless Developer Experience I AWS Dev Day 2018Serverless Developer Experience I AWS Dev Day 2018
Serverless Developer Experience I AWS Dev Day 2018AWS Germany
 
Raleigh DevDay 2017: Building CICD pipelines for serverless applications
Raleigh DevDay 2017: Building CICD pipelines for serverless applicationsRaleigh DevDay 2017: Building CICD pipelines for serverless applications
Raleigh DevDay 2017: Building CICD pipelines for serverless applicationsAmazon Web Services
 
How LEGO.com Accelerates With Serverless
How LEGO.com Accelerates With ServerlessHow LEGO.com Accelerates With Serverless
How LEGO.com Accelerates With ServerlessSheenBrisals
 
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)Amazon Web Services
 
Raleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applicationsRaleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applicationsAmazon Web Services
 
Getting Started with Serverless Computing Using AWS Lambda - ENT332 - re:Inve...
Getting Started with Serverless Computing Using AWS Lambda - ENT332 - re:Inve...Getting Started with Serverless Computing Using AWS Lambda - ENT332 - re:Inve...
Getting Started with Serverless Computing Using AWS Lambda - ENT332 - re:Inve...Amazon Web Services
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep DiveAmazon Web Services
 
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Amazon Web Services
 
SMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsSMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsAmazon 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
 
Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28
Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28
Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28Amazon Web Services
 
AWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless RecapAWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless RecapDaniel Zivkovic
 
Code first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with AzureCode first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with AzureJeremy Likness
 
Serverless Computing How to Innovate Faster
Serverless Computing How to Innovate FasterServerless Computing How to Innovate Faster
Serverless Computing How to Innovate FasterAmazon Web Services
 
SRV301-Optimizing Serverless Application Data Tiers with Amazon DynamoDB
SRV301-Optimizing Serverless Application Data Tiers with Amazon DynamoDBSRV301-Optimizing Serverless Application Data Tiers with Amazon DynamoDB
SRV301-Optimizing Serverless Application Data Tiers with Amazon DynamoDBAmazon Web Services
 
FaaS or not to FaaS AWS Community Day Hamburg 2019 Bannes Kazulkin
FaaS or not to FaaS  AWS Community Day Hamburg 2019 Bannes KazulkinFaaS or not to FaaS  AWS Community Day Hamburg 2019 Bannes Kazulkin
FaaS or not to FaaS AWS Community Day Hamburg 2019 Bannes KazulkinVadym Kazulkin
 
B3 - Business intelligence apps on aws
B3 - Business intelligence apps on awsB3 - Business intelligence apps on aws
B3 - Business intelligence apps on awsAmazon Web Services
 
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017Amazon Web Services
 
Serverless Applications with AWS SAM
Serverless Applications with AWS SAMServerless Applications with AWS SAM
Serverless Applications with AWS SAMChris Munns
 

Similar to Experiences in Architecting Platforms Using Serverless (20)

Serverless Generative AI on AWS, AWS User Groups of Florida
Serverless Generative AI on AWS, AWS User Groups of FloridaServerless Generative AI on AWS, AWS User Groups of Florida
Serverless Generative AI on AWS, AWS User Groups of Florida
 
Serverless Developer Experience I AWS Dev Day 2018
Serverless Developer Experience I AWS Dev Day 2018Serverless Developer Experience I AWS Dev Day 2018
Serverless Developer Experience I AWS Dev Day 2018
 
Raleigh DevDay 2017: Building CICD pipelines for serverless applications
Raleigh DevDay 2017: Building CICD pipelines for serverless applicationsRaleigh DevDay 2017: Building CICD pipelines for serverless applications
Raleigh DevDay 2017: Building CICD pipelines for serverless applications
 
How LEGO.com Accelerates With Serverless
How LEGO.com Accelerates With ServerlessHow LEGO.com Accelerates With Serverless
How LEGO.com Accelerates With Serverless
 
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
AWS re:Invent 2016: ↑↑↓↓←→←→ BA Lambda Start (SVR305)
 
Raleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applicationsRaleigh DevDay 2017: Building serverless web applications
Raleigh DevDay 2017: Building serverless web applications
 
Getting Started with Serverless Computing Using AWS Lambda - ENT332 - re:Inve...
Getting Started with Serverless Computing Using AWS Lambda - ENT332 - re:Inve...Getting Started with Serverless Computing Using AWS Lambda - ENT332 - re:Inve...
Getting Started with Serverless Computing Using AWS Lambda - ENT332 - re:Inve...
 
Serverless Development Deep Dive
Serverless Development Deep DiveServerless Development Deep Dive
Serverless Development Deep Dive
 
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
Building CICD Pipelines for Serverless Applications - DevDay Austin 2017
 
SMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless ApplicationsSMC305 Building CI/CD Pipelines for Serverless Applications
SMC305 Building CI/CD Pipelines for Serverless Applications
 
Serverless — it all started in Vegas
Serverless — it all started in VegasServerless — it all started in Vegas
Serverless — it all started in Vegas
 
Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28
Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28
Building Advanced Serverless Workflows with AWS Step Functions | AWS Floor28
 
AWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless RecapAWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless Recap
 
Code first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with AzureCode first in the cloud: going serverless with Azure
Code first in the cloud: going serverless with Azure
 
Serverless Computing How to Innovate Faster
Serverless Computing How to Innovate FasterServerless Computing How to Innovate Faster
Serverless Computing How to Innovate Faster
 
SRV301-Optimizing Serverless Application Data Tiers with Amazon DynamoDB
SRV301-Optimizing Serverless Application Data Tiers with Amazon DynamoDBSRV301-Optimizing Serverless Application Data Tiers with Amazon DynamoDB
SRV301-Optimizing Serverless Application Data Tiers with Amazon DynamoDB
 
FaaS or not to FaaS AWS Community Day Hamburg 2019 Bannes Kazulkin
FaaS or not to FaaS  AWS Community Day Hamburg 2019 Bannes KazulkinFaaS or not to FaaS  AWS Community Day Hamburg 2019 Bannes Kazulkin
FaaS or not to FaaS AWS Community Day Hamburg 2019 Bannes Kazulkin
 
B3 - Business intelligence apps on aws
B3 - Business intelligence apps on awsB3 - Business intelligence apps on aws
B3 - Business intelligence apps on aws
 
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017
Building CICD Pipelines for Serverless Applications - DevDay Los Angeles 2017
 
Serverless Applications with AWS SAM
Serverless Applications with AWS SAMServerless Applications with AWS SAM
Serverless Applications with AWS SAM
 

More from Srushith Repakula

Serverless - Your Gateway to the Cloud!
Serverless -  Your Gateway to the Cloud!Serverless -  Your Gateway to the Cloud!
Serverless - Your Gateway to the Cloud!Srushith Repakula
 
Getting Started with Amazon EventBridge
Getting Started with Amazon EventBridgeGetting Started with Amazon EventBridge
Getting Started with Amazon EventBridgeSrushith Repakula
 
CICD in the World of Serverless
CICD in the World of ServerlessCICD in the World of Serverless
CICD in the World of ServerlessSrushith Repakula
 
Real Time Serverless Polling App
Real Time Serverless Polling AppReal Time Serverless Polling App
Real Time Serverless Polling AppSrushith Repakula
 
Serverless Workshop - Tomato Restaurant Rating App
Serverless Workshop - Tomato Restaurant Rating AppServerless Workshop - Tomato Restaurant Rating App
Serverless Workshop - Tomato Restaurant Rating AppSrushith Repakula
 
Become Thanos of the LambdaLand: Wield all the Infinity Stones
Become Thanos of the LambdaLand: Wield all the Infinity StonesBecome Thanos of the LambdaLand: Wield all the Infinity Stones
Become Thanos of the LambdaLand: Wield all the Infinity StonesSrushith Repakula
 
Serverless by Examples and Case Studies
Serverless by Examples and Case StudiesServerless by Examples and Case Studies
Serverless by Examples and Case StudiesSrushith Repakula
 
Lambda land: Running a serverless ticketing platform for less than $2 a month
Lambda land: Running a serverless ticketing platform for less than $2 a monthLambda land: Running a serverless ticketing platform for less than $2 a month
Lambda land: Running a serverless ticketing platform for less than $2 a monthSrushith Repakula
 
AWS Lambda Hands-on: How to Create Phone Call Notifications in a Serverless Way
 AWS Lambda Hands-on: How to Create Phone Call Notifications in a Serverless Way AWS Lambda Hands-on: How to Create Phone Call Notifications in a Serverless Way
AWS Lambda Hands-on: How to Create Phone Call Notifications in a Serverless WaySrushith Repakula
 
Keep Calm and Code Python - Build Cool Stuff Uing Python
Keep Calm and Code Python - Build Cool Stuff Uing PythonKeep Calm and Code Python - Build Cool Stuff Uing Python
Keep Calm and Code Python - Build Cool Stuff Uing PythonSrushith Repakula
 
Serverless: Why is it hot and What is it not?
Serverless: Why is it hot and What is it not?Serverless: Why is it hot and What is it not?
Serverless: Why is it hot and What is it not?Srushith Repakula
 
Scheduled Retweets Using AWS Lambda
Scheduled Retweets Using AWS LambdaScheduled Retweets Using AWS Lambda
Scheduled Retweets Using AWS LambdaSrushith Repakula
 

More from Srushith Repakula (13)

Serverless - Your Gateway to the Cloud!
Serverless -  Your Gateway to the Cloud!Serverless -  Your Gateway to the Cloud!
Serverless - Your Gateway to the Cloud!
 
Getting Started with Amazon EventBridge
Getting Started with Amazon EventBridgeGetting Started with Amazon EventBridge
Getting Started with Amazon EventBridge
 
CICD in the World of Serverless
CICD in the World of ServerlessCICD in the World of Serverless
CICD in the World of Serverless
 
Real Time Serverless Polling App
Real Time Serverless Polling AppReal Time Serverless Polling App
Real Time Serverless Polling App
 
Serverless Workshop - Tomato Restaurant Rating App
Serverless Workshop - Tomato Restaurant Rating AppServerless Workshop - Tomato Restaurant Rating App
Serverless Workshop - Tomato Restaurant Rating App
 
Become Thanos of the LambdaLand: Wield all the Infinity Stones
Become Thanos of the LambdaLand: Wield all the Infinity StonesBecome Thanos of the LambdaLand: Wield all the Infinity Stones
Become Thanos of the LambdaLand: Wield all the Infinity Stones
 
Serverless by Examples and Case Studies
Serverless by Examples and Case StudiesServerless by Examples and Case Studies
Serverless by Examples and Case Studies
 
Lambda land: Running a serverless ticketing platform for less than $2 a month
Lambda land: Running a serverless ticketing platform for less than $2 a monthLambda land: Running a serverless ticketing platform for less than $2 a month
Lambda land: Running a serverless ticketing platform for less than $2 a month
 
AWS Lambda Hands-on: How to Create Phone Call Notifications in a Serverless Way
 AWS Lambda Hands-on: How to Create Phone Call Notifications in a Serverless Way AWS Lambda Hands-on: How to Create Phone Call Notifications in a Serverless Way
AWS Lambda Hands-on: How to Create Phone Call Notifications in a Serverless Way
 
Chatbots with Serverless
Chatbots with ServerlessChatbots with Serverless
Chatbots with Serverless
 
Keep Calm and Code Python - Build Cool Stuff Uing Python
Keep Calm and Code Python - Build Cool Stuff Uing PythonKeep Calm and Code Python - Build Cool Stuff Uing Python
Keep Calm and Code Python - Build Cool Stuff Uing Python
 
Serverless: Why is it hot and What is it not?
Serverless: Why is it hot and What is it not?Serverless: Why is it hot and What is it not?
Serverless: Why is it hot and What is it not?
 
Scheduled Retweets Using AWS Lambda
Scheduled Retweets Using AWS LambdaScheduled Retweets Using AWS Lambda
Scheduled Retweets Using AWS Lambda
 

Recently uploaded

Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 

Recently uploaded (20)

Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 

Experiences in Architecting Platforms Using Serverless

  • 1. Experiences in Architecting & Implementing Platforms Using Serverless Srushith Repakula Head of Engineering, KonfHub AWS Serverless Hero
  • 2. Srushith Repakula AWS Serverless Hero Head of Engineering at KonfHub AWS UG Tirupati Lead Host of ServerlessSaturdays
  • 4. Amazon SNS Amazon EventBridge AWS Step Functions Amazon Aurora Serverless AWS AppSync RDS Proxy AWS Lambda Amazon Kinesis Data Streams AWS Fargate Amazon Athena Amazon Elastic File System Amazon Simple Queue Service Amazon S3 AWS Glue Amazon Managed Streaming for Kafka Amazon Timestream Amazon Neptune
  • 6. As simple as that!
  • 11. @SrushithR Highly scalable GraphQL APIs Data Sync, Real Time and offline capabilities Fine grained access control Key Features
  • 13. Best Practices & Things to Remember ● There can be no public access - for the good! ● The maximum limit for expiry of API key is 365 days ● Quotas and limits ● Security best practices - using the correct authorization mode based on the access patterns ● WAF in front of AppSync ● Turn off introspection - Schema not discoverable
  • 16. The Pain Points Network accessibility Cold starts Connection management & pooling @SrushithR
  • 18. @SrushithR On demand, auto scaling DB Use of Data API* - No problem of Connection pooling Cost saving*! Key Features
  • 20. Best Practices and Things to Remember! ● Limitation on the number of connections: 1000 per second and 500 concurrently ● Understand Scaling Point and enable “Force Scaling” if needed ● Data API has a default timeout of 45 seconds. This can be increased ● Each transaction should run within 3 minutes ● Data size limitations - 64 KB per row and 1 MiB overall. Always account for pagination to ensure the query doesn’t fail
  • 21. So, does Aurora Serverless V1 solve everything @SrushithR Enter Aurora Serverless V2
  • 22. ● Multi AZ support ● Read Replicas ● Much improved & granular scaling ● Global databases ● Compatible with RDS Proxy What does Aurora Serverless V2 offer? @SrushithR
  • 23. ● Missing Data API support ● Inability to scale down to 0 ● Costlier in comparison So, does V2 solve everything? @SrushithR
  • 24.
  • 25.
  • 26. Amazon EventBridge is a serverless event bus that makes it easier to build event-driven applications
  • 27. Design Patterns - Hub & Spoke Model User Management Checkout Event & Registrations App Data Payments @SrushithR
  • 28. Design Patterns - Hub & Spoke Model User Management Checkout Event & Registrations App Data Payments @SrushithR
  • 30. Design Patterns - Static Event Flow Checkout “Registration Successful!” @SrushithR
  • 31. Design Patterns - Filtered Event Flow Payments Settlements Service Registrations Management Service Amount details, payment status Registration details - name, email etc Failure notification with order details @SrushithR
  • 32. Design Patterns - Transformed Event Flow Checkout Events & Registrations App Data Payments Trigger external webhooks @SrushithR
  • 33. Best Practices and Things to Remember! ● Configure events (Matched, Part of matched, Constant, Transformed) based on the downstream consumers ● Filter out data that is passed over to the consumers - especially payment or PII data ● Standardise event structuring for better filtering and routing - “metadata” and “data” ● At least once delivery with a 24 hour retry - build for idempotency ● Use EventBridge for microservices communications and SNS for internal service communications ● Look at functionless integrations wherever possible @SrushithR
  • 34. AWS Step Functions is a serverless orchestration service that lets you combine AWS Lambda functions and other AWS services to build business-critical applications @SrushithR
  • 35. Orchestration Parallel Processing Retry, time wait, conditional execution @SrushithR Key Features
  • 37. Best Practices and Points to Remember! ● Choosing between standard and express workflows ● Leverage S3 instead of passing large payloads ● Use timeouts to avoid stuck executions ● Move out the retry, time wait, conditional execution from the application layer to step function configuration ● Use task tokens to await for responses from 3rd party APIs @SrushithR
  • 38. Challenges & Lessons Learnt ● Lot of context in the architecture - a boon or a bane? ● Loosely coupled, difficult to get started and debug ● Keep an eye out for silent failures, especially in asynchronous invocations - use Lambda Destinations ● Lambda functions can scale, but can your downstream services? ● DDoS* can happen, and you might not even know! @SrushithR
  • 39. Srushith Repkaula Head of Engineering, KonfHub AWS Serverless Hero @SrushithR
  • 40. Resources 1. https://medium.com/lego-engineering/the-power-of-amazon-eventbridge-is-in-its-detail- 92c07ddcaa40 2. https://acloudguru.com/blog/engineering/how-to-integrate-your-workload-with-slack-usin g-amazon-eventbridge-api-destinations 3. https://aws.amazon.com/blogs/compute/using-amazon-rds-proxy-with-aws-lambda 4. https://acloudguru.com/blog/engineering/how-to-integrate-your-workload-with-slack-usin g-amazon-eventbridge-api-destinations 5. https://github.com/SrushithR/realtime-polling-app 6. https://github.com/dabit3/this-or-that 7. https://serverlessland.com/patterns/eventbridge-sqs 8. https://aws.amazon.com/eventbridge/features/ 9. @SrushithR
  • 41. Image and Icon Credits 1. API cartoon - https://auth0.com/blog/what-is-an-api-how-apis-work-for-non-developers/ 2. Rest vs GraphQL - https://twitter.com/Rapid_API/status/1517497279145459712/photo/1 3. Icons made by <a href="https://www.flaticon.com/free-icon/flow_1160137" title="Kiranshastry">Kiranshastry</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a> 4. <a href='https://www.freepik.com/vectors/music'>Music vector created by stories - www.freepik.com</a> 5. Icons made by <a href="https://www.flaticon.com/authors/smashicons" title="Smashicons">Smashicons</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a> 6. Icons made by <a href="https://creativemarket.com/eucalyp" title="Eucalyp">Eucalyp</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a> 7. Icons made by <a href="https://www.flaticon.com/free-icon/rocket_788195" title="prettycons">prettycons</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a> 8. Icons made by <a href="http://www.freepik.com/" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a> 9. Icons made by <a href="https://www.flaticon.com/authors/becris" title="Becris">Becris</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a> 10. Icons made by <a href="https://www.flaticon.com/authors/freepik" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a> 11. Icons made by <a href="https://www.flaticon.com/authors/ddara" title="dDara">dDara</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a> 12. Icons made by <a href="https://www.flaticon.com/authors/geotatah" title="geotatah">geotatah</a> from <a href="https://www.flaticon.com/" title="Flaticon"> www.flaticon.com</a> 13. DB security - <a href="https://www.flaticon.com/free-icons/server" title="server icons">Server icons created by Freepik - Flaticon</a> 14. Cold start - <a href="https://www.flaticon.com/free-icons/temperature" title="temperature icons">Temperature icons created by Smashicons - Flaticon</a> 15. DB connectivity - <a href="https://www.flaticon.com/free-icons/network" title="network icons">Network icons created by pmicon - Flaticon</a>
  • 42. Image and Icon Credits 1. Webhook - <a href="https://www.flaticon.com/free-icons/webhook" title="webhook icons">Webhook icons created by Freepik - Flaticon</a> 2. Rest API - <a href="https://www.flaticon.com/free-icons/api" title="api icons">Api icons created by berkahicon - Flaticon</a> 3. User - <a href="https://www.flaticon.com/free-icons/user" title="user icons">User icons created by Freepik - Flaticon</a>