SlideShare a Scribd company logo
Where is Integration in a Microservices world?
Kim Clark
9th October
MuCon 2015
What do we mean by “Integration Architecture”?
How data and function are shared between applications
within and across enterprise boundaries
1
Application
Application
Application
Application
Application
Application
Point to
point
Hub and
spoke
Service
Oriented
ArchitectureEnterprise
Service Bus
Messaging
APIs
Managed File
Transfer
Business to
Business
(B2B)
Extract
Transform
Load
Connectors /
Adapters
Mapping /
Transformation
Enterprise
Application
Integration
Application
Microservice
application
µService
µService
µService
µService
Large enterprise landscapes are horrible!
•  Mergers and acquisitions
•  Multiple systems of record for the same data types
•  Non-correlating duplicates
•  Account centric vs. Customer centric
•  Version locked systems
•  There are always 3 versions of a system
–  The one you’re migrating from
–  The one you’re on now
–  The one you’re migrating too
•  Months to add a fix pack
•  Very long lived entities
•  Mortgages, deeds, contracts, pensions, insurance policies
•  Evolved complexity
•  Decades of business logic embedded alongside the data
•  Business Partner interfaces
•  Exceptions are the rule
•  Too important to deprecate
2
Integration architecture subsets
External (API)
Exposure
Enterprise
(Service/API)
Exposure
Batch-based
Hub and Spoke
Batch Transfer
Direct
Batch Transfer
B2B
Event-based
Hub and Spoke
Event-based
Point to Point
Real-time
Direct Access
External Event
Management
LocalEnterprisePublic/Partner
Batch-based Event-based Connected
What does a large scale integration landscape look like
Systems of record
•  Older technology
•  Harder to change
•  Challenging integration points
Integration Hub
Integration Hub
Adapter Adapter
“Systems of
Engagement”
Applications
Exposure Gateway (internal)
“Systems of
Record”
Applications
Mature large enterprise
(simplified)
Exposure Gateway (external)
Adapter Adapter
“Hub and Spoke”
integration
“Enterprise
Service Bus?”
“Web API
Gateway”
Systems of engagement
•  Modern languages/runtimes
•  Agile updates
•  Simple modern connectivity
Confusions that arise around microservices
5
Obligatory “What is a microservice” slide
Monolithic
application
Microservices
application
Silo
Microservice
(component)
Microservice
(component)
Microservice
(component)
Agility
Scalability
Resilience
Microservice
component
Common misconception resulting from the term “microservice”
Monolithic application Microservices application
Exposed services/APIs
Microservice
component
Microservice
component
Exposed services/APIs
Silo
component
Microservices are fine grained WSDL operations
APIs are microservices
The “service” in “microservice” refers to the granularity of the
components, not the granularity of the exposed interfaces
x 1 x 3
x 4x 4
Is “microservices architecture” is really
“micro-component architecture”?
Application
SOA relates to enterprise service exposure
Application ApplicationApplication
Service oriented architecture (SOA)
and microservices architecture relate to different scopes
Microservice
application
µService
µService
µService
µService
Microservices relate to
application architecture
However, even this simple distinction can be
contentious depending on your definition of SOA
What was SOA really about?
Integration or Components?
“SOA is about how to achieve integration
often to aging complex back end systems in
order to expose services”
In this case SOA is primarily a connectivity
problem with little relationship to
microservices architecture and certainly at a
different scope.
“SOA is about re-factoring your IT landscape into
components that better align with the business
needs and expose the services that it needs”
Here the connectivity problem is pushed down to
the applications and the focus of SOA is on
realignment of to the business needs. The service
components look more like applications, and we
might consider microservices as “more granular
SOA”, or even “SOA done right”.
System of
Record
Integration Hub
Adapter Adapter
Exposure Gateway
Exposed Services/APIs
System of
Record
System of
Record
Adapter
Exposed Services/APIs
System of
Record
Adapter
Service
Component
Exposure Gateway
9
Service
Component
Service
Component
Why such split opinions on microservices vs SOA?
10
Integration Hub
Integration Hub
Adapter Adapter
Engagement
Applications
SaaS
Application
BusinessPartner
Systemsof
Record
Business
Partner
Exposure Gateway (external)
Mature large enterprise
Microservices are just one style of application
Exposing services is an integration and data challenge
Green field online start-up
Much of landscape could be microservice based
The landscape is as (micro)service oriented architecture
Exposure Gateway (external)
Microservice
application
µService
µServiceµService
µService
Exposure Gateway (internal)
µService
µService
µService
µService
µService
µService
µService
µService
µService
µService
µService
EnterpriseBoundary
EnterpriseBoundary
Adapter Adapter
SOA principles get a second chance with microservices
11
Challenges of SOA era Advantages in microservices era
Funding Poor funding model. No
project wanted to pay for re-
usable services.
API Economy provides potential
funding mechanisms. Costs of
integration reducing.
Integration Connectivity was hard.
Standards were immature.
Tools were just emerging.
Integration standards and tools
improved. Modern APIs often
provided as out of the box.
Data Data landscape disjoined.
Duplication common.
Function embedded with
data.
SOA/MDM initiatives rationalised
some landscapes. New data
techniques to handle big data more
flexibly.
Requirements Hard to guess the perfect
service model. Business
needs constantly changing.
Microservices lend themselves to
lightweight agile techniques
enabling more iterative
requirements discovery.
Result Integration led services.
Poor re-use.
Business led API requirements.
Creation on demand.
Levels of API/service exposure
Just because it’s REST/HTTP, doesn’t mean it’s all the same
•  How different is the APIs
exposure style at each
level?
•  How strong should the
application boundaries be?
12
Microservices application
Microservice
Microservice
Within-application
Enterprise-wide
Internet exposed
API/service exposure scope
Microservice
MicroserviceMicroservice
Microservice
Microservices inter-communication
Aim is decoupling for robustness
Messaging where possible
•  Lightweight messaging
(e.g. AMQP, Kafka)
•  Publish/subscribe
•  Eventual consistency
Direct calls where necessary
Lightweight protocols
(e.g. JSON/HTTP)
•  Load balancing/scaling via service
discovery
•  Circuit breaker
•  Caching
Microservices application
Microservice
Subscribe
JSON
/HTTP
Microservice
Microservice
Message
Hub
API
Microservice
Publish
API
JSON
/HTTP Publish
Service
Discovery
Application
Internal vs. External/Partner exposure
– comparing at the level of functionality/capability
Firewall
Canonical Integration
Data Translation
Routing/Distribution
Composition
Exposure
Traffic Management - Basic
Security - Basic
Decoupling
Visibility - Basic
Partner Management
Account based access
Accounting/Billing
Self Administration
Service level management
Discovery - Basic
Exposure
Traffic Management
Security
Decoupling
Visibility
Discovery
API/Service Gateway
API/Service Gateway
Canonical Integration
Data Translation - Basic
Routing/Distribution - Basic
Composition - Basic
There may be only a handful
of well understood internal
consumer applications
There may 10s of external consumer applications
…and there could be hundreds of “experimenters”
Do todays systems of engagement
become tomorrows systems of record?
Engagement
Application
Logic
Systemsof
Record
Presentation
Data
Logic
Presentation
Data
Logic
1
2
3
1 New engagement application
•  Provides new, engaging, agile presentation tier
•  Cache/subset of data, for temporary and/or low
latency storage
•  Integrates with enterprise services/APIs easily.
2 Aging engagement application
•  Presentation less attractive and agile
•  Data model broadened, with increased integrity
as now used by other applications
•  Struggles to integrate with other systems
3 Becomes system of record
•  Presentation tier no longer used. Logic/data
now accessed and/or replicated to new
systems of engagement.
•  Data model stabilised, and hard to change, with
increased integrity as now used by other
applications
•  Requires external tools to integrate with other
systems.
1.  How long before your microservice application
becomes one of the “legacy” systems?
2.  How long before you have more than one
mircoservices platform?
Exposure Gateway
Heterogeneous on the inside, homogeneous on the outside
Freedom to choose runtimes, languages,
datastores etc. may be a birthright with
microservices, but don’t let it become a millstone.
•  Choose runtimes based on their properties,
not the preferences/skills of the team
•  Look for natural convergence on runtimes,
then embrace it.
Seek to push maximum commonality into the
framework surrounding the microservices:
•  Scaling
•  Workload distribution
•  Resilience
•  Service discovery
•  Deployment orchestration
•  Messaging
•  Logging
•  Testing
16
Microservices application
Microservice
(Node.js)
Microservice
(Java +
MongoDB)
Microservice
(Go +
CloudantDB)
But what is an application boundary
in an microservices world?
Similar to application boundaries
today because
•  Group related functionality
•  Enable more coarse grained
ownership and responsibility (in
addition to full ownership at the
microservice level)
Different because
•  Application sub-components
(microservices) are truly
independent.
•  Application boundaries can be
easily changed – it’s primarily
about the right ownership
•  Application boundaries can spread
across network boundaries (e.g.
between clouds)…but should they!
17
SaaS
Application
Business
Partner
Exposure Gateway (external)
µService
µService
µService
µService
µService
µService
µService
µService
µService
µService
µService
EnterpriseBoundary
Traditional
Engagement
Application
System
of
record
System
of
record
SaaS
Application
Decentralising service/API exposure
In a perfect world…
•  Applications self-administer
exposure of their own APIs
•  API monitoring/diagnostics
would be gathered across the
organisation
•  Security models could be
implemented more consistently.
•  No additional team required to
enable integration
•  Application logic is firmly seated
with the application teams
18
Business
Partner
EnterpriseBoundary
Public API
Private API
API Gateway
Microservice
Engagement
Application
In reality, it will be a long haul for many organisations…
19
Systems
ofRecord
Integration Hub
Integration Hub
Adapter Adapter
Engagement
Applications
Microservice
applications
SaaSApplications
(external)
Adapter
Externally Exposed Services/APIs
Exposure Gateway (internal)
Exposure Gateway (external)
BusinessPartners
Caution with comparisons
(or “how to start an argument”!)
Comparisons that make some level of sense
Microservice architecture vs. Service oriented architecture
Trying to achieve many of the same things (enable the creation of re-usable business
functions as isolated components), but perhaps a different scale. SOA evolved to become
focused on the enterprise scale (though some might say that wasn’t the original intent).
Microservices, is primarily at the application scale.
Microservice component vs. Service component
Both describe the actual implementation of a business function. They differ primarily in
granularity, but also arguably in maintainability, agility etc.
Confusing comparisons
Microservices vs. SOA
Microservices are components. SOA is an architecture. What you’re probably trying to
compare is Microservices Architecture with SOA (see above).
Microservices vs. APIs
APIs are a interface. A mechanism for exposing business function. Microservices are the
component architecture used to implement those business functions. It makes no sense to
directly compare them.
Microservice vs. Service
“Service” means different things to different people. Needs to be qualified. Service
Implementation? Service exposure? Service definition? The same could be said for
microservice. Need to be specific.
20

