Slide 1

Slide 1 text

INTEGRATION SUMMIT 2019 Emerging Architecture Patterns API-centric & Cell-based INTEGRATION Asanka Abeysinghe Deputy CTO & VP, Architecture - CTO Office

Slide 2

Slide 2 text

Objectives #1 look at: API-centric #2 introduce: Cell-based architecture

Slide 3

Slide 3 text

picture credit: https://www.flickr.com/

Slide 4

Slide 4 text

Motivation

Slide 5

Slide 5 text

Centralized & Layered picture credit: https://www.flickr.com/photos/kaktuslampa/

Slide 6

Slide 6 text

Not enough support for Agility

Slide 7

Slide 7 text

picture credit: https://www.flickr.com/photos/69929929@N06/ Powerpoint Architects

Slide 8

Slide 8 text

picture credit: https://www.flickr.com/photos/johnerlandsen/ Reality of the Enterprise

Slide 9

Slide 9 text

Brownfield > Greenfield picture credit: https://www.apstra.com/home/landscape-of-meadow-field-with-the-changing-environment-2/ Legacy, monolithic Microservices, sprawl

Slide 10

Slide 10 text

Reference Implementations picture credit: https://www.marinersmuseum.org/

Slide 11

Slide 11 text

picture credit: http://unlocked.footlocker.com/ Underutilization of the Technology

Slide 12

Slide 12 text

Gap: architecture | development | deployment picture credit: https://www.flickr.com/photos/28994379@N02/

Slide 13

Slide 13 text

picture credit: https://www.solarpowerworldonline.com/2017/07/georgia-contractor-sells-farmers-solar-tough-market/ Dependency management

Slide 14

Slide 14 text

picture credit: https://www.flickr.com/photos/tiocfaidh_ar_la_1916/ Architecture Patterns

Slide 15

Slide 15 text

Timeline

Slide 16

Slide 16 text

Background: Layered Architecture

Slide 17

Slide 17 text

picture credit: https://www.flickr.com/photos/23119666@N03/ A platform with an agile team 100 APIs, 60 message flows, 80 services, n DBs Multi-tenanted, 3 active tenants First release after 3 years

Slide 18

Slide 18 text

picture credit: https://www.flickr.com/photos/imcountingufoz/ Rise of Microservices

Slide 19

Slide 19 text

Pragmatic Microservices Netflix: APIs Uber: Edge Gateway eBay: API Facade Gartner: Mini Services

Slide 20

Slide 20 text

Background: Layered Architecture with MSA

Slide 21

Slide 21 text

Background: Segmented Architecture BS-1 BS-2 BS-n G-1 G-2 US-1 US-n

Slide 22

Slide 22 text

Platform of Platforms Platform (shared capabilities) Project 1 Project 2 Project 3 Project n Platform (shared capabilities) Project 1 Project 2 Project 3 Project n Platform (shared capabilities) Project 1 Project 2 Project 3 Project n Platform (shared capabilities) Project 1 Project 2 Project 3 Project n CI/CD User Store

Slide 23

Slide 23 text

API Maturity Model Technical APIs Partially Business APIs Business APIs Isolated Applications Unstructured Integration Module-based Architecture Service- oriented Architecture (SOA) Microservice Architecture (MSA) Open APIs APIs as a Business Monolithic Applications Sockets File Sharing Message Que. DB Replication EJB RMI COM/COM+ CORBA WebDev SOAP ESB BPEL BAM REST AMQP MQTT WAF REST OAS ServiceMesh gRPC GraphQL

Slide 24

Slide 24 text

picture credit: https://www.flickr.com/photos/ableman/

Slide 25

Slide 25 text

Making of…… picture credit: https://commons.wikimedia.org/wiki/User:Frank_Schulenburg CC BY 3.0

Slide 26

Slide 26 text

picture credit: https://www.cricindex.com/john-buchanan-cricket-coach/

Slide 27

Slide 27 text

2014 2018

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

Building the Concept

Slide 30

Slide 30 text

Business vs technical services picture credit: https://www.flickr.com/photos/arpadlukacs/

Slide 31

Slide 31 text

Service: Technical definition A code exposes through an interface that describes a collection of operations that are network accessible using a standardized messaging protocol.

Slide 32

Slide 32 text

Service: Business definition Software components that can be spontaneously discovered, combined, and recombined to provide a solution to a business problem.

Slide 33

Slide 33 text

Microservice: Technical definition A microservice must have a single purpose and be loosely coupled in design and deployed independently of other microservices. "Micro" is a concept of scope rather than size.

Slide 34

