Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
API: the Glue of Microservices
Introduction to the Cell-based Architecture
Asanka Abeysinghe
Vice President, Architecture - CTO Office
WSO2, Inc
Motivation
Centralized & Layered
picture credit: https://www.flickr.com/photos/kaktuslampa/
Greenfield < Brownfield
picture credit: https://www.flickr.com/photos/137826074@N08/
Reference Implementations
picture credit: https://www.marinersmuseum.org/
Underutilization of the Technology
picture credit: http://unlocked.footlocker.com/
Not enough support for Agility
picture credit: https://www.flickr.com/photos/tiocfaidh_ar_la_1916/
Architecture Patterns
Timeline
9
Background: Layered Architecture
10
picture credit: https://www.flickr.com/photos/23119666@N03/
picture credit: https://www.flickr.com/photos/imcountingufoz/
Rise of Microservices
Pragmatic Microservices
Netflix: APIs
Uber: Edge Gateway
eBay: API Facade
Gartner: Mini Services
Background: Layered Architecture with MSA
14
Background: Segmented Architecture
15
Building the
Concept
A code exposes through an
interface that describes a
collection of operations that
are network accessible using
a standardized messaging
protocol.
Service: 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.
Microservice: Technical definition
Software components that
can be spontaneously
discovered, combined, and
recombined to provide a
solution to a business
problem.
Service: 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.
Microservice: Business definition
Group of Microservices
The cell is the basic structural,
functional, and
biological unit of all known
living organisms
Cell-based
Reference Architecture
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.
Component: Atomic Units
A cell is a collection of
components, grouped from
design and implementation
into deployment. A cell is
independently deployable,
manageable, and observable.
Cell: Units of Enterprise Architecture
Cell:Component
1:M
1:1
Inter and Intra Cell communication
27
Connected Cells
Cell gateway (ingress/egress)
Sidecar
Adaptor
Ambassador
Gateway Pattern
picture credit: https://www.flickr.com/photos/ell-r-brown/
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?
Security of Cells
picture credit: https://www.flickr.com/photos/laurelfan/ https://www.flickr.com/photos/sahdblunders/
31
Security of Cells
32
Lifecycle of a Cell
34
35
picture credit: https://www.flickr.com/photos/rincon_de_lula/
Structured Agility
Versioned Components
Versioned Cells
Dependency managed
Autowired
Reusable
MSA & CNA compliant
Cell-based Enterprise
Architecture
39
Reference Implementation L0
41
Reference Implementation L1
43
Cells and Podular Organizations
45
Connected Cells
picture credit: https://www.medicalnewstoday.com/
API-centric Architecture
Self-contained
Deployable as a unit
Independently elastic
Data plane and control plane
Summary: Cell-based Reference Architecture
picture credit: https://www.flickr.com/photos/josephmorris/
Just a (steady) start
https://wso2.com/architecture/
THANK YOU
wso2.com
@asankama

More Related Content

APIs: The Glue of Microservices - Introduction to the Cell-based Architecture