SlideShare a Scribd company logo
Bridging Microservices, APIs and Integration
Microservices and Cloud Native Apps - SF Bay Area
Cloud Field Day Edition, Santa Clara
July 2017
Kasun Indrasiri
Director-Integration Architecture at WSO2
About Me
● Director - Integration Architecture at WSO2
● Committer/PMC Apache Synapse, an architect of WSO2 ESB
● Author ‘Beginning WSO2 ESB’, several microservices articles/white papers
WSO2
● Open source middleware company
● API Management, Integration, IAM and IOT platforms.
Evolution of Microservices
Monolithic Applications
Evolution of Microservices
SOA
Evolution of Microservices
SOA with APIs
Evolution of Microservices
Microservices
Why Microservices Compositions?
● Too many fine-grained microservices.
● Business functionalities often require to interact with more than one
(micro)service.
● Microservices typically don't publish their APIs for direct invocation.
● Brown-field reality requires ‘Integration’
○ Green fields enterprises don’t exists.
○ Hybrid usage of Microservices and monolithic architecture is quite common.
○ Need to integrate with existing legacy systems, proprietary systems, databases
and SaaS.
Glimpse of existing Microservice Implementations
● How do the existing microservice implementations handle the service
compositions/service orchestration?
Microservice - Compositions
Netflix
● The Netflix API is the “front door” to the
Netflix ecosystem of microservices.
● API provides the logic of composing calls to
all services that are required to construct a
response.
● The Netflix API is an orchestration service
that exposes coarse grained APIs by
composing fined grained functionality
provided by the microservices.
● Orchestration logic is built with Java, RxJava
Microservice - Compositions
Uber
● ‘Edge Services’ which are 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
Microservice - Compositions
Paypal
● The API façade layer exposes Paypal
business functionalities to various internal
and external client applications
● The orchestration logic resides in the API
façade layer and its implemented using
Groovy.
Miniservices
“A miniservice is a coarse-grained, independently deployable and independently
scalable application component.”
● “Innovation Insight for Miniservices” : Published: February 2017
○ https://www.gartner.com/doc/3615120/innovation-insight-miniservices
The ‘new’ monolith…
API Gateway
● A central gateway with heavy composition
logic is becoming an anti-pattern.
● https://medium.com/netflix-techblog/engineering-trade-offs-and-
the-netflix-api-re-architecture-64f122b277dd
● Ability to develop, deploy and scale APIs
independently -> Micro-API Gateways
Pragmatic Microservices Architecture
● Microservices types with different granularities
Integration/Composite Microservices
● A composite microservice with multiple network interactions
● Create composite microservices by integrating web APIs/SaaS, legacy
systems and microservices
● API services/Edge service is also an integration microservice with some API
gateway capabilities.
● Similar to the ‘Miniservice’ concept wrt to the granularity
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
○ Compositions cannot be illustrated graphically.
● Apache Camel and other 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 lang. (e.g. expression
languages, properties)
● Ballerina - ballerinalang.org - Open source microservice composition
framework
● Service mesh frameworks - for Inter-service communication
Ballerina (ballerinalang.org)
● Ballerina is a new parallel programming language that is designed and
optimized for integration.
● Graphical and textual syntax which is built on top of the sequence diagram
metaphor.
● Designed for network interactions with JSON/XML/SQL/MIME and
HTTP/JMS/File/WebSockets
● Lightweight, high-performance and container native Integration runtime
● 100% open source.
Routing Service
Ballerina - Key Concepts
Components Overview
Ballerina - Features
● 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
● High performance and container native
○ One of the fastest HTTP transport based on Netty
○ Minimal Startup time(< 1s), low resource consumption.
○ Built-in ability to create Docker image with executable Ballerina program package
○ Run on any container management platform
Ballerina - Future
● Ballerina 1.0 release on 2017 Q4
● Why yet another language?
○ Make it easier to consume and produce networked services and applications.
○ Ballerina has been influenced by Java, Go, C, Node, Javascript, Maven, Tomcat, and a variety
of other awesome tools.
● When should I use Ballerina?
○ Write integration microservices/miniservices: 80-20 rule
■ If 80% of your service is about integrating with other services, data and APIs then use
Ballerina.
■ If just 20% is integration then use Java / Node / Go / PHP / XYZ
○ Re-compose existing services to be API backends
○ Write integration scripts
■ Replacement for shell scripts that use curl a lot
When to use Ballerina?
Ballerina - Try it!
● DOWNLOAD v0.91 and twirl away:
○ http://ballerinalang.org/
● Source Code : https://github.com/ballerinalang/
● NOTE: Still work-in-progress. New releases every two weeks with major
features still coming along. Missing docs. A (few) bugs. Etc.!
● Managing a network of microservices and inter-service communications
● Not really a composite microservice development technology.
● Eg: Istio - https://istio.io, Linkered https://linkerd.io/
Service Mesh Solutions
● Understanding service granularities.
● Technologies for building integration microservices.
Summary
Thank You!
● kasun@wso2.com
● https://twitter.com/kasunindrasiri

