openfest 2016 - open microservice architecture
TRANSCRIPT
![Page 1: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/1.jpg)
Open Microservice Architecture
@stoitsev
![Page 2: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/2.jpg)
![Page 3: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/3.jpg)
API
![Page 4: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/4.jpg)
Components
Cities
Users
Payments
Products
Trips
Receipts
![Page 5: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/5.jpg)
Services
Cities
Users
Payments
Products
Trips
Receipts
![Page 6: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/6.jpg)
“Loosely coupled service oriented architecture with bounded contexts”
Adrian Cockcroft
![Page 7: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/7.jpg)
Users
Products
Trips
Cities
Payments
Receipts
![Page 8: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/8.jpg)
Deployment
Communication
Monitoring
![Page 9: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/9.jpg)
Containers
![Page 10: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/10.jpg)
![Page 11: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/11.jpg)
cgroups
![Page 12: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/12.jpg)
namespaces
![Page 13: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/13.jpg)
https://github.com/docker/docker
![Page 14: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/14.jpg)
Docker Swarm
https://github.com/docker/swarm
![Page 15: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/15.jpg)
Kubernetes
https://github.com/kubernetes/kubernetes
![Page 16: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/16.jpg)
Node Node
PodContainer
Container
Container
Container
Container Container
Container
![Page 17: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/17.jpg)
Mesos
http://mesos.apache.org/
![Page 18: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/18.jpg)
http://mesos.apache.org/documentation/latest/architecture/
![Page 19: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/19.jpg)
Mesos at Uber
![Page 20: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/20.jpg)
RPC → DCOM, CORBA → RMI → XML-RPC → SOAP → REST → REST,
Thrift
![Page 21: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/21.jpg)
Thrift
https://thrift.apache.org/
![Page 22: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/22.jpg)
Discovery
![Page 23: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/23.jpg)
Etcd
https://github.com/coreos/etcd
![Page 24: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/24.jpg)
etcd
etcd
![Page 25: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/25.jpg)
Hyperbahn
https://github.com/uber/hyperbahn
![Page 26: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/26.jpg)
Load balancing
![Page 27: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/27.jpg)
Service
Pod Pod Pod PodUsers Users Users Users
![Page 28: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/28.jpg)
Ringpop
https://github.com/uber/ringpop-node
![Page 29: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/29.jpg)
![Page 30: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/30.jpg)
Circuit breaking
![Page 31: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/31.jpg)
Monitoring
![Page 32: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/32.jpg)
What to monitor?● Success rate
● Error rate
● Response time - p95, p99
● RPS
● Queue size
● Memory usage
● Disk space usage
● ...
![Page 33: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/33.jpg)
Business metrics!!!
![Page 34: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/34.jpg)
Kafka hadoop ELK
![Page 35: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/35.jpg)
statsd
https://github.com/etsy/statsd
https://github.com/uber/lynx
![Page 36: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/36.jpg)
Monitoring is not enough
![Page 37: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/37.jpg)
![Page 39: OpenFest 2016 - Open Microservice Architecture](https://reader030.vdocuments.us/reader030/viewer/2022033107/5871d62f1a28ab423c8b69e1/html5/thumbnails/39.jpg)
Thanks!