design patterns for scalable apis based on docker
TRANSCRIPT
Design Patterns for Scalable APIs Based on Docker
@stoitsev
docker run ufaldsg/cloud-asr-api
Class
Object
Image
Container
Map/Reduce
https://www.usenix.org/node/196347
Single-node, multi-container Application patterns
Sidecar
Web server Log server
File System
Sidecar
Application Instance Translations Downloader
File System
Resource Isolation
Separate development
Easy and flexible composition
Failure containment
Ambassador
Web Server Ambasador
External App
External App
External App
Ambassador
Application Hyperbahn Instance
Hyperbahn Instance
Hyperbahn Instance
Hyperbahn Instance
https://github.com/uber-archive/hyperbahn
Easy to reason about
Easy to test
Reusable
Adapter
Application Monitoring Adapter Centralized monitoring system
Multi-node application patterns
Leader election
AppLeader election
container
AppLeader election
container
AppLeader election
container
AppLeader election
container
Simplifies the problem
Easy testing
Work queue
WorkerWork Execution
WorkerWork Execution
Work Coordinator
Simplification
Scatter/gather
MergeExecution
Work Execution
Work Execution
Root Work Execution
Idempotent
Pure
Composable
Thanks