Upload
weaveworks
View
362
Download
0
Embed Size (px)
Citation preview
Microservices: Lessons LearnedOr how I learned to stop worrying and love
Continuous Deployment…
Tom Wilkie Weaveworks, September 2016
https://github.com/weaveworks/scope
http://cloud.weave.works/
DEMO
✓Emergent Microservices Architecture
✓Worse-is-better*
✓Optimise for MTTR
✓DevOps
✓Continuous Delivery
* https://blog.acolyer.org/2016/09/15/the-rise-of-worse-is-better/
Emergent Microservice Architecture
scope-probescope-probe
scope-app
Browser
scope-probe
Host 1 Host 2 Host 3
Scope OSS Architecture
Frontend (Nginx)
WeaverangAccount Service
scope-apps
The Interwebs
/api/app/*/api/user/*
scope-appsscope-apps
App Mapper
scope-app
Frontend (Nginx)
Routed based on credentials/identity
RDS Instance
RDS InstanceAccount Service
Static Content Server
/*
Open SourceClosed SourceAWS Service
Service Architecture ~Sept 2015
Account Service
Frontend (Nginx)
The Interwebs
Weaverang
/api/report
Collection Service
/api/user
RDS Instance
Users Service
Static Content Server
/*
AWS DynamoDB
/api/<app>/api/topology
Query Service Weaverang
/api/<app>/api/control
Control Service
Frontend (Nginx)
AWS SQS
Frontend (Nginx)Authenticating Proxy
Weaverang
/api/<app>/api/pipe
Pipe Service
AWS S3 Consul Cluster
Open SourceClosed SourceAWS Service
NATS Cluster
Service Architecture ~Jun 2016
OSS Scope
}1. Incoming reports
2. Stored in memory
3. Outgoing queries
}1. Incoming reports
2. Stored in S3 / DynamoDB / Memcache
3. Outgoing queries
Weave Cloud
ContinuousDeployment
App is developed & tested locally
Built automatically using CI of your
choice
Container image pushed
automatically
Deployed automatically using
Weave Cloud deploy service...
...to an Environment of your choice
Source control Configuration as code
Take aways
DO: Optimise for MTTR
DO: Adopt consistent architecture patterns
DO: Continuous delivery
DON’T: Build user-specific services
DON’T: Over disaggregate services
DON’T: Build multiple services out of the same image…
Questions?
We’re hiring!London BerlinSan Francisco