39
The Business Behind MICRoservices: OrganisationAL, architectural and Operational Challenges Daniel Bryant @danielbryantuk OpenCredo / Container Solu7ons London

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

Embed Size (px)

Citation preview

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