SlideShare uma empresa Scribd logo
1 de 20
Baixar para ler offline
How we Developed and ran
a production application for
under £100
(depending on exchange rate)
Who are you?
● Developer/Architect for over 12 years
● Serverless NE Meetup
● Co-Founder Tech For Kids
● @dan_pudwell
Agenda
● Concept
● Technology
● Architecture
● Build
● Bill
The Concept - ADAPT
● Help disabled passengers when they need assistance at
airports
● Help airports manage requests for assistance
● Approximately 5 months developing the alpha release,
followed by a few weeks of trialling with users
Users
● Passenger - requests assistance
● Assistant - provides assistance
● Coordinator - monitors requests, assigns
Current Passenger Journey
● Call airport beforehand with travel arrangements
● Once arrived at airport, find a help desk and present
yourself
● If mobility impaired they will take you to a holding area
before going through security and then into another
holding area until boarding for flight.
● There can be up to 7 handovers of passengers between
Assistance Staff
● Cannot leave area without assistance (even if not required)
so can’t shop or toilet
New Passenger Journey
● Trigger geofence breach when passenger nearing
airport. This puts passenger on the list for
coordinators.
● Passenger requests assistance when needed.
Coordinator is notified and UI is updated
● Coordinator assigns passenger assistant.
● Assistant can see where they are on integrated map
and goes to passenger.
● Two way messaging between passenger and
assistant.
Technology
● AWS
○ Lambda, Dynamo, API Gateway, Cognito, S3, SES,
CodeBuild, Cloudformation, SAM, Cloudwatch
● WebSockets and REST
● NoSQL (key-value)
● Push notifications (Android and browser with VAPID)
● Internal Mapping (3rd party)
● Serverless!
What is Serverless?
● An architecture that allows developers to focus on
business value instead of infrastructure management by
using a cloud providers services.
● No server management
(provisioning, O/S, patching, etc.)
● Auto-Scaling
● High Availability
● Pay for value
Why?
Architecture
● 3 microservices
○ adapt-apis, notifications, profiles
● AWS multi-account (for each service)
○ Staging and PR’s
○ Production
● WebSockets for real time updates to client
● CI and CD
Bill by Account
January February March April May June July Total
notifications-staging 2.52 3.39 2.71 1.52 2.04 2.84 2.79 17.81
notifications-production 0.47 0.84 1.31
profiles-staging 1.60 1.41 1.99 1.87 1.48 8.35
profiles-production 0.04 0.49 0.82 1.35
adapt-staging 0.78 4.52 11.40 15.26 30.57 28.52 91.05
adapt-production 4.39 13.22 17.61
Monthly 2.52 4.17 8.83 14.33 19.33 40.63 47.67 137.48
Bill by AWS Service
CodeBuild 57.16
CloudWatch 24.97
Tax 22.85
ECR 19.25
S3 7.02
API Gateway 1.96
Dynamo 1.45
Route53 0.50
CloudFront 0.04
Lambda 0.01
Cognito 0.00
Things We Learned
● Size limits on API Gateway and Lambda prevented large profile images going through. To solve
this we ask S3 for a signed url the client can use to upload with.
● DynamoDB stream will constantly try failed lambdas preventing any new invocations. To solve
this we catch all possible errors from the lambda and return appropriately.
● WebSockets are hard to automate in testing. To solve this we wrote and open sourced our own
testing framework.
● Direct integration with API Gateway is possible but not recommended. Hard to write VTL without
several attempts. Cannot test.
● Whilst NoSQL (DynamoDB) databases can be relational it is VERY hard. If you know your access
patterns/queries this is a good choice. Otherwise SQL/relational offer more flexibility.
Open Source
● Pywsitest
● aws-lambda-decorators
- extract (from event or SSM)
- validation of parameters
- CORS
- logging, exceptions, etc.
● aws-dynamodb-parser
QUESTIONS
???

Mais conteúdo relacionado

Semelhante a Dan pudwell - AWS community summit-oct-2019

Kafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ Uber
Kafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ UberKafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ Uber
Kafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ Uber
confluent
 
