SlideShare ist ein Scribd-Unternehmen logo
1 von 35
© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc.
Customer Story: JUST EAT
Daniel Richardson, Director of Engineering
30 APRIL 2014
• 13 countries
• 36,000 restaurants
• Nearly 6 million active
accounts
• Nearly 1000 orders a
minute at peak
What we use
Amazon EC2 Amazon EMR Amazon
Route 53
Elastic Load
Balancing
AWS
Direct Connect
Amazon VPC Auto Scaling
Amazon S3 Amazon EBS Amazon Glacier CloudFront DynamoDB Amazon RDS Amazon SimpleDB Amazon Redshift
CloudWatch AWS Data Pipeline
AWS
CloudFormation
IAM Amazon SES Amazon SNS Amazon SQS Amazon SWF
Engineering goals
High Availability Rapid Change
How we meet our goals
Teams
• Small
• Independent
• Responsible from
development to live
• Focused on features for
consumers and
restaurants
Architecture
• Small components
• Loosely coupled
• Highly available
• Designed for failure
• Infrastructure as code
Meeting our goals with AWS
• We want small,
independent teams
that own loosely
coupled components
• Separate platform into
many CloudFormation
stacks
CloudFormation
• Create and manage a set of related AWS
resources
• Define resources in template using JSON
– Easy to inspect and validate
– Easy to consume and generate
– Easy to diff and source control
• CloudFormation creates a running stack from
template and manages the lifecycle of resources
CloudFormation stacks and teams
Platform
Services
Websites
and Apps
APIs
Meeting our goals with AWS
• We want teams to
take responsibility for
the high availability of
their components
• Make use of highly
available building
blocks
Auto Scaling
Amazon
Route 53
Elastic Load
Balancing Amazon S3 Amazon EBS Amazon Glacier DynamoDB Amazon RDS
Amazon SES Amazon SNS Amazon SQS
Inside a stack – Order API
Platform
Services
Websites
and Apps
APIs
Inside a stack – Order API
Auto Scaling group
eu-west-1a
eu-west-1b
eu-west-1c
Amazon S3
bucket
Amazon DynamoDB
table
Amazon SQS queue
Amazon SNS topic
Elastic Load Balancer
Route53 hosted zone
Launching a stack – Order API
• CloudFormation template is generated as output
• The template defines the entire stack
• CloudFormation generates resources defined in template
and manages their lifecycle
• Running stack
• Ruby command line utility takes information about the
feature as parameters
• Combines component-specific requirements with common
resources, standards and best practices
EnvMan
Template
Stack
Demo: High availability (…or
how avoid having your
Saturday night ruined)
Restaurant Devices
High availability
Auto Scaling group
eu-west-1a
eu-west-1b
eu-west-1c
Elastic Load Balancer
Performs health checks
JCT devices in
restaurants
Active
Backup
Devices connect to Elastic IP Address
Let’s break something
High availability
Auto Scaling group
eu-west-1a
eu-west-1b
eu-west-1c
Elastic Load Balancer
Performs health checks
JCT devices in
restaurants
Active
Backup
Devices connect to Elastic IP Address
High availability
Auto Scaling group
eu-west-1a
eu-west-1b
eu-west-1c
JCT devices in
restaurants
Backup
StackMan
Elastic Load Balancer
Performs health checks
High availability
Auto Scaling group
eu-west-1a
eu-west-1b
eu-west-1c
JCT devices in
restaurants
Active
Backup
StackMan
Elastic Load Balancer
Performs health checks
Did it work?
Meeting our goals with AWS
• We want teams that
can focus on building
new features that
customers will love
• Treat infrastructure as
code
Order workflow
Order placed
Send to
restaurant
Accepted
RefusedAnalysis
Good
Potential
Issue
Email
confirmation
Send text
message
Order workflow
Order placed
Send to
restaurant
Accepted
RefusedAnalysis
Good
Potential
Issue
Email
confirmation
Send text
message
Amazon SNS Amazon SQS
Order workflow
Orders
Analysis
Potential
issue
Good
Send to
restaurant
Accepted
Refused
Confirmation
email
Text
message
Order workflow
Orders
Analysis
Potential
issue
Good
Send to
restaurant
Accepted
Refused
Confirmation
email
Text
message
Order workflow
Orders
Analysis
Potential
issue
Good
Send to
restaurant
Accepted
Refused
Confirmation
email
Text
message
Publish message to
topic
Other parts of
the platform can
subscribe
JustSaying
• Open source library for publishing and
consuming events / messages over SNS
• Create SNS topics at runtime in code but
expressed as business rules
• Download next month: http://github.com/justeat/
JustSaying
public class OrderAccepted : Message {
public OrderAccepted(int orderId) { OrderId = orderId; }
public int OrderId { get; private set; }
}
var publisher = FluentNotificationStack.Register(configuration => {
configuration.Component = Component.OrderValidator;
configuration.PublishFailureReAttempts = 3;
})
.WithSnsMessagePublisher<OrderAccepted>("OrderProcessing");
publisher.Publish(new OrderAccepted(7349753));
AWS allows us to meet out goals
Engineering goals
• Small, independent teams
that own loosely coupled
components
• Teams take responsibility
for high availability of their
components
• Teams that can focus on
building new features that
customers will love
AWS
• Separate platform into
many CloudFormation
stacks
• Make use of highly
available building blocks
• Treat infrastructure as
code
Find out more
• Blog – http://tech.just-eat.com
• Open source - https://github.com/justeat
• Yes, we’re hiring - http://tech.just-eat.com/jobs
• Come and talk to us later – look for the t-shirts