Slide 34 text

Microservice: Business definition Microservices is an approach to application development in which a large application is built as a suite of modular components or services. These services are built around business capabilities.

Slide 35

Slide 35 text

Group of (Micro)services

Slide 36

Slide 36 text

The cell is the basic structural, functional, and biological unit of all known living organisms

Slide 37

Slide 37 text

Cell-based Reference Architecture

Slide 38

Slide 38 text

Component: Atomic Units A component represents a process or business logic running in a container, serverless environment, or an existing runtime. A component is designed based on a specific scope, which can be independently run and reused at the runtime.

Slide 39

Slide 39 text

Cell: Units of Enterprise Architecture A cell is a collection of components, grouped from design and implementation into deployment. A cell is independently deployable, manageable, and observable.

Slide 40

Slide 40 text

Cell: Units of Enterprise Architecture A cell is an immutable application component that can be built, deployed and managed as a complete unit. The cell consists of multiple services, managed APIs, ingress and egress policies (including routing, throttling, access control), security trust domain, deployment policies, rolling update policies and external dependencies. The cell definition captures all of these in a standard technology- neutral fashion.

Slide 41

Slide 41 text

Cell:Component 1:M 1:1

Slide 42

Slide 42 text

Connected Cells picture credit: https://www.medicalnewstoday.com/

Slide 43

Slide 43 text

Control Plane: - Signaling of the network - Makes decisions about the traffic flow Data Plane: - Forwards traffic between hops - Takes data packets picture credit: https://www.flickr.com/photos/teflon/ Management Plane: - Configure - Observeabiltty, Monitor

Slide 44

Slide 44 text

Inter and Intra Cell communication Cell-mesh Global-mesh

Slide 45

Slide 45 text

Connected Cells Cell gateway (ingress) Sidecar (egress) Adaptor (egress) Ambassador (egress)

Slide 46

Slide 46 text

API-centric Architecture Pull APIs - RESTful HTTP, gRPC Push APIs - Events JMS, AMQP, SMTP - Streams Kafka, MQTT

Slide 47

Slide 47 text

Gateway Pattern picture credit: https://www.flickr.com/photos/ell-r-brown/

Slide 48

Slide 48 text

Automated Governance (Re)-enables Flow Policy Store (Registry) Observability (Monitoring/
 Analytics) Policy 
 Enforcement (GW) Automated governance is made of three things: A source of truth: Policy store/registry Enforcement of the policy Gateway or plugin attempting to keep the desired state Observability How close to the desired state are we?

Slide 49

Slide 49 text

Security of Cells picture credit: https://www.flickr.com/photos/laurelfan/ https://www.flickr.com/photos/sahdblunders/

Slide 50

Slide 50 text

Security of Cells

Slide 51

Slide 51 text

Developer Experience (DX) of a Cell

Slide 52

Slide 52 text

Creating Cells Brand new Cell Existing (micro)services Update an existing Cell Create a new version

Slide 53

Slide 53 text

No content

Slide 54

Slide 54 text

Lifecycle of a Cell

Slide 55

Slide 55 text

No content

Slide 56

Slide 56 text

picture credit: https://www.flickr.com/photos/rincon_de_lula/

Slide 57

Slide 57 text

Structured Agility Versioned Components Versioned Cells Dependency managed Autowired Reusable Enhanced MSA & CNA

Slide 58

Slide 58 text

Cell-based Enterprise Architecture

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

Cell Types Cell Type Components Logic Microservices, Functions, MicroGateways, lightweight storages Integration MicroESB or other integration microservices, lightweight storage and/or cache Legacy Existing systems, legacy services External SaaS and partner systems Data RDBMS, NoSQL, File, Message Broker* Identity IDP, user stores Channel Web Apps, IoT, mobile apps

Slide 61

Slide 61 text

Reference Implementation L0

Slide 62

Slide 62 text

No content

Slide 63

Slide 63 text

Reference Implementation L1

Slide 64

Slide 64 text

No content

Slide 65

Slide 65 text

Cells and Podular Organizations

Slide 66

Slide 66 text

Self-contained Deployable as a unit Independently elastic Data, control & management plane Summary: Cell-based Architecture

Slide 67

Slide 67 text

picture credit: https://www.flickr.com/photos/josephmorris/ Just a (steady) start https://github.com/wso2/reference-architecture

Slide 68

Slide 68 text

INTEGRATION SUMMIT 2019 “Organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.” - M. Conway

Slide 69

Slide 69 text

INTEGRATION SUMMIT 2019 THANK YOU wso2.com @asankama