Csa Summit 2017 - Managing multicloud environments
Csa Summit 2017 - Managing multicloud environmentsCsa Summit 2017 - Managing multicloud environments
Csa Summit 2017 - Managing multicloud environments
CSA Argentina
 

Semelhante a Dan pudwell - AWS community summit-oct-2019 (20)

How automate your SAP PI/PO/CPI and API management processes
How automate your SAP PI/PO/CPI and API management processesHow automate your SAP PI/PO/CPI and API management processes
How automate your SAP PI/PO/CPI and API management processes
 
Kafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ Uber
Kafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ UberKafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ Uber
Kafka Summit NYC 2017 - Scalable Real-Time Complex Event Processing @ Uber
 
Flight Delay Compensation: How SwissRe is exploring new territories in Busine...
Flight Delay Compensation: How SwissRe is exploring new territories in Busine...Flight Delay Compensation: How SwissRe is exploring new territories in Busine...
Flight Delay Compensation: How SwissRe is exploring new territories in Busine...
 
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
MuleSoft Event Driven Architecture (EDA Patterns in MuleSoft) - VirtualMuleys63
 
Truck planning: how to certify the right route
Truck planning: how to certify the right routeTruck planning: how to certify the right route
Truck planning: how to certify the right route
 
Csa Summit 2017 - Managing multicloud environments
Csa Summit 2017 - Managing multicloud environmentsCsa Summit 2017 - Managing multicloud environments
Csa Summit 2017 - Managing multicloud environments
 
3 types of monitoring for 2020
3 types of monitoring for 20203 types of monitoring for 2020
3 types of monitoring for 2020
 
Anypoint new features_coimbatore_mule_meetup
Anypoint new features_coimbatore_mule_meetupAnypoint new features_coimbatore_mule_meetup
Anypoint new features_coimbatore_mule_meetup
 
Elite mindz introduction
Elite mindz introductionElite mindz introduction
Elite mindz introduction
 
EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?EliteMindz: Who are we? Where do we serve ? What are our products & services?
EliteMindz: Who are we? Where do we serve ? What are our products & services?
 
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdfServerless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdf
 
OSDC 2018 | From Monolith to Microservices by Paul Puschmann_
OSDC 2018 | From Monolith to Microservices by Paul Puschmann_OSDC 2018 | From Monolith to Microservices by Paul Puschmann_
OSDC 2018 | From Monolith to Microservices by Paul Puschmann_
 
DHANA_CV
DHANA_CVDHANA_CV
DHANA_CV
 
MuleSoft_Meetup_Datagraph and Async APIs.pptx.pdf
MuleSoft_Meetup_Datagraph and Async APIs.pptx.pdfMuleSoft_Meetup_Datagraph and Async APIs.pptx.pdf
MuleSoft_Meetup_Datagraph and Async APIs.pptx.pdf
 
Rrs
RrsRrs
Rrs
 
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureMRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
 
Custom Software Development
Custom Software DevelopmentCustom Software Development
Custom Software Development
 
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018
Streaming at Lyft, Gregory Fee, Seattle Flink Meetup, Jun 2018
 
DevOps for SAP CPI presentation
DevOps for SAP CPI presentationDevOps for SAP CPI presentation
DevOps for SAP CPI presentation
 
Dashboards, widgets, business views & 3D-data centre
Dashboards, widgets, business views & 3D-data centreDashboards, widgets, business views & 3D-data centre
Dashboards, widgets, business views & 3D-data centre
 

Mais de AWSCOMSUM

Mais de AWSCOMSUM (20)

Introducing AWS DeepRacer: David Smith
Introducing AWS DeepRacer: David SmithIntroducing AWS DeepRacer: David Smith
Introducing AWS DeepRacer: David Smith
 
Beyond serverless.pptx
Beyond serverless.pptxBeyond serverless.pptx
Beyond serverless.pptx
 
Will hall - Accelerating Infrastructure as Code and Configuration Management ...
Will hall - Accelerating Infrastructure as Code and Configuration Management ...Will hall - Accelerating Infrastructure as Code and Configuration Management ...
Will hall - Accelerating Infrastructure as Code and Configuration Management ...
 