Weitere ähnliche Inhalte

Was ist angesagt?

Aws 101 A walk-through the aws cloud (2013)
Aws 101  A walk-through the aws cloud (2013)Aws 101  A walk-through the aws cloud (2013)
Aws 101 A walk-through the aws cloud (2013)Martin Yan
 
AWS Presentation
AWS PresentationAWS Presentation
AWS Presentationjlechowicz
 
Day 1 - Introduction to Cloud Computing with Amazon Web Services
Day 1 - Introduction to Cloud Computing with Amazon Web ServicesDay 1 - Introduction to Cloud Computing with Amazon Web Services
Day 1 - Introduction to Cloud Computing with Amazon Web ServicesAmazon Web Services
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web ServicesRobert Greiner
 
AWS 101, London - September 2014
AWS 101, London - September 2014AWS 101, London - September 2014
AWS 101, London - September 2014Ian Massingham
 
AWS May 2016 Webinar Series - AWS Services Overview
AWS May 2016 Webinar Series - AWS Services OverviewAWS May 2016 Webinar Series - AWS Services Overview
AWS May 2016 Webinar Series - AWS Services OverviewAmazon Web Services
 
AWS Fundamentals @Back2School by CloudZone
AWS Fundamentals @Back2School by CloudZoneAWS Fundamentals @Back2School by CloudZone
AWS Fundamentals @Back2School by CloudZoneIdan Tohami
 
Intro to AWS: Amazon EC2 and Compute Services
Intro to AWS: Amazon EC2 and Compute ServicesIntro to AWS: Amazon EC2 and Compute Services
Intro to AWS: Amazon EC2 and Compute ServicesAmazon Web Services
 
Introduction to Amazon Web Services (AWS)
Introduction to Amazon Web Services (AWS)Introduction to Amazon Web Services (AWS)
Introduction to Amazon Web Services (AWS)Garvit Anand
 
Building and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K usersBuilding and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K usersAmazon Web Services
 
Moving your Desktops to the Cloud with Amazon WorkSpaces
Moving your Desktops to the Cloud with Amazon WorkSpacesMoving your Desktops to the Cloud with Amazon WorkSpaces
Moving your Desktops to the Cloud with Amazon WorkSpacesAmazon Web Services
 
