OpenFest 2016 - Open Microservice Architecture

Post on 08-Jan-2017

295 views 1 download

Transcript of OpenFest 2016 - Open Microservice Architecture

Open Microservice Architecture

@stoitsev

API

Components

Cities

Users

Payments

Products

Trips

Receipts

Services

Cities

Users

Payments

Products

Trips

Receipts

“Loosely coupled service oriented architecture with bounded contexts”

Adrian Cockcroft

Users

Products

Trips

Cities

Payments

Receipts

Deployment

Communication

Monitoring

Containers

cgroups

namespaces

https://github.com/docker/docker

Docker Swarm

https://github.com/docker/swarm

Kubernetes

https://github.com/kubernetes/kubernetes

Node Node

PodContainer

Container

Container

Container

Container Container

Container

Mesos

http://mesos.apache.org/

http://mesos.apache.org/documentation/latest/architecture/

Mesos at Uber

RPC → DCOM, CORBA → RMI → XML-RPC → SOAP → REST → REST,

Thrift

Thrift

https://thrift.apache.org/

Discovery

Etcd

https://github.com/coreos/etcd

etcd

etcd

Hyperbahn

https://github.com/uber/hyperbahn

Load balancing

Service

Pod Pod Pod PodUsers Users Users Users

Ringpop

https://github.com/uber/ringpop-node

Circuit breaking

Monitoring

What to monitor?● Success rate

● Error rate

● Response time - p95, p99

● RPS

● Queue size

● Memory usage

● Disk space usage

● ...

Business metrics!!!

Kafka hadoop ELK

statsd

https://github.com/etsy/statsd

https://github.com/uber/lynx

Monitoring is not enough

Illustration © Lev Polyakov, http://levpolyakov.com

Thanks!