Microservices Past, Present, Future

Embed Size (px)

Citation preview

Microservices
Past
Present &
Future

David Dawson

CEO Simplicity Itself

London Microservices User Group
Founder & Lead

[email protected]

@davidthecoder

Past

The path to Microservices

Flick through the pack of cards

and How It Ruined the World

Perfection

Plato'sTheory of Ideal Forms

Republic

The world is a shadow of the real world of forms

What's this?

What's this?

Aristotlean Categories

Took plato forms and expanded

Generated lists of categories

Gave rules for seperation

Father of reductionism

Where did this lead?

Took plato forms and expanded

Generated lists of categories

Gave rules for seperation

Father of reductionism

Petra

Ancient city, in southern Jordan

Very successful.Use a rock carved, or monolithic, architecture.

Around 500 AD, earthquake broke the monolithic aqueducts.

City abandoned.

TODO, Petra

Petra

Ancient city, in southern Jordan

Very successful.Use a rock carved, or monolithic, architecture.

Around 500 AD, earthquake broke the monolithic aqueducts.

City abandoned.

Catastrophic failure in the face of change, could never be rebuilt.

Perfectionis a

LIE

The path to Microservices

Flick through the pack of cards

The Agile Manifesto

Flexible Process

NoSql

Flexible Data

DevOps

Flexible Teams

Optimised For Change

Software?

SOA?

SOA Failed

SOA optimisesfor efficiency

The Cloud

The Cloud

CAP Theorum

Consistency

Availability

Partition Tolerance

RegisterSystem ASystem B

Time

RegisterSystem ASystem BOp 1

Time

RegisterSystem ASystem BOp 1

Time

Op 2

RegisterSystem ASystem BOp 1

Op 3

Time

Op 2

RegisterSystem ASystem BOp 1

Op 3

Time

Op 2

NETWORK PARTITION

Can we maintain the order of the operations across the partition?

No

Requires:Drop availabiltyLoss of performanceUse of a compatible distributed tx manager.JEE!The 2002 called .. wants architecture back

Micro Web Services

Peter Rodgers 1060 Research - 2006

Cloud Native

atNetflix

Team Scaling

atNetflix

Platform as aService

LinuxContainerisation

LinuxContainerisation

Docker

This is whatMicroservices was born into

Present

What is theMicroserviceArchitecture?

Isolation!

AspirationEvolutionAbility to change

Isolation

Aspiration

Dan North

Bounded/ Centred Community

What is Architecture?

ArchitecturevsDesign

Limitless OptionsFor Design

Only a few Architectures

What is Architecture?

Not the solution!

An approach to solving the problem.

Tools to engage the world

Sounds familiar.

ArchitectureIs Philosophy

h

What is yourPhilosophy?

Ask the audience.

One big one.

MicroservicesPhilosophy

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

What does this look like?

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

Gateway

Tectonic platesAreas that change togetherHow can we figure this out?

Rise ofPlatforms

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

Kubernetes

Deis

Logam

Apollo

Openshift

BlueMix

DC/OS

Rise ofPlatforms

CloudFoundry

Mesos

Kubernetes - 2017

You need...

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

Service Discovery

Scaling

Monitoring

Deployment

Communication

Security

ETC...

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

You needaPlatform

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

Dont buildyour ownPlatform

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

Cloud FoundryMesosKubernetes

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

DevOps

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

DevOpsHypeCycle

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

ContinuousDelivery

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

Frameworks

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

Frameworks

NetflixOSS

Seneca

Micro

Spring Cloud

Spring Cloud

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

ServiceCommunication

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

HTTP

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

Future

TeamScaling

Optimise ForChange

Platforms

Platforms

Kubernetes

CloudFoundry

Mesos

Deis

Logam

Apollo

Openshift

BlueMix

DC/OS

Platforms

Platforms

Converging

Platforms

Commoditising

Platforms

wont matter

Serverless

Serverless

Google Cloud Functions

AWS Lambda

Azure Functions

ServiceCommunication

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

ServiceCommunication

HTTP

Muon

AMQP

ZeroMQ

HTTP/2

STOMP

Some say XXX

This is what we are going to discuss!

Understand a man by walking in his shoes

DesignMatters

DataMatters

Whats in the Box!

Types of Microservice

Entity

Resource

Stream

EntityOriented

Gateway

Tectonic platesAreas that change togetherHow can we figure this out?

Tectonic platesAreas that change togetherHow can we figure this out?

Tectonic platesAreas that change togetherHow can we figure this out?

Delegating consistency guarantees to the database.

Therefore, oriented around database entities

Delegating consistency guarantees to the database.

Therefore, oriented around database entities

Entity Oriented

Data Master&CP

Tectonic platesAreas that change togetherHow can we figure this out?

Resource

Resource Oriented

Data Master&AP

Tectonic platesAreas that change togetherHow can we figure this out?

Stream

Stream Oriented

Tectonic platesAreas that change togetherHow can we figure this out?

Stream Oriented

Events

Tectonic platesAreas that change togetherHow can we figure this out?

Stream Oriented

Events

Not Data Master&AP

Tectonic platesAreas that change togetherHow can we figure this out?

Microservices+Data Science

API Projects==Microservices?

IndustryVerticals[Outside Media]

Finance,Health Care...

Highly RegulatedLarge LegacyNo DowntimeCultural Concerns

[email protected]

http://www.simplicityitself.com

Want to knowMore?

Not the first time we've ridden the trail

David Dawson

@davidthecoder

Questions?

TALK TO MUNIB!

David Dawson

@davidthecoder

Thanks!

http://www.slideshare.net/DavidDawson9