More Related Content

What's hot

IoT Apps with AWS IoT and Websockets
IoT Apps with AWS IoT and Websockets IoT Apps with AWS IoT and Websockets
IoT Apps with AWS IoT and Websockets
Amazon Web Services
 
Comparison of Current Service Mesh Architectures
Comparison of Current Service Mesh ArchitecturesComparison of Current Service Mesh Architectures
Comparison of Current Service Mesh Architectures
Mirantis
 
Building an API Security Strategy
Building an API Security StrategyBuilding an API Security Strategy
Building an API Security Strategy
SmartBear
 
A Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesA Capability Blueprint for Microservices
A Capability Blueprint for Microservices
Matt McLarty
 
Getting Started with Cognito User Pools - September Webinar Series
Getting Started with Cognito User Pools - September Webinar SeriesGetting Started with Cognito User Pools - September Webinar Series
Getting Started with Cognito User Pools - September Webinar Series
Amazon Web Services
 
Azure Application insights - An Introduction
Azure Application insights - An IntroductionAzure Application insights - An Introduction
Azure Application insights - An Introduction
Matthias Güntert
 
The AWS Pricing Calculator - An ultra-low-cost product. How to save every penny?
The AWS Pricing Calculator - An ultra-low-cost product. How to save every penny?The AWS Pricing Calculator - An ultra-low-cost product. How to save every penny?
The AWS Pricing Calculator - An ultra-low-cost product. How to save every penny?
FabianLober1
 
Azure Identity and access management
Azure   Identity and access managementAzure   Identity and access management
Azure Identity and access management
Dinusha Kumarasiri
 
Requirements document for big data use cases
Requirements document for big data use casesRequirements document for big data use cases
Requirements document for big data use cases
Allied Consultants
 
App Modernisation with Microsoft Azure
App Modernisation with Microsoft AzureApp Modernisation with Microsoft Azure
App Modernisation with Microsoft Azure
Adam Stephensen
 
AWS 모바일 서비스로 성공하는 모바일 앱 만들기 (윤석찬) - AWS Webiniar 2015
AWS 모바일 서비스로 성공하는 모바일 앱 만들기 (윤석찬) - AWS Webiniar 2015AWS 모바일 서비스로 성공하는 모바일 앱 만들기 (윤석찬) - AWS Webiniar 2015
AWS 모바일 서비스로 성공하는 모바일 앱 만들기 (윤석찬) - AWS Webiniar 2015
Amazon Web Services Korea
 
Low level design template (1)
Low level design template (1)Low level design template (1)
Low level design template (1)
anosha jamshed
 
Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge Apigee | Google Cloud
 
Async API and Solace: Enabling the Event-Driven Future
Async API and Solace: Enabling the Event-Driven FutureAsync API and Solace: Enabling the Event-Driven Future
Async API and Solace: Enabling the Event-Driven Future
Solace
 
Compliance with AWS
Compliance with AWSCompliance with AWS
Compliance with AWS
Amazon Web Services
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
Araf Karsh Hamid
 
“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...
“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...
“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...
Edge AI and Vision Alliance
 
Architecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyArchitecting an Enterprise API Management Strategy
Architecting an Enterprise API Management Strategy
WSO2
 
Migrate to Microsoft Azure with Confidence
Migrate to Microsoft Azure with ConfidenceMigrate to Microsoft Azure with Confidence
Migrate to Microsoft Azure with Confidence
David J Rosenthal
 

What's hot (20)

