SlideShare a Scribd company logo
1 of 24
Download to read offline
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda Land:
Running a Serverless Ticketing
Platform for Less Than $2 a
Month
SRUSHITH R | 06 Oct, 2018
@SrushithR
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
“Serverless architectures refer to applications
that significantly depend on third-party
services (knows as Backend as a Service or
"BaaS") or on custom code that's run in
ephemeral containers (Function as a Service
or “FaaS”)”
- Martin Fowler
https://martinfowler.com/articles/serverless.html
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Birth of Serverless
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Event
sources
Trigger
other
services
Lambda
function
s
Working with Lambdas
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
How a Ticketing
Platform Works
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Ticket Purchase Flow
Successful
payment
Generate
ticket
Send
invoice
Store
participant
details
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Synchronous
Behind the Scene
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Generating a Ticket
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Generating Invoice – 3rd party API or PDF Generation Python
Module
3rd party API
E.g., invoice-generator
Python module
E.g., Reportlab
or
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lessons Learned
• 3rd party web APIs are not always reliable
• Larger dependencies increase lambda warm up
time
• Need notifications for executions that fail due to
various reasons
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Sending Invoice
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Sending Invoice – Gmail or SES or SNS
Gmail Amazon SES
or
Amazon SNS
or
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lessons Learned
• Emailing looks straight-forward but it is not
• Using SES has practical problems (E.g.,
no way to access the sent emails)
• Factors to consider: cost, spamming and
shared vs dedicated IP address
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Storing Participant
Details
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Storing Details – DynamoDB or RDS or S3
Amazon
DynamoDB
Amazon
RDS
Amazon
S3
or or
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lessons Learned
Reduce
d costs
Sub-
second
response
Better
performance
Factors to consider:
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
State Management
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
State Management – Step Function or Lambda Calling
Another Lambda
or
AWS
Step Functions
AWS
lambda calling
another lambda
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lessons Learned
• Asynchronous nature of Step functions is
at times troublesome
• Improved resiliency
• Step functions make parallel executions,
branching etc. easier
• Zero coding!
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS Lambda
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Factors to
Consider
Time out Choice of
programming
language
Load testing RAM
configuratio
n
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda Best
Practices
Alarms
CloudWatc
h logs
Restrictive
permissions
while using IAM
Environment
variables
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Icon Credits
• Icon made by Freepik from www.flaticon.com
• Icon made by Prosymbols from www.flaticon.com
• Icon made by Geotath from www.flaticon.com
• Icon made by Icon Pond from www.flaticon.com
• Icon made by Smashicons from www.flaticon.com
• Icon made by Smartline from www.flaticon.com
• Icon made by mynamepong from www.flaticon.com
• Icon made by Vectors Market from www.flaticon.com
• Icon made by DinosoftLabs from www.flaticon.com
• Icon made by Kiranshastry from www.flaticon.com
• Icon made by Pixel Buddha from www.flaticon.com
• Icon made by dimitry-miroliubov from www.flaticon.com

More Related Content

What's hot

Context Aware Computing
Context Aware ComputingContext Aware Computing
Context Aware ComputingMOHIT DADU
 
Virtual Reality: Sensing the Possibilities
Virtual Reality: Sensing the PossibilitiesVirtual Reality: Sensing the Possibilities
Virtual Reality: Sensing the PossibilitiesMark Billinghurst
 
COMP 4010 - Lecture 5: Interaction Design for Virtual Reality
COMP 4010 - Lecture 5: Interaction Design for Virtual RealityCOMP 4010 - Lecture 5: Interaction Design for Virtual Reality
COMP 4010 - Lecture 5: Interaction Design for Virtual RealityMark Billinghurst
 
application of remote sensing in defence forces
application of remote sensing in defence forcesapplication of remote sensing in defence forces
application of remote sensing in defence forcesNEERAJSHARMA814
 
Future of Augmented Reality
Future of Augmented RealityFuture of Augmented Reality
Future of Augmented RealityOsamaAliMangi
 
Human computer interaction
Human computer interactionHuman computer interaction
Human computer interactionsai anjaneya
 
HCI : Virtual reality (AUGMENTED & MIXED REALITY)
HCI : Virtual reality (AUGMENTED & MIXED REALITY)HCI : Virtual reality (AUGMENTED & MIXED REALITY)
HCI : Virtual reality (AUGMENTED & MIXED REALITY)Yasmin Zahir
 
Java management extensions (jmx)
Java management extensions (jmx)Java management extensions (jmx)
Java management extensions (jmx)Tarun Telang
 
