© 2014 Amazon.com, Inc. and its affiliates. All rights reserved. May not be copied, modified, or distributed in whole or i...
•  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
Am...
Saturday night in the UK
•  http://live.just-eat.com
Engineering goals
High Availability Rapid Change
How we meet our goals
Teams
•  Small
•  Independent
•  Responsible from
development to live
•  Focused on features for
con...
Meeting our goals with AWS
•  We want small,
independent teams
that own loosely
coupled components
•  Separate platform in...
CloudFormation stacks and teams
Platform
Services
Websites
and Apps
APIs
Meeting our goals with AWS
•  We want teams to
take responsibility for
high availability of
their components
•  Make use o...
Inside a stack – Order API
Platform
Services
Websites
and Apps
APIs
Launching a stack – Order API
•  CloudFormation template is generated as output
•  The template defines the entire stack
•...
Inside a stack – Order API
Auto Scaling group
eu-west-1a
eu-west-1b
eu-west-1c
Amazon S3 bucket
Amazon DynamoDB table
Amaz...
Demo: High availability (…or
how not to have your Saturday
night ruined)
High availability
Auto Scaling group
eu-west-1a
eu-west-1b
eu-west-1c
Elastic Load Balancer

Performs health checks
JCT de...
High availability
Auto Scaling group
eu-west-1a
eu-west-1b
eu-west-1c
Elastic Load Balancer

Performs health checks
JCT de...
High availability
Auto Scaling group
eu-west-1a
eu-west-1b
eu-west-1c
Elastic Load Balancer

Performs health checks
JCT de...
Meeting our goals with AWS
•  We want teams that
can focus on building
new features that
customers will love
•  Treat infr...
Order workflow
Order placed
Send to
restaurant
Accepted
RefusedAnalysis
Good
Potential Issue
Confirmation
Email
Text Messa...
Order workflow
Orders
Analysis
Potential
issue
Good
Send to
restaurant
Accepted
Refused
Confirmation
email
Text
message
Pu...
JustSaying
•  Open source library for publishing and
consuming events / messages over SNS
•  https://github.com/justeat/
JustSaying
public class OrderAccepted : Message {
public OrderAccepted(int orderId) { OrderId = orderId; }
public int Orde...
AWS allows us to meet our goals
•  Small teams that own loosely coupled
components
•  Teams take responsibility for high a...
Find out more
•  Blog – http://tech.just-eat.com
•  Open source - https://github.com/justeat
•  Yes, we’re hiring - http:/...
Upcoming SlideShare
Loading in...5
×

AWS Summit London 2014 | Customer Stories | Just Eat

885

Published on

Nearly 1,000 takeaways ordered a minute from hungry consumers, with near real time confirmation from restaurants and delivery of their food just 45 minutes later is a hard technical challenge.

AWS allows the many small engineering teams at JUST EAT to take responsibility to meet that challenge, as they build and operate a platform that delivers a takeaway experience for consumers to love.

Learn how we migrated our e-commerce platform to AWS and organise both our platform and teams around the the twin goals of rapid change and high availability. Watch as during the session we deploy changes and break things live in production, and see how the JUST EAT platform is designed around AWS to recover quickly and automatically.

Published in: Technology, Business
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
885
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

AWS Summit London 2014 | Customer Stories | Just Eat

  1. 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. 2. •  13 countries •  36,000 restaurants •  Nearly 6 million active accounts •  Nearly 1000 orders a minute at peak
  3. 3. 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
  4. 4. Saturday night in the UK •  http://live.just-eat.com
  5. 5. Engineering goals High Availability Rapid Change
  6. 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. 7. Meeting our goals with AWS •  We want small, independent teams that own loosely coupled components •  Separate platform into many CloudFormation stacks
  8. 8. CloudFormation stacks and teams Platform Services Websites and Apps APIs
  9. 9. Meeting our goals with AWS •  We want teams to take responsibility for 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
  10. 10. Inside a stack – Order API Platform Services Websites and Apps APIs
  11. 11. Launching a stack – Order API •  CloudFormation template is generated as output •  The template defines the entire stack •  CloudFormation generates resources defined in template •  Running stack •  Ruby command line utility takes information about the feature as parameters
  12. 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 IAM role Elastic Load Balancer Route53 hosted zone
  13. 13. Demo: High availability (…or how not to have your Saturday night ruined)
  14. 14. 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 instance Backup instance Devices connect to Elastic IP Address
  15. 15. High availability Auto Scaling group eu-west-1a eu-west-1b eu-west-1c Elastic Load Balancer
 Performs health checks JCT devices in restaurants Backup instance
  16. 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 instance Backup instance
  17. 17. Meeting our goals with AWS •  We want teams that can focus on building new features that customers will love •  Treat infrastructure as code
  18. 18. Order workflow Order placed Send to restaurant Accepted RefusedAnalysis Good Potential Issue Confirmation Email Text Message
  19. 19. 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
  20. 20. JustSaying •  Open source library for publishing and consuming events / messages over SNS •  https://github.com/justeat/
  21. 21. 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));
  22. 22. AWS allows us to meet our goals •  Small 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
  23. 23. 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

×