Aws concepts-power-point-slides
Aws concepts-power-point-slidesAws concepts-power-point-slides
Aws concepts-power-point-slidesSushil Thapa
 
AWS Summit - Brisbane 2014 - Keynote
AWS Summit - Brisbane 2014 - KeynoteAWS Summit - Brisbane 2014 - Keynote
AWS Summit - Brisbane 2014 - KeynoteAmazon Web Services
 

Was ist angesagt? (20)

Aws 101 A walk-through the aws cloud (2013)
Aws 101  A walk-through the aws cloud (2013)Aws 101  A walk-through the aws cloud (2013)
Aws 101 A walk-through the aws cloud (2013)
 
AWS Presentation
AWS PresentationAWS Presentation
AWS Presentation
 
Day 1 - Introduction to Cloud Computing with Amazon Web Services
Day 1 - Introduction to Cloud Computing with Amazon Web ServicesDay 1 - Introduction to Cloud Computing with Amazon Web Services
Day 1 - Introduction to Cloud Computing with Amazon Web Services
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web Services
 
AWS Overview
AWS Overview AWS Overview
AWS Overview
 
AWS 101, London - September 2014
AWS 101, London - September 2014AWS 101, London - September 2014
AWS 101, London - September 2014
 
AWS May 2016 Webinar Series - AWS Services Overview
AWS May 2016 Webinar Series - AWS Services OverviewAWS May 2016 Webinar Series - AWS Services Overview
AWS May 2016 Webinar Series - AWS Services Overview
 
AWS Fundamentals @Back2School by CloudZone
AWS Fundamentals @Back2School by CloudZoneAWS Fundamentals @Back2School by CloudZone
AWS Fundamentals @Back2School by CloudZone
 
AWS for Startups
AWS for StartupsAWS for Startups
AWS for Startups
 
Intro to AWS: Amazon EC2 and Compute Services
Intro to AWS: Amazon EC2 and Compute ServicesIntro to AWS: Amazon EC2 and Compute Services
Intro to AWS: Amazon EC2 and Compute Services
 
Introduction to Amazon Web Services (AWS)
Introduction to Amazon Web Services (AWS)Introduction to Amazon Web Services (AWS)
Introduction to Amazon Web Services (AWS)
 
Building and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K usersBuilding and Managing Scalable Applications on AWS: 1 to 500K users
Building and Managing Scalable Applications on AWS: 1 to 500K users
 
Moving your Desktops to the Cloud with Amazon WorkSpaces
Moving your Desktops to the Cloud with Amazon WorkSpacesMoving your Desktops to the Cloud with Amazon WorkSpaces
Moving your Desktops to the Cloud with Amazon WorkSpaces
 
AWS Cloud School Next Steps
AWS Cloud School Next StepsAWS Cloud School Next Steps
AWS Cloud School Next Steps
 
Startup Best Practices on AWS
Startup Best Practices on AWSStartup Best Practices on AWS
Startup Best Practices on AWS
 
Technical Track
Technical TrackTechnical Track
Technical Track
 
Aws concepts-power-point-slides
Aws concepts-power-point-slidesAws concepts-power-point-slides
Aws concepts-power-point-slides
 
AWS Overview in a Single Diagram
AWS Overview in a Single DiagramAWS Overview in a Single Diagram
AWS Overview in a Single Diagram
 
AWS 101
AWS 101AWS 101
AWS 101
 
AWS Summit - Brisbane 2014 - Keynote
AWS Summit - Brisbane 2014 - KeynoteAWS Summit - Brisbane 2014 - Keynote
AWS Summit - Brisbane 2014 - Keynote
 

Andere mochten auch

AWS Enterprise Day | Running Critical Business Applications on AWS
AWS Enterprise Day | Running Critical Business Applications on AWSAWS Enterprise Day | Running Critical Business Applications on AWS
AWS Enterprise Day | Running Critical Business Applications on AWSAmazon Web Services
 
