The Business Behind MICRoservices:
OrganisationAL, architectural and Operational Challenges
	
  
Daniel	
  Bryant	
  
@danielbryantuk	
  
	
  
OpenCredo	
  /	
  Container	
  Solu7ons	
  London	
  
Tonight	
  –	
  Microservices…	
  
•  …	
  not	
  for	
  every	
  organisa7on/project?	
  
•  …macro	
  organisa7onal	
  and	
  people	
  impact	
  
•  Collaborate	
  more	
  (and	
  beGer)	
  
•  Apply	
  lightweight	
  process	
  to	
  drive	
  change	
  
03/06/15	
   @danielbryantuk	
  
Who	
  Am	
  I?	
  
•  London	
  Java	
  Community	
  Associate	
  
•  Adopt	
  OpenJDK	
  and	
  JSR	
  
•  InfoQ	
  Editor	
  and	
  DZone	
  MVB	
  
03/06/15	
   @danielbryantuk	
  
•  OpenCredo	
  /	
  Container	
  Solu7ons	
  
ü  Agile,	
  CI/CD,	
  DevOps	
  	
  
ü  Microservices	
  and	
  cloud	
  
ü  Docker,	
  Mesos	
  and	
  Kubernetes	
  
Disclaimer
Any resemblance to existing projects
(whether overrunning or over-budget)
is purely Coincidental...
03/06/15	
   @danielbryantuk	
  
1. Divided companies vs connected companies…
03/06/15	
   @danielbryantuk	
  
Gray’s	
  Model	
  of	
  Companies	
  
•  Divided	
  Companies	
  
–  Tradi7onal	
  ‘enterprise’	
  (machine	
  analogy)	
  
–  Command	
  and	
  control,	
  specialised,	
  division	
  of	
  labour	
  
–  Predictable	
  in	
  stable	
  environments	
  
–  Classical	
  SOA?	
  
•  Connected	
  Companies	
  
–  Hipsters	
  and	
  unicorns	
  (biological	
  analogy)	
  
–  Autonomous,	
  fractal,	
  service-­‐focused	
  
–  Adap7ve	
  in	
  uncertain	
  environments	
  
–  Microservices?	
  
03/06/15	
   @danielbryantuk	
  
Connected	
  Companies	
  
•  Startups	
  
– Searching	
  for	
  a	
  business	
  model	
  
•  Established	
  companies	
  
– Amazon	
  
– Spo7fy	
  
– Neblix	
  
– Etsy	
  
03/06/15	
   @danielbryantuk	
  
 
	
  
So,	
  are	
  microservices	
  always	
  the	
  best	
  fit?	
  
03/06/15	
   @danielbryantuk	
  
No…	
  Microservices	
  for	
  Speed(?)	
  
skillsmaGer.com/skillscasts/6143-­‐microservices-­‐for-­‐speed	
  	
  
HOT	
  OFF	
  THE	
  PRESS!!	
  
mar7nfowler.com/bliki/
MonolithFirst.html	
  	
  
03/06/15	
   @danielbryantuk	
  
No…	
  Architectural/Design	
  Skills	
  
“If	
  you	
  can't	
  build	
  a	
  [well-­‐structured]	
  monolith,	
  	
  
what	
  makes	
  you	
  think	
  microservices	
  are	
  the	
  answer?”	
  
	
  
Simon	
  Brown	
  
(bit.ly/1n7D0vp)	
  
03/06/15	
   @danielbryantuk	
  
No…	
  Opera7onal	
  Maturity	
  
03/06/15	
   @danielbryantuk	
  
 
	
  
So,	
  what	
  does	
  a	
  	
  
connected	
  company	
  /	
  microservice	
  organisa7on	
  
look	
  like?	
  
03/06/15	
   @danielbryantuk	
  
2. Conway was telling the truth... Deal with it!
03/06/15	
   @danielbryantuk	
  
How	
  Do	
  CommiGees	
  Invent?	
  
	
  
	
  
“organizaCons	
  which	
  design	
  systems	
  ...	
  	
  
are	
  constrained	
  to	
  produce	
  designs	
  which	
  are	
  copies	
  of	
  
the	
  communicaCon	
  structures	
  of	
  these	
  organizaCons”	
  
	
  
-­‐	
  Melvin	
  Conway,	
  1968	
  
03/06/15	
   @danielbryantuk	
  
Stereotypical	
  Silos...	
  
Dev	
   QA	
   Ops	
  
Hand-­‐off	
  delays	
  Hand-­‐off	
  delays	
  
Slow	
  feedback	
   Slow	
  feedback	
  