IoT Apps with AWS IoT and Websockets
IoT Apps with AWS IoT and Websockets IoT Apps with AWS IoT and Websockets
IoT Apps with AWS IoT and Websockets
 
Comparison of Current Service Mesh Architectures
Comparison of Current Service Mesh ArchitecturesComparison of Current Service Mesh Architectures
Comparison of Current Service Mesh Architectures
 
Building an API Security Strategy
Building an API Security StrategyBuilding an API Security Strategy
Building an API Security Strategy
 
A Capability Blueprint for Microservices
A Capability Blueprint for MicroservicesA Capability Blueprint for Microservices
A Capability Blueprint for Microservices
 
Getting Started with Cognito User Pools - September Webinar Series
Getting Started with Cognito User Pools - September Webinar SeriesGetting Started with Cognito User Pools - September Webinar Series
Getting Started with Cognito User Pools - September Webinar Series
 
Cloud enablement
Cloud enablementCloud enablement
Cloud enablement
 
Azure Application insights - An Introduction
Azure Application insights - An IntroductionAzure Application insights - An Introduction
Azure Application insights - An Introduction
 
The AWS Pricing Calculator - An ultra-low-cost product. How to save every penny?
The AWS Pricing Calculator - An ultra-low-cost product. How to save every penny?The AWS Pricing Calculator - An ultra-low-cost product. How to save every penny?
The AWS Pricing Calculator - An ultra-low-cost product. How to save every penny?
 
Azure Identity and access management
Azure   Identity and access managementAzure   Identity and access management
Azure Identity and access management
 
Requirements document for big data use cases
Requirements document for big data use casesRequirements document for big data use cases
Requirements document for big data use cases
 
App Modernisation with Microsoft Azure
App Modernisation with Microsoft AzureApp Modernisation with Microsoft Azure
App Modernisation with Microsoft Azure
 
AWS 모바일 서비스로 성공하는 모바일 앱 만들기 (윤석찬) - AWS Webiniar 2015
AWS 모바일 서비스로 성공하는 모바일 앱 만들기 (윤석찬) - AWS Webiniar 2015AWS 모바일 서비스로 성공하는 모바일 앱 만들기 (윤석찬) - AWS Webiniar 2015
AWS 모바일 서비스로 성공하는 모바일 앱 만들기 (윤석찬) - AWS Webiniar 2015
 
Low level design template (1)
Low level design template (1)Low level design template (1)
Low level design template (1)
 
Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge Node.js - Extending the Programmability of Apigee Edge
Node.js - Extending the Programmability of Apigee Edge
 
Async API and Solace: Enabling the Event-Driven Future
Async API and Solace: Enabling the Event-Driven FutureAsync API and Solace: Enabling the Event-Driven Future
Async API and Solace: Enabling the Event-Driven Future
 
Compliance with AWS
Compliance with AWSCompliance with AWS
Compliance with AWS
 
Microservices Architecture & Testing Strategies
Microservices Architecture & Testing StrategiesMicroservices Architecture & Testing Strategies
Microservices Architecture & Testing Strategies
 
“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...
“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...
“MLOps: Managing Data and Workflows for Efficient Model Development and Deplo...
 
Architecting an Enterprise API Management Strategy
Architecting an Enterprise API Management StrategyArchitecting an Enterprise API Management Strategy
Architecting an Enterprise API Management Strategy
 
Migrate to Microsoft Azure with Confidence
Migrate to Microsoft Azure with ConfidenceMigrate to Microsoft Azure with Confidence
Migrate to Microsoft Azure with Confidence
 

Similar to Bridging Microservices, APIs and Integration

Integration Microservices
Integration MicroservicesIntegration Microservices
Integration Microservices
Kasun Indrasiri
 
[WSO2 API Day Toronto 2019] Cloud-native Integration for the Enterprise
[WSO2 API Day Toronto 2019] Cloud-native Integration for the Enterprise[WSO2 API Day Toronto 2019] Cloud-native Integration for the Enterprise
[WSO2 API Day Toronto 2019] Cloud-native Integration for the Enterprise
WSO2
 
[WSO2 Summit Americas 2020] Creating Smart Endpoints Using Integration Micros...
[WSO2 Summit Americas 2020] Creating Smart Endpoints Using Integration Micros...[WSO2 Summit Americas 2020] Creating Smart Endpoints Using Integration Micros...
[WSO2 Summit Americas 2020] Creating Smart Endpoints Using Integration Micros...
WSO2
 
