Download - Mucon microservices and innovation
Innovation & MicroservicesGawain Hammond
Introduction
• “Our primary aim is to transform the future from being a liability in to an asset we can harness now”
• We don’t simply build products, we build tools and prototypes to learn what products and features the organisation should build
• If an initiative is not successful, we MUST learn something of value from it
Tech Futures Innovation Team
• Perception:
• Reality:
InnovationPerception
Reality
• 10% Success rate considered acceptable
Innovation
Invention vs Innovation
“Executing new ideas to create value”
What is Innovation?What is Innovation?
WTF is ‘Value’?
Or(Anything that teaches us what these experiences are)
VALUE IS THE EXPERIENCES THAT THE CUSTOMER IS WILLING TO PAY FOR
The Impact What we create
The Person we need to understand Whats in it for us
• Head off disruption
• create new wealth producing potential
• Learn to contribute to both above
Why Innovate?
Global Trends
Pace
R&D Budgets
Source: Global Innovation 1000
• Companies in the bottom 10% of innovation investment failed to benefit from structured innovation
• An upper limit of diminishing returns on investment
“It’s not about money. It’s about the people you have, how you’re led, and how much you get it.” - Steve Jobs
Money Isn’t Everything…
Innovate What?
Software Systems
UX
Products
Business modelLogistics
In The Beginning…
What is POSSIBLE
with Technology
What is VIABLE in
Marketplace
What is DESIRABLE
to Customers
Innovation
Business
Human ValuesTechnology
Design & Interaction
Product Manufacturing
OrganisationBehavior
AccountingFinanaceEconomic Anlysis PolicyMarketingEntrepeneureshipCompetition & Strategy
Engineering AnalysisElectronics & mechatronicsProgramme MethodologyOperationsInformation TechnologyChemical/Bio engineeringSoftware Delivery
Manufacturing TechnologyManufacturing ProcessSupply Chain ManagementRapid Product Prototyping
Human Computer InteractionVisual ThinkingDesign sustainabilityAesthetic & FormUX WIreframes (prototypes)
PsycologyAnthropologySocialogyEthnographyNeed-Finding
Management & TeamsHuman ResourcesOrganizational DynamicsNegotiation
• Generate Ideas
• Select ideas
• Diffuse Ideas
Innovation Process in a Nutshell
Innovation Loop
Measure
Idea
?Hypothesis
Scale !Experiment
Learn
Enterprise Innovation
Spin Off BAU
SkunkworksBreakthrough
Sustaining
Fit W
ith P
roce
ss
Fit With Values
Heavyw
eight Team
Autonomous Org Mainstream Org
In House
TeamC A
D B
Poor Fit Strong Fit
Poor
Fit
Stro
ng F
it
Finding The Way…
1. Align innovation portfolio with customer needs and wants
2. Developing and retaining people with the right technical knowledge
3. Ensuring that innovation leaders and business leaders are aligned
4. Understanding new product and service related technologies and trends
5. Pursuing lean product development
Innovation Success
• Reduce bureaucratic burden of implementing new ideas?
• Empower EVERYONE to fail innovate?
• Explore rapidly changing technology landscape?
• Help the balance between governance and agility?
How can we reconcile?
• ground-breaking ideas don’t always look ground-breaking when they launch
• Instead, they tend to build up out of a series of experiments
• Focus on what you can afford to lose, rather than what you might gain
• Don’t expect to have a great big idea come to you in perfect form
Little Bets
• Take a micro-services approach to innovation
• Open to all
• Failure is very low cost
• Rapid development & re-use globally
• Ensure we learn from service interaction data
• Use learning to find winners for investment
Microservices
PaaS
• Incubate & breed success
• Allow service to compete for supremacy
• Darwinian environment
• Life is cheap & microservices should be too
Innovation Platform
FaaS
A Platform for non-functional requirements
Easy For Ops Team
Analytics
Debug
Health Checks
Deploy Anything
Lightweight
Low Latency
Testability Secure
Elastic
Central PolicyA/B Testing
Simple Architecture
APIs
Polyglot
No Lock-In
Network Agnostic
Service Discovery
Automated Management
Rollback Load Balancing
Rate Limit
Don’t Repeat Yourself
Load Balancer RuntimeManagement Control API System Policies
High Availability
InfrastructureIntegration
Platform Messaging Authentication Log Manager
Log Manager Source Management Build System
Deployment Service Discovery Monitoring Emergency Response
• Rapid Deployment
• Lean Analytics
• Build-Measure-Learn
• Fail Fast
• Learn Fast
Lean Platform
Brave New World
• Deploy
• Polyglot
• Monitor & Health check
• Alert
• Analytics
Microservice Platform MVP
Muse
• When you solve a problems, you create a new one
• With deployment sorted now you’re worrying about new stuff
• Data Consistency, Failure, Coupling, Insight, etc..
Convenience
• Fallacies of distributed Computing…
• Highly coupled HTTP calls
• Code proliferation to handle failure conditions
• Traditional transactional thinking becomes a problem
• No stack traces like code in a monolith for debugging
• Where are the unit & integration tests?
• How do you introspect to understand the whole?
Web Service Proliferation
Simple
Service ABC3 Service L7
Service 3Service XYZ1
Service 1 Service Y
Service 1Service A
Service G5
Complicated
Service XYZ1 Service XYZ2 Service XYZ3 Service XYZ4
Service 3Service XYZ1 Service Z
Service 1 Service X Service 2 Service Y
Service 3Service Z Service Z
Complex
Service XYZ1 Service XYZ2 Service XYZ3 Service XYZ4
Service 3Service XYZ1 Service Z
Service 1 Service X Service 2 Service Y
Service 3Service Z Service Z
API Management
Service 1 Service 2 Service 3 Service 4
Admin UI
HTTP Proxy3HTTP Proxy1 HTTP Proxy2 Mgmt Svc
Analytics
The Minilith
Service 1 Service X Service 2 Service Y Service 3
Service Z Service 4 REST API Service A Service B
EXPOSED REST API
Message Queue
Many Miniliths
Service 1Service A
1 2 3 4 5
6 6 API 8 9
API
Q
1 2 3 4 5
6 6 API 8 9
API
Q
1 2 3 4 5
6 6 API 8 9
API
Q
1 2 3 4 5
6 6 API 8 9
API
Q
1 2 3 4 5
6 6 API 8 9
API
Q
Message Queue
1 2 3 4 5
6 6 API 8 9
API
Q
REST API REST API
Higher Abstractions
Swamp of Pox
Resilience
Low Coupling
Insight
Data Model
Analytics
EDA (Pipes)
Deployment Orchestration
Programming Model
Eventual Consistency
Microservice Nirvana
MSH
Microservices Nirvana
Kubernetes
Antifragile
Antifragile
Fragile
Degrades under
pressure
Robust
Strong but breakable
Resilient
Rebuilds back to former
state
Antifragile
Gains from stress and
shocks
Antifragile System
Stressor
Measure
ReactAdapt
• Every crash improves the system
• Safety systems exploit small errors
• redundancy duplicates critical components to increase reliability of the system
Air Safety
• Species compete for domination
• Nature operatives with very little information yet excels at survival
• Small iterative changes from generation to generation
• Don’t predict the future, be ready for multiple eventualities
Nature
• Innovation is born out of necessity
• Anti-fragile systems are redundant, with countless backup plans
• Not efficient, but effective
• Ready to take the lead if/when circumstances change
Innovation IS Antifragile
time
value
Optionality
• Trail and error
• making do with what you’ve got
• recycle bits that would otherwise be wasted
• Rational trail and error is not random
• Recognise the favourable outcome and know what to discard
Bricolage
• Failure
• Loss
• Chaos
• Learning
• Allow success to emerge
Embrace The Chaos
• Implement a lean platform
• With lean analytics In-built
• No need to ask for permission
• Create an Internal microservice app store for your organisation
• Archive and reproduce services for future consideration
Incubate Success
• Platform mangement
• Define your architectural style
• Data model
• But don’t worry…
• What you can learn may be more valuable than technical excellence
• Innovation embraces everything, including anti-patterns
Should I adopt micro services?
–Seneca
“It is not because things are difficult that we do not dare, it is because we do not dare that things
are difficult.”