More Related Content

PDF
Enterprise Architecture - TOGAF Overview
PDF
Cloud architecture with the ArchiMate Language
PDF
Cloud native integration
PPTX
Introduction to Enterprise architecture and the steps to perform an Enterpris...
PDF
Hybrid integration reference architecture
PPTX
How to Articulate the Value of Enterprise Architecture
PPTX
Practical Enterprise Architecture in Medium-size Corporation using TOGAF
PDF
Digital Transformation And Enterprise Architecture
Enterprise Architecture - TOGAF Overview
Cloud architecture with the ArchiMate Language
Cloud native integration
Introduction to Enterprise architecture and the steps to perform an Enterpris...
Hybrid integration reference architecture
How to Articulate the Value of Enterprise Architecture
Practical Enterprise Architecture in Medium-size Corporation using TOGAF
Digital Transformation And Enterprise Architecture

What's hot (20)

PDF
Effective Strategy Execution with Capability-Based Planning, Enterprise Arch...
PDF
IT4IT™
PPTX
Enterprise architecture framework business case
PDF
Enterprise Architecture Implementation And The Open Group Architecture Framew...
PPTX
Togaf 9.2 Introduction
PDF
Digital Operating Model & IT4IT
PDF
Structured Approach to Solution Architecture
PPTX
Benefits of the Azure cloud
PDF
Better Together: Delivering Graph Value with AWS & Neo4j - Antony Prasad The...
PDF
Test Environment Strategy
PDF
EA Intensive Course "Building Enterprise Architecture" by mr.danairat
PPTX
Intro to Enterprise Architecture (EA)
PPTX
IT4IT - The Full Story for Digital Transformation - Part 1
PPTX
Transforming Organizations with CI/CD
PDF
How to establish Enterprise Architecture in large organisations using TOGAF
PDF
IT Operating Model - Fundamental
PDF
Capability-based planning with TOGAF & ArchiMate
PPTX
MuleSoft's Approach to Driving Customer Outcomes
PPTX
Rethinking it for digital transformation
Effective Strategy Execution with Capability-Based Planning, Enterprise Arch...
IT4IT™
Enterprise architecture framework business case
Enterprise Architecture Implementation And The Open Group Architecture Framew...
Togaf 9.2 Introduction
Digital Operating Model & IT4IT
Structured Approach to Solution Architecture
Benefits of the Azure cloud
Better Together: Delivering Graph Value with AWS & Neo4j - Antony Prasad The...
Test Environment Strategy
EA Intensive Course "Building Enterprise Architecture" by mr.danairat
Intro to Enterprise Architecture (EA)
IT4IT - The Full Story for Digital Transformation - Part 1
Transforming Organizations with CI/CD
How to establish Enterprise Architecture in large organisations using TOGAF
IT Operating Model - Fundamental
Capability-based planning with TOGAF & ArchiMate
MuleSoft's Approach to Driving Customer Outcomes
Rethinking it for digital transformation
Ad