Pest Control in Agricultural Plantations Using Image Processing
Pest Control in Agricultural Plantations Using Image ProcessingPest Control in Agricultural Plantations Using Image Processing
Pest Control in Agricultural Plantations Using Image ProcessingIOSR Journals
 
Use of Computer Graphics In Defense And Education-Training
Use of Computer Graphics In Defense And Education-TrainingUse of Computer Graphics In Defense And Education-Training
Use of Computer Graphics In Defense And Education-Trainingshelly mundhra
 
Virtual reality
Virtual realityVirtual reality
Virtual realityAmit Sinha
 
Cohesion and coupling in software design
Cohesion and coupling in software designCohesion and coupling in software design
Cohesion and coupling in software designAhmed Saad Khames
 

What's hot (20)

User Interface
User InterfaceUser Interface
User Interface
 
Context Aware Computing
Context Aware ComputingContext Aware Computing
Context Aware Computing
 
Virtual Reality(full)
Virtual Reality(full)Virtual Reality(full)
Virtual Reality(full)
 
Virtual Reality: Sensing the Possibilities
Virtual Reality: Sensing the PossibilitiesVirtual Reality: Sensing the Possibilities
Virtual Reality: Sensing the Possibilities
 
Virtual Reality
Virtual RealityVirtual Reality
Virtual Reality
 
Fitness Apps
Fitness Apps Fitness Apps
Fitness Apps
 
COMP 4010 - Lecture 5: Interaction Design for Virtual Reality
COMP 4010 - Lecture 5: Interaction Design for Virtual RealityCOMP 4010 - Lecture 5: Interaction Design for Virtual Reality
COMP 4010 - Lecture 5: Interaction Design for Virtual Reality
 
software characteristics
software characteristicssoftware characteristics
software characteristics
 
application of remote sensing in defence forces
application of remote sensing in defence forcesapplication of remote sensing in defence forces
application of remote sensing in defence forces
 
Future of Augmented Reality
Future of Augmented RealityFuture of Augmented Reality
Future of Augmented Reality
 
Human computer interaction
Human computer interactionHuman computer interaction
Human computer interaction
 
HCI : Virtual reality (AUGMENTED & MIXED REALITY)
HCI : Virtual reality (AUGMENTED & MIXED REALITY)HCI : Virtual reality (AUGMENTED & MIXED REALITY)
HCI : Virtual reality (AUGMENTED & MIXED REALITY)
 
Java management extensions (jmx)
Java management extensions (jmx)Java management extensions (jmx)
Java management extensions (jmx)
 
Pest Control in Agricultural Plantations Using Image Processing
Pest Control in Agricultural Plantations Using Image ProcessingPest Control in Agricultural Plantations Using Image Processing
Pest Control in Agricultural Plantations Using Image Processing
 
User interface design
User interface designUser interface design
User interface design
 
Abac and the evolution of access control
Abac and the evolution of access controlAbac and the evolution of access control
Abac and the evolution of access control
 
Use of Computer Graphics In Defense And Education-Training
Use of Computer Graphics In Defense And Education-TrainingUse of Computer Graphics In Defense And Education-Training
Use of Computer Graphics In Defense And Education-Training
 
Virtual reality
Virtual realityVirtual reality
Virtual reality
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Cohesion and coupling in software design
Cohesion and coupling in software designCohesion and coupling in software design
Cohesion and coupling in software design
 

Similar to Running a serverless ticketing platform for less than $2 a month

Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...Amazon Web Services
 
Making Headless Drupal Serverless
Making Headless Drupal ServerlessMaking Headless Drupal Serverless
Making Headless Drupal ServerlessAmazon Web Services
 
SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
 SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
SRV316 Serverless Data Processing at Scale: An Amazon.com Case StudyAmazon Web Services
 
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...Amazon Web Services
 
Operating Your Serverless API in Production at Scale - AWS Online Tech Talks
Operating Your Serverless API in Production at Scale - AWS Online Tech TalksOperating Your Serverless API in Production at Scale - AWS Online Tech Talks
Operating Your Serverless API in Production at Scale - AWS Online Tech TalksAmazon Web Services
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural PatternsAmazon Web Services
 
Serverless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best PracticesServerless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best PracticesAmazon Web Services
 
Wildrydes Serverless Workshop Tel Aviv
Wildrydes Serverless Workshop Tel AvivWildrydes Serverless Workshop Tel Aviv
Wildrydes Serverless Workshop Tel AvivBoaz Ziniman
 
Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...
Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...
Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...Amazon Web Services
 
