Marc	
  Cluet	
  
https://www.flickr.com/photos/zachd1_618/5344850282	
  
Who am I?!
Marc	
  Cluet	
  (@lynxman)	
  
	
  
Head	
  of	
  Operations	
  at	
  <redacted>	
  
17	
  years	
  of	
  experience	
  as	
  a	
  SysAdmin	
  
Founding	
  member	
  of	
  Juju	
  and	
  MAAS	
  
while	
  at	
  Canonical	
  
Built	
  a	
  DevOps	
  Engineering	
  Team	
  at	
  
Rackspace	
  
Been	
  DevOps’in	
  for	
  the	
  last	
  5	
  years	
  
So… Microservices!!
https://www.flickr.com/photos/wintermute2600/4056854111	
  
So… Microservices!!
Microservices are not new!
!!
So… Microservices!!
So… Microservices!!
https://www.flickr.com/photos/marfis75/3279307888	
  
So… Microservices!!
Microservices are reliant!
!!
So… Microservices!!
https://www.flickr.com/photos/5wa/8593739154	
  
So… Microservices!!
Microservices force you to!
Design for Failure!!
!!
So… Microservices!!
Recommendations!
https://www.flickr.com/photos/sarunas_b/9630357613	
  
Cloud Fitting!
https://www.flickr.com/photos/egs/183990473	
  
Cloud Fitting!
Orchestration!
Cost Control!
Anti-Fragile!
Security in all Layers!
!!
Orchestration!
https://www.flickr.com/photos/foilman/3295092874	
  
Orchestration!
1.  Autoscaling!
2.  Self Healing!
3.  Cost Forecast!
4.  Predictive!
!
Service Discovery!
Service	
  
Node	
  A	
  
Service	
  
Publication	
  
Service	
  
Node	
  B	
  
Service	
  
Node	
  C	
  
Service Discovery!
Service	
  
Node	
  A	
  
Health	
  
Check	
  
Discovery	
  
Agent	
  
Discovery	
  
Agent	
  
Service	
  
Node	
  B	
  
Health	
  
Check	
  
Service	
  
Publication	
  
Cost Control!
Cloud Architecture!
Web	
  
Frontend	
  
Web	
  Mobile	
  
App	
  
Data	
  
Backend	
  
Workers	
  
API	
  Service	
  
Cloud Architecture!
Router	
  
API	
  Server	
  
Scheduler	
  
MQ	
  
Worker	
  
Cloud Architecture!
Load	
  
Balancer	
  
API	
  Server	
  
API	
  Server	
  
API	
  Server	
  
API	
  Server	
  
MQ	
  
Worker	
  
Worker	
  
Worker	
  
Worker	
  
Scheduler	
  
Cloud Architecture!
Orchestration	
  
Provisioning	
   Config	
  Mgmt	
  Metrics	
  
Cloud Fitting!
Orchestration! Metrics!
Provisioning! Config Mgmt!
cloud-init!
Recommendations!
https://www.flickr.com/photos/mdpettitt/4818781521	
  
1 Server per Service!
https://www.flickr.com/photos/90994070@N00/4700774401	
  
Do your HA right!
https://www.flickr.com/photos/daverugby83/4583767689	
  
Containers!
https://www.flickr.com/photos/gcwest/281385801	
  
Containers!
Containers!
<3!
!!
Containers!
<3!
Containers!
API Versioning!
https://www.flickr.com/photos/kevinbyrom/5027408898/	
  
API Versioning!
https://www.flickr.com/photos/kevinbyrom/5027408898/	
  
Version	
  1	
  
/servers?image=imageId&	
  flavor=flavorId&	
  name=serverName&	
  
status=serverStatus&	
  marker=markerID&	
  limit=int&changes-­‐
since=dateTime&	
  RAX-­‐SI:image_schedule=boolean	
  
	
  
Version	
  2	
  
/v2/{tenant_id}/servers{?changes-­‐since,image,flavor,name,marker,
limit,status,host}	
  
	
  
Version	
  3	
  
/v3/servers/{server_id}/action{?changes-­‐since,image,flavor,name,
marker,limit,status,host}	
  
	
  
Sync vs Async!
https://www.flickr.com/photos/beate_meier/8337014543	
  
Sync vs Async!
Action	
  1	
   Action	
  2	
   Action	
  3	
  
Sync vs Async!
Action	
  1	
   Action	
  2	
  
Action	
  2b	
  
Action	
  3	
  
Sync vs Async!
Router	
  
API	
  Server	
  
Scheduler	
  
MQ	
  
Worker	
  
Dark Side of Microservices!
https://www.flickr.com/photos/kalexanderson/7556757396	
  
Costs!
https://www.flickr.com/photos/amagill/3366720659	
  
Concentration!
https://www.flickr.com/photos/z_wenjie/5602616401	
  
Network Fragmentation!
https://www.flickr.com/photos/small_realm/6898449633	
  
Dark Side of Microservices!
Learn from your peers!
Jos	
  Boumans	
  
Break things!!
http://bethesignal.org/blog/2008/07/22/fail-­‐we-­‐can-­‐believe-­‐in/	
  
Have fun!
http://geek-­‐and-­‐poke.com/geekandpoke/2013/12/3/yesterdays-­‐regex	
  
https://www.flickr.com/photos/mikko_luntiala/12691267935	
  
https://www.flickr.com/photos/dullhunk/202872717	
  
@lynxman!
http://slideshare.net/lynxmanuk/!
!

Microservices and the Cloud - DevOps Cardiff Meetup