Viewers also liked (20)

PDF
Differentiating between web APIs, SOA, & integration …and why it matters
PDF
Microservices: Where do they fit within a rapidly evolving integration archit...
PDF
What’s behind a high quality web API? Ensure your APIs are more than just a ...
PDF
Integration Patterns for Microservices Architectures
PDF
Placement of BPM runtime components in an SOA environment
PDF
The Emerging Integration Reference Architecture | MuleSoft
PDF
Integration Patterns and Anti-Patterns for Microservices Architectures
PDF
REST vs. Messaging For Microservices
PDF
3298 microservices and how they relate to esb api and messaging - inter con...
PDF
Future of Integration | MuleSoft
PDF
Mule ESB Fundamentals
PPTX
REST and Microservices
PDF
Mule ESB - Integration Simplified
PDF
Application Architecture: The Next Wave | MuleSoft
PPTX
Microservices Done Right: Key Ingredients for Microservices Success
PDF
How to Use Hybrid Integration Platforms Effectively
PDF
Principles of microservices velocity
PPTX
Advance mathematics mid term presentation rev01
PDF
Micro service, Containers & Cluster Management
PPT
Appistry Lightening Talk from CloudCamp Federal @ FOSE
Differentiating between web APIs, SOA, & integration …and why it matters
Microservices: Where do they fit within a rapidly evolving integration archit...
What’s behind a high quality web API? Ensure your APIs are more than just a ...
Integration Patterns for Microservices Architectures
Placement of BPM runtime components in an SOA environment
The Emerging Integration Reference Architecture | MuleSoft
Integration Patterns and Anti-Patterns for Microservices Architectures
REST vs. Messaging For Microservices
3298 microservices and how they relate to esb api and messaging - inter con...
Future of Integration | MuleSoft
Mule ESB Fundamentals
REST and Microservices
Mule ESB - Integration Simplified
Application Architecture: The Next Wave | MuleSoft
Microservices Done Right: Key Ingredients for Microservices Success
How to Use Hybrid Integration Platforms Effectively
Principles of microservices velocity
Advance mathematics mid term presentation rev01
Micro service, Containers & Cluster Management
Appistry Lightening Talk from CloudCamp Federal @ FOSE
Ad