Serverless Architectural Patterns: Collision 2018
Serverless Architectural Patterns: Collision 2018Serverless Architectural Patterns: Collision 2018
Serverless Architectural Patterns: Collision 2018Amazon Web Services
 
Serverless Architectural Patterns - GOTO Amsterdam
Serverless Architectural Patterns - GOTO AmsterdamServerless Architectural Patterns - GOTO Amsterdam
Serverless Architectural Patterns - GOTO AmsterdamBoaz Ziniman
 
AWS Lambda use cases and best practices - Builders Day Israel
AWS Lambda use cases and best practices - Builders Day IsraelAWS Lambda use cases and best practices - Builders Day Israel
AWS Lambda use cases and best practices - Builders Day IsraelAmazon Web Services
 
Serverless:It All Started in Vegas (DVC306) - AWS re:Invent 2018
Serverless:It All Started in Vegas (DVC306) - AWS re:Invent 2018Serverless:It All Started in Vegas (DVC306) - AWS re:Invent 2018
Serverless:It All Started in Vegas (DVC306) - AWS re:Invent 2018Amazon Web Services
 
How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...
How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...
How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...Amazon Web Services
 
Serverless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best PracticesServerless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best PracticesVladimir Simek
 
Serverless best practices plus design principles 20m version
Serverless   best practices plus design principles 20m versionServerless   best practices plus design principles 20m version
Serverless best practices plus design principles 20m versionHeitor Lessa
 
Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...
Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...
Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...Amazon Web Services
 
Serverless Architectural Patterns - ServerlessDays TLV
Serverless Architectural Patterns - ServerlessDays TLVServerless Architectural Patterns - ServerlessDays TLV
Serverless Architectural Patterns - ServerlessDays TLVBoaz Ziniman
 