Using Amazon RDS to power enterprise applications (Peoplesoft)
Using Amazon RDS to power enterprise applications (Peoplesoft) Using Amazon RDS to power enterprise applications (Peoplesoft)
Using Amazon RDS to power enterprise applications (Peoplesoft) Tom Laszewski
 
AWS CloudFormation template with single & redundant system
AWS CloudFormation template with single & redundant systemAWS CloudFormation template with single & redundant system
AWS CloudFormation template with single & redundant systemNaoya Hashimoto
 
From One to Many: Evolving VPC Design
From One to Many: Evolving VPC DesignFrom One to Many: Evolving VPC Design
From One to Many: Evolving VPC DesignAmazon Web Services
 
AWS 101: Introduction to AWS
AWS 101: Introduction to AWSAWS 101: Introduction to AWS
AWS 101: Introduction to AWSIan Massingham
 
AWS Webcast - Getting Started with Amazon Web Services
AWS Webcast - Getting Started with Amazon Web ServicesAWS Webcast - Getting Started with Amazon Web Services
AWS Webcast - Getting Started with Amazon Web ServicesAmazon Web Services
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web ServicesAmazon Web Services
 

Andere mochten auch (7)

AWS Enterprise Day | Running Critical Business Applications on AWS
AWS Enterprise Day | Running Critical Business Applications on AWSAWS Enterprise Day | Running Critical Business Applications on AWS
AWS Enterprise Day | Running Critical Business Applications on AWS
 
Using Amazon RDS to power enterprise applications (Peoplesoft)
Using Amazon RDS to power enterprise applications (Peoplesoft) Using Amazon RDS to power enterprise applications (Peoplesoft)
Using Amazon RDS to power enterprise applications (Peoplesoft)
 
AWS CloudFormation template with single & redundant system
AWS CloudFormation template with single & redundant systemAWS CloudFormation template with single & redundant system
AWS CloudFormation template with single & redundant system
 
From One to Many: Evolving VPC Design
From One to Many: Evolving VPC DesignFrom One to Many: Evolving VPC Design
From One to Many: Evolving VPC Design
 
AWS 101: Introduction to AWS
AWS 101: Introduction to AWSAWS 101: Introduction to AWS
AWS 101: Introduction to AWS
 
AWS Webcast - Getting Started with Amazon Web Services
AWS Webcast - Getting Started with Amazon Web ServicesAWS Webcast - Getting Started with Amazon Web Services
AWS Webcast - Getting Started with Amazon Web Services
 
Introduction to Amazon Web Services
Introduction to Amazon Web ServicesIntroduction to Amazon Web Services
Introduction to Amazon Web Services
 

Ähnlich wie AWS Summit London 2014 - JUST EAT - High Availability and Rapid Change

AWS Summit London 2014 | Customer Stories | Just Eat
AWS Summit London 2014 | Customer Stories | Just EatAWS Summit London 2014 | Customer Stories | Just Eat
AWS Summit London 2014 | Customer Stories | Just EatAmazon Web Services
 
AWS Sydney Summit 2013 - Architecting for High Availability
AWS Sydney Summit 2013 - Architecting for High AvailabilityAWS Sydney Summit 2013 - Architecting for High Availability
AWS Sydney Summit 2013 - Architecting for High AvailabilityAmazon Web Services
 
re:Invent recap session 2: Being well Architected in the cloud
re:Invent recap session 2: Being well Architected in the cloudre:Invent recap session 2: Being well Architected in the cloud
re:Invent recap session 2: Being well Architected in the cloudAmazon Web Services
 
Introducing Database Offerings on AWS - Technical 101
Introducing Database Offerings on AWS - Technical 101Introducing Database Offerings on AWS - Technical 101
Introducing Database Offerings on AWS - Technical 101Amazon Web Services
 
Being Well Architected in the Cloud
Being Well Architected in the CloudBeing Well Architected in the Cloud
Being Well Architected in the CloudAdrian Hornsby
 
