SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

Microsoft Power Apps 101 : Build your application with power apps
Microsoft Power Apps 101 : Build your application with power appsMicrosoft Power Apps 101 : Build your application with power apps
Microsoft Power Apps 101 : Build your application with power appsMd. Tahmidul Abedin
 
All Plans Comparison - Office 365 and Microsoft 365 Plans
All Plans Comparison - Office 365 and Microsoft 365 PlansAll Plans Comparison - Office 365 and Microsoft 365 Plans
All Plans Comparison - Office 365 and Microsoft 365 PlansGetMax DMCC
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Chris Richardson
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Edureka!
 
Cloud Computing to Internet of Things
Cloud Computing to Internet of ThingsCloud Computing to Internet of Things
Cloud Computing to Internet of ThingsHermesDDS
 
Aggregating API Services with an API Gateway (BFF)
Aggregating API Services with an API Gateway (BFF)Aggregating API Services with an API Gateway (BFF)
Aggregating API Services with an API Gateway (BFF)José Roberto Araújo
 
Reactive Microservices with Quarkus
Reactive Microservices with QuarkusReactive Microservices with Quarkus
Reactive Microservices with QuarkusNiklas Heidloff
 
Microsoft power platform
Microsoft power platformMicrosoft power platform
Microsoft power platformJenkins NS
 
Overview of Azure Arc enabled Kubernetes
Overview of Azure Arc enabled KubernetesOverview of Azure Arc enabled Kubernetes
Overview of Azure Arc enabled KubernetesPieter de Bruin
 
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and MicroservicesCase Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and MicroservicesKai Wähner
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices Amazon Web Services
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principlesSanjoy Kumar Roy
 
Fiware IoT_IDAS_intro_ul20_v2
Fiware IoT_IDAS_intro_ul20_v2Fiware IoT_IDAS_intro_ul20_v2
Fiware IoT_IDAS_intro_ul20_v2FIWARE
 
Intelligent automation with Microsoft Power Automate
Intelligent automation with Microsoft Power AutomateIntelligent automation with Microsoft Power Automate
Intelligent automation with Microsoft Power AutomateDaniel Laskewitz
 
Azure Application Modernization
Azure Application ModernizationAzure Application Modernization
Azure Application ModernizationKarina Matos
 
Multi-Tenant Identity and Azure Resource Governance - ReBUILD 2019
Multi-Tenant Identity and Azure Resource Governance - ReBUILD 2019Multi-Tenant Identity and Azure Resource Governance - ReBUILD 2019
Multi-Tenant Identity and Azure Resource Governance - ReBUILD 2019Marius Zaharia
 
Cloud Native Architectures for Devops
Cloud Native Architectures for DevopsCloud Native Architectures for Devops
Cloud Native Architectures for Devopscornelia davis
 

Tendances (20)

Microsoft Power Apps 101 : Build your application with power apps
Microsoft Power Apps 101 : Build your application with power appsMicrosoft Power Apps 101 : Build your application with power apps
Microsoft Power Apps 101 : Build your application with power apps
 