Onur Salk & Onur Gurdamar - Everything as Code: Creating an application stack...
Onur Salk & Onur Gurdamar - Everything as Code: Creating an application stack...Onur Salk & Onur Gurdamar - Everything as Code: Creating an application stack...
Onur Salk & Onur Gurdamar - Everything as Code: Creating an application stack...
 
Nils Mohr & Jake Pearce - 100 years of flight data at British Airways. Past, ...
Nils Mohr & Jake Pearce - 100 years of flight data at British Airways. Past, ...Nils Mohr & Jake Pearce - 100 years of flight data at British Airways. Past, ...
Nils Mohr & Jake Pearce - 100 years of flight data at British Airways. Past, ...
 
Phil Basford - machine learning at scale with aws sage maker
Phil Basford - machine learning at scale with aws sage makerPhil Basford - machine learning at scale with aws sage maker
Phil Basford - machine learning at scale with aws sage maker
 
Mike fowler - Getting started with machine learning (london 2019)
Mike fowler - Getting started with machine learning (london 2019)Mike fowler - Getting started with machine learning (london 2019)
Mike fowler - Getting started with machine learning (london 2019)
 
Efi Merdler Kravitz - 7 things you should know before going serverless
Efi Merdler Kravitz - 7 things you should know before going serverlessEfi Merdler Kravitz - 7 things you should know before going serverless
Efi Merdler Kravitz - 7 things you should know before going serverless
 
Michelle Chismon - Anything is possible!* Learning with AWS DeepLens *But not...
Michelle Chismon - Anything is possible!* Learning with AWS DeepLens *But not...Michelle Chismon - Anything is possible!* Learning with AWS DeepLens *But not...
Michelle Chismon - Anything is possible!* Learning with AWS DeepLens *But not...
 
Bernd Rücker - Lost in transaction? Strategies to manage consistency in serve...
Bernd Rücker - Lost in transaction? Strategies to manage consistency in serve...Bernd Rücker - Lost in transaction? Strategies to manage consistency in serve...
Bernd Rücker - Lost in transaction? Strategies to manage consistency in serve...
 
Ben Bridts - $ aws help
Ben Bridts -  $ aws helpBen Bridts -  $ aws help
Ben Bridts - $ aws help
 
Richard pablo - IoT Provisioning Solving the nightmare
Richard pablo - IoT Provisioning Solving the nightmareRichard pablo - IoT Provisioning Solving the nightmare
Richard pablo - IoT Provisioning Solving the nightmare
 
Matt Houghton - AWS Comsum - October 2019
Matt Houghton - AWS Comsum - October 2019Matt Houghton - AWS Comsum - October 2019
Matt Houghton - AWS Comsum - October 2019
 
Bruno Amaro Almeida - What can aws tell us about fake and credible news medi...
Bruno Amaro Almeida -  What can aws tell us about fake and credible news medi...Bruno Amaro Almeida -  What can aws tell us about fake and credible news medi...
Bruno Amaro Almeida - What can aws tell us about fake and credible news medi...
 
Serhat Can- 4 keytakeaways from running serverless on production for 4 years
Serhat Can-  4 keytakeaways from running serverless on production for 4 yearsSerhat Can-  4 keytakeaways from running serverless on production for 4 years
Serhat Can- 4 keytakeaways from running serverless on production for 4 years
 
Stuart jones - Deconstructing the monolith. Migrating complex systems simply ...
Stuart jones - Deconstructing the monolith. Migrating complex systems simply ...Stuart jones - Deconstructing the monolith. Migrating complex systems simply ...
Stuart jones - Deconstructing the monolith. Migrating complex systems simply ...
 
Dwp achieving cloud adoption at enterprise scale | Diptesh Patel
Dwp achieving cloud adoption at enterprise scale | Diptesh PatelDwp achieving cloud adoption at enterprise scale | Diptesh Patel
Dwp achieving cloud adoption at enterprise scale | Diptesh Patel
 
RUNNING AWS LOCALLY
RUNNING AWS LOCALLY RUNNING AWS LOCALLY
RUNNING AWS LOCALLY
 
Multi accountstrategy | david lewthwaite
Multi accountstrategy | david lewthwaiteMulti accountstrategy | david lewthwaite
Multi accountstrategy | david lewthwaite
 