Lack	
  of	
  cohesion,	
  shared	
  understanding	
  and	
  joint	
  accountability	
  
Front-­‐end	
   Database	
  
Middleware	
  
03/06/15	
   @danielbryantuk	
  
03/06/15	
   @danielbryantuk	
  
Cross-­‐func7onal	
  Teams	
  
•  Spo7fy	
  (bit.ly/1C46ZKo)	
  
– Culture	
  
•  Amazon	
  (bit.ly/1F3Dgkm)	
  
– Communica7on	
  
•  Gilt	
  (gi.lt/1rgyWvO)	
  
– Strategic	
  alignment	
  
03/06/15	
   @danielbryantuk	
  
Spo7fy	
  
03/06/15	
   @danielbryantuk	
  
Killer	
  Performance	
  Indicators	
  
•  Shared	
  goal	
  semng	
  is	
  key!	
  
•  KPIs,	
  OKR,	
  CSF…	
  WAT??	
  
•  Build,	
  measure,	
  learn	
  
– Plan,	
  do,	
  check,	
  act	
  
– Observe,	
  orient,	
  decide,	
  act	
  
– The	
  scien7fic	
  method…	
  
03/06/15	
   @danielbryantuk	
  
3. All Technology problems are people problems
03/06/15	
   @danielbryantuk	
  
‘Architecture’	
  –	
  Not	
  a	
  dirty	
  word	
  
•  Technical	
  leadership	
  (bit.ly/1EUwpLl)	
  
•  Communica7on	
  (bit.ly/1Ia3u8o)	
  	
  	
  
•  Promote	
  shared	
  understanding	
  
•  ‘Just	
  enough’	
  up	
  front	
  design	
  
03/06/15	
   @danielbryantuk	
  
Microservices…	
  Macro	
  Team	
  Dynamics	
  
•  Microservice	
  Prerequisites	
  (bit.ly/1wIjY58)	
  	
  
– Rapid	
  provisioning	
  
– Basic	
  monitoring	
  
– Rapid	
  applica7on	
  deployment	
  
•  In	
  a	
  nutshell…	
  
– Agile	
  
– DevOps	
  
– CI/CD	
  	
  
03/06/15	
   @danielbryantuk	
  
Share	
  the	
  Pain…	
  
03/06/15	
   @danielbryantuk	
  
“Dev-­‐on-­‐call”	
  
An	
  occasional	
  spike	
  to	
  the	
  
head	
  is	
  a	
  good	
  thing…	
  
	
  
…metaphorically	
  speaking	
  
•  You	
  write	
  it,	
  you	
  run	
  it	
  
–  Accountability	
  
–  Shared	
  responsibility	
  
–  Communica7on	
  
03/06/15	
   @danielbryantuk	
  
Microservices…	
  New	
  Technology?	
  
	
  
“I	
  will	
  postpone	
  using	
  this	
  shiny	
  new	
  framework	
  
un6l	
  my	
  peers	
  have	
  validated	
  the	
  proposed	
  
benefits	
  with	
  rigorous	
  scien6fic	
  experiments”	
  
	
  
	
  -­‐	
  Said	
  by	
  no	
  programmer	
  
	
  …ever	
  
03/06/15	
   @danielbryantuk	
  
Raible’s	
  Comparison	
  Matrix	
  
MaG	
  Raible	
  comparison	
  matrix	
  (bit.ly/OxUzad)	
  
03/06/15	
   @danielbryantuk	
  
 
So,	
  we’ve	
  looked	
  at	
  the	
  business,	
  organisa7onal	
  
structure,	
  and	
  people	
  aspects….	
  
	
  
…how	
  do	
  we	
  actually	
  implement	
  this	
  change?	
  
03/06/15	
   @danielbryantuk	
  
4. Change management without Management double-speak
03/06/15	
   @danielbryantuk	
  
Change	
  Management	
  is	
  Essen7al	
  
•  Fair	
  process	
  
– Engagement	
  
– Explana7on	
  
– Expecta7on	
  
•  Leading	
  change	
  
– Transforma7on	
  is	
  a	
  process	
  
– Create	
  a	
  coali7on,	
  and	
  a	
  vision	
  
– Communicate,	
  empower,	
  plan,	
  consolidate	
  
03/06/15	
   @danielbryantuk	
  
A	
  Look	
  into	
  My	
  Toolbox	
  
•  (Over-­‐)communicate	
  vision	
  
–  Engage,	
  explain,	
  expecta7ons	
  (7mescale	
  +	
  KPIs)	
  
•  Workshops	
  	
  
–  Empower	
  and	
  support	
  champions	
  
•  “Bikesheds”	
  