[WSO2 Summit EMEA 2020] Creating Smart Endpoints Using Integration Microservices
[WSO2 Summit EMEA 2020] Creating Smart Endpoints Using Integration Microservices[WSO2 Summit EMEA 2020] Creating Smart Endpoints Using Integration Microservices
[WSO2 Summit EMEA 2020] Creating Smart Endpoints Using Integration Microservices
WSO2
 
[WSO2 Summit APAC 2020} Creating Smart Endpoints Using Integration Microservices
[WSO2 Summit APAC 2020} Creating Smart Endpoints Using Integration Microservices[WSO2 Summit APAC 2020} Creating Smart Endpoints Using Integration Microservices
[WSO2 Summit APAC 2020} Creating Smart Endpoints Using Integration Microservices
WSO2
 
WSO2 Auckland Workshop 2017
WSO2 Auckland Workshop 2017WSO2 Auckland Workshop 2017
WSO2 Auckland Workshop 2017
Dassana Wijesekara
 
MRA AMA: Ingenious: The Journey to Service Mesh using a Microservices Demo App
MRA AMA: Ingenious: The Journey to Service Mesh using a Microservices Demo AppMRA AMA: Ingenious: The Journey to Service Mesh using a Microservices Demo App
MRA AMA: Ingenious: The Journey to Service Mesh using a Microservices Demo App
NGINX, Inc.
 
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureMRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
NGINX, Inc.
 
The what, why and how of knative
The what, why and how of knativeThe what, why and how of knative
The what, why and how of knative
Mofizur Rahman
 
[WSO2Con Asia 2018] Adaptive and Iterative Integration for Microservices and ...
[WSO2Con Asia 2018] Adaptive and Iterative Integration for Microservices and ...[WSO2Con Asia 2018] Adaptive and Iterative Integration for Microservices and ...
[WSO2Con Asia 2018] Adaptive and Iterative Integration for Microservices and ...
WSO2
 
Cloud Native Application Integration With APIs
Cloud Native Application Integration With APIsCloud Native Application Integration With APIs
Cloud Native Application Integration With APIs
Nirmal Fernando
 
Ledingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in actionLedingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in action
Mukesh Singh
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyond
Ugo Landini
 
GlueCon 2015 - How REST APIs can glue all types of devices together
GlueCon 2015 - How REST APIs can glue all types of devices togetherGlueCon 2015 - How REST APIs can glue all types of devices together
GlueCon 2015 - How REST APIs can glue all types of devices together
Restlet
 
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Nedelcho Delchev
 
Using an API Gateway for Microservices (APAC Webinar)
Using an API Gateway for Microservices (APAC Webinar)Using an API Gateway for Microservices (APAC Webinar)
Using an API Gateway for Microservices (APAC Webinar)
NGINX, Inc.
 
[WSO2Con Asia 2018] Microservices, Containers, and Beyond
[WSO2Con Asia 2018] Microservices, Containers, and Beyond[WSO2Con Asia 2018] Microservices, Containers, and Beyond
[WSO2Con Asia 2018] Microservices, Containers, and Beyond
WSO2
 
Microservices, Containers, and Beyond
Microservices, Containers, and BeyondMicroservices, Containers, and Beyond
Microservices, Containers, and Beyond
Lakmal Warusawithana
 
Docker microservices and the service mesh
Docker microservices and the service meshDocker microservices and the service mesh
Docker microservices and the service mesh
Docker, Inc.
 
Integroi oikein BizTalkilla ja Azurella
Integroi oikein BizTalkilla ja AzurellaIntegroi oikein BizTalkilla ja Azurella
Integroi oikein BizTalkilla ja Azurella
Bilot
 

Similar to Bridging Microservices, APIs and Integration (20)

Integration Microservices
Integration MicroservicesIntegration Microservices
Integration Microservices
 
[WSO2 API Day Toronto 2019] Cloud-native Integration for the Enterprise
[WSO2 API Day Toronto 2019] Cloud-native Integration for the Enterprise[WSO2 API Day Toronto 2019] Cloud-native Integration for the Enterprise
[WSO2 API Day Toronto 2019] Cloud-native Integration for the Enterprise
 
