mucon microservices and innovation

Post on 17-Aug-2015

111 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.”

top related