•  Take	
  the	
  team	
  pulse	
  regularly…	
  
03/06/15	
   @danielbryantuk	
  
A	
  Look	
  into	
  My	
  Toolbox	
  
03/06/15	
   @danielbryantuk	
  
A	
  Look	
  into	
  My	
  Toolbox	
  
•  MoSCoW	
  
•  RASCI	
  
–  Responsible	
  
–  Accountable	
  
–  Support	
  
–  Collaborate	
  
–  Informed	
  
•  RAG	
  status	
  
03/06/15	
   @danielbryantuk	
  
Some	
  common	
  themes…	
  
03/06/15	
   @danielbryantuk	
  
Leadership	
  –	
  Oten	
  Undervalued	
  
“Management	
  is	
  doing	
  things	
  right;	
  	
  
leadership	
  is	
  doing	
  the	
  right	
  things”	
  
-­‐  Peter	
  Drucker	
  
03/06/15	
   @danielbryantuk	
  
Behavioural	
  Economics	
  
Psychological,	
  social,	
  cogniCve	
  and	
  emoConal	
  
factors	
  that	
  affect	
  economic	
  decisions…	
  
03/06/15	
   @danielbryantuk	
  
 
	
  
In	
  summary…	
  	
  
03/06/15	
   @danielbryantuk	
  
The	
  Business	
  Behind	
  Microservices	
  	
  
•  Check	
  your	
  organisa7on	
  can	
  benefit	
  from	
  
using	
  microservices	
  (connected	
  companies)	
  
•  Cross-­‐func7onal	
  goal-­‐oriented	
  teams	
  FTW	
  
•  Agile,	
  DevOps,	
  CI/CD	
  are	
  prerequisites	
  
•  Lightweight	
  processes	
  help	
  with	
  change	
  
03/06/15	
   @danielbryantuk	
  
THANKS...
	
  
@danielbryantuk	
  
daniel.bryant@container-­‐solu7ons.com	
  
	
  
	
  
@OpenCredo	
  /	
  @containersolu7	
  
	
  
	
  
03/06/15	
   @danielbryantuk	
  
My	
  Other	
  Resources	
  
•  My	
  ar7cles:	
  
–  hGps://www.voxxed.com/blog/2015/01/understanding-­‐the-­‐business-­‐behind-­‐microservices-­‐
recommended-­‐reading-­‐part-­‐one/	
  	
  
–  hGp://java.dzone.com/ar7cles/introducing-­‐dzone-­‐guide-­‐cloud	
  (Cloud	
  DHARMA	
  guidelines)	
  
–  hGp://www.dzone.com/research/guide-­‐to-­‐enterprise-­‐integra7on	
  (Enterprise	
  MSA	
  &	
  Decomposi7on)	
  
•  Videos	
  I	
  men7oned:	
  
–  hGps://www.parleys.com/tutorial/thinking-­‐fast-­‐slow-­‐sotware-­‐development	
  	
  
–  hGps://skillsmaGer.com/skillscasts/5938-­‐developing-­‐java-­‐services-­‐for-­‐the-­‐cloud	
  	
  
–  hGps://www.parleys.com/tutorial/moving-­‐devops-­‐mode-­‐easy-­‐hard-­‐just-­‐plain-­‐terrifying	
  	
  
•  My	
  InfoQ	
  news	
  (Cloud,	
  microservices,	
  and	
  container	
  tech)	
  
–  hGp://www.infoq.com/author/Daniel-­‐Bryant	
  
•  Other	
  books	
  
–  hGp://www.amazon.co.uk/Working-­‐Effec7vely-­‐Legacy-­‐Robert-­‐Mar7n/dp/0131177052	
  	
  
–  hGp://www.amazon.co.uk/Implemen7ng-­‐Domain-­‐Driven-­‐Design-­‐Vaughn-­‐Vernon/dp/0321834577	
  	
  
03/06/15	
   @danielbryantuk	
  

