KEMBAR78
Microservices architecture examples | PDF
Microservices
Adrian Cockcroft, State of the Art in Microservices
http://www.slideshare.net/adriancockcroft/dockercon-state-of-the-art-in-microservices 중
해외 사례 소개
A Microservice Definition
!
Loosely coupled service oriented
architecture with bounded contexts
If every service has to be
updated at the same time
it’s not loosely coupled
If you have to know too much about surrounding
services you don’t have a bounded context. See the
Domain Driven Design book by Eric Evans.
http://www.infoq.com/presentations/scale-gilt
http://www.slideshare.net/mcculloughsean/itier-breaking-up-the-monolith-philly-ete
http://www.infoq.com/presentations/Twitter-Timeline-Scalability
http://www.infoq.com/presentations/twitter-soa
http://www.infoq.com/presentations/Zipkin
https://speakerdeck.com/mattheath/scaling-micro-services-in-go-highload-plus-plus-2014
State of the Art in Web Scale
Microservice Architectures
AWS Re:Invent : Asgard to Zuul https://www.youtube.com/watch?v=p7ysHhs5hl0
Resiliency at Massive Scale https://www.youtube.com/watch?v=ZfYJHtVL1_w
Microservice Architecture https://www.youtube.com/watch?v=CriDUYtfrjs
Microservice Concerns
ConfigurationTooling Discovery Routing Observability
Development: Languages and Container
Operational: Orchestration and Deployment Infrastructure
Datastores
Microservices
Edda
Archaius
!
Configuration
Asgard
Aminator
!
Tooling
Eureka
Prana
!
Discovery
Denominator
Zuul, Netty
Ribbon 2.0
!
Routing
Hystrix
Pytheus
SALP
!
Observability
Java, Groovy, Scala, Clojure, Python, Node.js with AMI and Docker Containers
Manual Orchestration with Asgard and deployment on AWS or Eucalyptus
Ephemeral datastores using Dynomite, Memcached, Astyanax, Staash, Priam, Cassandra
Focus on global distribution, high scale and availability
Twitter Microservices
Decider
!
!
ConfigurationTooling
Finagle
Zookeeper
!
Discovery
Finagle
Netty
!
Routing
Zipkin
!
!
Observability
Scala with JVM Container
Orchestration using Aurora deployment in datacenters using Mesos
Custom Cassandra-like datastore: Manhattan
Focus on efficient datacenter deployment at scale
Gilt Microservices
Decider
!
!
Configuration
Ion Cannon
SBT
Rake
!
Tooling
Finagle
Zookeeper
!
Discovery
Akka
Finagle
Netty
!
Routing
Zipkin
!
!
Observability
Scala and Ruby with Docker Containers
Deployment on AWS
Datastores per Microservice using MongoDB, Postgres, Voldemort
Focus on fast development with Scala and Docker
Hailo Microservices
Configuration
Hubot
Janky
Jenkins
!
Tooling
go-platform
!
Discovery
go-platform
RabbitMQ
!
Routing
Request trace
!
Observability
Go using Docker
Deployment on AWS
Datastore based on Cassandra
Focus on fast development at scale using Go
Node.js Microservices
Several different approaches
!
Mostly small simple microservices
!
Focus on easy interface with
presentation code in javascript
!
AWS Lambda - preview only
http://senecajs.org/
http://aws.amazon.com/lambda/
Next Generation Applications
?
!
Configuration
?
!
Tooling
?
!
Discovery
?
!
Routing
?
!
Observability
Development: Components assembled from Docker Hub as a composable “app store”
Operational: Many orchestration choices across public and private clouds
Datastores: Ephemeral, Orchestrated or DBaaS
Fill in the gaps, rapidly evolving ecosystem choices

Microservices architecture examples