[WSO2 Summit Americas 2020] Creating Smart Endpoints Using Integration Micros...
[WSO2 Summit Americas 2020] Creating Smart Endpoints Using Integration Micros...[WSO2 Summit Americas 2020] Creating Smart Endpoints Using Integration Micros...
[WSO2 Summit Americas 2020] Creating Smart Endpoints Using Integration Micros...
 
[WSO2 Summit EMEA 2020] Creating Smart Endpoints Using Integration Microservices
[WSO2 Summit EMEA 2020] Creating Smart Endpoints Using Integration Microservices[WSO2 Summit EMEA 2020] Creating Smart Endpoints Using Integration Microservices
[WSO2 Summit EMEA 2020] Creating Smart Endpoints Using Integration Microservices
 
[WSO2 Summit APAC 2020} Creating Smart Endpoints Using Integration Microservices
[WSO2 Summit APAC 2020} Creating Smart Endpoints Using Integration Microservices[WSO2 Summit APAC 2020} Creating Smart Endpoints Using Integration Microservices
[WSO2 Summit APAC 2020} Creating Smart Endpoints Using Integration Microservices
 
WSO2 Auckland Workshop 2017
WSO2 Auckland Workshop 2017WSO2 Auckland Workshop 2017
WSO2 Auckland Workshop 2017
 
MRA AMA: Ingenious: The Journey to Service Mesh using a Microservices Demo App
MRA AMA: Ingenious: The Journey to Service Mesh using a Microservices Demo AppMRA AMA: Ingenious: The Journey to Service Mesh using a Microservices Demo App
MRA AMA: Ingenious: The Journey to Service Mesh using a Microservices Demo App
 
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference ArchitectureMRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
MRA AMA Part 10: Kubernetes and the Microservices Reference Architecture
 
The what, why and how of knative
The what, why and how of knativeThe what, why and how of knative
The what, why and how of knative
 
[WSO2Con Asia 2018] Adaptive and Iterative Integration for Microservices and ...
[WSO2Con Asia 2018] Adaptive and Iterative Integration for Microservices and ...[WSO2Con Asia 2018] Adaptive and Iterative Integration for Microservices and ...
[WSO2Con Asia 2018] Adaptive and Iterative Integration for Microservices and ...
 
Cloud Native Application Integration With APIs
Cloud Native Application Integration With APIsCloud Native Application Integration With APIs
Cloud Native Application Integration With APIs
 
Ledingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in actionLedingkart Meetup #1: Monolithic to microservices in action
Ledingkart Meetup #1: Monolithic to microservices in action
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyond
 
GlueCon 2015 - How REST APIs can glue all types of devices together
GlueCon 2015 - How REST APIs can glue all types of devices togetherGlueCon 2015 - How REST APIs can glue all types of devices together
GlueCon 2015 - How REST APIs can glue all types of devices together
 
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
Dirigible powered by Orion for Cloud Development (EclipseCon EU 2015)
 
Using an API Gateway for Microservices (APAC Webinar)
Using an API Gateway for Microservices (APAC Webinar)Using an API Gateway for Microservices (APAC Webinar)
Using an API Gateway for Microservices (APAC Webinar)
 
[WSO2Con Asia 2018] Microservices, Containers, and Beyond
[WSO2Con Asia 2018] Microservices, Containers, and Beyond[WSO2Con Asia 2018] Microservices, Containers, and Beyond
[WSO2Con Asia 2018] Microservices, Containers, and Beyond
 
Microservices, Containers, and Beyond
Microservices, Containers, and BeyondMicroservices, Containers, and Beyond
Microservices, Containers, and Beyond
 
Docker microservices and the service mesh
Docker microservices and the service meshDocker microservices and the service mesh
Docker microservices and the service mesh
 
Integroi oikein BizTalkilla ja Azurella
Integroi oikein BizTalkilla ja AzurellaIntegroi oikein BizTalkilla ja Azurella
Integroi oikein BizTalkilla ja Azurella
 

More from Kasun Indrasiri

Microservices Integration Patterns with Kafka
Microservices Integration Patterns with KafkaMicroservices Integration Patterns with Kafka
Microservices Integration Patterns with Kafka
Kasun Indrasiri
 
