openfest 2016 - open microservice architecture

Download OpenFest 2016 - Open Microservice Architecture

Post on 08-Jan-2017

290 views

Category:

Software

0 download

Embed Size (px)

TRANSCRIPT

  • 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

    https://github.com/uber/ringpop-nodehttps://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

    https://github.com/etsy/statsdhttps://github.com/etsy/statsdhttps://github.com/uber/lynxhttps://github.com/uber/lynx

  • Monitoring is not enough

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

    http://levpolyakov.com

  • Thanks!