Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Hailo H2 project board update

Hailo H2 project board update

A short presentation on Hailo's replatforming effort, presented at a Hailo board meeting sometime late 2013.

Dave Gardner

May 24, 2017
Tweet

More Decks by Dave Gardner

Other Decks in Technology

Transcript

  1. Hailo 2.0
    David Gardner, Architect at Hailo

    View Slide

  2. H1: November 2011

    View Slide

  3. PHP
    Cust
    API
    eu-west-1
    PHP
    Driver
    API
    Java
    Hailo
    Engine
    MySQL
    PHP
    Driver
    API
    PHP
    Driver
    API
    PHP
    Cust
    API
    PHP
    Cust
    API
    Load Balancer Load Balancer
    MySQL
    Redis

    View Slide

  4. H1.5: 2012

    View Slide

  5. PHP
    Cust
    API
    eu-west-1
    Java
    Hailo
    Engine
    MySQL
    PHP
    Driver
    API
    PHP
    Cust
    API
    PHP
    Cust
    API
    ELB ELB
    Java
    Hailo
    Engine
    PHP
    Driver
    API
    ELB
    MySQL
    Java
    Hailo
    Engine
    MySQL
    PHP
    Driver
    API
    ELB
    C* C* C*
    PHP
    Cust
    service
    PHP
    Credits
    service
    Java
    Pay
    service
    eu-west-1
    us-east-1

    View Slide

  6. View Slide

  7. ap-southeast-1 us-east-1 eu-west-1

    View Slide

  8. H2: 2013

    View Slide

  9. Utopia Dystopia
    Static
    Better
    Cheaper
    Sooner
    Dynamic
    Broken
    Inefficient

    View Slide

  10. Ambitions
    •  Provide a simple framework for us to build an efficient, resilient,
    second generation Hailo
    •  Allow Hailo to scale the business along three axis: adding features
    to our current business, adding cities and brand new stuff
    •  Solve pain points in our current architecture
    •  Be productive

    View Slide

  11. us-east-1
    C* C* C*
    eu-west-1
    ELB
    Go “Thin” API
    RabbitMQ Message Bus
    (federated clusters per AZ)
    Go
    Service
    Go
    Service
    Java
    Service
    C* C* C*
    ELB
    Go “Thin” API
    RabbitMQ Message Bus
    (federated clusters per AZ)
    Go
    Service
    Go
    Service
    Java
    Service

    View Slide

  12. Key features
    •  Lose PHP, adopt Go – gains in efficiency of developer time and
    compute resource
    •  Eliminate all SPOFs – adopt a cloud native approach to build a
    working whole out of ephemeral and often broken parts
    •  Scale engineering output in line with additional resource – services
    with few, clearly defined responsibilities reduce friction
    •  Increase reusability – develop features by composing fine-grained
    services that are agnostic to Hailo’s current operation

    View Slide

  13. Move fast: build a service in 30 minutes

    View Slide

  14. Move fast: reuse existing services to build features
    ETA
    Service
    Routing
    Service
    Phone
    Service
    Profile
    Service
    Login
    Service
    State
    Service
    Charge
    Service
    Near
    Drivers
    Service
    Tow
    Truck
    Service
    Restau-
    rant
    Service
    Place
    Service

    View Slide

  15. Move fast: simple global deployment

    View Slide

  16. View Slide

  17. Move fast: powerful tools for developer insight

    View Slide

  18. commit d7c74b6facd867a4755e0aab451daa6a4aa2ca84
    Author: Matt Oddie
    Date: Fri May 31 12:46:54 2013 +0100
    first commit
    June July Aug Sept Oct Nov Dec

    View Slide

  19. June July Aug Sept Oct Nov Dec
    July 26th
    Launch 9 services in production to handle
    driver location updates, bypassing H1 PHP

    View Slide

  20. June July Aug Sept Oct Nov Dec
    September 5th
    Launch 2 new services in production to power
    AB testing system.
    During the first week of operation this
    processes nearly 1B events.

    View Slide

  21. View Slide

  22. June July Aug Sept Oct Nov Dec
    September 27th
    First demonstration of “tech free city” driver
    registration completed in our test
    environment.
    Total H2 services now around 20.

    View Slide

  23. June July Aug Sept Oct Nov Dec
    November 8th
    First integration of the entire H2 job flow with
    the new Driver 2 app – entirely server
    configured.
    Total H2 services now around 60.

    View Slide

  24. View Slide

  25. June July Aug Sept Oct Nov Dec
    December 15th
    Alpha production release of tech-free city to
    Atlanta.

    View Slide