Adaptive and Iterative Integration for Microservices and Cloud Native Archite...
Adaptive and Iterative Integration for Microservices and Cloud Native Archite...Adaptive and Iterative Integration for Microservices and Cloud Native Archite...
Adaptive and Iterative Integration for Microservices and Cloud Native Archite...
Kasun Indrasiri
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
Kasun Indrasiri
 
The Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital TransformationThe Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital Transformation
Kasun Indrasiri
 
Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0
Kasun Indrasiri
 
Microintegration
MicrointegrationMicrointegration
Microintegration
Kasun Indrasiri
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
Kasun Indrasiri
 
Reactive Programming in Java 8 with Rx-Java
Reactive Programming in Java 8 with Rx-JavaReactive Programming in Java 8 with Rx-Java
Reactive Programming in Java 8 with Rx-Java
Kasun Indrasiri
 
WSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationWSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise Integration
Kasun Indrasiri
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
Kasun Indrasiri
 
WSO2 Gateway
WSO2 GatewayWSO2 Gateway
WSO2 Gateway
Kasun Indrasiri
 
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
Kasun Indrasiri
 
API, Integration, and SOA Convergence
API, Integration, and SOA ConvergenceAPI, Integration, and SOA Convergence
API, Integration, and SOA Convergence
Kasun Indrasiri
 
The Past, Present and Future of Enterprise Integration
The Past, Present and Future of  Enterprise IntegrationThe Past, Present and Future of  Enterprise Integration
The Past, Present and Future of Enterprise Integration
Kasun Indrasiri
 
WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration
Kasun Indrasiri
 
Connected Retail
Connected RetailConnected Retail
Connected Retail
Kasun Indrasiri
 

More from Kasun Indrasiri (16)

Microservices Integration Patterns with Kafka
Microservices Integration Patterns with KafkaMicroservices Integration Patterns with Kafka
Microservices Integration Patterns with Kafka
 
Adaptive and Iterative Integration for Microservices and Cloud Native Archite...
Adaptive and Iterative Integration for Microservices and Cloud Native Archite...Adaptive and Iterative Integration for Microservices and Cloud Native Archite...
Adaptive and Iterative Integration for Microservices and Cloud Native Archite...
 
Microservices for Enterprises
Microservices for Enterprises Microservices for Enterprises
Microservices for Enterprises
 
The Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital TransformationThe Role of Enterprise Integration in Digital Transformation
The Role of Enterprise Integration in Digital Transformation
 
Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0 Deep-dive into WSO2 ESB 5.0
Deep-dive into WSO2 ESB 5.0
 
Microintegration
MicrointegrationMicrointegration
Microintegration
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in Practice
 
Reactive Programming in Java 8 with Rx-Java
Reactive Programming in Java 8 with Rx-JavaReactive Programming in Java 8 with Rx-Java
Reactive Programming in Java 8 with Rx-Java
 
WSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise IntegrationWSO2-ESB - The backbone of Enterprise Integration
WSO2-ESB - The backbone of Enterprise Integration
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration Platform
 
WSO2 Gateway
WSO2 GatewayWSO2 Gateway
WSO2 Gateway
 
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
 
API, Integration, and SOA Convergence
API, Integration, and SOA ConvergenceAPI, Integration, and SOA Convergence
API, Integration, and SOA Convergence
 
The Past, Present and Future of Enterprise Integration
The Past, Present and Future of  Enterprise IntegrationThe Past, Present and Future of  Enterprise Integration
The Past, Present and Future of Enterprise Integration
 
WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration
 
Connected Retail
Connected RetailConnected Retail
Connected Retail
 

Recently uploaded

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 

Recently uploaded (20)

Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 

