Upload
daniel-bryant
View
1.690
Download
1
Embed Size (px)
Citation preview
The Business Behind MICRoservices: OrganisationAL, architectural and Operational Challenges
Daniel Bryant
@danielbryantuk | [email protected]
@OpenCredo | www.opencredo.com
Today – Microservices…
• Awesome, but not for every organisaDon/project?
• There is macro organisaDonal and people impact
• Establish architectural/operaDonal foundaDons
• Apply lightweight process to drive change
23/09/15 @danielbryantuk
Who Am I?
• London Java Community Associate
• Adopt OpenJDK and JSR
• InfoQ Editor and DZone MVB
23/09/15 @danielbryantuk
• Principal Consultant at OpenCredo ü Agile, CI/CD, DevOps ü Microservices and cloud ü Docker, Mesos and Kubernetes
1. Microservices are the new shiny...…
23/09/15 @danielbryantuk
So, What is a Microservice?
“Loosely coupled service oriented architecture with bounded contexts”
Adrian Cockcroft
“Applications that fit in your head” James Lewis
23/09/15 @danielbryantuk
Why Are Microservices Popular?
• Enforcement of good architecture/design?
• Lower barrier to entry – CogniDve overhead – Cost of experimentaDon/change
• “…first post DevOps revoluDon architecture” – Neil Ford (thght.works/1j9btLx)
23/09/15 @danielbryantuk
A Perfect (Industry) Storm
• Pain points – Monolith issues – Complex enterprise middleware – Value stream challenges
• DisrupDon by the Vanguard – ‘DevOps’ and prevalence of APIs – Economics of cloud (containers) – Connected companies
23/09/15 @danielbryantuk
So, are microservices always the best approach?
23/09/15 @danielbryantuk
OrganisaDonal Design
• Divided Companies – TradiDonal ‘enterprise’ organisaDon – Command and control, specialised, division of labour – Predictable in stable environments
• Connected Companies – Startups and forward-‐thinkers – Autonomous, fractal, service-‐focused – AdapDve in uncertain environments
23/09/15 @danielbryantuk
Is Your Business Ready?
• Are we all aligned on the vision/goals?
• Is ‘agile’ a dirty word?
• Planning and delivery processes – McKinsey’s “Three Horizons” – Gartner’s “Bi-‐modal IT” – Simon Wardley “Pioneers, Sejlers, Townplanners”
23/09/15 @danielbryantuk
Microservices for Speed(?)
skillsmajer.com/skillscasts/6143-‐microservices-‐for-‐speed 23/09/15 @danielbryantuk
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)
23/09/15 @danielbryantuk
Architectural/Design Skills
23/09/15 @danielbryantuk
OperaDonal Maturity
23/09/15 @danielbryantuk
marDnfowler.com/bliki/MicroservicePrerequisites.html
On a Lighter Note
Microservices are a great approach… …given the correct goals, situaDon and desire for change
23/09/15 @danielbryantuk
2. Conway was telling the truth... Deal with it!
23/09/15 @danielbryantuk
How Do Commijees Invent?
“organizaCons which design systems ... are constrained to produce designs which are copies of the communicaCon structures of these organizaCons”
-‐ Melvin Conway, 1968
23/09/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 23/09/15 @danielbryantuk
The Results…
23/09/15 @danielbryantuk www.infoq.com/news/2015/06/too-‐big-‐to-‐fail
The Inverse Conway Maneuver
“The team structure dictates the architecture, which in turn dictates the team structure…”
Raffi Krikorian (bit.ly/1KzGYV0)
23/09/15 @danielbryantuk
Cross-‐funcDonal Teams
• SpoDfy (bit.ly/1C46ZKo) – Culture
• Amazon (bit.ly/1F3Dgkm) – CommunicaDon
• Gilt (gi.lt/1rgyWvO) – Strategic alignment
23/09/15 @danielbryantuk
SpoDfy
23/09/15 @danielbryantuk
3. All Technology problems are people problems
23/09/15 @danielbryantuk
Business Strategy (@swardley style)
• SituaDonal awareness, strategy, mapping – SituaDon Normal, Everything Must Change
• One [project management] size does not fit all
– Agile vs Lean vs Six Sigma
• Enabling innovaDon
23/09/15 @danielbryantuk
Killer Performance Indicators
• Shared goal sesng is key! – KPIs, OKR, CSF… WAT??
• Create condiDons for success – OrganisaDonal structure – Orient, explore, exploit, transform – Plan, do, check, act
23/09/15 @danielbryantuk
Architecture, Minus the Ivory Towers
• Technical leadership (bit.ly/1EUwpLl)
• CommunicaDon (bit.ly/1Ia3u8o)
• Promote shared understanding
• ‘Just enough’ up front design
23/09/15 @danielbryantuk
Architect/Design for Replacement
23/09/15 @danielbryantuk
James Lewis bit.ly/1Qy4g2d
Sam Newman bit.ly/1WijsUX
Microservices… Macro OperaDons
• Microservice Prerequisites (bit.ly/1wIjY58) – Rapid provisioning – Basic monitoring – Rapid applicaDon deployment
• In a nutshell… – Technical parts DevOps – CI/CD
23/09/15 @danielbryantuk
In the Beginning…
23/09/15 @danielbryantuk
…and in the Middle (and the ‘End’)
23/09/15 @danielbryantuk
www.infoq.com/news/2015/06/too-‐big-‐to-‐fail
So, we’ve looked at the business, organisaDonal
structure, and people aspects…. …how do we actually implement this change?
23/09/15 @danielbryantuk
4. Change management without Management double-speak
23/09/15 @danielbryantuk
Change Management is EssenDal
• Fair process – Engagement – ExplanaDon – ExpectaDon
• Leading change – TransformaDon is a process – “Change is coming to IT” (bit.ly/1QZovXr) – Communicate, empower, plan, consolidate
23/09/15 @danielbryantuk
A Look into My Toolbox
• (Over-‐)communicate vision – Engage, explain, expectaDons (Dmescale + KPIs)
• FoundaDon workshops – Empower and support champions
• Show by doing (and teaching)
• Take the team pulse regularly…
23/09/15 @danielbryantuk
A Look into My Toolbox
23/09/15 @danielbryantuk
A Look into My Toolbox • MoSCoW
• RASCI – Responsible – Accountable – Support – Collaborate – Informed
• RAG status
23/09/15 @danielbryantuk
Leadership – Oxen Undervalued
“Management is doing things right; leadership is doing the right things”
-‐ Peter Drucker
23/09/15 @danielbryantuk
In summary…
23/09/15 @danielbryantuk
The Business Behind Microservices
• Ask ‘can we benefit from microservices’? – TransformaDon is a process
• Agile, Design Skills, CI/CD, DevOps prerequisites
• Cross-‐funcDonal goal-‐oriented teams FTW
• Lightweight change management processes help
23/09/15 @danielbryantuk
THANKS... QUESTIONS?
@danielbryantuk
www.opencredo.com/blog ‘Microservices Weekly’ (eepurl.com/bz5t4P)
www.parleys.com/author/daniel-‐bryant www.infoq.com/author/Daniel-‐Bryant
23/09/15 @danielbryantuk
My Other Resources • My arDcles:
– hjps://www.voxxed.com/blog/2015/01/understanding-‐the-‐business-‐behind-‐microservices-‐recommended-‐reading-‐part-‐one/
– hjp://java.dzone.com/arDcles/introducing-‐dzone-‐guide-‐cloud (Cloud DHARMA guidelines) – hjp://www.dzone.com/research/guide-‐to-‐enterprise-‐integraDon (Enterprise MSA & DecomposiDon)
• Videos I menDoned: – hjps://www.parleys.com/tutorial/thinking-‐fast-‐slow-‐soxware-‐development – hjps://skillsmajer.com/skillscasts/5938-‐developing-‐java-‐services-‐for-‐the-‐cloud – hjps://www.parleys.com/tutorial/moving-‐devops-‐mode-‐easy-‐hard-‐just-‐plain-‐terrifying
• My InfoQ news (Cloud, microservices, and container tech) – hjp://www.infoq.com/author/Daniel-‐Bryant
• Other books – hjp://www.amazon.co.uk/Working-‐EffecDvely-‐Legacy-‐Robert-‐MarDn/dp/0131177052 – hjp://www.amazon.co.uk/ImplemenDng-‐Domain-‐Driven-‐Design-‐Vaughn-‐Vernon/dp/0321834577
23/09/15 @danielbryantuk