Similar to Running a serverless ticketing platform for less than $2 a month (20)

Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
Vonage & Aspect: Transform Real-Time Communications & Customer Engagement (TL...
 
Making Headless Drupal Serverless
Making Headless Drupal ServerlessMaking Headless Drupal Serverless
Making Headless Drupal Serverless
 
SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
 SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
SRV316 Serverless Data Processing at Scale: An Amazon.com Case Study
 
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
Build Modern Applications that Align with Twelve-Factor Methods (API303) - AW...
 
Operating Your Serverless API in Production at Scale - AWS Online Tech Talks
Operating Your Serverless API in Production at Scale - AWS Online Tech TalksOperating Your Serverless API in Production at Scale - AWS Online Tech Talks
Operating Your Serverless API in Production at Scale - AWS Online Tech Talks
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural Patterns
 
Serverless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best PracticesServerless Architectural Patterns and Best Practices
Serverless Architectural Patterns and Best Practices
 
Wildrydes Serverless Workshop Tel Aviv
Wildrydes Serverless Workshop Tel AvivWildrydes Serverless Workshop Tel Aviv
Wildrydes Serverless Workshop Tel Aviv
 
Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...
Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...
Building Massively Parallel Event-Driven Architectures (SRV373-R1) - AWS re:I...
 
E-Commerce serverless
E-Commerce serverlessE-Commerce serverless
E-Commerce serverless
 
Serverless Architectural Patterns: Collision 2018
Serverless Architectural Patterns: Collision 2018Serverless Architectural Patterns: Collision 2018
Serverless Architectural Patterns: Collision 2018
 
Serverless Architectural Patterns - GOTO Amsterdam
Serverless Architectural Patterns - GOTO AmsterdamServerless Architectural Patterns - GOTO Amsterdam
Serverless Architectural Patterns - GOTO Amsterdam
 
AWS Lambda use cases and best practices - Builders Day Israel
AWS Lambda use cases and best practices - Builders Day IsraelAWS Lambda use cases and best practices - Builders Day Israel
AWS Lambda use cases and best practices - Builders Day Israel
 
Serverless:It All Started in Vegas (DVC306) - AWS re:Invent 2018
Serverless:It All Started in Vegas (DVC306) - AWS re:Invent 2018Serverless:It All Started in Vegas (DVC306) - AWS re:Invent 2018
Serverless:It All Started in Vegas (DVC306) - AWS re:Invent 2018
 
Microservices for Startups
Microservices for StartupsMicroservices for Startups
Microservices for Startups
 
How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...
How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...
How Trek10 Uses Datadog's Distributed Tracing to Improve AWS Lambda Projects ...
 
Serverless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best PracticesServerless on AWS: Architectural Patterns and Best Practices
Serverless on AWS: Architectural Patterns and Best Practices
 
Serverless best practices plus design principles 20m version
Serverless   best practices plus design principles 20m versionServerless   best practices plus design principles 20m version
Serverless best practices plus design principles 20m version
 
Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...
Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...
Using Amazon VPC Flow Logs for Predictive Security Analytics (NET319) - AWS r...
 
Serverless Architectural Patterns - ServerlessDays TLV
Serverless Architectural Patterns - ServerlessDays TLVServerless Architectural Patterns - ServerlessDays TLV
Serverless Architectural Patterns - ServerlessDays TLV
 

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
 

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
 
Serverless Culture
Serverless CultureServerless Culture
Serverless Culture
 
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
 

Recently uploaded

Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
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
 
Laying the Data Foundations for Artificial Intelligence!
Laying the Data Foundations for Artificial Intelligence!Laying the Data Foundations for Artificial Intelligence!
Laying the Data Foundations for Artificial Intelligence!Memoori
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
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
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
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
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 

Recently uploaded (20)

Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
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
 
Laying the Data Foundations for Artificial Intelligence!
Laying the Data Foundations for Artificial Intelligence!Laying the Data Foundations for Artificial Intelligence!
Laying the Data Foundations for Artificial Intelligence!
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
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
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
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
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 

Running a serverless ticketing platform for less than $2 a month

  • 1. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lambda Land: Running a Serverless Ticketing Platform for Less Than $2 a Month SRUSHITH R | 06 Oct, 2018 @SrushithR
  • 2. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. “Serverless architectures refer to applications that significantly depend on third-party services (knows as Backend as a Service or "BaaS") or on custom code that's run in ephemeral containers (Function as a Service or “FaaS”)” - Martin Fowler https://martinfowler.com/articles/serverless.html
  • 3. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Birth of Serverless
  • 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Event sources Trigger other services Lambda function s Working with Lambdas
  • 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How a Ticketing Platform Works
  • 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Ticket Purchase Flow Successful payment Generate ticket Send invoice Store participant details
  • 7. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Synchronous Behind the Scene
  • 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Generating a Ticket
  • 9. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Generating Invoice – 3rd party API or PDF Generation Python Module 3rd party API E.g., invoice-generator Python module E.g., Reportlab or
  • 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lessons Learned • 3rd party web APIs are not always reliable • Larger dependencies increase lambda warm up time • Need notifications for executions that fail due to various reasons
  • 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Sending Invoice
  • 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Sending Invoice – Gmail or SES or SNS Gmail Amazon SES or Amazon SNS or
  • 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lessons Learned • Emailing looks straight-forward but it is not • Using SES has practical problems (E.g., no way to access the sent emails) • Factors to consider: cost, spamming and shared vs dedicated IP address
  • 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Storing Participant Details
  • 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Storing Details – DynamoDB or RDS or S3 Amazon DynamoDB Amazon RDS Amazon S3 or or
  • 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lessons Learned Reduce d costs Sub- second response Better performance Factors to consider:
  • 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. State Management
  • 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. State Management – Step Function or Lambda Calling Another Lambda or AWS Step Functions AWS lambda calling another lambda
  • 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lessons Learned • Asynchronous nature of Step functions is at times troublesome • Improved resiliency • Step functions make parallel executions, branching etc. easier • Zero coding!
  • 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS Lambda
  • 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Factors to Consider Time out Choice of programming language Load testing RAM configuratio n
  • 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Lambda Best Practices Alarms CloudWatc h logs Restrictive permissions while using IAM Environment variables
  • 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  • 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Icon Credits • Icon made by Freepik from www.flaticon.com • Icon made by Prosymbols from www.flaticon.com • Icon made by Geotath from www.flaticon.com • Icon made by Icon Pond from www.flaticon.com • Icon made by Smashicons from www.flaticon.com • Icon made by Smartline from www.flaticon.com • Icon made by mynamepong from www.flaticon.com • Icon made by Vectors Market from www.flaticon.com • Icon made by DinosoftLabs from www.flaticon.com • Icon made by Kiranshastry from www.flaticon.com • Icon made by Pixel Buddha from www.flaticon.com • Icon made by dimitry-miroliubov from www.flaticon.com

Editor's Notes

  1. Icon made by https://www.flaticon.com/authors/prosymbols from https://www.flaticon.com
  2. https://aws.amazon.com/rds/ https://aws.amazon.com/dynamodb/#whentousedynamodb
  3. Image Courtesy: Icon made by https://www.flaticon.com/authors/freepik from www.flaticon.com
  4. https://www.flaticon.com/authors/ddara
  5. https://www.flaticon.com/authors/prosymbols