LMSUG 2015 "The Business Behind Microservices: Organisational, Architectural and Operational Challenges"

  • 1.
    The Business BehindMICRoservices: OrganisationAL, architectural and Operational Challenges   Daniel  Bryant   @danielbryantuk     OpenCredo  /  Container  Solu7ons  London  
  • 2.
    Tonight  –  Microservices…   •  …  not  for  every  organisa7on/project?   •  …macro  organisa7onal  and  people  impact   •  Collaborate  more  (and  beGer)   •  Apply  lightweight  process  to  drive  change   03/06/15   @danielbryantuk  
  • 3.
    Who  Am  I?   •  London  Java  Community  Associate   •  Adopt  OpenJDK  and  JSR   •  InfoQ  Editor  and  DZone  MVB   03/06/15   @danielbryantuk   •  OpenCredo  /  Container  Solu7ons   ü  Agile,  CI/CD,  DevOps     ü  Microservices  and  cloud   ü  Docker,  Mesos  and  Kubernetes  
  • 4.
    Disclaimer Any resemblance toexisting projects (whether overrunning or over-budget) is purely Coincidental... 03/06/15   @danielbryantuk  
  • 5.
    1. Divided companiesvs connected companies… 03/06/15   @danielbryantuk  
  • 6.
    Gray’s  Model  of  Companies   •  Divided  Companies   –  Tradi7onal  ‘enterprise’  (machine  analogy)   –  Command  and  control,  specialised,  division  of  labour   –  Predictable  in  stable  environments   –  Classical  SOA?   •  Connected  Companies   –  Hipsters  and  unicorns  (biological  analogy)   –  Autonomous,  fractal,  service-­‐focused   –  Adap7ve  in  uncertain  environments   –  Microservices?   03/06/15   @danielbryantuk  
  • 7.
    Connected  Companies   • Startups   – Searching  for  a  business  model   •  Established  companies   – Amazon   – Spo7fy   – Neblix   – Etsy   03/06/15   @danielbryantuk  
  • 8.
        So,  are  microservices  always  the  best  fit?   03/06/15   @danielbryantuk  
  • 9.
    No…  Microservices  for  Speed(?)   skillsmaGer.com/skillscasts/6143-­‐microservices-­‐for-­‐speed     HOT  OFF  THE  PRESS!!   mar7nfowler.com/bliki/ MonolithFirst.html     03/06/15   @danielbryantuk  
  • 10.
    No…  Architectural/Design  Skills   “If  you  can't  build  a  [well-­‐structured]  monolith,     what  makes  you  think  microservices  are  the  answer?”     Simon  Brown   (bit.ly/1n7D0vp)   03/06/15   @danielbryantuk  
  • 11.
    No…  Opera7onal  Maturity   03/06/15   @danielbryantuk  
  • 12.
        So,  what  does  a     connected  company  /  microservice  organisa7on   look  like?   03/06/15   @danielbryantuk  
  • 13.
    2. Conway wastelling the truth... Deal with it! 03/06/15   @danielbryantuk  
  • 14.
    How  Do  CommiGees  Invent?       “organizaCons  which  design  systems  ...     are  constrained  to  produce  designs  which  are  copies  of   the  communicaCon  structures  of  these  organizaCons”     -­‐  Melvin  Conway,  1968   03/06/15   @danielbryantuk  
  • 15.
    Stereotypical  Silos...   Dev   QA   Ops   Hand-­‐off  delays  Hand-­‐off  delays   Slow  feedback   Slow  feedback   Lack  of  cohesion,  shared  understanding  and  joint  accountability   Front-­‐end   Database   Middleware   03/06/15   @danielbryantuk  
  • 16.
  • 17.
    Cross-­‐func7onal  Teams   • Spo7fy  (bit.ly/1C46ZKo)   – Culture   •  Amazon  (bit.ly/1F3Dgkm)   – Communica7on   •  Gilt  (gi.lt/1rgyWvO)   – Strategic  alignment   03/06/15   @danielbryantuk  
  • 18.
    Spo7fy   03/06/15  @danielbryantuk  
  • 19.
    Killer  Performance  Indicators   •  Shared  goal  semng  is  key!   •  KPIs,  OKR,  CSF…  WAT??   •  Build,  measure,  learn   – Plan,  do,  check,  act   – Observe,  orient,  decide,  act   – The  scien7fic  method…   03/06/15   @danielbryantuk  
  • 20.
    3. All Technologyproblems are people problems 03/06/15   @danielbryantuk  
  • 21.
    ‘Architecture’  –  Not  a  dirty  word   •  Technical  leadership  (bit.ly/1EUwpLl)   •  Communica7on  (bit.ly/1Ia3u8o)       •  Promote  shared  understanding   •  ‘Just  enough’  up  front  design   03/06/15   @danielbryantuk  
  • 22.
    Microservices…  Macro  Team  Dynamics   •  Microservice  Prerequisites  (bit.ly/1wIjY58)     – Rapid  provisioning   – Basic  monitoring   – Rapid  applica7on  deployment   •  In  a  nutshell…   – Agile   – DevOps   – CI/CD     03/06/15   @danielbryantuk  
  • 23.
    Share  the  Pain…   03/06/15   @danielbryantuk  
  • 24.
    “Dev-­‐on-­‐call”   An  occasional  spike  to  the   head  is  a  good  thing…     …metaphorically  speaking   •  You  write  it,  you  run  it   –  Accountability   –  Shared  responsibility   –  Communica7on   03/06/15   @danielbryantuk  
  • 25.
    Microservices…  New  Technology?     “I  will  postpone  using  this  shiny  new  framework   un6l  my  peers  have  validated  the  proposed   benefits  with  rigorous  scien6fic  experiments”      -­‐  Said  by  no  programmer    …ever   03/06/15   @danielbryantuk  
  • 26.
    Raible’s  Comparison  Matrix   MaG  Raible  comparison  matrix  (bit.ly/OxUzad)   03/06/15   @danielbryantuk  
  • 27.
      So,  we’ve  looked  at  the  business,  organisa7onal   structure,  and  people  aspects….     …how  do  we  actually  implement  this  change?   03/06/15   @danielbryantuk  
  • 28.
    4. Change managementwithout Management double-speak 03/06/15   @danielbryantuk  
  • 29.
    Change  Management  is  Essen7al   •  Fair  process   – Engagement   – Explana7on   – Expecta7on   •  Leading  change   – Transforma7on  is  a  process   – Create  a  coali7on,  and  a  vision   – Communicate,  empower,  plan,  consolidate   03/06/15   @danielbryantuk  
  • 30.
    A  Look  into  My  Toolbox   •  (Over-­‐)communicate  vision   –  Engage,  explain,  expecta7ons  (7mescale  +  KPIs)   •  Workshops     –  Empower  and  support  champions   •  “Bikesheds”   •  Take  the  team  pulse  regularly…   03/06/15   @danielbryantuk  
  • 31.
    A  Look  into  My  Toolbox   03/06/15   @danielbryantuk  
  • 32.
    A  Look  into  My  Toolbox   •  MoSCoW   •  RASCI   –  Responsible   –  Accountable   –  Support   –  Collaborate   –  Informed   •  RAG  status   03/06/15   @danielbryantuk  
  • 33.
    Some  common  themes…   03/06/15   @danielbryantuk  
  • 34.
    Leadership  –  Oten  Undervalued   “Management  is  doing  things  right;     leadership  is  doing  the  right  things”   -­‐  Peter  Drucker   03/06/15   @danielbryantuk  
  • 35.
    Behavioural  Economics   Psychological,  social,  cogniCve  and  emoConal   factors  that  affect  economic  decisions…   03/06/15   @danielbryantuk  
  • 36.
        In  summary…     03/06/15   @danielbryantuk  
  • 37.
    The  Business  Behind  Microservices     •  Check  your  organisa7on  can  benefit  from   using  microservices  (connected  companies)   •  Cross-­‐func7onal  goal-­‐oriented  teams  FTW   •  Agile,  DevOps,  CI/CD  are  prerequisites   •  Lightweight  processes  help  with  change   03/06/15   @danielbryantuk  
  • 38.
    THANKS...   @danielbryantuk   daniel.bryant@container-­‐solu7ons.com       @OpenCredo  /  @containersolu7       03/06/15   @danielbryantuk  
  • 39.
    My  Other  Resources   •  My  ar7cles:   –  hGps://www.voxxed.com/blog/2015/01/understanding-­‐the-­‐business-­‐behind-­‐microservices-­‐ recommended-­‐reading-­‐part-­‐one/     –  hGp://java.dzone.com/ar7cles/introducing-­‐dzone-­‐guide-­‐cloud  (Cloud  DHARMA  guidelines)   –  hGp://www.dzone.com/research/guide-­‐to-­‐enterprise-­‐integra7on  (Enterprise  MSA  &  Decomposi7on)   •  Videos  I  men7oned:   –  hGps://www.parleys.com/tutorial/thinking-­‐fast-­‐slow-­‐sotware-­‐development     –  hGps://skillsmaGer.com/skillscasts/5938-­‐developing-­‐java-­‐services-­‐for-­‐the-­‐cloud     –  hGps://www.parleys.com/tutorial/moving-­‐devops-­‐mode-­‐easy-­‐hard-­‐just-­‐plain-­‐terrifying     •  My  InfoQ  news  (Cloud,  microservices,  and  container  tech)   –  hGp://www.infoq.com/author/Daniel-­‐Bryant   •  Other  books   –  hGp://www.amazon.co.uk/Working-­‐Effec7vely-­‐Legacy-­‐Robert-­‐Mar7n/dp/0131177052     –  hGp://www.amazon.co.uk/Implemen7ng-­‐Domain-­‐Driven-­‐Design-­‐Vaughn-­‐Vernon/dp/0321834577     03/06/15   @danielbryantuk