Wicked rugby
Wicked rugbyWicked rugby
Wicked rugbyDklumb4
 
Module 3: Building in the cloud - AWSome Day Online Conference 2019
Module 3: Building in the cloud - AWSome Day Online Conference 2019Module 3: Building in the cloud - AWSome Day Online Conference 2019
Module 3: Building in the cloud - AWSome Day Online Conference 2019Amazon Web Services
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersAmazon Web Services
 
Running Business Critical Workloads on AWS – Nam Je Cho
Running Business Critical Workloads on AWS – Nam Je ChoRunning Business Critical Workloads on AWS – Nam Je Cho
Running Business Critical Workloads on AWS – Nam Je ChoAmazon Web Services
 
Aws webcast - Scaling on AWS 13 08-20
Aws webcast - Scaling on AWS 13 08-20Aws webcast - Scaling on AWS 13 08-20
Aws webcast - Scaling on AWS 13 08-20Amazon Web Services
 
Escalando hasta sus primeros 10 millones de usuarios
Escalando hasta sus primeros 10 millones de usuariosEscalando hasta sus primeros 10 millones de usuarios
Escalando hasta sus primeros 10 millones de usuariosAmazon Web Services LATAM
 
Expanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureExpanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureAmazon Web Services
 
Expanding your Data Center with Hybrid Cloud Infrastructure
Expanding your Data Center with Hybrid Cloud InfrastructureExpanding your Data Center with Hybrid Cloud Infrastructure
Expanding your Data Center with Hybrid Cloud InfrastructureAmazon Web Services
 
Aws webinar may 2013 designing for failure
Aws webinar may 2013   designing for failureAws webinar may 2013   designing for failure
Aws webinar may 2013 designing for failureAmazon Web Services
 
Scaling up to Your First 10 Million Users
Scaling up to Your First 10 Million UsersScaling up to Your First 10 Million Users
Scaling up to Your First 10 Million UsersAmazon Web Services
 
AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)Amazon Web Services
 
What is Amazon Web Services & How to Start to deploy your apps ?
What is Amazon Web Services & How to Start to deploy your apps ?What is Amazon Web Services & How to Start to deploy your apps ?
What is Amazon Web Services & How to Start to deploy your apps ?Sébastien ☁ Stormacq
 
Escalando hasta sus primeros 10 millones de usuarios
Escalando hasta sus primeros 10 millones de usuariosEscalando hasta sus primeros 10 millones de usuarios
Escalando hasta sus primeros 10 millones de usuariosAmazon Web Services LATAM
 
Introduction to AWS Database Services
Introduction to AWS Database ServicesIntroduction to AWS Database Services
Introduction to AWS Database ServicesAmazon Web Services
 

Ähnlich wie AWS Summit London 2014 - JUST EAT - High Availability and Rapid Change (20)

AWS Summit London 2014 | Customer Stories | Just Eat
AWS Summit London 2014 | Customer Stories | Just EatAWS Summit London 2014 | Customer Stories | Just Eat
AWS Summit London 2014 | Customer Stories | Just Eat
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 
AWS Sydney Summit 2013 - Architecting for High Availability
AWS Sydney Summit 2013 - Architecting for High AvailabilityAWS Sydney Summit 2013 - Architecting for High Availability
AWS Sydney Summit 2013 - Architecting for High Availability
 
re:Invent recap session 2: Being well Architected in the cloud
re:Invent recap session 2: Being well Architected in the cloudre:Invent recap session 2: Being well Architected in the cloud
re:Invent recap session 2: Being well Architected in the cloud
 
Introducing Database Offerings on AWS - Technical 101
Introducing Database Offerings on AWS - Technical 101Introducing Database Offerings on AWS - Technical 101
Introducing Database Offerings on AWS - Technical 101
 
Being Well Architected in the Cloud
Being Well Architected in the CloudBeing Well Architected in the Cloud
Being Well Architected in the Cloud
 
