API Re-platforming @ Expedia Mariano Albera CTO @ Expedia Affiliate - - PowerPoint PPT Presentation

api re platforming expedia
SMART_READER_LITE
LIVE PREVIEW

API Re-platforming @ Expedia Mariano Albera CTO @ Expedia Affiliate - - PowerPoint PPT Presentation

API Re-platforming @ Expedia Mariano Albera CTO @ Expedia Affiliate Network @malbera Trusted brands. Shared Platform 600M+ monthly visits in 75+ countries 20k employees worldwide 90B usd yearly travel sales 10k affiliates 500M+ API


slide-1
SLIDE 1

API Re-platforming @ Expedia

Mariano Albera

CTO @ Expedia Affiliate Network @malbera

slide-2
SLIDE 2

Trusted brands. Shared Platform

slide-3
SLIDE 3

monthly visits in 75+ countries

600M+

employees worldwide

20k

yearly travel sales

90B usd

affiliates

10k

slide-4
SLIDE 4
slide-5
SLIDE 5

API hotel searches a day

500M+

EAN powered partners

1000

YOY growth

30%+

Awesome engineers in EU&US

200+

slide-6
SLIDE 6

A few of our Partners

slide-7
SLIDE 7
slide-8
SLIDE 8

Our re-platforming goals

High Performance & Scale Ease of Integration & fully traceable AWS Native Distributed Development at max Speed

slide-9
SLIDE 9

Our API design

HATEOS linked 
 transactions Global Standards 


(ISO 8601, 3166, 4217, BCP47)

Version in the URL RESTful + Client tokens

slide-10
SLIDE 10

Our API Architecture

MicroServices ( & 
 Serverless ) Different levels 


  • f orchestration

Event driven where 
 possible Single Responsibility 
 Principle

slide-11
SLIDE 11

Rapid Performance

2x faster response time 10x Faster deployment cycles 50% overall hosting cost reduction Significant improvement in traceability and support quality

slide-12
SLIDE 12

Lessons Learned

slide-13
SLIDE 13

Want to build great microservices ? Start with a Monolith…

slide-14
SLIDE 14

You don’t need to break everything at once

slide-15
SLIDE 15

Edge - Orchestration is key

Shop Search Book Cancel

Retrieve

API Look and Feel

Validate Authenticate Throttle Transform Route Respond

slide-16
SLIDE 16
  • Open sourced Styx in 2017
  • Used extensively across Expedia Inc

including Expedia.com and HomeAway

  • https://github.com/HotelsDotCom/styx
slide-17
SLIDE 17

Private vs Public contracts

  • Separate public API

schema from your internal contracts

  • Use your orchestrator to

avoid versioning every internal change

  • Keep the public API

immutable, evolve the internal services independently

Public facing schema Internal services & contracts

slide-18
SLIDE 18

Know your tradeoffs

Service Discovery

Make Eureka fault tolerant

VPC / Network Segmentation

Dedicated cloud infrastructure team

Network Constraints & Usage

Design for an imperfect network

Scaling Groups

The story of the DockerLith

slide-19
SLIDE 19

You can’t deliver fast if you build slow

  • If you are not

automating everything you are wasting time

  • “Just add code”
  • We deploy 300 features

a week ( 150% YOY )

slide-20
SLIDE 20

AWS native @ Expedia

AWS ECS AWS REDSHIFT REDIS

slide-21
SLIDE 21
slide-22
SLIDE 22
  • Vegas Rules
  • Service connections

fallback from Edge

  • Data consolidation

Splitting your Traffic

  • Watch your network

costs

slide-23
SLIDE 23
  • Open sourced Circus Train in

2016

  • Used extensively across 


Expedia Inc

  • https://github.com/HotelsDotCom/

circus-train

slide-24
SLIDE 24

Thank You

Mariano Albera

CTO @ Expedia Affiliate Network @malbera