Serverless for Visual Journalism at the BBC | Doug Winter
Serverless for Visual Journalism at the BBC  |  Doug WinterServerless for Visual Journalism at the BBC  |  Doug Winter
Serverless for Visual Journalism at the BBC | Doug Winter
 

Último

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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...
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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...
 

Dan pudwell - AWS community summit-oct-2019

  • 1. How we Developed and ran a production application for under £100 (depending on exchange rate)
  • 2. Who are you? ● Developer/Architect for over 12 years ● Serverless NE Meetup ● Co-Founder Tech For Kids ● @dan_pudwell
  • 3. Agenda ● Concept ● Technology ● Architecture ● Build ● Bill
  • 4. The Concept - ADAPT ● Help disabled passengers when they need assistance at airports ● Help airports manage requests for assistance ● Approximately 5 months developing the alpha release, followed by a few weeks of trialling with users
  • 5.
  • 6. Users ● Passenger - requests assistance ● Assistant - provides assistance ● Coordinator - monitors requests, assigns
  • 7. Current Passenger Journey ● Call airport beforehand with travel arrangements ● Once arrived at airport, find a help desk and present yourself ● If mobility impaired they will take you to a holding area before going through security and then into another holding area until boarding for flight. ● There can be up to 7 handovers of passengers between Assistance Staff ● Cannot leave area without assistance (even if not required) so can’t shop or toilet
  • 8. New Passenger Journey ● Trigger geofence breach when passenger nearing airport. This puts passenger on the list for coordinators. ● Passenger requests assistance when needed. Coordinator is notified and UI is updated ● Coordinator assigns passenger assistant. ● Assistant can see where they are on integrated map and goes to passenger. ● Two way messaging between passenger and assistant.
  • 9. Technology ● AWS ○ Lambda, Dynamo, API Gateway, Cognito, S3, SES, CodeBuild, Cloudformation, SAM, Cloudwatch ● WebSockets and REST ● NoSQL (key-value) ● Push notifications (Android and browser with VAPID) ● Internal Mapping (3rd party) ● Serverless!
  • 10. What is Serverless? ● An architecture that allows developers to focus on business value instead of infrastructure management by using a cloud providers services. ● No server management (provisioning, O/S, patching, etc.) ● Auto-Scaling ● High Availability ● Pay for value Why?
  • 11. Architecture ● 3 microservices ○ adapt-apis, notifications, profiles ● AWS multi-account (for each service) ○ Staging and PR’s ○ Production ● WebSockets for real time updates to client ● CI and CD
  • 12.
  • 13.
  • 14. Bill by Account January February March April May June July Total notifications-staging 2.52 3.39 2.71 1.52 2.04 2.84 2.79 17.81 notifications-production 0.47 0.84 1.31 profiles-staging 1.60 1.41 1.99 1.87 1.48 8.35 profiles-production 0.04 0.49 0.82 1.35 adapt-staging 0.78 4.52 11.40 15.26 30.57 28.52 91.05 adapt-production 4.39 13.22 17.61 Monthly 2.52 4.17 8.83 14.33 19.33 40.63 47.67 137.48
  • 15.
  • 16. Bill by AWS Service CodeBuild 57.16 CloudWatch 24.97 Tax 22.85 ECR 19.25 S3 7.02 API Gateway 1.96 Dynamo 1.45 Route53 0.50 CloudFront 0.04 Lambda 0.01 Cognito 0.00
  • 17.
  • 18. Things We Learned ● Size limits on API Gateway and Lambda prevented large profile images going through. To solve this we ask S3 for a signed url the client can use to upload with. ● DynamoDB stream will constantly try failed lambdas preventing any new invocations. To solve this we catch all possible errors from the lambda and return appropriately. ● WebSockets are hard to automate in testing. To solve this we wrote and open sourced our own testing framework. ● Direct integration with API Gateway is possible but not recommended. Hard to write VTL without several attempts. Cannot test. ● Whilst NoSQL (DynamoDB) databases can be relational it is VERY hard. If you know your access patterns/queries this is a good choice. Otherwise SQL/relational offer more flexibility.
  • 19. Open Source ● Pywsitest ● aws-lambda-decorators - extract (from event or SSM) - validation of parameters - CORS - logging, exceptions, etc. ● aws-dynamodb-parser