Wicked rugby
Wicked rugbyWicked rugby
Wicked rugby
 
Module 3: Building in the cloud - AWSome Day Online Conference 2019
Module 3: Building in the cloud - AWSome Day Online Conference 2019Module 3: Building in the cloud - AWSome Day Online Conference 2019
Module 3: Building in the cloud - AWSome Day Online Conference 2019
 
Scaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million UsersScaling on AWS for the First 10 Million Users
Scaling on AWS for the First 10 Million Users
 
Running Business Critical Workloads on AWS – Nam Je Cho
Running Business Critical Workloads on AWS – Nam Je ChoRunning Business Critical Workloads on AWS – Nam Je Cho
Running Business Critical Workloads on AWS – Nam Je Cho
 
Aws webcast - Scaling on AWS 13 08-20
Aws webcast - Scaling on AWS 13 08-20Aws webcast - Scaling on AWS 13 08-20
Aws webcast - Scaling on AWS 13 08-20
 
Escalando hasta sus primeros 10 millones de usuarios
Escalando hasta sus primeros 10 millones de usuariosEscalando hasta sus primeros 10 millones de usuarios
Escalando hasta sus primeros 10 millones de usuarios
 
Expanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud InfrastructureExpanding Your Data Center with Hybrid Cloud Infrastructure
Expanding Your Data Center with Hybrid Cloud Infrastructure
 
Expanding your Data Center with Hybrid Cloud Infrastructure
Expanding your Data Center with Hybrid Cloud InfrastructureExpanding your Data Center with Hybrid Cloud Infrastructure
Expanding your Data Center with Hybrid Cloud Infrastructure
 
Aws webinar may 2013 designing for failure
Aws webinar may 2013   designing for failureAws webinar may 2013   designing for failure
Aws webinar may 2013 designing for failure
 
Scaling up to Your First 10 Million Users
Scaling up to Your First 10 Million UsersScaling up to Your First 10 Million Users
Scaling up to Your First 10 Million Users
 
AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)AWS Summit London 2014 | Deployment Done Right (300)
AWS Summit London 2014 | Deployment Done Right (300)
 
What is Amazon Web Services & How to Start to deploy your apps ?
What is Amazon Web Services & How to Start to deploy your apps ?What is Amazon Web Services & How to Start to deploy your apps ?
What is Amazon Web Services & How to Start to deploy your apps ?
 
Escalando hasta sus primeros 10 millones de usuarios
Escalando hasta sus primeros 10 millones de usuariosEscalando hasta sus primeros 10 millones de usuarios
Escalando hasta sus primeros 10 millones de usuarios
 
Introduction to AWS Database Services
Introduction to AWS Database ServicesIntroduction to AWS Database Services
Introduction to AWS Database Services
 

Kürzlich hochgeladen

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 

Kürzlich hochgeladen (20)

DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 

