Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

London HUG 8/3 - JustEat - Andrew Brown / Alberto Blanco

491 Aufrufe

Veröffentlicht am

Slides from JustEat's Andrew Brown and Alberto Blanco at the 1st London HashiCorp Meetup

Andrew - Core Platform using Consul & Packer
Alberto - Acquired Platforms using Terraform & Vagrant

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

London HUG 8/3 - JustEat - Andrew Brown / Alberto Blanco

  1. 1. HashiCorp at JUST EAT ANDREW BROWN - Senior Platform Engineer
  2. 2. Overview Core Platform - Using Consul & Packer Acquired Platforms - Terraform & Vagrant
  3. 3. • The world’s leading digital marketplace for takeaway food delivery • Operate in 13 markets around the globe • Platform peak ~ 2,500 orders per minute JUST EAT
  4. 4. TECHNOLOGY • Migrated to AWS (Amazon Web Services) 4 years ago • Run hundreds of Instances at peak - daily scaling to match demand • Heavily utilise CloudFormation
  5. 5. AWS - Setup • Multiple AWS Accounts • QA Daily Launch and Teardown • On average an instance less than 3 days old
  6. 6. Before Consul….. CONFIGURATION • JSON file bundled with application package • Deployment step to “Generate Config” SETTINGS • Feature settingsapi • key/values stored in DynamoDB
  7. 7. Before Consul….. SERVICE DISCOVERY? • DNS -> Endpoint of the Elastic Load Balancer • Hard-coded Ips
  8. 8. Consul Setup ● Consul Cluster per environment ● JSON config stored in GitHub in templated format ● Generator run via TeamCity ● Config committed to “Generated Repository”
  9. 9. After Consul…. • Instance joins the Consul Cluster during Deployment • Service registered on consul cluster • Consul-Template generates config files
  10. 10. Benefits of Consul • No need to cycle instances (seconds vs minutes) • PR to Github to change and validate Config • Consistent Config • UI - Platform and Health Overview
  11. 11. Consul MetaData • Recently launched a “Platform Consul Cluster” • MetaData Generated using same mechanism as Features • Powering other tools used in Just Eat
  12. 12. Finally…. Packer BAKED AMI (Amazon Machine Image) • All Dependencies Pre-installed • CloudFormation reduced (removed 500 lines of json) • Significantly reduced deployment time (Linux and Windows) • AMI ID pushed to Consul - Config now stores “AMI Name”
  13. 13. HashiCorp at Acquired Platforms ALBERTO BLANCO - Platform Developer
  14. 14. What we do?
  15. 15. Yes, correct! we acquire platforms
  16. 16. And we look after them too...
  17. 17. So we do...
  18. 18. What we value the most of Terraform ● Abstraction ● Infrastructure versioning ● A common language ● Lifecycle ● Dependency resolution
  19. 19. Starting for scratch
  20. 20. The three S’s Stability Scalability Security And also we want to keep releasing! And monitor it properly! to the cloud!
  21. 21. A reproducible deployment pipeline As much as cloud agnostic as we can Using Terraform as the base
  22. 22. How we deal with it Consul for config ...and tfstate files
  23. 23. How we deal with it On top of the base we put the rest
  24. 24. How we deal with it On top of the base we put the rest
  25. 25. How we deal with it On top of the base we put the rest
  26. 26. Here our tools... ● Terraform, the base ● Ansible for provisioning ● Capistrano for some deployments ● Consul for configs and tfstate ● Vagrant for local development ● Jenkins for orchestration
  27. 27. More HashiCorp to come for us... ● Packer for sharing artifacts and images between providers ● Vault for secrets
  28. 28. Any questions?
  29. 29. We are hiring! Come talk to us.
  30. 30. Thank you

×