design patterns for scalable apis based on docker

Post on 16-Apr-2017

108 Views

Category:

Software

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Design Patterns for Scalable APIs Based on Docker

@stoitsev

docker run ufaldsg/cloud-asr-api

https://www.dockerbook.com/

Class

Object

Image

Container

Map/Reduce

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

http://eng.uber.com/

Thanks

top related