AWS Summit London 2014 - JUST EAT - High Availability and Rapid Change

  • 1. © 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or in part without the express consent of Amazon.com, Inc. Customer Story: JUST EAT Daniel Richardson, Director of Engineering 30 APRIL 2014
  • 2.
  • 3. • 13 countries • 36,000 restaurants • Nearly 6 million active accounts • Nearly 1000 orders a minute at peak
  • 4. What we use Amazon EC2 Amazon EMR Amazon Route 53 Elastic Load Balancing AWS Direct Connect Amazon VPC Auto Scaling Amazon S3 Amazon EBS Amazon Glacier CloudFront DynamoDB Amazon RDS Amazon SimpleDB Amazon Redshift CloudWatch AWS Data Pipeline AWS CloudFormation IAM Amazon SES Amazon SNS Amazon SQS Amazon SWF
  • 6. How we meet our goals Teams • Small • Independent • Responsible from development to live • Focused on features for consumers and restaurants Architecture • Small components • Loosely coupled • Highly available • Designed for failure • Infrastructure as code
  • 7. Meeting our goals with AWS • We want small, independent teams that own loosely coupled components • Separate platform into many CloudFormation stacks
  • 8. CloudFormation • Create and manage a set of related AWS resources • Define resources in template using JSON – Easy to inspect and validate – Easy to consume and generate – Easy to diff and source control • CloudFormation creates a running stack from template and manages the lifecycle of resources
  • 9. CloudFormation stacks and teams Platform Services Websites and Apps APIs
  • 10. Meeting our goals with AWS • We want teams to take responsibility for the high availability of their components • Make use of highly available building blocks Auto Scaling Amazon Route 53 Elastic Load Balancing Amazon S3 Amazon EBS Amazon Glacier DynamoDB Amazon RDS Amazon SES Amazon SNS Amazon SQS
  • 11. Inside a stack – Order API Platform Services Websites and Apps APIs
  • 12. Inside a stack – Order API Auto Scaling group eu-west-1a eu-west-1b eu-west-1c Amazon S3 bucket Amazon DynamoDB table Amazon SQS queue Amazon SNS topic Elastic Load Balancer Route53 hosted zone
  • 13. Launching a stack – Order API • CloudFormation template is generated as output • The template defines the entire stack • CloudFormation generates resources defined in template and manages their lifecycle • Running stack • Ruby command line utility takes information about the feature as parameters • Combines component-specific requirements with common resources, standards and best practices EnvMan Template Stack
  • 14. Demo: High availability (…or how avoid having your Saturday night ruined)
  • 16. High availability Auto Scaling group eu-west-1a eu-west-1b eu-west-1c Elastic Load Balancer Performs health checks JCT devices in restaurants Active Backup Devices connect to Elastic IP Address
  • 18.
  • 19.
  • 20.
  • 21. High availability Auto Scaling group eu-west-1a eu-west-1b eu-west-1c Elastic Load Balancer Performs health checks JCT devices in restaurants Active Backup Devices connect to Elastic IP Address
  • 22. High availability Auto Scaling group eu-west-1a eu-west-1b eu-west-1c JCT devices in restaurants Backup StackMan Elastic Load Balancer Performs health checks
  • 23. High availability Auto Scaling group eu-west-1a eu-west-1b eu-west-1c JCT devices in restaurants Active Backup StackMan Elastic Load Balancer Performs health checks
  • 25.
  • 26. Meeting our goals with AWS • We want teams that can focus on building new features that customers will love • Treat infrastructure as code
  • 27. Order workflow Order placed Send to restaurant Accepted RefusedAnalysis Good Potential Issue Email confirmation Send text message
  • 28. Order workflow Order placed Send to restaurant Accepted RefusedAnalysis Good Potential Issue Email confirmation Send text message Amazon SNS Amazon SQS
  • 32. JustSaying • Open source library for publishing and consuming events / messages over SNS • Create SNS topics at runtime in code but expressed as business rules • Download next month: http://github.com/justeat/
  • 33. JustSaying public class OrderAccepted : Message { public OrderAccepted(int orderId) { OrderId = orderId; } public int OrderId { get; private set; } } var publisher = FluentNotificationStack.Register(configuration => { configuration.Component = Component.OrderValidator; configuration.PublishFailureReAttempts = 3; }) .WithSnsMessagePublisher<OrderAccepted>("OrderProcessing"); publisher.Publish(new OrderAccepted(7349753));
  • 34. AWS allows us to meet out goals Engineering goals • Small, independent teams that own loosely coupled components • Teams take responsibility for high availability of their components • Teams that can focus on building new features that customers will love AWS • Separate platform into many CloudFormation stacks • Make use of highly available building blocks • Treat infrastructure as code
  • 35. Find out more • Blog – http://tech.just-eat.com • Open source - https://github.com/justeat • Yes, we’re hiring - http://tech.just-eat.com/jobs • Come and talk to us later – look for the t-shirts