Similar to MuCon 2015 - Microservices in Integration Architecture (20)

PDF
CWIN17 Utrecht / cg u services - frank van der wal
PPTX
Microsoft Microservices
PPT
Three layer API Design Architecture
PDF
Microservices for Application Modernisation
PPTX
Microservices Architecture & Testing Strategies
PDF
Architecting for speed: how agile innovators accelerate growth through micros...
PDF
Architecting for speed: how agile innovators accelerate growth through micros...
PDF
Microservices for Enterprises
PPTX
Best Practices Building Cloud Scale Apps with Microservices
PDF
IBM --Enterprise messaging in the cloud
PPTX
#dbhouseparty - Should I be building Microservices?
PPTX
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
PDF
The Reality of Managing Microservices in Your CD Pipeline
PDF
Whitepaper : Microservices In or Out
PDF
[WSO2Con EU 2017] Microservices for Enterprises
PDF
Api enablement-mainframe
PPTX
Microservices architecture
PDF
#ATAGTR2020 Presentation - Microservices – Explored
PPTX
Microservice architecture design principles
PDF
The F5 Networks Application Services Reference Architecture (White Paper)
CWIN17 Utrecht / cg u services - frank van der wal
Microsoft Microservices
Three layer API Design Architecture
Microservices for Application Modernisation
Microservices Architecture & Testing Strategies
Architecting for speed: how agile innovators accelerate growth through micros...
Architecting for speed: how agile innovators accelerate growth through micros...
Microservices for Enterprises
Best Practices Building Cloud Scale Apps with Microservices
IBM --Enterprise messaging in the cloud
#dbhouseparty - Should I be building Microservices?
apidays LIVE Paris 2021 - APIs - How did we get here and where are we going n...
The Reality of Managing Microservices in Your CD Pipeline
Whitepaper : Microservices In or Out
[WSO2Con EU 2017] Microservices for Enterprises
Api enablement-mainframe
Microservices architecture
#ATAGTR2020 Presentation - Microservices – Explored
Microservice architecture design principles
The F5 Networks Application Services Reference Architecture (White Paper)