All Plans Comparison - Office 365 and Microsoft 365 Plans
All Plans Comparison - Office 365 and Microsoft 365 PlansAll Plans Comparison - Office 365 and Microsoft 365 Plans
All Plans Comparison - Office 365 and Microsoft 365 Plans
 
Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...Developing applications with a microservice architecture (SVforum, microservi...
Developing applications with a microservice architecture (SVforum, microservi...
 
Architecture: Microservices
Architecture: MicroservicesArchitecture: Microservices
Architecture: Microservices
 
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
Microservice Architecture | Microservices Tutorial for Beginners | Microservi...
 
Cloud Computing to Internet of Things
Cloud Computing to Internet of ThingsCloud Computing to Internet of Things
Cloud Computing to Internet of Things
 
Aggregating API Services with an API Gateway (BFF)
Aggregating API Services with an API Gateway (BFF)Aggregating API Services with an API Gateway (BFF)
Aggregating API Services with an API Gateway (BFF)
 
Cloud Computing Technology Overview 2012
Cloud Computing Technology Overview 2012Cloud Computing Technology Overview 2012
Cloud Computing Technology Overview 2012
 
Reactive Microservices with Quarkus
Reactive Microservices with QuarkusReactive Microservices with Quarkus
Reactive Microservices with Quarkus
 
Microsoft power platform
Microsoft power platformMicrosoft power platform
Microsoft power platform
 
Overview of Azure Arc enabled Kubernetes
Overview of Azure Arc enabled KubernetesOverview of Azure Arc enabled Kubernetes
Overview of Azure Arc enabled Kubernetes
 
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and MicroservicesCase Study: How to move from a Monolith to Cloud, Containers and Microservices
Case Study: How to move from a Monolith to Cloud, Containers and Microservices
 
From Monolithic to Microservices
From Monolithic to Microservices From Monolithic to Microservices
From Monolithic to Microservices
 
Microservice architecture design principles
Microservice architecture design principlesMicroservice architecture design principles
Microservice architecture design principles
 
Fiware IoT_IDAS_intro_ul20_v2
Fiware IoT_IDAS_intro_ul20_v2Fiware IoT_IDAS_intro_ul20_v2
Fiware IoT_IDAS_intro_ul20_v2
 
Intelligent automation with Microsoft Power Automate
Intelligent automation with Microsoft Power AutomateIntelligent automation with Microsoft Power Automate
Intelligent automation with Microsoft Power Automate
 
Azure Application Modernization
Azure Application ModernizationAzure Application Modernization
Azure Application Modernization
 
Why Microservice
Why Microservice Why Microservice
Why Microservice
 
Multi-Tenant Identity and Azure Resource Governance - ReBUILD 2019
Multi-Tenant Identity and Azure Resource Governance - ReBUILD 2019Multi-Tenant Identity and Azure Resource Governance - ReBUILD 2019
Multi-Tenant Identity and Azure Resource Governance - ReBUILD 2019
 
Cloud Native Architectures for Devops
Cloud Native Architectures for DevopsCloud Native Architectures for Devops
Cloud Native Architectures for Devops
 

Similaire à Bridging Microservices, APIs and Integration

Integration Microservices
Integration MicroservicesIntegration Microservices
Integration MicroservicesKasun 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 EnterpriseWSO2
 
[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 MicroservicesWSO2
 
[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 MicroservicesWSO2
 
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 AppNGINX, 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 ArchitectureNGINX, 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 knativeMofizur 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 APIsNirmal 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 actionMukesh Singh
 
Cloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondCloudify your applications: microservices and beyond
Cloudify your applications: microservices and beyondUgo 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 togetherRestlet
 
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.
 
Microservices, Containers, and Beyond
Microservices, Containers, and BeyondMicroservices, Containers, and Beyond
Microservices, Containers, and BeyondLakmal Warusawithana
 
[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 BeyondWSO2
 
Docker microservices and the service mesh
Docker microservices and the service meshDocker microservices and the service mesh
Docker microservices and the service meshDocker, Inc.
 
Integroi oikein BizTalkilla ja Azurella
Integroi oikein BizTalkilla ja AzurellaIntegroi oikein BizTalkilla ja Azurella
Integroi oikein BizTalkilla ja AzurellaBilot
 

Similaire à 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)
 
Microservices, Containers, and Beyond
Microservices, Containers, and BeyondMicroservices, Containers, and Beyond
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
[WSO2Con Asia 2018] 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
 

Plus de Kasun Indrasiri

Microservices Integration Patterns with Kafka
Microservices Integration Patterns with KafkaMicroservices Integration Patterns with Kafka
Microservices Integration Patterns with KafkaKasun 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 TransformationKasun 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
 
Microservices in Practice
Microservices in PracticeMicroservices in Practice
Microservices in PracticeKasun 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-JavaKasun 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 IntegrationKasun Indrasiri
 
Introduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformIntroduction to WSO2 Integration Platform
Introduction to WSO2 Integration PlatformKasun 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 ConvergenceKasun 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 IntegrationKasun 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
 

Plus de 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
 

Dernier

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 

Dernier (20)

Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 

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