O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
The Business Behind Microservices:
Organisational, architectural and Operational Challenges
Daniel	Bryant	&	Erich	Eichinge...
Business	and	People	==	“Fluffiness”?
06/02/2016 @danielbryantuk	|	@oakinger
“Micro-fluffiness?”
06/02/2016 @danielbryantuk	|	@oakinger
Key	Messages
The	transition	to	implementing	‘microservices’	cannot	
be	completed	successfully	with	technology	alone
- Thin...
Who	Are	We?
06/02/2016 @danielbryantuk	|	@oakinger
Daniel	Bryant	(@danielbryantuk)
Chief	Scientist	at	OpenCredo
§ Digital/...
1. Lets start with a Story... OpENCREDO Went Skiing
06/02/2016 @danielbryantuk	|	@oakinger
1. Lets start with a Story... OpENCREDO Went Skiing
06/02/2016 @danielbryantuk	|	@oakinger
Over	the	last	few	years	of	working	with	clients	at	OpenCredo
We	have	come	to	value:
products over	projects
small	inter-dis...
2. Organisation: Conway was telling the truth...
06/02/2016 @danielbryantuk	|	@oakinger
Conway’s	Law
06/02/2016 @danielbryantuk	|	@oakinger
Cross-functional	Teams
• Spotify (bit.ly/1C46ZKo)
– Culture
• Amazon	(bit.ly/1F3Dgkm)
– Communication
• Gilt	(gi.lt/1rgyWv...
Portfolio	Planning
• Budget	for	capacity	(#NoProjects)
• Predictable	software	development?
– Chase	verifiable	value	instea...
A	Word	of	Caution
• Divided	Companies
– Traditional	‘enterprise’	organisation
– Command	and	control,	specialised,	division...
Bi-Modal	/	Tri-Modal	IT
06/02/2016 @danielbryantuk	|	@oakinger
blog.gardeviance.org/2015/06/why-
agile-lean-and-six-sigma-...
Organisational Values
small	inter-discipline	teams over	large	homogeneous	cabals
products over	projects
user	impact over	c...
3. Architecture: think Micro, Think Macro, Think LEADERSHIP
06/02/2016 @danielbryantuk	|	@oakinger
Architectural/Design	Skills
“If	you	can't	build	a	[well-structured]	monolith,	
what	makes	you	think	microservices are	the	...
06/02/2016 @danielbryantuk	|	@oakinger
Architectural/Design	Skills
06/02/2016 @danielbryantuk	|	@oakinger
stackexchange.comwww.etsy.com
gilt.com (Are	Awesome)
06/02/2016 @danielbryantuk	|	@oakinger
www.slideshare.net/trenaman/javaone-2015-scaling-micro-servi...
Trust	and	Empathy	are	Vital
06/02/2016 @danielbryantuk	|	@oakinger
bit.ly/1IWwIGV bit.ly/1IYPMKa
Architecture,	Minus	the	Ivory	Towers
• Technical	leadership	(bit.ly/1EUwpLl)
• Communication	(bit.ly/1Ia3u8o)		
• Empathy
...
Migrating	Architecture
• Find	seams	
bit.ly/1SwHryU
• Measure	toxicity	of	code
• Standardise what	matters	(glue/infra)
• P...
Design	for	“Replacability”
06/02/2016 @danielbryantuk	|	@oakinger
James	Lewis
bit.ly/1Qy4g2d
Greg	Young
bit.ly/1l0ir61
Caution:	Shiny	Technology	Ahead!
• Plenty	of	‘microservice’	technology
• Emerging	platforms	and	frameworks
– Principles	an...
Key	Skill:	Evaluation
“I	will	postpone	using	this	shiny	new	framework	
until	my	peers	have	validated	the	proposed	benefits...
Matt	Raible’s Comparison	Matrix
06/02/2016 @danielbryantuk	|	@oakinger
Choose	Boring	Technology
06/02/2016 @danielbryantuk	|	@oakinger
www.opencredo.com/2016/01/08/the-seven-deadly-sins-of-micr...
Architectural	Values
multiple	cohesive	services over	a	highly	coupled	monolith
trust	and	empathy	over	command	and	control
...
4. Operations: Automate everything (except the people)
06/02/2016 @danielbryantuk	|	@oakinger
Microservices…	Macro	Operations
• Microservice Prerequisites	(bit.ly/1wIjY58)	
– Rapid	provisioning
– Basic	monitoring
– R...
06/02/2016 @danielbryantuk	|	@oakinger
www.opencredo.com/2015/10/31/javaone-building-a-
microservice-development-ecosystem...
In	the	Beginning…
06/02/2016 @danielbryantuk	|	@oakinger
Remind	Others	of	the	Benefits
06/02/2016 @danielbryantuk	|	@oakinger
…and	in	the	Middle	(and	the	‘End’)
06/02/2016 @danielbryantuk	|	@oakinger
…and	in	the	Middle	(and	the	‘End’)
06/02/2016 @danielbryantuk	|	@oakinger
www.infoq.com/news/2015/06/too-big-to-fail
Failing	to	Prepare,	is	Preparing	to…
• Practice
– Chaos,	Gamedays,	DiRT sessions
• Accountability
– R.A.S.C.I.
• Engage	‘s...
Helpful	Processes
• BDD	user	journeys	across	system	(via	APIs)
– …and individual	services
– Don’t	forget	‘ilities’	(ZAP,	J...
Operational	Values
designing	for	failure over	implementing	extensive	redundancy
independent	automated	continuous	deploymen...
5. Change management without Management double-speak
06/02/2016 @danielbryantuk	|	@oakinger
Change	Management	is	Essential
• Fair	process	(three	‘E’s)
– Engagement
– Explanation
– Expectation
• Leading	change
– Tra...
(Visualising)	Flow
06/02/2016 @danielbryantuk	|	@oakinger
bit.ly/1OePqid
bit.ly/1VZOsIM
Have	a	Little	Empathy…
06/02/2016 @danielbryantuk	|	@oakinger
Some	Bedtime	Reading…
06/02/2016 @danielbryantuk	|	@oakinger
In	summary…	
06/02/2016 @danielbryantuk	|	@oakinger
Organisation,	Architecture,	Operations
products over	projects
small	inter-discipline	teams	over	large	homogeneous	cabals
m...
A	Big	Thanks	To…
06/02/2016 @danielbryantuk	|	@oakinger
THANKS... QUESTIONS?
We	are	hiring	in	UK	and	DE!
daniel.bryant@opencredo.com|	ee@opencredo.com
‘Microservices	Weekly’	(mus...
Additional	References
• http://www.infoq.com/presentations/7-sins-microservices
• https://www.opencredo.com/2016/01/08/the...
Próximos SlideShares
Carregando em…5
×

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

2.583 visualizações

Publicada em

Presented at OOP2016 with Erich Eichinger

The technology changes required when implementing a microservice-based application are only one part of the equation – the business and organisation will often have to fundamentally change. In an ideal world, this shouldn’t be a problem, what with the rise of agile, lean and DevOps, but in reality this is not always the situation. In this talk we will share some stories of successful (and not so successful) strategies and tactics that we have used when introducing microservices into a variety of organisations over the past four years.

Join us for a whistle-stop tour of the business and people challenges that we have experienced first hand when implementing greenfield microservice projects and also breaking down monoliths. We’ll look at ‘divided companies’ vs ‘connected companies’, determine the actual impact of conway's law, briefly touch on the lean startup/enterprise mindset, dive into change management without the management double-speak, and look at the lightweight processes needed to ensure the technical success of a microservices implementation (e.g. DevOps, CD).
The main lessons we're keen to share are from observations on a couple of microservice transformation projects we have been involved in - some where teams have been cross-functional and aligned around strategic objectives, and some where they haven't. The latter proved much more challenging, as we saw single domain models being created and shared around the codebase, unclear service/context boundaries, and ultimately people tripping over each other.

Publicada em: Tecnologia

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

  1. 1. The Business Behind Microservices: Organisational, architectural and Operational Challenges Daniel Bryant & Erich Eichinger @danielbryantuk| @oakinger www.opencredo.com
  2. 2. Business and People == “Fluffiness”? 06/02/2016 @danielbryantuk | @oakinger
  3. 3. “Micro-fluffiness?” 06/02/2016 @danielbryantuk | @oakinger
  4. 4. Key Messages The transition to implementing ‘microservices’ cannot be completed successfully with technology alone - Think organisation, architecture, operations - We require a holistic viewpoint for change, but we often resist. Challenge yourself, your team and your company 06/02/2016 @danielbryantuk | @oakinger
  5. 5. Who Are We? 06/02/2016 @danielbryantuk | @oakinger Daniel Bryant (@danielbryantuk) Chief Scientist at OpenCredo § Digital/technical transformations § Java, Golang, CI/CD, DevOps § Maintainer of muservicesweekly.com Erich Eichinger (@oakinger) Lead Consultant at OpenCredo § Digital/technical transformations § Java, Microsoft, Software Craftsmanship, DevOps § Microservices, cloud, containers
  6. 6. 1. Lets start with a Story... OpENCREDO Went Skiing 06/02/2016 @danielbryantuk | @oakinger
  7. 7. 1. Lets start with a Story... OpENCREDO Went Skiing 06/02/2016 @danielbryantuk | @oakinger
  8. 8. Over the last few years of working with clients at OpenCredo We have come to value: products over projects small inter-discipline teams over large homogeneous cabals multiple cohesive services over highly coupled monoliths goal-driven technical leadership over command and control automated continuous deployment over manual big bangs individuals and interactions over processes and tools Organisation, Architecture, (Dev)Operations 06/02/2016 @danielbryantuk | @oakinger
  9. 9. 2. Organisation: Conway was telling the truth... 06/02/2016 @danielbryantuk | @oakinger
  10. 10. Conway’s Law 06/02/2016 @danielbryantuk | @oakinger
  11. 11. Cross-functional Teams • Spotify (bit.ly/1C46ZKo) – Culture • Amazon (bit.ly/1F3Dgkm) – Communication • Gilt (gi.lt/1rgyWvO) – Strategic alignment 06/02/2016 @danielbryantuk | @oakinger
  12. 12. Portfolio Planning • Budget for capacity (#NoProjects) • Predictable software development? – Chase verifiable value instead (KPIs) • Business cases secure funding… – Switch to “value-driven” projects – “What problems can we solve by X?” 06/02/2016 @danielbryantuk | @oakinger
  13. 13. A Word of Caution • Divided Companies – Traditional ‘enterprise’ organisation – Command and control, specialised, division of labour – Predictable in stable environments – Six sigma, ESBs, and classical SOA • Connected Companies – Startups and forward-thinkers – Autonomous, fractal, service-focused – Adaptive in uncertain environments – Agile/lean, REST, and microservices 06/02/2016 @danielbryantuk | @oakinger
  14. 14. Bi-Modal / Tri-Modal IT 06/02/2016 @danielbryantuk | @oakinger blog.gardeviance.org/2015/06/why- agile-lean-and-six-sigma-must-die.html Simon Wardleyblogs extensively in this space…
  15. 15. Organisational Values small inter-discipline teams over large homogeneous cabals products over projects user impact over customer requirements creating verifiable incremental value over adding features incremental transformationover big-bang “re-org” 06/02/2016 @danielbryantuk | @oakinger
  16. 16. 3. Architecture: think Micro, Think Macro, Think LEADERSHIP 06/02/2016 @danielbryantuk | @oakinger
  17. 17. 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) 06/02/2016 @danielbryantuk | @oakinger
  18. 18. 06/02/2016 @danielbryantuk | @oakinger
  19. 19. Architectural/Design Skills 06/02/2016 @danielbryantuk | @oakinger stackexchange.comwww.etsy.com
  20. 20. gilt.com (Are Awesome) 06/02/2016 @danielbryantuk | @oakinger www.slideshare.net/trenaman/javaone-2015-scaling-micro-services-at-gilt
  21. 21. Trust and Empathy are Vital 06/02/2016 @danielbryantuk | @oakinger bit.ly/1IWwIGV bit.ly/1IYPMKa
  22. 22. Architecture, Minus the Ivory Towers • Technical leadership (bit.ly/1EUwpLl) • Communication (bit.ly/1Ia3u8o) • Empathy • ‘Just enough’ up front design 06/02/2016 @danielbryantuk | @oakinger
  23. 23. Migrating Architecture • Find seams bit.ly/1SwHryU • Measure toxicity of code • Standardise what matters (glue/infra) • Patterns (bit.ly/1GRch2v) – Big bang – Change via copy/extraction – Strangle 06/02/2016 @danielbryantuk | @oakinger
  24. 24. Design for “Replacability” 06/02/2016 @danielbryantuk | @oakinger James Lewis bit.ly/1Qy4g2d Greg Young bit.ly/1l0ir61
  25. 25. Caution: Shiny Technology Ahead! • Plenty of ‘microservice’ technology • Emerging platforms and frameworks – Principles and practice should drive tooling • How to choose? 06/02/2016 @danielbryantuk | @oakinger
  26. 26. Key Skill: Evaluation “I will postpone using this shiny new framework until my peers have validated the proposed benefits with rigorous scientific experiments” - Said by no programmer …ever 06/02/2016 @danielbryantuk | @oakinger
  27. 27. Matt Raible’s Comparison Matrix 06/02/2016 @danielbryantuk | @oakinger
  28. 28. Choose Boring Technology 06/02/2016 @danielbryantuk | @oakinger www.opencredo.com/2016/01/08/the-seven-deadly-sins-of-microservices-redux/
  29. 29. Architectural Values multiple cohesive services over a highly coupled monolith trust and empathy over command and control autonomous goal-driven leadership over chaos and anarchy implementing signals and performance indicators over measuring vanity metrics 06/02/2016 @danielbryantuk | @oakinger
  30. 30. 4. Operations: Automate everything (except the people) 06/02/2016 @danielbryantuk | @oakinger
  31. 31. Microservices… Macro Operations • Microservice Prerequisites (bit.ly/1wIjY58) – Rapid provisioning – Basic monitoring – Rapid application deployment • In a nutshell… – DevOps – CI/CD 06/02/2016 @danielbryantuk | @oakinger
  32. 32. 06/02/2016 @danielbryantuk | @oakinger www.opencredo.com/2015/10/31/javaone-building-a- microservice-development-ecosystem-video
  33. 33. In the Beginning… 06/02/2016 @danielbryantuk | @oakinger
  34. 34. Remind Others of the Benefits 06/02/2016 @danielbryantuk | @oakinger
  35. 35. …and in the Middle (and the ‘End’) 06/02/2016 @danielbryantuk | @oakinger
  36. 36. …and in the Middle (and the ‘End’) 06/02/2016 @danielbryantuk | @oakinger www.infoq.com/news/2015/06/too-big-to-fail
  37. 37. Failing to Prepare, is Preparing to… • Practice – Chaos, Gamedays, DiRT sessions • Accountability – R.A.S.C.I. • Engage ‘system 2’ thinking 06/02/2016 @danielbryantuk | @oakinger
  38. 38. Helpful Processes • BDD user journeys across system (via APIs) – …and individual services – Don’t forget ‘ilities’ (ZAP, Jmeter) • Brendan Gregg’s USE methodology – check utilization, saturation, and errors. • Symptom-based Monitoring (Ticketmaster) 06/02/2016 @danielbryantuk | @oakinger
  39. 39. Operational Values designing for failure over implementing extensive redundancy independent automated continuous deployment over coordinated manual big bang releases programmable infrastructure over manually-configured snowflakes Individuals and interactions over processes and bureaucracy principles and practices over tooling 06/02/2016 @danielbryantuk | @oakinger
  40. 40. 5. Change management without Management double-speak 06/02/2016 @danielbryantuk | @oakinger
  41. 41. Change Management is Essential • Fair process (three ‘E’s) – Engagement – Explanation – Expectation • Leading change – Transformation is a process – Visualise the issues and goals – Communicate, plan, evaluate, learn 06/02/2016 @danielbryantuk | @oakinger
  42. 42. (Visualising) Flow 06/02/2016 @danielbryantuk | @oakinger bit.ly/1OePqid bit.ly/1VZOsIM
  43. 43. Have a Little Empathy… 06/02/2016 @danielbryantuk | @oakinger
  44. 44. Some Bedtime Reading… 06/02/2016 @danielbryantuk | @oakinger
  45. 45. In summary… 06/02/2016 @danielbryantuk | @oakinger
  46. 46. Organisation, Architecture, Operations products over projects small inter-discipline teams over large homogeneous cabals multiple cohesive services over highly coupled monoliths goal-driven technical leadership over command and control automated continuous deployment over manual big bangs individuals and interactions over processes and tools 06/02/2016 @danielbryantuk | @oakinger
  47. 47. A Big Thanks To… 06/02/2016 @danielbryantuk | @oakinger
  48. 48. THANKS... QUESTIONS? We are hiring in UK and DE! daniel.bryant@opencredo.com| ee@opencredo.com ‘Microservices Weekly’ (muservicesweekly.com) www.opencredo.com/blog 06/02/2016 @danielbryantuk | @oakinger
  49. 49. Additional References • http://www.infoq.com/presentations/7-sins-microservices • https://www.opencredo.com/2016/01/08/the-seven-deadly-sins-of-microservices-redux/ • https://www.opencredo.com/2015/11/11/testing-with-microservices/ • https://www.opencredo.com/2015/09/20/working-locally-with-microservices/ • https://www.opencredo.com/2015/06/22/microservices/ • https://dzone.com/guides/cloud-development • https://www.youtube.com/watch?v=wyZNxB172VI 06/02/2016 @danielbryantuk | @oakinger

×