SlideShare a Scribd company logo
1 of 27
Download to read offline
Director - Integration Architecture, WSO2
Microservice Architecture (MSA) and
Integration Microservices
Kasun Indrasiri
Evolution of Microservices
Monolithic Applications
Application 2
Application 1
Application 3
Application 4
Consumers
Evolution of Microservices
SOA and ESB
Consumers
ESB
System
Service 1 Service 2 Service 3 Service 4 Service 5
Application server
Evolution of Microservices
SOA with APIs
Consumers
ESB
System
Service 1 Service 2 Service 3 Service 4 Service 5
API Management
Application server
• The foundation of MSA is about developing a
single application as a suite of fine-grained
and independent services running in its own
process, developed and deployed
independently.
Microservice Architecture
Evolution of Microservices
Microservices
Web Portal Mobile Apps Store Admin Web Storefrons Promotion Mgmt
API Management
Product Details Shopping Cart Order Mgt Payment Proc. Payment Proc. Customer Mgt.
Account Mgt Order Tracking Financial Mgt Fraud Detection Tax Mgt Inventory Mgt Allocation-Release
Self-Service Giftcards Promotions Pricing Subscription Credit service CRM Mgt Shipping
Data Warehouse Finance System Shipping Inventory Payment Gateway Cloud ServicesE.g. Salesforce, Paypal etc
Smart Endpoints and Dumb Pipes
Eliminating the Central ESB
• ESB contains business logic +
network communication logic
Consumers
Virtual
Service 1
Virtual
Service 2
Virtual
Service 3
Service A Service B Service C Service D
Smart Endpoints and Dumb Pipes
Eliminating the Central ESB
• With MSA, business logic
+ network communication
logic are dispersed across
independent services
Consumers
Microservice X Microservice Y Microservice Z
Microservice P Microservice Q Microservice R Microservice S
JAVA Node.js Python
Real-World Microservice
Implementations
Netflix API
• The ‘front door’ to Netflix ecosystem of
microservices
• Provides logic of composing calls to all
services required to construct a
response
• Orchestration service that exposes
coarse grained APIs by composing
fined-grained functionality provided by
the microservices
• Orchestration logic built with Java,
RxJava
Microservice 1
Microservice 2
Microservice 3
Microservice 4
Microservice 5
Microservice 6
Microservice 7
Microservice 8
...
Microservice 9
ORCHESTRATIONLAYER
Playback
requests
Discovery and
Non-member request
Source: https://medium.com/netflix-techblog/engineering-trade-offs-and-the-netflix-api-re-architecture-64f122b277dd
Real-World Microservice
Implementations
Uber
• ‘Edge Services’ exposed to the
external client/mobile applications
and the service orchestration logic is
burnt into the edge service
• Edge services are primarily
implemented on top of Node.js
Edge Service
Payments Promos Users
Source: https://www.infoq.com/presentations/uber-darwin
Real-World Microservice
Implementations
PayPal
• API façade layer exposes
PayPal business functionality
to internal/external client
applications
• Orchestration logic resides
in the API façade layer and
implemented using Groovy
Applications
(Wallet,
POS)PayPal
2-nd party
Applications
(eBay, Braintree)
3-nd party Mobile
Applications
(Uber, PhotoCard)
2-nd party Online
Applications
(Online websites)
Paypal Web
Applications
API Facade
Batch
Processing
Payments Instruments Customer Invoicing
Credit Risk Compliance Disputes
Event Bus
Webhooks
Batch
APIs
External
Events
Protocol conversion
OAuth,CORS Routing
Orchestration
{Experience
Events
{Capability
APIs
Source: https://www.infoq.com/presentations/paypal-api-evolution
The ‘new’ monolith
Business logic inside API-GW?
• A central gateway with heavy
composition logic is becoming an
anti-pattern
• Ability to develop, deploy and scale
APIs independently -> Micro-API
Gateways
PB Microservice 1
PB Microservice 2
PB Microservice 3
...
PB Microservice m
Shared Microservice 1
D/NM Microservice 1
...
PLAYBACK
ORCHESTRATIONLAYER
Playback
requests
Discovery and
non-member
request
PLAYBACKORCHESTRATION
LAYER
Shared Microservice 2
D/NM Microservice 2
D/NM Microservice 3
D/NM Microservice n
Source: https://medium.com/netflix-techblog/engineering-trade-offs-and-the-netflix-api-re-architecture-64f122b277dd
Organizing Microservices
Microservice Types with Different Granularities
• Not all microservices are similar
• Some services are business logic heavy, while some
contain a lot of interservice calls
• Some services are too fine-grained to be exposed as a
business functionality
• Some services are exposed as APIs
Organizing Microservices
Microservice Types with Different Granularities
Consumer 1
API Service 1 API Service 2 API Service 3 API Service 4
Consumers
Consumer 2 Consumer 3
Service 6 Service 7 Service 8 Service 9
Service 1 Service 2 Service 3 Service 4 Service 5 Proprietary &
Legacy
Systems
Web API /
SaaS
API Services/
Edge Services
Composite Service/
Integration Services
Core Services/
Atomic Services
Organizing Microservices
Microservice Types with Different Granularities
Consumer 1
API Service P API Service Q API Service R API Service S
Consumers
Consumer 2 Consumer 3
μ Service A
μ Service B
μ Service F
μ Service G
Proprietary &
Legacy
Systems
Web API /
SaaS
API Services/
Edge Services
Composite Service/
Integration Services
Core Services/
Atomic Services
μ Service I
μ Service H
μ Service J
μ Service E
μ Service C
μ Service D
Organizing Microservices
Core Microservices
• Business logic heavy
• Zero or minimal inter-service calls
• Technologies: General purpose programming
languages
Organizing Microservices
Composite or Integration Microservices
• A microservice with multiple network interactions
• Create composite microservices by integrating web
APIs/SaaS, legacy systems, and microservices
• API service or edge service is also an integration
microservice with some API gateway capabilities
Technologies for Building Composite/Integration
Microservices
Frameworks Based on General Purpose Lang
• Java, Node.js, Groovy, e.g. SpringBoot, Dropwizard
• Not designed with suitable abstractions for
integration/network interactions
• Developers spend more time on building service
interactions than focusing on business logic
• Compositions cannot be illustrated graphically
Technologies for Building Composite/Integration
Microservices
Conventional ESBs
• Bulky traditional ESB architecture -> Not fully
compatible with MSA principles
• High level DSLs with a lot of tweaks to make it a
powerful programming language (e.g. expression
languages, properties)
Technologies for Building Composite/Integration
Microservices
Ballerina - ballerinalang.org
Ballerina - ballerinalang.org
• An event-driven, parallel programming language for
networked applications.
• Graphical and textual syntax built on top of sequence
diagram metaphor
• Designed for network interactions with
JSON/XML/SQL/MIME and HTTP/JMS/File/WebSockets
• Modular and designed for modern development practices
• Microservices, serverless, and container friendly
Ballerina - ballerinalang.org
Example: Routing Service
Ballerina - ballerinalang.org
• Network protocols
– HTTP/HTTP2, WebSockets, JMS,
File/FTP, Databases
– SaaS Integration - Salesforce, Twitter,
Gmail, etc.
– Proprietary and legacy connectors
• Service definition and implementation
– Swagger, Jax-RS like service
annotations
• Data types
– Native support for JSON, XML and SQL
data
– Graphical type mapping
Ballerina - ballerinalang.org
• High performance and container native
– One of the fastest HTTP transport based
on Netty
– Minimal Startup time, low resource
consumption
– Built-in ability to create Docker image
with executable Ballerina program
package
– Run on any container management
platform
Ballerina - ballerinalang.org
When to Use Ballerina?
• Write integration/composite microservices
• Building API service
• Write integration scripts
• Replacement for shell scripts that use curl a lot
Conclusion
• How to eliminate the centralized ESB with MSA
• Importance of creating composite services and
using a dedicated technology
• Integration microservices with Ballerina
wso2.com

More Related Content

What's hot

Delivering the Promise of SOA - Enterprise Integration Made Easy
Delivering the Promise of SOA - Enterprise Integration Made EasyDelivering the Promise of SOA - Enterprise Integration Made Easy
Delivering the Promise of SOA - Enterprise Integration Made Easy
WSO2
 
WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...
WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...
WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...
WSO2
 
Building Applications with Carbon Studio on Premise and Cloud
Building Applications with Carbon Studio on Premise and CloudBuilding Applications with Carbon Studio on Premise and Cloud
Building Applications with Carbon Studio on Premise and Cloud
WSO2
 
Integration Solution Patterns
Integration Solution Patterns Integration Solution Patterns
Integration Solution Patterns
WSO2
 
Ss Esb
Ss EsbSs Esb
Ss Esb
WSO2
 
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
WSO2
 
WSO2 Quarterly Technical Update
WSO2 Quarterly Technical UpdateWSO2 Quarterly Technical Update
WSO2 Quarterly Technical Update
WSO2
 
Exploring a Real World Use Case
Exploring a Real World Use CaseExploring a Real World Use Case
Exploring a Real World Use Case
WSO2
 
WSO2 Use Case - API Facade Pattern
WSO2 Use Case - API  Facade PatternWSO2 Use Case - API  Facade Pattern
WSO2 Use Case - API Facade Pattern
WSO2
 
WSO2Con US 2013 - Connected Business - making it happen
WSO2Con US 2013 - Connected Business - making it happenWSO2Con US 2013 - Connected Business - making it happen
WSO2Con US 2013 - Connected Business - making it happen
WSO2
 
Mashups For Soa
Mashups For SoaMashups For Soa
Mashups For Soa
WSO2
 
Managing ESB artifacts with the WSO2 Governance Registry
Managing ESB artifacts with the WSO2 Governance Registry Managing ESB artifacts with the WSO2 Governance Registry
Managing ESB artifacts with the WSO2 Governance Registry
WSO2
 
Summer School - Demonstrating Cloud Value
Summer School - Demonstrating Cloud Value  Summer School - Demonstrating Cloud Value
Summer School - Demonstrating Cloud Value
WSO2
 
WSO2 and 2 Degrees Case Study
WSO2 and 2 Degrees Case StudyWSO2 and 2 Degrees Case Study
WSO2 and 2 Degrees Case Study
WSO2
 
SUSE Cloud and WSO2 Stratos - Bridging OpenStack and PaaS to Deliver the Serv...
SUSE Cloud and WSO2 Stratos - Bridging OpenStack and PaaS to Deliver the Serv...SUSE Cloud and WSO2 Stratos - Bridging OpenStack and PaaS to Deliver the Serv...
SUSE Cloud and WSO2 Stratos - Bridging OpenStack and PaaS to Deliver the Serv...
WSO2
 

What's hot (20)

Delivering the Promise of SOA - Enterprise Integration Made Easy
Delivering the Promise of SOA - Enterprise Integration Made EasyDelivering the Promise of SOA - Enterprise Integration Made Easy
Delivering the Promise of SOA - Enterprise Integration Made Easy
 
REST vs. Messaging For Microservices
REST vs. Messaging For MicroservicesREST vs. Messaging For Microservices
REST vs. Messaging For Microservices
 
WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...
WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...
WSO2Con2011: Delivering the Goods? Integrated Order Management & Billing with...
 
Lightweight ESB Alternatives
Lightweight ESB AlternativesLightweight ESB Alternatives
Lightweight ESB Alternatives
 
Building Applications with Carbon Studio on Premise and Cloud
Building Applications with Carbon Studio on Premise and CloudBuilding Applications with Carbon Studio on Premise and Cloud
Building Applications with Carbon Studio on Premise and Cloud
 
Service mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communicationsService mesh in Microservice World to Manage end to end service communications
Service mesh in Microservice World to Manage end to end service communications
 
Integration Solution Patterns
Integration Solution Patterns Integration Solution Patterns
Integration Solution Patterns
 
Ss Esb
Ss EsbSs Esb
Ss Esb
 
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
 
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
Think BIG, Spend Small A Look at how WSO2 Can Help Scale Up with Less Cost
 
WSO2 Quarterly Technical Update
WSO2 Quarterly Technical UpdateWSO2 Quarterly Technical Update
WSO2 Quarterly Technical Update
 
Exploring a Real World Use Case
Exploring a Real World Use CaseExploring a Real World Use Case
Exploring a Real World Use Case
 
WSO2 Use Case - API Facade Pattern
WSO2 Use Case - API  Facade PatternWSO2 Use Case - API  Facade Pattern
WSO2 Use Case - API Facade Pattern
 
WSO2Con US 2013 - Connected Business - making it happen
WSO2Con US 2013 - Connected Business - making it happenWSO2Con US 2013 - Connected Business - making it happen
WSO2Con US 2013 - Connected Business - making it happen
 
Mashups For Soa
Mashups For SoaMashups For Soa
Mashups For Soa
 
Managing ESB artifacts with the WSO2 Governance Registry
Managing ESB artifacts with the WSO2 Governance Registry Managing ESB artifacts with the WSO2 Governance Registry
Managing ESB artifacts with the WSO2 Governance Registry
 
Summer School - Demonstrating Cloud Value
Summer School - Demonstrating Cloud Value  Summer School - Demonstrating Cloud Value
Summer School - Demonstrating Cloud Value
 
WSO2 and 2 Degrees Case Study
WSO2 and 2 Degrees Case StudyWSO2 and 2 Degrees Case Study
WSO2 and 2 Degrees Case Study
 
SOA: What It Means To The Enterprise
SOA: What It Means To The EnterpriseSOA: What It Means To The Enterprise
SOA: What It Means To The Enterprise
 
SUSE Cloud and WSO2 Stratos - Bridging OpenStack and PaaS to Deliver the Serv...
SUSE Cloud and WSO2 Stratos - Bridging OpenStack and PaaS to Deliver the Serv...SUSE Cloud and WSO2 Stratos - Bridging OpenStack and PaaS to Deliver the Serv...
SUSE Cloud and WSO2 Stratos - Bridging OpenStack and PaaS to Deliver the Serv...
 

Viewers also liked

Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Lucas Jellema
 

Viewers also liked (16)

[WSO2Con EU 2017] Internal Digital Transformation: Transform Your Enterprise IT
[WSO2Con EU 2017] Internal Digital Transformation: Transform Your Enterprise IT[WSO2Con EU 2017] Internal Digital Transformation: Transform Your Enterprise IT
[WSO2Con EU 2017] Internal Digital Transformation: Transform Your Enterprise IT
 
Dynomite @ RedisConf 2017
Dynomite @ RedisConf 2017Dynomite @ RedisConf 2017
Dynomite @ RedisConf 2017
 
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
Event Bus as Backbone for Decoupled Microservice Choreography (JFall 2017)
 
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
RedisConf17 - Dynomite - Making Non-distributed Databases DistributedRedisConf17 - Dynomite - Making Non-distributed Databases Distributed
RedisConf17 - Dynomite - Making Non-distributed Databases Distributed
 
Netflix conductor
Netflix conductorNetflix conductor
Netflix conductor
 
Agile integration workshop Atlanta
Agile integration workshop   AtlantaAgile integration workshop   Atlanta
Agile integration workshop Atlanta
 
[WSO2Con EU 2017] Ballerina Connectors for Seamless Integration
[WSO2Con EU 2017] Ballerina Connectors for Seamless Integration[WSO2Con EU 2017] Ballerina Connectors for Seamless Integration
[WSO2Con EU 2017] Ballerina Connectors for Seamless Integration
 
[WSO2Con EU 2017] Crafting an API Strategy with an API Marketplace
[WSO2Con EU 2017] Crafting an API Strategy with an API Marketplace[WSO2Con EU 2017] Crafting an API Strategy with an API Marketplace
[WSO2Con EU 2017] Crafting an API Strategy with an API Marketplace
 
A Pattern Language for Microservices
A Pattern Language for MicroservicesA Pattern Language for Microservices
A Pattern Language for Microservices
 
[WSO2Con EU 2017] GDPR Impact on Consumer Identity and Access Management (CIAM)
[WSO2Con EU 2017] GDPR Impact on Consumer Identity and Access Management (CIAM)[WSO2Con EU 2017] GDPR Impact on Consumer Identity and Access Management (CIAM)
[WSO2Con EU 2017] GDPR Impact on Consumer Identity and Access Management (CIAM)
 
[WSO2Con EU 2017] Darwin Ate My App
[WSO2Con EU 2017] Darwin Ate My App[WSO2Con EU 2017] Darwin Ate My App
[WSO2Con EU 2017] Darwin Ate My App
 
Devoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipster
 
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
 
[WSO2Con EU 2017] WHO CARES? A WSO2 Cloud Oriented Reference Architecture for...
[WSO2Con EU 2017] WHO CARES? A WSO2 Cloud Oriented Reference Architecture for...[WSO2Con EU 2017] WHO CARES? A WSO2 Cloud Oriented Reference Architecture for...
[WSO2Con EU 2017] WHO CARES? A WSO2 Cloud Oriented Reference Architecture for...
 
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina
[WSO2Con EU 2017] Manipulating XML, JSON and SQL Data Types with Ballerina
 
[WSO2Con EU 2017] Keynote: Digital Transformation in the Guise of a Regulatio...
[WSO2Con EU 2017] Keynote: Digital Transformation in the Guise of a Regulatio...[WSO2Con EU 2017] Keynote: Digital Transformation in the Guise of a Regulatio...
[WSO2Con EU 2017] Keynote: Digital Transformation in the Guise of a Regulatio...
 

Similar to [WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices

Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talk
pooyad
 
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
Sabino Labarile
 

Similar to [WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices (20)

Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
 
Overview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integrationOverview of azure microservices and the impact on integration
Overview of azure microservices and the impact on integration
 
3298 microservices and how they relate to esb api and messaging - inter con...
3298   microservices and how they relate to esb api and messaging - inter con...3298   microservices and how they relate to esb api and messaging - inter con...
3298 microservices and how they relate to esb api and messaging - inter con...
 
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17Go Cloud Native with IBM Bluemix Developer Console - GIDS17
Go Cloud Native with IBM Bluemix Developer Console - GIDS17
 
WSO2Con USA 2017: The Role of Enterprise Integration in Digital Transformation
WSO2Con USA 2017: The Role of Enterprise Integration in Digital TransformationWSO2Con USA 2017: The Role of Enterprise Integration in Digital Transformation
WSO2Con USA 2017: The Role of Enterprise Integration in Digital Transformation
 
Cloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer ConsoleCloud Native Patterns with Bluemix Developer Console
Cloud Native Patterns with Bluemix Developer Console
 
Design - Start Your API Journey Today
Design - Start Your API Journey TodayDesign - Start Your API Journey Today
Design - Start Your API Journey Today
 
Thiramas
ThiramasThiramas
Thiramas
 
WOLF presentation at OCC Bangalore Business Meet
WOLF presentation at OCC Bangalore Business MeetWOLF presentation at OCC Bangalore Business Meet
WOLF presentation at OCC Bangalore Business Meet
 
Developing Enterprise Applications with the WSO2 Application Platform
Developing Enterprise Applications with the WSO2 Application PlatformDeveloping Enterprise Applications with the WSO2 Application Platform
Developing Enterprise Applications with the WSO2 Application Platform
 
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
Keynote - Integrating the OSGi Service-Oriented Architecture into the Enterpr...
 
Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talk
 
The Middleware technology that connects the enterprise
The Middleware technology that connects the enterpriseThe Middleware technology that connects the enterprise
The Middleware technology that connects the enterprise
 
APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...
APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...
APIdays Helsinki 2019 - Impact of Microservices Architecture on API Managemen...
 
IoT Physical Servers and Cloud Offerings.pdf
IoT Physical Servers and Cloud Offerings.pdfIoT Physical Servers and Cloud Offerings.pdf
IoT Physical Servers and Cloud Offerings.pdf
 
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
e-Suap Inista 2014 (International Symposium on INnovation in Intelligent SysT...
 
E suap - INISTA 2014
E suap - INISTA 2014E suap - INISTA 2014
E suap - INISTA 2014
 
sMash_for_zOS-users
sMash_for_zOS-userssMash_for_zOS-users
sMash_for_zOS-users
 
TUG Presentation - 1/25/17
TUG Presentation - 1/25/17TUG Presentation - 1/25/17
TUG Presentation - 1/25/17
 
Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]Soa architect summit mobile 2013_mar [compatibility mode]
Soa architect summit mobile 2013_mar [compatibility mode]
 

More from WSO2

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
WSO2
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
WSO2
 

More from WSO2 (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
How to Create a Service in Choreo
How to Create a Service in ChoreoHow to Create a Service in Choreo
How to Create a Service in Choreo
 
Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023Ballerina Tech Talk - May 2023
Ballerina Tech Talk - May 2023
 
Platform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on AzurePlatform Strategy to Deliver Digital Experiences on Azure
Platform Strategy to Deliver Digital Experiences on Azure
 
GartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdfGartnerITSymSessionSlides.pdf
GartnerITSymSessionSlides.pdf
 
[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes[Webinar] How to Create an API in Minutes
[Webinar] How to Create an API in Minutes
 
Modernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos IdentityModernizing the Student Journey with Ethos Identity
Modernizing the Student Journey with Ethos Identity
 
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
Choreo - Build unique digital experiences on WSO2's platform, secured by Etho...
 
CIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdfCIO Summit Berlin 2022.pptx.pdf
CIO Summit Berlin 2022.pptx.pdf
 
Delivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing ChoreoDelivering New Digital Experiences Fast - Introducing Choreo
Delivering New Digital Experiences Fast - Introducing Choreo
 
Fueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected ProductsFueling the Digital Experience Economy with Connected Products
Fueling the Digital Experience Economy with Connected Products
 
A Reference Methodology for Agile Digital Businesses
 A Reference Methodology for Agile Digital Businesses A Reference Methodology for Agile Digital Businesses
A Reference Methodology for Agile Digital Businesses
 
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
Workflows in WSO2 API Manager - WSO2 API Manager Community Call (12/15/2021)
 
Lessons from the pandemic - From a single use case to true transformation
 Lessons from the pandemic - From a single use case to true transformation Lessons from the pandemic - From a single use case to true transformation
Lessons from the pandemic - From a single use case to true transformation
 
Adding Liveliness to Banking Experiences
Adding Liveliness to Banking ExperiencesAdding Liveliness to Banking Experiences
Adding Liveliness to Banking Experiences
 
Building a Future-ready Bank
Building a Future-ready BankBuilding a Future-ready Bank
Building a Future-ready Bank
 
WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021WSO2 API Manager Community Call - November 2021
WSO2 API Manager Community Call - November 2021
 
[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs[API World ] - Managing Asynchronous APIs
[API World ] - Managing Asynchronous APIs
 
[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment[API World 2021 ] - Understanding Cloud Native Deployment
[API World 2021 ] - Understanding Cloud Native Deployment
 

Recently uploaded

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Recently uploaded (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

[WSO2Con EU 2017] Microservice Architecture (MSA) and Integration Microservices

  • 1. Director - Integration Architecture, WSO2 Microservice Architecture (MSA) and Integration Microservices Kasun Indrasiri
  • 2. Evolution of Microservices Monolithic Applications Application 2 Application 1 Application 3 Application 4 Consumers
  • 3. Evolution of Microservices SOA and ESB Consumers ESB System Service 1 Service 2 Service 3 Service 4 Service 5 Application server
  • 4. Evolution of Microservices SOA with APIs Consumers ESB System Service 1 Service 2 Service 3 Service 4 Service 5 API Management Application server
  • 5. • The foundation of MSA is about developing a single application as a suite of fine-grained and independent services running in its own process, developed and deployed independently. Microservice Architecture
  • 6. Evolution of Microservices Microservices Web Portal Mobile Apps Store Admin Web Storefrons Promotion Mgmt API Management Product Details Shopping Cart Order Mgt Payment Proc. Payment Proc. Customer Mgt. Account Mgt Order Tracking Financial Mgt Fraud Detection Tax Mgt Inventory Mgt Allocation-Release Self-Service Giftcards Promotions Pricing Subscription Credit service CRM Mgt Shipping Data Warehouse Finance System Shipping Inventory Payment Gateway Cloud ServicesE.g. Salesforce, Paypal etc
  • 7. Smart Endpoints and Dumb Pipes Eliminating the Central ESB • ESB contains business logic + network communication logic Consumers Virtual Service 1 Virtual Service 2 Virtual Service 3 Service A Service B Service C Service D
  • 8. Smart Endpoints and Dumb Pipes Eliminating the Central ESB • With MSA, business logic + network communication logic are dispersed across independent services Consumers Microservice X Microservice Y Microservice Z Microservice P Microservice Q Microservice R Microservice S JAVA Node.js Python
  • 9. Real-World Microservice Implementations Netflix API • The ‘front door’ to Netflix ecosystem of microservices • Provides logic of composing calls to all services required to construct a response • Orchestration service that exposes coarse grained APIs by composing fined-grained functionality provided by the microservices • Orchestration logic built with Java, RxJava Microservice 1 Microservice 2 Microservice 3 Microservice 4 Microservice 5 Microservice 6 Microservice 7 Microservice 8 ... Microservice 9 ORCHESTRATIONLAYER Playback requests Discovery and Non-member request Source: https://medium.com/netflix-techblog/engineering-trade-offs-and-the-netflix-api-re-architecture-64f122b277dd
  • 10. Real-World Microservice Implementations Uber • ‘Edge Services’ exposed to the external client/mobile applications and the service orchestration logic is burnt into the edge service • Edge services are primarily implemented on top of Node.js Edge Service Payments Promos Users Source: https://www.infoq.com/presentations/uber-darwin
  • 11. Real-World Microservice Implementations PayPal • API façade layer exposes PayPal business functionality to internal/external client applications • Orchestration logic resides in the API façade layer and implemented using Groovy Applications (Wallet, POS)PayPal 2-nd party Applications (eBay, Braintree) 3-nd party Mobile Applications (Uber, PhotoCard) 2-nd party Online Applications (Online websites) Paypal Web Applications API Facade Batch Processing Payments Instruments Customer Invoicing Credit Risk Compliance Disputes Event Bus Webhooks Batch APIs External Events Protocol conversion OAuth,CORS Routing Orchestration {Experience Events {Capability APIs Source: https://www.infoq.com/presentations/paypal-api-evolution
  • 12. The ‘new’ monolith Business logic inside API-GW? • A central gateway with heavy composition logic is becoming an anti-pattern • Ability to develop, deploy and scale APIs independently -> Micro-API Gateways PB Microservice 1 PB Microservice 2 PB Microservice 3 ... PB Microservice m Shared Microservice 1 D/NM Microservice 1 ... PLAYBACK ORCHESTRATIONLAYER Playback requests Discovery and non-member request PLAYBACKORCHESTRATION LAYER Shared Microservice 2 D/NM Microservice 2 D/NM Microservice 3 D/NM Microservice n Source: https://medium.com/netflix-techblog/engineering-trade-offs-and-the-netflix-api-re-architecture-64f122b277dd
  • 13. Organizing Microservices Microservice Types with Different Granularities • Not all microservices are similar • Some services are business logic heavy, while some contain a lot of interservice calls • Some services are too fine-grained to be exposed as a business functionality • Some services are exposed as APIs
  • 14. Organizing Microservices Microservice Types with Different Granularities Consumer 1 API Service 1 API Service 2 API Service 3 API Service 4 Consumers Consumer 2 Consumer 3 Service 6 Service 7 Service 8 Service 9 Service 1 Service 2 Service 3 Service 4 Service 5 Proprietary & Legacy Systems Web API / SaaS API Services/ Edge Services Composite Service/ Integration Services Core Services/ Atomic Services
  • 15. Organizing Microservices Microservice Types with Different Granularities Consumer 1 API Service P API Service Q API Service R API Service S Consumers Consumer 2 Consumer 3 μ Service A μ Service B μ Service F μ Service G Proprietary & Legacy Systems Web API / SaaS API Services/ Edge Services Composite Service/ Integration Services Core Services/ Atomic Services μ Service I μ Service H μ Service J μ Service E μ Service C μ Service D
  • 16. Organizing Microservices Core Microservices • Business logic heavy • Zero or minimal inter-service calls • Technologies: General purpose programming languages
  • 17. Organizing Microservices Composite or Integration Microservices • A microservice with multiple network interactions • Create composite microservices by integrating web APIs/SaaS, legacy systems, and microservices • API service or edge service is also an integration microservice with some API gateway capabilities
  • 18. Technologies for Building Composite/Integration Microservices Frameworks Based on General Purpose Lang • Java, Node.js, Groovy, e.g. SpringBoot, Dropwizard • Not designed with suitable abstractions for integration/network interactions • Developers spend more time on building service interactions than focusing on business logic • Compositions cannot be illustrated graphically
  • 19. Technologies for Building Composite/Integration Microservices Conventional ESBs • Bulky traditional ESB architecture -> Not fully compatible with MSA principles • High level DSLs with a lot of tweaks to make it a powerful programming language (e.g. expression languages, properties)
  • 20. Technologies for Building Composite/Integration Microservices Ballerina - ballerinalang.org
  • 21. Ballerina - ballerinalang.org • An event-driven, parallel programming language for networked applications. • Graphical and textual syntax built on top of sequence diagram metaphor • Designed for network interactions with JSON/XML/SQL/MIME and HTTP/JMS/File/WebSockets • Modular and designed for modern development practices • Microservices, serverless, and container friendly
  • 23. Ballerina - ballerinalang.org • Network protocols – HTTP/HTTP2, WebSockets, JMS, File/FTP, Databases – SaaS Integration - Salesforce, Twitter, Gmail, etc. – Proprietary and legacy connectors • Service definition and implementation – Swagger, Jax-RS like service annotations • Data types – Native support for JSON, XML and SQL data – Graphical type mapping
  • 24. Ballerina - ballerinalang.org • High performance and container native – One of the fastest HTTP transport based on Netty – Minimal Startup time, low resource consumption – Built-in ability to create Docker image with executable Ballerina program package – Run on any container management platform
  • 25. Ballerina - ballerinalang.org When to Use Ballerina? • Write integration/composite microservices • Building API service • Write integration scripts • Replacement for shell scripts that use curl a lot
  • 26. Conclusion • How to eliminate the centralized ESB with MSA • Importance of creating composite services and using a dedicated technology • Integration microservices with Ballerina