Professional Documents
Culture Documents
Future!
and always will be
31 January 2017
1
Xoom.com
A little history
Digital remittance
Founded in 2001
Acquired bluekite.com in 2014
Acquired by PayPal in 2016
2
Xoom.com
A little history (translated)
3
Xoom.com
A little history (translated)
4
Xoom.com
A little history (translated)
5
Xoom.com
A little history (translated)
6
Throwing down the gauntlet
Break up the monolith(s)
Decouple teams
Reduce time to build and deploy
Understand our resource needs
Scale appropriately
7
Microservices to the rescue
Challenges and risks
8
Programming paradigms and idioms
Network operations
Circuit breakers
Aggressive timeouts
Retries
Throttles
API designs
RPC vs REST
Batch operations
Response code granularity
Contracts
Packaging
Metadata
Management uniform
9
Service discovery
The service-proxy solution
Host
Custom, local, layer seven load balancers App
App B
Zookeeper back-end A
Apache Curator
Registration, health checks, and routing
Service Portal Service-proxy
Integrating with linkerd.io
Zookeeper
10
Monitoring
Grafana and InfluxDB
11
Performance
Throughput and response latency
12
Infrastructure as code
13
Build and deploy pipeline
Git-flow
Branch per feature
Docker-flow
Container per branch
Seed jobs
Build job per branch
Automated and self service deployments
Dev and QA teams can choose branches to deploy and test
Fidelity of environments
Environment fidelity automation success
14
Build and deploy pipeline
15
Data ownership
Hard problem
Start eliminating cross-domain joins now
Two years on, we are just now migrating the last auth-server client from tables to APIs
Analytics becomes more complicated
16
Current status
17
Lessons learned
18
Questions
19
Josh Holtzman
jholtzman@paypal.com
20