More from Kim Clark (15)

PDF
Cloud native defined
PDF
2008-2014 Integration Design - Course Summary for slideshare.pdf
PDF
Interface characteristics - Kim Clark and Brian Petrini
PDF
Implementing zero trust in IBM Cloud Pak for Integration
PDF
Automating agile integration
PDF
The resurgence of event driven architecture
PDF
Agile Integration eBook from 2018
PDF
Convergence of Integration and Application Development
PDF
Scaling Integration
PDF
The evolving story for Agile Integration Architecture in 2019
PDF
Agile integration architecture in relation to APIs and messaging
PDF
Multi-cloud integration architecture
PDF
Agile Integration Architecture: A Containerized and Decentralized Approach to...
PDF
Where can you use serverless?  How does it relate to APIs, integration and mi...
PDF
Building enterprise depth APIs with the IBM hybrid integration portfolio
Cloud native defined
2008-2014 Integration Design - Course Summary for slideshare.pdf
Interface characteristics - Kim Clark and Brian Petrini
Implementing zero trust in IBM Cloud Pak for Integration
Automating agile integration
The resurgence of event driven architecture
Agile Integration eBook from 2018
Convergence of Integration and Application Development
Scaling Integration
The evolving story for Agile Integration Architecture in 2019
Agile integration architecture in relation to APIs and messaging
Multi-cloud integration architecture
Agile Integration Architecture: A Containerized and Decentralized Approach to...
Where can you use serverless?  How does it relate to APIs, integration and mi...
Building enterprise depth APIs with the IBM hybrid integration portfolio

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
A Presentation on Artificial Intelligence
PDF
Machine learning based COVID-19 study performance prediction
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Approach and Philosophy of On baking technology
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
KodekX | Application Modernization Development
PDF
cuic standard and advanced reporting.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Encapsulation theory and applications.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
MYSQL Presentation for SQL database connectivity
A Presentation on Artificial Intelligence
Machine learning based COVID-19 study performance prediction
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
20250228 LYD VKU AI Blended-Learning.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Digital-Transformation-Roadmap-for-Companies.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Approach and Philosophy of On baking technology
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
KodekX | Application Modernization Development
cuic standard and advanced reporting.pdf
Electronic commerce courselecture one. Pdf
Encapsulation theory and applications.pdf
Chapter 3 Spatial Domain Image Processing.pdf

