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
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
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
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
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
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
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.
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.
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.