• Save
AWS Summit London 2014 | Customer Stories | Just Eat
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

AWS Summit London 2014 | Customer Stories | Just Eat

on

  • 1,019 views

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.

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.

Statistics

Views

Total Views
1,019
Views on SlideShare
1,019
Embed Views
0

Actions

Likes
3
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

AWS Summit London 2014 | Customer Stories | Just Eat Presentation Transcript

  • 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. •  13 countries •  36,000 restaurants •  Nearly 6 million active accounts •  Nearly 1000 orders a minute at peak
  • 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. Saturday night in the UK •  http://live.just-eat.com
  • 5. Engineering goals High Availability Rapid Change
  • 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 stacks and teams Platform Services Websites and Apps APIs
  • 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. Inside a stack – Order API Platform Services Websites and Apps APIs
  • 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. 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. Demo: High availability (…or how not to have your Saturday night ruined)
  • 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. 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. 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. Meeting our goals with AWS •  We want teams that can focus on building new features that customers will love •  Treat infrastructure as code
  • 18. Order workflow Order placed Send to restaurant Accepted RefusedAnalysis Good Potential Issue Confirmation Email Text Message
  • 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. JustSaying •  Open source library for publishing and consuming events / messages over SNS •  https://github.com/justeat/
  • 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. 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. 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