MuCon 2015 - Microservices in Integration Architecture

  • 1. Where is Integration in a Microservices world? Kim Clark 9th October MuCon 2015
  • 2. What do we mean by “Integration Architecture”? How data and function are shared between applications within and across enterprise boundaries 1 Application Application Application Application Application Application Point to point Hub and spoke Service Oriented ArchitectureEnterprise Service Bus Messaging APIs Managed File Transfer Business to Business (B2B) Extract Transform Load Connectors / Adapters Mapping / Transformation Enterprise Application Integration Application Microservice application µService µService µService µService
  • 3. Large enterprise landscapes are horrible! •  Mergers and acquisitions •  Multiple systems of record for the same data types •  Non-correlating duplicates •  Account centric vs. Customer centric •  Version locked systems •  There are always 3 versions of a system –  The one you’re migrating from –  The one you’re on now –  The one you’re migrating too •  Months to add a fix pack •  Very long lived entities •  Mortgages, deeds, contracts, pensions, insurance policies •  Evolved complexity •  Decades of business logic embedded alongside the data •  Business Partner interfaces •  Exceptions are the rule •  Too important to deprecate 2
  • 4. Integration architecture subsets External (API) Exposure Enterprise (Service/API) Exposure Batch-based Hub and Spoke Batch Transfer Direct Batch Transfer B2B Event-based Hub and Spoke Event-based Point to Point Real-time Direct Access External Event Management LocalEnterprisePublic/Partner Batch-based Event-based Connected
  • 5. What does a large scale integration landscape look like Systems of record •  Older technology •  Harder to change •  Challenging integration points Integration Hub Integration Hub Adapter Adapter “Systems of Engagement” Applications Exposure Gateway (internal) “Systems of Record” Applications Mature large enterprise (simplified) Exposure Gateway (external) Adapter Adapter “Hub and Spoke” integration “Enterprise Service Bus?” “Web API Gateway” Systems of engagement •  Modern languages/runtimes •  Agile updates •  Simple modern connectivity
  • 6. Confusions that arise around microservices 5
  • 7. Obligatory “What is a microservice” slide Monolithic application Microservices application Silo Microservice (component) Microservice (component) Microservice (component) Agility Scalability Resilience
  • 8. Microservice component Common misconception resulting from the term “microservice” Monolithic application Microservices application Exposed services/APIs Microservice component Microservice component Exposed services/APIs Silo component Microservices are fine grained WSDL operations APIs are microservices The “service” in “microservice” refers to the granularity of the components, not the granularity of the exposed interfaces x 1 x 3 x 4x 4 Is “microservices architecture” is really “micro-component architecture”?
  • 9. Application SOA relates to enterprise service exposure Application ApplicationApplication Service oriented architecture (SOA) and microservices architecture relate to different scopes Microservice application µService µService µService µService Microservices relate to application architecture However, even this simple distinction can be contentious depending on your definition of SOA
  • 10. What was SOA really about? Integration or Components? “SOA is about how to achieve integration often to aging complex back end systems in order to expose services” In this case SOA is primarily a connectivity problem with little relationship to microservices architecture and certainly at a different scope. “SOA is about re-factoring your IT landscape into components that better align with the business needs and expose the services that it needs” Here the connectivity problem is pushed down to the applications and the focus of SOA is on realignment of to the business needs. The service components look more like applications, and we might consider microservices as “more granular SOA”, or even “SOA done right”. System of Record Integration Hub Adapter Adapter Exposure Gateway Exposed Services/APIs System of Record System of Record Adapter Exposed Services/APIs System of Record Adapter Service Component Exposure Gateway 9 Service Component Service Component
  • 11. Why such split opinions on microservices vs SOA? 10 Integration Hub Integration Hub Adapter Adapter Engagement Applications SaaS Application BusinessPartner Systemsof Record Business Partner Exposure Gateway (external) Mature large enterprise Microservices are just one style of application Exposing services is an integration and data challenge Green field online start-up Much of landscape could be microservice based The landscape is as (micro)service oriented architecture Exposure Gateway (external) Microservice application µService µServiceµService µService Exposure Gateway (internal) µService µService µService µService µService µService µService µService µService µService µService EnterpriseBoundary EnterpriseBoundary Adapter Adapter
  • 12. SOA principles get a second chance with microservices 11 Challenges of SOA era Advantages in microservices era Funding Poor funding model. No project wanted to pay for re- usable services. API Economy provides potential funding mechanisms. Costs of integration reducing. Integration Connectivity was hard. Standards were immature. Tools were just emerging. Integration standards and tools improved. Modern APIs often provided as out of the box. Data Data landscape disjoined. Duplication common. Function embedded with data. SOA/MDM initiatives rationalised some landscapes. New data techniques to handle big data more flexibly. Requirements Hard to guess the perfect service model. Business needs constantly changing. Microservices lend themselves to lightweight agile techniques enabling more iterative requirements discovery. Result Integration led services. Poor re-use. Business led API requirements. Creation on demand.
  • 13. Levels of API/service exposure Just because it’s REST/HTTP, doesn’t mean it’s all the same •  How different is the APIs exposure style at each level? •  How strong should the application boundaries be? 12 Microservices application Microservice Microservice Within-application Enterprise-wide Internet exposed API/service exposure scope
  • 14. Microservice MicroserviceMicroservice Microservice Microservices inter-communication Aim is decoupling for robustness Messaging where possible •  Lightweight messaging (e.g. AMQP, Kafka) •  Publish/subscribe •  Eventual consistency Direct calls where necessary Lightweight protocols (e.g. JSON/HTTP) •  Load balancing/scaling via service discovery •  Circuit breaker •  Caching Microservices application Microservice Subscribe JSON /HTTP Microservice Microservice Message Hub API Microservice Publish API JSON /HTTP Publish Service Discovery
  • 15. Application Internal vs. External/Partner exposure – comparing at the level of functionality/capability Firewall Canonical Integration Data Translation Routing/Distribution Composition Exposure Traffic Management - Basic Security - Basic Decoupling Visibility - Basic Partner Management Account based access Accounting/Billing Self Administration Service level management Discovery - Basic Exposure Traffic Management Security Decoupling Visibility Discovery API/Service Gateway API/Service Gateway Canonical Integration Data Translation - Basic Routing/Distribution - Basic Composition - Basic There may be only a handful of well understood internal consumer applications There may 10s of external consumer applications …and there could be hundreds of “experimenters”
  • 16. Do todays systems of engagement become tomorrows systems of record? Engagement Application Logic Systemsof Record Presentation Data Logic Presentation Data Logic 1 2 3 1 New engagement application •  Provides new, engaging, agile presentation tier •  Cache/subset of data, for temporary and/or low latency storage •  Integrates with enterprise services/APIs easily. 2 Aging engagement application •  Presentation less attractive and agile •  Data model broadened, with increased integrity as now used by other applications •  Struggles to integrate with other systems 3 Becomes system of record •  Presentation tier no longer used. Logic/data now accessed and/or replicated to new systems of engagement. •  Data model stabilised, and hard to change, with increased integrity as now used by other applications •  Requires external tools to integrate with other systems. 1.  How long before your microservice application becomes one of the “legacy” systems? 2.  How long before you have more than one mircoservices platform? Exposure Gateway
  • 17. Heterogeneous on the inside, homogeneous on the outside Freedom to choose runtimes, languages, datastores etc. may be a birthright with microservices, but don’t let it become a millstone. •  Choose runtimes based on their properties, not the preferences/skills of the team •  Look for natural convergence on runtimes, then embrace it. Seek to push maximum commonality into the framework surrounding the microservices: •  Scaling •  Workload distribution •  Resilience •  Service discovery •  Deployment orchestration •  Messaging •  Logging •  Testing 16 Microservices application Microservice (Node.js) Microservice (Java + MongoDB) Microservice (Go + CloudantDB)
  • 18. But what is an application boundary in an microservices world? Similar to application boundaries today because •  Group related functionality •  Enable more coarse grained ownership and responsibility (in addition to full ownership at the microservice level) Different because •  Application sub-components (microservices) are truly independent. •  Application boundaries can be easily changed – it’s primarily about the right ownership •  Application boundaries can spread across network boundaries (e.g. between clouds)…but should they! 17 SaaS Application Business Partner Exposure Gateway (external) µService µService µService µService µService µService µService µService µService µService µService EnterpriseBoundary
  • 19. Traditional Engagement Application System of record System of record SaaS Application Decentralising service/API exposure In a perfect world… •  Applications self-administer exposure of their own APIs •  API monitoring/diagnostics would be gathered across the organisation •  Security models could be implemented more consistently. •  No additional team required to enable integration •  Application logic is firmly seated with the application teams 18 Business Partner EnterpriseBoundary Public API Private API API Gateway Microservice Engagement Application
  • 20. In reality, it will be a long haul for many organisations… 19 Systems ofRecord Integration Hub Integration Hub Adapter Adapter Engagement Applications Microservice applications SaaSApplications (external) Adapter Externally Exposed Services/APIs Exposure Gateway (internal) Exposure Gateway (external) BusinessPartners
  • 21. Caution with comparisons (or “how to start an argument”!) Comparisons that make some level of sense Microservice architecture vs. Service oriented architecture Trying to achieve many of the same things (enable the creation of re-usable business functions as isolated components), but perhaps a different scale. SOA evolved to become focused on the enterprise scale (though some might say that wasn’t the original intent). Microservices, is primarily at the application scale. Microservice component vs. Service component Both describe the actual implementation of a business function. They differ primarily in granularity, but also arguably in maintainability, agility etc. Confusing comparisons Microservices vs. SOA Microservices are components. SOA is an architecture. What you’re probably trying to compare is Microservices Architecture with SOA (see above). Microservices vs. APIs APIs are a interface. A mechanism for exposing business function. Microservices are the component architecture used to implement those business functions. It makes no sense to directly compare them. Microservice vs. Service “Service” means different things to different people. Needs to be qualified. Service Implementation? Service exposure? Service definition? The same could be said for microservice. Need to be specific. 20