Bridging Microservices, APIs and Integration

  • 1. Bridging Microservices, APIs and Integration Microservices and Cloud Native Apps - SF Bay Area Cloud Field Day Edition, Santa Clara July 2017 Kasun Indrasiri Director-Integration Architecture at WSO2
  • 2. About Me ● Director - Integration Architecture at WSO2 ● Committer/PMC Apache Synapse, an architect of WSO2 ESB ● Author ‘Beginning WSO2 ESB’, several microservices articles/white papers WSO2 ● Open source middleware company ● API Management, Integration, IAM and IOT platforms.
  • 7. Why Microservices Compositions? ● Too many fine-grained microservices. ● Business functionalities often require to interact with more than one (micro)service. ● Microservices typically don't publish their APIs for direct invocation. ● Brown-field reality requires ‘Integration’ ○ Green fields enterprises don’t exists. ○ Hybrid usage of Microservices and monolithic architecture is quite common. ○ Need to integrate with existing legacy systems, proprietary systems, databases and SaaS.
  • 8. Glimpse of existing Microservice Implementations ● How do the existing microservice implementations handle the service compositions/service orchestration?
  • 9. Microservice - Compositions Netflix ● The Netflix API is the “front door” to the Netflix ecosystem of microservices. ● API provides the logic of composing calls to all services that are required to construct a response. ● The Netflix API is an orchestration service that exposes coarse grained APIs by composing fined grained functionality provided by the microservices. ● Orchestration logic is built with Java, RxJava
  • 10. Microservice - Compositions Uber ● ‘Edge Services’ which are 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
  • 11. Microservice - Compositions Paypal ● The API façade layer exposes Paypal business functionalities to various internal and external client applications ● The orchestration logic resides in the API façade layer and its implemented using Groovy.
  • 12. Miniservices “A miniservice is a coarse-grained, independently deployable and independently scalable application component.” ● “Innovation Insight for Miniservices” : Published: February 2017 ○ https://www.gartner.com/doc/3615120/innovation-insight-miniservices
  • 13. The ‘new’ monolith… API Gateway ● A central gateway with heavy composition logic is becoming an anti-pattern. ● https://medium.com/netflix-techblog/engineering-trade-offs-and- the-netflix-api-re-architecture-64f122b277dd ● Ability to develop, deploy and scale APIs independently -> Micro-API Gateways
  • 14. Pragmatic Microservices Architecture ● Microservices types with different granularities
  • 15. Integration/Composite Microservices ● A composite microservice with multiple network interactions ● Create composite microservices by integrating web APIs/SaaS, legacy systems and microservices ● API services/Edge service is also an integration microservice with some API gateway capabilities. ● Similar to the ‘Miniservice’ concept wrt to the granularity
  • 16. 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 ○ Compositions cannot be illustrated graphically. ● Apache Camel and other 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 lang. (e.g. expression languages, properties) ● Ballerina - ballerinalang.org - Open source microservice composition framework ● Service mesh frameworks - for Inter-service communication
  • 17. Ballerina (ballerinalang.org) ● Ballerina is a new parallel programming language that is designed and optimized for integration. ● Graphical and textual syntax which is built on top of the sequence diagram metaphor. ● Designed for network interactions with JSON/XML/SQL/MIME and HTTP/JMS/File/WebSockets ● Lightweight, high-performance and container native Integration runtime ● 100% open source.
  • 19. Ballerina - Key Concepts Components Overview
  • 20. Ballerina - Features ● 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 ● High performance and container native ○ One of the fastest HTTP transport based on Netty ○ Minimal Startup time(< 1s), low resource consumption. ○ Built-in ability to create Docker image with executable Ballerina program package ○ Run on any container management platform
  • 21. Ballerina - Future ● Ballerina 1.0 release on 2017 Q4 ● Why yet another language? ○ Make it easier to consume and produce networked services and applications. ○ Ballerina has been influenced by Java, Go, C, Node, Javascript, Maven, Tomcat, and a variety of other awesome tools. ● When should I use Ballerina? ○ Write integration microservices/miniservices: 80-20 rule ■ If 80% of your service is about integrating with other services, data and APIs then use Ballerina. ■ If just 20% is integration then use Java / Node / Go / PHP / XYZ ○ Re-compose existing services to be API backends ○ Write integration scripts ■ Replacement for shell scripts that use curl a lot
  • 22. When to use Ballerina?
  • 23. Ballerina - Try it! ● DOWNLOAD v0.91 and twirl away: ○ http://ballerinalang.org/ ● Source Code : https://github.com/ballerinalang/ ● NOTE: Still work-in-progress. New releases every two weeks with major features still coming along. Missing docs. A (few) bugs. Etc.!
  • 24. ● Managing a network of microservices and inter-service communications ● Not really a composite microservice development technology. ● Eg: Istio - https://istio.io, Linkered https://linkerd.io/ Service Mesh Solutions
  • 25. ● Understanding service granularities. ● Technologies for building integration microservices. Summary
  • 26. Thank You! ● kasun@wso2.com ● https://twitter.com/kasunindrasiri