A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr....

51
A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 [email protected] @pzfreo

Transcript of A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr....

Page 1: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

A Cell-Based Architecture for Microservices

Dr. Paul Fremantle CTO and Co-Founder, [email protected]

@pzfreo

Page 2: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo
Page 3: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo
Page 4: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

http://2011.igem.org/Team:UNIPV-Pavia/Project/Modelling

Page 5: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Biology is fundamentally the study of complex systems

Page 6: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Agile is here - just not very

evenly distributed

Page 7: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

CONSUMER DEMAND

SUPPLIERS DISAGGREGATE ARCHITECTURE TO MEET DEMAND

1

10

102

103

105

109

MONOLITHIC BUSINESS APP

ENTERPRISE APPS DEPARTMENTAL APPS

SAAS APPS PUBLIC / PRIVATE APIS SERVERLESS & MICROSERVICES

1970s|

MAINFRAME

1980s|

IT AWAKENING

1990s|

INTERNET

2000s|

MOBILE

2010s|

IoT/AI

2020+|

DIGITAL NATIVE

Page 8: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Phys

ical

Functional

Linux/OS

Virtualization

Cloud

Containers

K8s, Cloud Orchestration

ABIs Web Services SOA APIs Endpoints

Cloud Native

Page 9: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Agile - Developer Flow

Page 10: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Agile Flow for Development Teams

Page 11: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

The wrong organization interrupts flow

Page 12: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo
Page 13: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Complex processes interrupt flow Step 1 Step 1 Step 1

Step 2 Step 2 Step 2… … …Step n Step p Step q

SGMM

SOAGovernancePlanningAssessment

SOAGovernanceCapabilitiesHeat Map

SOAGovernanceTransitionPlan

SOAGovernanceAssets Techniques, Checklist,

Guidance, Examples

Governance ProcessModels

Page 14: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

The wrong technology stack interrupts flow

Page 15: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Phys

ical

Functional

Linux/OS

Virtualization

Cloud

Containers

K8s, Cloud Orchestration

ABIs Web Services SOA APIs Endpoints

Organizational

Composable Enterprise

Page 16: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

The best architectures, requirements, and designs emerge from self-organizing teams.

The Agile Manifesto

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Deliver working software frequently with a preference to the shorter timescale.

Page 17: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

The best architectures, requirements, and designs emerge from self-organizing teams.

The Agile Manifesto

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

Deliver working software frequently with a preference to the shorter timescale.

Page 18: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

https://www.instagram.com/insects_and_flowers_uk/

Page 19: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo
Page 20: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

A team which:

● Manages its own work● Pulls work ● Doesn’t require “command and control”● Communicates effectively with each other● Is not afraid to ask questions● Continuously evolves skills and capabilities

What is a “self-organizing” team?

https://www.scrumalliance.org/community/articles/2013/january/self-organizing-teams-what-and-how

Page 21: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Self Organizing Teams

https://www.testingexcellence.com/10-traits-agile-self-organizing-team/

Page 22: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Two Pizza Rulehttps://flic.kr/p/X9B7CH

Page 23: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

n(n-1)2

Simple maths

Page 24: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo
Page 25: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

APIs are designed for boundaries

● Authentication required and expected● Authorization ● Rate limiting / Throttling● Analytics and Observability● No assumption that others will use it:

○ Developer-friendly portals■ SDKs, samples, forums

○ Developer-friendly governance■ Versioning, Deprecation notification, etc

Page 26: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Boundaries require identity and access control

Page 27: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Control Plane

Page 28: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Data Plane

Page 29: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Brownfield Greenfield

Page 30: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Core Systems

Core Systems

Core Systems

Disaggregated systems

Page 31: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Core Systems

Core Systems

Core Systems

Disaggregated systems

Page 32: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Core Systems

Core Systems

Core Systems

API M

anag

emen

t Pla

tfor

m

GovernanceSelf-ServiceIdentityDependency ManagementNotification Versioning

Page 33: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Microservices deliver agility

Page 34: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Core Systems

Core Systems

Core Systems

API M

anag

emen

t Pla

tfor

m

Page 35: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Microservices at scale require some governance….

Page 36: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo
Page 37: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

The cell is the basic structural, functional, and

biological unit of all known living organisms

Page 38: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Cell boundaries Transmembrane receptors and signalling

Page 39: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Core Systems

Core Systems

Core Systems

ESB

/ D

ata

Plan

e

API M

anag

emen

t Pla

tfor

m /

Con

trol

Pla

ne

Cell Cell

Cell Cell

Cell Cell

Cell

Page 40: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Timelapse of Sponge Reaggregation - https://www.youtube.com/watch?v=SvtDMo7fjAc

Page 41: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Cell boundary = Team boundary

Page 42: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Core Systems

Core Systems

Core Systems

ESB

/ D

ata

Plan

e

API M

anag

emen

t Pla

tfor

m /

Con

trol

Pla

ne

Cell Cell

Cell Cell

Cell Cell

Cell

APIs enable boundaries.

Boundaries enable self organising teams.

Page 43: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo
Page 44: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo
Page 45: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Boundaries for Microservices

● Have a clear global data and control plane○ An API management platform provides an effective global

control plane● Ensure teams offer clear boundaries

○ Versioned APIs managed through the global control plane● Give teams freedom to evolve within those

boundaries○ Within a cell they are free to use any approach

Page 46: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo
Page 47: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo
Page 48: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

The recoupling of decoupled components into new agile teams

Based on teams, with devops, cloud infrastructure and intra-cell comms

Agile inside the cell, versioned and gatewayed at the boundary

https://blog.cirm.ca.gov/

Page 49: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

“Remember that every science is based upon an abstraction... All

sciences are differentiated by their abstraction.”

Fulton J. Sheen

Page 50: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Everyone is on a journey towards agility

Integration agility needs to catch up with project agility

This means a shift towards enabling integration agile teams

Reaggregating with a cellular architecture and self-organisingteams creates a composable enterprise

Flow metrics allow you to understand cell health

Page 51: A Cell-Based Architecture for Microservices€¦ · A Cell-Based Architecture for Microservices Dr. Paul Fremantle CTO and Co-Founder, WSO2 paul@wso2.com @pzfreo

Thank you!

More information:

Cell based architecturehttps://github.com/wso2/reference-architecture

Reference Methodologyhttps://github.com/wso2/reference-methodology