SlideShare a Scribd company logo
Container Native Integration Services
Achieving true agility through microservices, containerization and APIs
Oct 17, 2017
Agenda
● 9:00 AM - CONTAINER NATIVE INTEGRATION INTRODUCTION
● 10:00AM - DISTRIBUTED INTEGRATION LAB
● 12:00AM - LUNCH
● 1:00PM - API FIRST LAB
● 2:00PM - CONTAINERS LAB
● 3:30PM - API MANAGEMENT LAB
● 5:00PM - WRAP UP / Q & A
CONTAINER NATIVE INTEGRATION
Why modernize integration ?
SOA & ESB
Microservices
Event-Based
Containers
APIs
DevOps
Development Process
Waterfall
CI/CD
Deployment
Server/VM
Container
Infrastructure
Data Center
Cloud
Architecture
Monolith
MicroservicesAPIs
Webservices
Service Endpoints
BE COMPETITIVE
Enterprise IT is undergoing fundamental change. To remain competitive, businesses need
an integration platform capable of supporting current and next generation architectures.
Traditional Integration: Challenges
● Centralized integration (ESB)
● Re-use business functions
● Slow team co-ordination
● Single point of failure
● Not applicable for cloud
● Stringent scalability
Enterprise Service Bus (ESB)
Mainframe
7
Source: https://blog.akana.com/wp-content/uploads/2016/01/New-Integration-Redefined.png
8
3 Pillars of Modern Integration
Distributed Integration - Microservices
Faster Software Delivery
Resource Scalability
Failure Isolation
INSERT DESIGNATOR, IF NEEDED10
TRADITIONAL
INTEGRATION
INTEGRATION
MICROSERVICES
Distributed Integration - Microservices
Integration Hub (ESB)
Adapters
Exposed services Exposed services/APIs
1
microservice by Fuse
Client
API
(Interface,
Contracts)
Routing
Protocol
connector
Transformation
SMART ENDPOINTS AND SIMPLE PIPES
12
Distributed Integration: Red Hat JBoss Fuse
Distributed, pattern based Integration Services
Lightweight
integration
Container Toolkit
Rich transformation,
routing, messaging
Move away from the monolith
Build integration services as
self-contained deployable units
Create and Connect APIs,
Microservices
Includes messaging (JBoss AMQ)
Controlling APIs
INSERT DESIGNATOR, IF NEEDED14
TRADITIONAL
INTEGRATION
INTEGRATION
MICROSERVICES
API Management
Integration Hub (ESB)
Adapters
Exposed services
API Gateway / Management
Exposed services/APIs
2
Red Hat API Management
RBDMS
SAP
NoSQL
WS
REST
JMS
+ more
FUSE INTEGRATION
SERVICES
JBoss Fuse
Service API
JBoss Fuse
Service API
JBoss Fuse
Service API
Developers
Partners
Mobile App
Affiliates
Internal Projects
+ more
API MANAGEMENT
Access control and
security
API contracts and
rate limits
Analytics and
reporting
Developer portal and
docs
Billing and payments
Packaging Integration Services: Containers
Distributed
Deployment
Immutable delivery
● Operating system
● JVM
● side-car applications
● configuration
INSERT DESIGNATOR, IF NEEDED17
Managing Containers Rapid software
releases
Multi-tenancy
Guarantee high
availability
Scaling
management
Failure
detection
INSERT DESIGNATOR, IF NEEDED18
INSERT DESIGNATOR, IF NEEDED19
Fuse Integration services on OpenShift
● Cloud Native
○ Multi-tenancy
○ Security
○ Networking
○ Containers
○ Self healing
● Application centric
○ Cloud deployment support
○ Service lookup
INSERT DESIGNATOR, IF NEEDED20
Container Native Integration Services
API Gateway/Management
Container Container Container
Container
Container
REST API AMQP
APIs
REST API
3
21
Three Pillars for Modern Integration
DISTRIBUTED
INTEGRATION
LIGHTWEIGHT, PATTERN
BASED, EVENT
ORIENTED,
COMMUNITY SOURCED
CONTAINERS
CLOUD NATIVE
SOLUTIONS, CONTAINER
BASED SCALING AND
HIGH AVAILABILITY
..
.
API
MANAGEMENT
WELL DEFINED,
REUSABLE,
AND WELL MANAGED
END-POINTS,
ECOSYSTEM LEVERAGE
1 2 3
Labs overview
22
HOW TO GET STARTED
WE HAVE WRITTEN BOOKS FOR YOU
23
https://developers.redhat.com/resources/
DISTRIBUTED INTEGRATION
Agile Integration
● Lightweight
● Pattern Based
● Reusable Connectors
● Microservices Based
● Cloud native
solutions
● Lean artifacts,
individually
deployable
● Container based
scaling and high
availability
● Well defined,
re-usable, and well
managed
end-points
● Ecosystem
leverage
Flexibility Scalability Re-Usability
Distributed
Integration
Container API
DISTRIBUTED INTEGRATION - Microservice
microservice by
Red Hat JBoss Fuse
● Lightweight
○ Spring Boot deployment
○ DSL
○ S2i
● Pattern Based
○ Enterprise Integration Patterns
● Reusable Connector
○ Camel components
APACHE CAMEL
● Versatile and powerful, community led, open-source integration framework
● Led by the Apache Software Foundation
● Focused on making integration easy by
○ Offering concrete implementations for over 65 well known Enterprise
Integration Patterns
○ Connectivity to 160 different technology endpoints
○ Offering simple integration, routing and mediation using
■ Java based Domain Specific Language (or Fluent API); or,
■ Spring or Blueprint configuration files
● Large and vibrant world-wide community
○ Growing project with widespread adoption
○ Large Contributor and User base
○ 40 current, active and participating Committers
○ 27 Project Management Committee members
Aggregator
Normalizer
Content Enricher
Resequencer
WHAT IS JBOSS FUSE?
Apache Camel
Powerful pattern-based
integration engine
● 160+ connectors
● Built-in Data formats
● EIP support
Runtimes
● OSGi ✔
● JavaEE✔
● Microservice-ready
Spring Boot✔
Hybrid Deployment Env.
● Cloud ✔
● Onprem ✔
● Both ✔
API /
Webservice
● RPC ✔
● SOAP ✔
● REST ✔
INSERT DESIGNATOR, IF NEEDED29
APACHE CAMEL (in code)
Split
orders
Send
each order
to it’s
process service
Electronics
Others
Customer
Purchase
from("file:work/cbr/input")
.split(xpath("//orders"))
.choice()
.when(xpath("/order:order/order:type = 'E'"))
.to("activemq:queue:electronic/us")
.otherwise()
.recipientList(simple("http4://otherservice"));
INSERT DESIGNATOR, IF NEEDED30
CAMEL DSL
JBOSS
DEVELOPER
STUDIO
Java DSL
Blueprint DSL (XML)
Spring DSL (XML)
INSERT DESIGNATOR, IF NEEDED31
160+ ENDPOINT COMPONENTS
activemq cxf kubernetes jasypt
activemq-journal cxfrs freemarker javaspace
amqp dataset ftp/ftps/sftp jbi
atom db4o gae jcr
bean direct hdfs jdbc
bean validation ejb hibernate jetty
browse esper hl7 jms
cache event http jmx
cometd exec ibatis jpa
crypto file irc jt/400
INSERT DESIGNATOR, IF NEEDED32
160+ ENDPOINT COMPONENTS
Kafka properties seda stream
ldap quartz servlet string-template
mail/imap/pop3 quickfix sip test
mina ref smooks timer
mock restlet smpp validation
msv rmi snmp velocity
nagios rnc spring-integration vm
netty rng spring-security xmpp
nmr rss spring-ws xquery
printer scalate sql xslt
INSERT DESIGNATOR, IF NEEDED33
CAMEL ROUTE
Producer
● Produce requests
● End of route
● Dispatching outgoing
requests
Consumer
● Consume requests
● Start of a route
● Dispatching
outgoing replies
Processor
● Intermediate node in
the pipeline
● standard processors
or customized ones
INSERT DESIGNATOR, IF NEEDED34
CAMEL CONTEXT
Camel ContextCamel
runtime
environment
Route Route Route
Registry
Endpoint
Endpoint
EndpointEndpoint
Endpoint
Endpoint
Endpoint
Message
source or sink
Place to register
and plug
Javabeans,
components or
endpoints, for
later lookup.
Definition of
message
flowing rules
Components
Components are built-in sets
of highly configurable
libraries, that represents as
the plug-in factories for the
endpoints
INSERT DESIGNATOR, IF NEEDED35
MORE INFORMATION
● Camel in Action
● Apache Camel Developer’s
Cookbook
● Community website
○ http://camel.apache.org/
MICROSERVICES AS APIs
API
Multiple Device
Support
Device are not
limited to
screen
Voice enable
Drome, VR
Customer/
Vendor/
Partner
More complex
ecosystem
SaaS
Frequency
Data volume
Monetize
Service
Increased
revenue
market share
Open up new
opportunities
Modularize and
agility
Enhanced
developer
experience
Reuse code
Hide
implementation
details
Scalability in
Distributed
System
Able to flexibly
allocate
resource
Cloud enabled
Agile Integration
● Well defined, re-usable, and
well managed end-points
● Ecosystem leverage● Lightweight
● Pattern Based
● Reusable
Connectors
● Microservice Based
● Cloud native
solutions
● Lean artifacts,
individually
deployable
● Container based
scaling and high
availability
Re-UsabilityFlexibility Scalability
API
Distributed
Integration
Container
Red Hat Confidential39
RED HAT INTEGRATION PORTFOLIO
Connect APIs, applications and data across your entire enterprise
Lightweight multi-protocol
messaging platform
Lightweight integration platform
(Includes AMQ)
Full lifecycle API
Management
API Development API Management
Lightweight data
integration platform
API FIRST
microservice by
RED HAT JBOSS FUSE
REST DSL
Swagger
API Doc
API
Data
Format Transform
microservice by
RED HAT JBOSS FUSE
API
microservice by
RED HAT JBOSS FUSE
Consume
Exposes
3ScaleAPImanagement
External clients
Community,
Partners,
Customers
INSERT DESIGNATOR, IF NEEDED41
CONVERTING BETWEEN DATA FORMAT
● Marshal
○ Java Bean → Textual format
● Unmarshal
○ Textual, Binary format → Java Bean
● Dozer
○ Fine-grained integration
■ mapping literal values
■ Use expressions
INSERT DESIGNATOR, IF NEEDED42
DATA FORMAT EXAMPLE
Input XML File:
<root>
<child1>text1</child1>
<child2>text2</child2>
</root>
Camel Route:
...
from(“file:///xmlsourcedir”)
.unmarshal().jaxb()
.process(...)
.marshal().json()
.to(“file:///jsondestdir”);
...
Output JSON File:
{"root":
{"child1": "text1",
"child2": "text2"}
}
SERVICE RESILIENCE
JBoss Fuse
microservice
API
JBoss Fuse
microservice
API
microservice
microservice
API
microservice
microservice
API
Chain reaction
JBoss Fuse
microservice
API
SLOW!!
Client
CIRCUIT BREAKER
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="direct:start"/>
<hystrix>
<to uri="http://fooservice.com/slow"/>
<onFallback>
<transform>
<constant>Fallback message</constant>
</transform>
</onFallback>
</hystrix>
<to uri="mock:result"/>
</route>
</camelContext>
JBoss Fuse
microservice
API
API
Service SaaS
Slow! No
response!
Timeout
Fallback
APPLYING API BEST PRACTICES
Simply but concrete naming for the URI.
Use HTTP Method for CRUD if possible:
● READ -> GET
● CREATE -> PUT
● UPDATE -> POST
● DELETE -> DELETE
● Globally recognized standard, easy consumable
Make the most out of HTTP Errors
Setting the right granularity of data and using the common data format
Clear automatic generated documentation
<get uri="customer/{customerid}">
<to uri="direct:getCustomerinfo"/>
</get>
<get uri="product/{id}">
<to uri="direct:productInventory"/>
</get>
<get uri="account/profile/{acctid}">
<to uri="direct:getprofile"/>
</get>
CONTINUOUS IMPROVEMENT
Building APIs
● Native support
● Intuitive tooling
● Light weight
● Flexible service
and code re-use
from backend
Deploy APIs
● Flexibility to scale
● Load balancing
● zero downtime
● Security
Distributing APIs
● Authorization
● Clear documentation
● Enforce policies
● Community
Performance Analyst
● Number of Hits
● Average response time
● Revenue earned
Business alignment
● Change in market
● Government regulation
● New service launch
Versioning
● Retire
● Update
● New Service
● Internal service
re-creation
API
LAB ONE
LAB TWO
CONTAINER PLATFORM
Agile Integration
●
●
● Cloud native solutions
● Lean artifacts, individually
deployable
● Container based scaling
and high availability
● Lightweight
● Pattern Based
● Reusable
Connectors
● Community
Sourced
● Well defined,
re-usable, and well
managed
end-points
● Ecosystem
leverage
ScalabilityFlexibility Re-Usability
Container
Distributed
Integration
API
OPENSHIFT TECHNICAL OVERVIEW50
VIRTUAL MACHINES AND CONTAINERS
VIRTUAL MACHINES CONTAINERS
virtual machines are isolated
apps are not
containers are isolated
so are the apps
VM
OS Dependencies
Kernel
Hypervisor
Hardware
App App App App
Hardware
Container Host (Kernel)
Container
App
OS deps
Container
App
OS deps
Container
App
OS deps
Container
App
OS deps
OPENSHIFT TECHNICAL OVERVIEW51
APPLICATION PORTABILITY WITH CONTAINERS
LAPTOP
Container
Application
OS dependencies
Guest VM
RHEL
BARE METAL
Container
Application
OS dependencies
RHEL
VIRTUALIZATION
Container
Application
OS dependencies
Virtual Machine
RHEL
PRIVATE CLOUD
Container
Application
OS dependencies
Virtual Machine
RHEL
PUBLIC CLOUD
Container
Application
OS dependencies
Virtual Machine
RHEL
Linux Containers + RHEL = Guaranteed Portability
Across Any Infrastructure
GENERAL DISTRIBUTION
?
● Which containers should be deployed together?
● Which containers can access each other?
● Which host has more capacity?
● How to monitor container health? What do you do if they have crashed?
● How to scale them up?
MANAGING CONTAINERS IN ENTERPRISE
INSERT DESIGNATOR, IF NEEDED53
10,000 foot overview
Master(Control Plane) & Nodes(Container host)
Apps and components run in containers
Container
Image
Container
Pod
OPENSHIFT
Services connect application components
● Virtual IP load balancing and discovery
● Defines a group of Pods and how to access them
● Decouple providers and accessors of services
● Don’t depend on Pod IPs directly
● Use a single IP that doesn’t change
● Service Proxy
POD
SERVICE
POD
10.0.1.1 10.0.1.2
CLIENT Name: amq
IP: 170.30.10.10
Routing layer for external accessibility
POD
SERVICE
PODPOD
SERVICE
POD
ROUTE
CLIENT CLIENTCLIENT
OPENSHIFT
FAILURE RECOVERY
POD
SERVICE
PODPOD
SERVICE
POD
ROUTE
POD
Rebalance traffics
Redirect request to
available Pods
Replace failing pod
Starts another pod and
bind to serviceHealth Checks
periodically performs
diagnostics on a running
container.
OPENSHIFT TECHNICAL OVERVIEW60
DEPLOY SOURCE CODE WITH
SOURCE-TO-IMAGE (S2I)
Git
Repository
BUILD APP
Developer
code
Source-to-Image(S2I)
Builder
Image
Image
Registry
BUILD IMAGE
DEPLOY deployApplication
Container
Dockerfile
Binary
OPENSHIFT
OPENSHIFT PIPELINES
OPENSHIFT TECHNICAL OVERVIEW
INTEGRATED
IMAGE
REGISTRY
OPENSHIFT
CLUSTER
62
CONTINUOUS DELIVERY PIPELINE
DEVELOPER GIT SERVER ARTIFACT REPOSITORY
OPENSHIFT
CI/CD PIPELINE
(JENKINS)
IMAGE BUILD
& DEPLOY
INTEGRATED
IMAGE
REGISTRY
OPENSHIFT
CLUSTER
GO
LIVE?
PROMOTE
TO TEST
PROMOTE
TO UAT
PROMOTE
TO PROD
RELEASE MANAGER
NON-PROD PRODDEV TEST UAT
☒
☑
OPENSHIFT
● Reducing downtime and risk associated with
release
● Two identical environments in containing two
different releases (Blue and Green)
● After validating new release, can switch all
traffic to new version
● Quickly roll application back if you find issues
BLUE-GREEN DEPLOYMENT
router
OPENSHIFT TECHNICAL OVERVIEW64
Split Traffic: Canary Deployments
SERVICE A
App A App A
SERVICE B
App B App B
ROUTE
10% traffic90% traffic
Split Traffic Between
Multiple Services For A/B
Testing, Blue/Green and
Canary Deployments
OPENSHIFT TECHNICAL OVERVIEW
CENTRAL LOG MANAGEMENT WITH EFK
APPLICATION LOGS
OPERATION LOGS
ELASTIC
ELASTIC
65
RHEL
NODE
POD POD
PODPOD
FLUENTD
RHEL
NODE
POD POD
PODPOD
FLUENTD
ELASTICSEARCH
RHEL
NODE
POD POD
PODPOD
FLUENTD
USER
ELASTIC
ELASTIC
KIBANA
ELASTIC
ELASTIC
ELASTICSEARCH
ELASTIC
ELASTIC
KIBANA
ADMIN
66
OPERATIONAL EFFICIENCY
LAB THREE
API Management
Take Control of Your APIs
Creating & Exposing APIs is just the start
Security &
Authentication
Version Control
Documentation
Policies
Access Control
Monitoring
Lifecycle
Management
Provisioning
Alerts
Metering & Billing
Testing
Portal
Scalability
Reliability
API Life-cycle
The API Lifecycle Management Approach
DEFINE: Identify the API services that deliver value to
the business layer
DEVELOP: Design, code, test, document standardize
templates
PUBLISH: Run security with defined policies and
controls
SUPPORT: Offer community, forums, documentation to
interact and collaborate
RETIRE: EOL, un-publish, communicate and remove
from market place following version control best
practice
3scale API Management
RBDMS
SAP
NoSQL
WS
REST
JMS
+ more
FUSE INTEGRATION
SERVICE
JBoss Fuse
Service API
JBoss Fuse
Service API
JBoss Fuse
Service API
Developers
Partners
Mobile App
Affiliates
Internal Projects
+ more
API MANAGEMENT
Access control and
security
API contracts and
rate limits
Analytics and
reporting
Developer portal and
docs
Billing and payments
API Management Stack
Red Hat 3Scale Distributed Architecture
Developer Apps
Branded
Developer Portal
Real time
Admin Console
Mobile Apps
API
Gateway …
Load Balancer
Swagger Doc
Node # 1 Node # 2 Node # N
API
Manager
API
Gateway
API
Backend
Your API Back-end
3Scale API Management
Stack
Access control Security
API contracts Rate limits
Analytics Reporting
Dev portal Docs
Billing Payments
Admin Console
Dev Portal
API
Management
Traffic Manager
APIs
Applications
Consumers
HTTP / HTTPS
Security, usage &
rate limits
The 3scale API Management solution
provides out-of-the-box three authentication
mechanisms :
• API Key
• API Key Pair (ID + Secret)
• OAuth 2.0 / OpenID Connect
In addition, custom mechanisms can be implemented
in the 3scale gateway
Authentication Mechanism
API SECURITY
75
76
Application plans allow you to set rate limits
for API usage and control traffic flow for
groups of developers.
Set per-period limits for incoming API calls to
protect your infrastructure and keep traffic
flowing smoothly.
Automatically trigger overage alerts for
applications that reach or exceed rate limits,
and define behavior for over-limit
applications.
API contracts & limits
API MANAGEMENT FEATURES
77
3scale API Analytics module lets you analyze
your API traffic by account, application or
service and much more :
• Define and present tailored metrics
• Drill down up to the API Method level
• Implement business metrics
• Export data in CSV format
Analytics
API MANAGEMENT FEATURES
Ensure the success of your APIs by
providing an amazing developer experience.
The 3scale API Developer Portal provides :
• Developer Onboarding
• Application & API Keys creation
• Usage tracking
• Interactive API Documentation
• EULA Management
• Fully customizable CMS
Highly Customizable
API DEVELOPER PORTAL
79
The 3scale API Management solution lets you
implement monetization by providing :
• One-stop-shop for Monetization
• Customizable billing metrics :
• Setup fees (one-time)
• Recurring fees (per-month)
• Per usage fees (per-call)
• PCI-DSS compliant platform
Monetization & Payments
API MANAGEMENT FEATURES
API Management Deployment Model
SaaS
Hosted API manager on
3scale scalable AWS platform
with built-in redundancy,
High-availability and SLA
Openshift
Openshift API manager - API
Management Platform (AMP)
2.x, provides an OpenShift
template to deploy AMP onto
OpenShift Container Platform
(OCP)
API Manager
Deployment Options
Native
apicast-gateway code from
upstream repo running on:
Openresty (NGINX + LUA)
for Red Hat Enterprise Linux
Docker
apicast-gateway
Docker Image
from Red Hat Registry
Openshift
Openshift API Gateway
Template (which will pull in
apicast-gateway Docker
Image)
Inside or Outside the same
API manager Cluster
Self-managed API Gateway
Deployment Options
3scale API Management
microservice
microservice
microservice
OpenShift
3scale
Proxy
CLIENT
JBoss Fuse
microservice
API
3scale API Management
Platform
3Scale API Management
Components - Flexible Distributed Control
Developers
Sync / Authorize
Mobile
Apps
Developer
Apps
Real Time
Admin Portal
Branded
Developer Portal
Swagger
Doc API Provider
Administrators
API ProvidersAPI GatewayAPI Consumers
API Manager
Deployment Options
Hybrid: Hosted Manager - Self-managed Gateway
Real Time Admin Portal
Sync / Authorize
API Provider
API Gateway API Manager
API Provider
Administrators
Mobile Apps Developer Apps
Branded Dev PortalSwagger Doc
Developers
API Consumers
Deployment Options
Full On-Premise
Real Time Admin Portal
Sync / Authorize
API Provider
API Gateway
(Openshift)
API Manager
API Provider
Administrators
Mobile Apps Developer Apps
Branded Dev PortalSwagger Doc
API Consumers
Developers
Deployment Options
On-premise: Self-managed APIs
Real Time Admin Portal
Sync / Authorize
API Provider
API Gateway
(Openshift)
API Manager
API Provider
Administrators
Mobile Apps Developer Apps
Branded Dev PortalSwagger Doc
API Consumers
Developers
Deployment Options
On-premise: Self-managed APIs & External Self-managed Gateway
Real Time Admin Portal
Sync / Authorize
API Provider
API Gateway
(Native/Docker)
API Manager
API Provider
Administrators
Mobile Apps Developer Apps
Branded Dev PortalSwagger Doc
API Consumers
Developers
LAB Four
Summary
91
Gartner
Magic Quadrant
Full API Lifecycle Management
(2016)
AGILE INTEGRATION
API Management
PaaS
Gateway
Automation
Layered microservice
AGILE INTEGRATION
Cloud native solutions
Lean artifacts,
individually deployable
Container based scaling
and high availability
● Lightweight
● Pattern Based
● Reusable
Connectors
● Microservice Based
● Cloud native
solutions
● Lean artifacts,
individually
deployable
● Container based
scaling and high
availability
● Well defined,
re-usable, and well
managed end-points
● Ecosystem leverage
Flexibility Scalability Re-Usability
Distributed
Integration
Container API
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews

More Related Content

What's hot

Data Center Migration to the AWS Cloud
Data Center Migration to the AWS CloudData Center Migration to the AWS Cloud
Data Center Migration to the AWS Cloud
Tom Laszewski
 

What's hot (20)

AWS Summit Singapore 2019 | Enterprise Migration Journey Roadmap
AWS Summit Singapore 2019 | Enterprise Migration Journey RoadmapAWS Summit Singapore 2019 | Enterprise Migration Journey Roadmap
AWS Summit Singapore 2019 | Enterprise Migration Journey Roadmap
 
Partnering with AWS
Partnering with AWSPartnering with AWS
Partnering with AWS
 
Migrating to the Cloud
Migrating to the CloudMigrating to the Cloud
Migrating to the Cloud
 
Highlights of AWS ReInvent 2023 (Announcements and Best Practices)
Highlights of AWS ReInvent 2023 (Announcements and Best Practices)Highlights of AWS ReInvent 2023 (Announcements and Best Practices)
Highlights of AWS ReInvent 2023 (Announcements and Best Practices)
 
AWS Techical Due Diligence to post transaction execution for M&A
AWS Techical Due Diligence to post transaction execution for M&A AWS Techical Due Diligence to post transaction execution for M&A
AWS Techical Due Diligence to post transaction execution for M&A
 
Cloud Migration: A How-To Guide
Cloud Migration: A How-To GuideCloud Migration: A How-To Guide
Cloud Migration: A How-To Guide
 
Getting Started with AWS Database Migration Service
Getting Started with AWS Database Migration ServiceGetting Started with AWS Database Migration Service
Getting Started with AWS Database Migration Service
 
database migration simple, cross-engine and cross-platform migrations with ...
database migration   simple, cross-engine and cross-platform migrations with ...database migration   simple, cross-engine and cross-platform migrations with ...
database migration simple, cross-engine and cross-platform migrations with ...
 
Platform engineering 101
Platform engineering 101Platform engineering 101
Platform engineering 101
 
The Amazon Partner Network
The Amazon Partner NetworkThe Amazon Partner Network
The Amazon Partner Network
 
Solution deck capgemini cloud assessment
Solution deck capgemini cloud assessmentSolution deck capgemini cloud assessment
Solution deck capgemini cloud assessment
 
Accelerate Cloud Migration to AWS Cloud with Cognizant Cloud Steps
Accelerate Cloud Migration to AWS Cloud with Cognizant Cloud StepsAccelerate Cloud Migration to AWS Cloud with Cognizant Cloud Steps
Accelerate Cloud Migration to AWS Cloud with Cognizant Cloud Steps
 
遷移到 AWS 雲端旅程的方法與工具
遷移到 AWS 雲端旅程的方法與工具遷移到 AWS 雲端旅程的方法與工具
遷移到 AWS 雲端旅程的方法與工具
 
Why AWS in Education: Transforming Education in the Cloud
Why AWS in Education: Transforming Education in the CloudWhy AWS in Education: Transforming Education in the Cloud
Why AWS in Education: Transforming Education in the Cloud
 
Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...
Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...
Leveraging the AWS Sales Methodology and Partner Best Practices aws-partner-s...
 
Building Modern Streaming Analytics with Confluent on AWS
Building Modern Streaming Analytics with Confluent on AWSBuilding Modern Streaming Analytics with Confluent on AWS
Building Modern Streaming Analytics with Confluent on AWS
 
Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...
Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...
Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...
 
Architecture for the API-enterprise
Architecture for the API-enterpriseArchitecture for the API-enterprise
Architecture for the API-enterprise
 
Data Center Migration to the AWS Cloud
Data Center Migration to the AWS CloudData Center Migration to the AWS Cloud
Data Center Migration to the AWS Cloud
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 

Similar to Agile Integration Workshop

The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
WSO2
 

Similar to Agile Integration Workshop (20)

.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles.NET Cloud-Native Bootcamp- Los Angeles
.NET Cloud-Native Bootcamp- Los Angeles
 
Cloud Native Application Integration With APIs
Cloud Native Application Integration With APIsCloud Native Application Integration With APIs
Cloud Native Application Integration With APIs
 
Best Practices for Building Hybrid-Cloud Architectures | Hans Jespersen
Best Practices for Building Hybrid-Cloud Architectures | Hans JespersenBest Practices for Building Hybrid-Cloud Architectures | Hans Jespersen
Best Practices for Building Hybrid-Cloud Architectures | Hans Jespersen
 
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
 
DevOps and BigData Analytics
DevOps and BigData Analytics DevOps and BigData Analytics
DevOps and BigData Analytics
 
[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
 
API Management within a Microservice Architecture
API Management within a Microservice ArchitectureAPI Management within a Microservice Architecture
API Management within a Microservice Architecture
 
API Management Within a Microservices Architecture
API Management Within a Microservices Architecture API Management Within a Microservices Architecture
API Management Within a Microservices Architecture
 
[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...
 
Red Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft AzureRed Hat Openshift on Microsoft Azure
Red Hat Openshift on Microsoft Azure
 
Day in the life event-driven workshop
Day in the life  event-driven workshopDay in the life  event-driven workshop
Day in the life event-driven workshop
 
Pivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platformPivotal CloudFoundry on Google cloud platform
Pivotal CloudFoundry on Google cloud platform
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 
Agile integration workshop
Agile integration workshopAgile integration workshop
Agile integration workshop
 
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
The Best of Both Worlds: Introducing WSO2 API Manager 4.0.0
 
Openshift serverless Solution
Openshift serverless SolutionOpenshift serverless Solution
Openshift serverless Solution
 
Red Hat Container Strategy
Red Hat Container StrategyRed Hat Container Strategy
Red Hat Container Strategy
 
Cloud computing: highlights
Cloud computing: highlightsCloud computing: highlights
Cloud computing: highlights
 
AWS Summit Singapore - Focus on your Business with Predictive Analytics, Cont...
AWS Summit Singapore - Focus on your Business with Predictive Analytics, Cont...AWS Summit Singapore - Focus on your Business with Predictive Analytics, Cont...
AWS Summit Singapore - Focus on your Business with Predictive Analytics, Cont...
 
Jelastic DevOps Platform Product Overview for ISVs
Jelastic DevOps Platform Product Overview for ISVsJelastic DevOps Platform Product Overview for ISVs
Jelastic DevOps Platform Product Overview for ISVs
 

More from Judy Breedlove

More from Judy Breedlove (20)

Putting data to work
Putting data to workPutting data to work
Putting data to work
 
Agile integration activation: get hands on with ap-is
Agile integration activation: get hands on with ap-isAgile integration activation: get hands on with ap-is
Agile integration activation: get hands on with ap-is
 
The 3 pillars of agile integration: Container, Connector and API
The 3 pillars of agile integration:  Container, Connector and APIThe 3 pillars of agile integration:  Container, Connector and API
The 3 pillars of agile integration: Container, Connector and API
 
Preparing your organization for microservices
Preparing your organization for microservicesPreparing your organization for microservices
Preparing your organization for microservices
 
Transform the internal it landscape with APIs and integration
Transform the internal it landscape with APIs and integrationTransform the internal it landscape with APIs and integration
Transform the internal it landscape with APIs and integration
 
An API-focused approach to Agile Integration
An API-focused approach to Agile IntegrationAn API-focused approach to Agile Integration
An API-focused approach to Agile Integration
 
Introduction to red hat agile integration (Red Hat Workshop)
Introduction to red hat agile integration (Red Hat Workshop)Introduction to red hat agile integration (Red Hat Workshop)
Introduction to red hat agile integration (Red Hat Workshop)
 
An API-focused approach to Agile Integration
An API-focused approach to Agile IntegrationAn API-focused approach to Agile Integration
An API-focused approach to Agile Integration
 
Transform the internal it landscape with APIs
Transform the internal it landscape with APIsTransform the internal it landscape with APIs
Transform the internal it landscape with APIs
 
The Three Pillars of Agile Integration: Connector, Container & API
The Three Pillars of Agile Integration: Connector, Container & APIThe Three Pillars of Agile Integration: Connector, Container & API
The Three Pillars of Agile Integration: Connector, Container & API
 
Microservices, containers and event driven architecture - key factors in agil...
Microservices, containers and event driven architecture - key factors in agil...Microservices, containers and event driven architecture - key factors in agil...
Microservices, containers and event driven architecture - key factors in agil...
 
Navigating Cloud Adoption: Trends that Challenge and Inspire Designers
Navigating Cloud Adoption:  Trends that Challenge and Inspire DesignersNavigating Cloud Adoption:  Trends that Challenge and Inspire Designers
Navigating Cloud Adoption: Trends that Challenge and Inspire Designers
 
Monoliths to microservices workshop
Monoliths to microservices workshopMonoliths to microservices workshop
Monoliths to microservices workshop
 
Evolution of integration and microservices patterns with service mesh
Evolution of integration and microservices patterns with service meshEvolution of integration and microservices patterns with service mesh
Evolution of integration and microservices patterns with service mesh
 
The Future of Cloud Native Apps - Chicago Intro
The Future of Cloud Native Apps - Chicago IntroThe Future of Cloud Native Apps - Chicago Intro
The Future of Cloud Native Apps - Chicago Intro
 
Serverless and serverfull - where microservices compliments serverless
Serverless and serverfull - where microservices compliments serverlessServerless and serverfull - where microservices compliments serverless
Serverless and serverfull - where microservices compliments serverless
 
Cloud-Native Microservices
Cloud-Native MicroservicesCloud-Native Microservices
Cloud-Native Microservices
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolith
 
Agile integration: Decomposing the monolith
Agile integration: Decomposing the monolithAgile integration: Decomposing the monolith
Agile integration: Decomposing the monolith
 
Microservices, containers and event driven architecture - key factors in agil...
Microservices, containers and event driven architecture - key factors in agil...Microservices, containers and event driven architecture - key factors in agil...
Microservices, containers and event driven architecture - key factors in agil...
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 

Recently uploaded (20)

The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 

Agile Integration Workshop

  • 1. Container Native Integration Services Achieving true agility through microservices, containerization and APIs Oct 17, 2017
  • 2. Agenda ● 9:00 AM - CONTAINER NATIVE INTEGRATION INTRODUCTION ● 10:00AM - DISTRIBUTED INTEGRATION LAB ● 12:00AM - LUNCH ● 1:00PM - API FIRST LAB ● 2:00PM - CONTAINERS LAB ● 3:30PM - API MANAGEMENT LAB ● 5:00PM - WRAP UP / Q & A
  • 4. Why modernize integration ? SOA & ESB Microservices Event-Based Containers APIs DevOps
  • 5. Development Process Waterfall CI/CD Deployment Server/VM Container Infrastructure Data Center Cloud Architecture Monolith MicroservicesAPIs Webservices Service Endpoints BE COMPETITIVE Enterprise IT is undergoing fundamental change. To remain competitive, businesses need an integration platform capable of supporting current and next generation architectures.
  • 6. Traditional Integration: Challenges ● Centralized integration (ESB) ● Re-use business functions ● Slow team co-ordination ● Single point of failure ● Not applicable for cloud ● Stringent scalability Enterprise Service Bus (ESB) Mainframe
  • 8. 8 3 Pillars of Modern Integration
  • 9. Distributed Integration - Microservices Faster Software Delivery Resource Scalability Failure Isolation
  • 10. INSERT DESIGNATOR, IF NEEDED10 TRADITIONAL INTEGRATION INTEGRATION MICROSERVICES Distributed Integration - Microservices Integration Hub (ESB) Adapters Exposed services Exposed services/APIs 1
  • 12. 12 Distributed Integration: Red Hat JBoss Fuse Distributed, pattern based Integration Services Lightweight integration Container Toolkit Rich transformation, routing, messaging Move away from the monolith Build integration services as self-contained deployable units Create and Connect APIs, Microservices Includes messaging (JBoss AMQ)
  • 14. INSERT DESIGNATOR, IF NEEDED14 TRADITIONAL INTEGRATION INTEGRATION MICROSERVICES API Management Integration Hub (ESB) Adapters Exposed services API Gateway / Management Exposed services/APIs 2
  • 15. Red Hat API Management RBDMS SAP NoSQL WS REST JMS + more FUSE INTEGRATION SERVICES JBoss Fuse Service API JBoss Fuse Service API JBoss Fuse Service API Developers Partners Mobile App Affiliates Internal Projects + more API MANAGEMENT Access control and security API contracts and rate limits Analytics and reporting Developer portal and docs Billing and payments
  • 16. Packaging Integration Services: Containers Distributed Deployment Immutable delivery ● Operating system ● JVM ● side-car applications ● configuration
  • 17. INSERT DESIGNATOR, IF NEEDED17 Managing Containers Rapid software releases Multi-tenancy Guarantee high availability Scaling management Failure detection
  • 19. INSERT DESIGNATOR, IF NEEDED19 Fuse Integration services on OpenShift ● Cloud Native ○ Multi-tenancy ○ Security ○ Networking ○ Containers ○ Self healing ● Application centric ○ Cloud deployment support ○ Service lookup
  • 20. INSERT DESIGNATOR, IF NEEDED20 Container Native Integration Services API Gateway/Management Container Container Container Container Container REST API AMQP APIs REST API 3
  • 21. 21 Three Pillars for Modern Integration DISTRIBUTED INTEGRATION LIGHTWEIGHT, PATTERN BASED, EVENT ORIENTED, COMMUNITY SOURCED CONTAINERS CLOUD NATIVE SOLUTIONS, CONTAINER BASED SCALING AND HIGH AVAILABILITY .. . API MANAGEMENT WELL DEFINED, REUSABLE, AND WELL MANAGED END-POINTS, ECOSYSTEM LEVERAGE 1 2 3
  • 23. HOW TO GET STARTED WE HAVE WRITTEN BOOKS FOR YOU 23 https://developers.redhat.com/resources/
  • 25. Agile Integration ● Lightweight ● Pattern Based ● Reusable Connectors ● Microservices Based ● Cloud native solutions ● Lean artifacts, individually deployable ● Container based scaling and high availability ● Well defined, re-usable, and well managed end-points ● Ecosystem leverage Flexibility Scalability Re-Usability Distributed Integration Container API
  • 26. DISTRIBUTED INTEGRATION - Microservice microservice by Red Hat JBoss Fuse ● Lightweight ○ Spring Boot deployment ○ DSL ○ S2i ● Pattern Based ○ Enterprise Integration Patterns ● Reusable Connector ○ Camel components
  • 27. APACHE CAMEL ● Versatile and powerful, community led, open-source integration framework ● Led by the Apache Software Foundation ● Focused on making integration easy by ○ Offering concrete implementations for over 65 well known Enterprise Integration Patterns ○ Connectivity to 160 different technology endpoints ○ Offering simple integration, routing and mediation using ■ Java based Domain Specific Language (or Fluent API); or, ■ Spring or Blueprint configuration files ● Large and vibrant world-wide community ○ Growing project with widespread adoption ○ Large Contributor and User base ○ 40 current, active and participating Committers ○ 27 Project Management Committee members Aggregator Normalizer Content Enricher Resequencer
  • 28. WHAT IS JBOSS FUSE? Apache Camel Powerful pattern-based integration engine ● 160+ connectors ● Built-in Data formats ● EIP support Runtimes ● OSGi ✔ ● JavaEE✔ ● Microservice-ready Spring Boot✔ Hybrid Deployment Env. ● Cloud ✔ ● Onprem ✔ ● Both ✔ API / Webservice ● RPC ✔ ● SOAP ✔ ● REST ✔
  • 29. INSERT DESIGNATOR, IF NEEDED29 APACHE CAMEL (in code) Split orders Send each order to it’s process service Electronics Others Customer Purchase from("file:work/cbr/input") .split(xpath("//orders")) .choice() .when(xpath("/order:order/order:type = 'E'")) .to("activemq:queue:electronic/us") .otherwise() .recipientList(simple("http4://otherservice"));
  • 30. INSERT DESIGNATOR, IF NEEDED30 CAMEL DSL JBOSS DEVELOPER STUDIO Java DSL Blueprint DSL (XML) Spring DSL (XML)
  • 31. INSERT DESIGNATOR, IF NEEDED31 160+ ENDPOINT COMPONENTS activemq cxf kubernetes jasypt activemq-journal cxfrs freemarker javaspace amqp dataset ftp/ftps/sftp jbi atom db4o gae jcr bean direct hdfs jdbc bean validation ejb hibernate jetty browse esper hl7 jms cache event http jmx cometd exec ibatis jpa crypto file irc jt/400
  • 32. INSERT DESIGNATOR, IF NEEDED32 160+ ENDPOINT COMPONENTS Kafka properties seda stream ldap quartz servlet string-template mail/imap/pop3 quickfix sip test mina ref smooks timer mock restlet smpp validation msv rmi snmp velocity nagios rnc spring-integration vm netty rng spring-security xmpp nmr rss spring-ws xquery printer scalate sql xslt
  • 33. INSERT DESIGNATOR, IF NEEDED33 CAMEL ROUTE Producer ● Produce requests ● End of route ● Dispatching outgoing requests Consumer ● Consume requests ● Start of a route ● Dispatching outgoing replies Processor ● Intermediate node in the pipeline ● standard processors or customized ones
  • 34. INSERT DESIGNATOR, IF NEEDED34 CAMEL CONTEXT Camel ContextCamel runtime environment Route Route Route Registry Endpoint Endpoint EndpointEndpoint Endpoint Endpoint Endpoint Message source or sink Place to register and plug Javabeans, components or endpoints, for later lookup. Definition of message flowing rules Components Components are built-in sets of highly configurable libraries, that represents as the plug-in factories for the endpoints
  • 35. INSERT DESIGNATOR, IF NEEDED35 MORE INFORMATION ● Camel in Action ● Apache Camel Developer’s Cookbook ● Community website ○ http://camel.apache.org/
  • 37. API Multiple Device Support Device are not limited to screen Voice enable Drome, VR Customer/ Vendor/ Partner More complex ecosystem SaaS Frequency Data volume Monetize Service Increased revenue market share Open up new opportunities Modularize and agility Enhanced developer experience Reuse code Hide implementation details Scalability in Distributed System Able to flexibly allocate resource Cloud enabled
  • 38. Agile Integration ● Well defined, re-usable, and well managed end-points ● Ecosystem leverage● Lightweight ● Pattern Based ● Reusable Connectors ● Microservice Based ● Cloud native solutions ● Lean artifacts, individually deployable ● Container based scaling and high availability Re-UsabilityFlexibility Scalability API Distributed Integration Container
  • 39. Red Hat Confidential39 RED HAT INTEGRATION PORTFOLIO Connect APIs, applications and data across your entire enterprise Lightweight multi-protocol messaging platform Lightweight integration platform (Includes AMQ) Full lifecycle API Management API Development API Management Lightweight data integration platform
  • 40. API FIRST microservice by RED HAT JBOSS FUSE REST DSL Swagger API Doc API Data Format Transform microservice by RED HAT JBOSS FUSE API microservice by RED HAT JBOSS FUSE Consume Exposes 3ScaleAPImanagement External clients Community, Partners, Customers
  • 41. INSERT DESIGNATOR, IF NEEDED41 CONVERTING BETWEEN DATA FORMAT ● Marshal ○ Java Bean → Textual format ● Unmarshal ○ Textual, Binary format → Java Bean ● Dozer ○ Fine-grained integration ■ mapping literal values ■ Use expressions
  • 42. INSERT DESIGNATOR, IF NEEDED42 DATA FORMAT EXAMPLE Input XML File: <root> <child1>text1</child1> <child2>text2</child2> </root> Camel Route: ... from(“file:///xmlsourcedir”) .unmarshal().jaxb() .process(...) .marshal().json() .to(“file:///jsondestdir”); ... Output JSON File: {"root": {"child1": "text1", "child2": "text2"} }
  • 43. SERVICE RESILIENCE JBoss Fuse microservice API JBoss Fuse microservice API microservice microservice API microservice microservice API Chain reaction JBoss Fuse microservice API SLOW!! Client
  • 44. CIRCUIT BREAKER <camelContext xmlns="http://camel.apache.org/schema/spring"> <route> <from uri="direct:start"/> <hystrix> <to uri="http://fooservice.com/slow"/> <onFallback> <transform> <constant>Fallback message</constant> </transform> </onFallback> </hystrix> <to uri="mock:result"/> </route> </camelContext> JBoss Fuse microservice API API Service SaaS Slow! No response! Timeout Fallback
  • 45. APPLYING API BEST PRACTICES Simply but concrete naming for the URI. Use HTTP Method for CRUD if possible: ● READ -> GET ● CREATE -> PUT ● UPDATE -> POST ● DELETE -> DELETE ● Globally recognized standard, easy consumable Make the most out of HTTP Errors Setting the right granularity of data and using the common data format Clear automatic generated documentation <get uri="customer/{customerid}"> <to uri="direct:getCustomerinfo"/> </get> <get uri="product/{id}"> <to uri="direct:productInventory"/> </get> <get uri="account/profile/{acctid}"> <to uri="direct:getprofile"/> </get>
  • 46. CONTINUOUS IMPROVEMENT Building APIs ● Native support ● Intuitive tooling ● Light weight ● Flexible service and code re-use from backend Deploy APIs ● Flexibility to scale ● Load balancing ● zero downtime ● Security Distributing APIs ● Authorization ● Clear documentation ● Enforce policies ● Community Performance Analyst ● Number of Hits ● Average response time ● Revenue earned Business alignment ● Change in market ● Government regulation ● New service launch Versioning ● Retire ● Update ● New Service ● Internal service re-creation API
  • 49. Agile Integration ● ● ● Cloud native solutions ● Lean artifacts, individually deployable ● Container based scaling and high availability ● Lightweight ● Pattern Based ● Reusable Connectors ● Community Sourced ● Well defined, re-usable, and well managed end-points ● Ecosystem leverage ScalabilityFlexibility Re-Usability Container Distributed Integration API
  • 50. OPENSHIFT TECHNICAL OVERVIEW50 VIRTUAL MACHINES AND CONTAINERS VIRTUAL MACHINES CONTAINERS virtual machines are isolated apps are not containers are isolated so are the apps VM OS Dependencies Kernel Hypervisor Hardware App App App App Hardware Container Host (Kernel) Container App OS deps Container App OS deps Container App OS deps Container App OS deps
  • 51. OPENSHIFT TECHNICAL OVERVIEW51 APPLICATION PORTABILITY WITH CONTAINERS LAPTOP Container Application OS dependencies Guest VM RHEL BARE METAL Container Application OS dependencies RHEL VIRTUALIZATION Container Application OS dependencies Virtual Machine RHEL PRIVATE CLOUD Container Application OS dependencies Virtual Machine RHEL PUBLIC CLOUD Container Application OS dependencies Virtual Machine RHEL Linux Containers + RHEL = Guaranteed Portability Across Any Infrastructure
  • 52. GENERAL DISTRIBUTION ? ● Which containers should be deployed together? ● Which containers can access each other? ● Which host has more capacity? ● How to monitor container health? What do you do if they have crashed? ● How to scale them up? MANAGING CONTAINERS IN ENTERPRISE
  • 55. Master(Control Plane) & Nodes(Container host)
  • 56. Apps and components run in containers Container Image Container Pod
  • 57. OPENSHIFT Services connect application components ● Virtual IP load balancing and discovery ● Defines a group of Pods and how to access them ● Decouple providers and accessors of services ● Don’t depend on Pod IPs directly ● Use a single IP that doesn’t change ● Service Proxy POD SERVICE POD 10.0.1.1 10.0.1.2 CLIENT Name: amq IP: 170.30.10.10
  • 58. Routing layer for external accessibility POD SERVICE PODPOD SERVICE POD ROUTE CLIENT CLIENTCLIENT
  • 59. OPENSHIFT FAILURE RECOVERY POD SERVICE PODPOD SERVICE POD ROUTE POD Rebalance traffics Redirect request to available Pods Replace failing pod Starts another pod and bind to serviceHealth Checks periodically performs diagnostics on a running container.
  • 60. OPENSHIFT TECHNICAL OVERVIEW60 DEPLOY SOURCE CODE WITH SOURCE-TO-IMAGE (S2I) Git Repository BUILD APP Developer code Source-to-Image(S2I) Builder Image Image Registry BUILD IMAGE DEPLOY deployApplication Container Dockerfile Binary
  • 62. OPENSHIFT TECHNICAL OVERVIEW INTEGRATED IMAGE REGISTRY OPENSHIFT CLUSTER 62 CONTINUOUS DELIVERY PIPELINE DEVELOPER GIT SERVER ARTIFACT REPOSITORY OPENSHIFT CI/CD PIPELINE (JENKINS) IMAGE BUILD & DEPLOY INTEGRATED IMAGE REGISTRY OPENSHIFT CLUSTER GO LIVE? PROMOTE TO TEST PROMOTE TO UAT PROMOTE TO PROD RELEASE MANAGER NON-PROD PRODDEV TEST UAT ☒ ☑
  • 63. OPENSHIFT ● Reducing downtime and risk associated with release ● Two identical environments in containing two different releases (Blue and Green) ● After validating new release, can switch all traffic to new version ● Quickly roll application back if you find issues BLUE-GREEN DEPLOYMENT router
  • 64. OPENSHIFT TECHNICAL OVERVIEW64 Split Traffic: Canary Deployments SERVICE A App A App A SERVICE B App B App B ROUTE 10% traffic90% traffic Split Traffic Between Multiple Services For A/B Testing, Blue/Green and Canary Deployments
  • 65. OPENSHIFT TECHNICAL OVERVIEW CENTRAL LOG MANAGEMENT WITH EFK APPLICATION LOGS OPERATION LOGS ELASTIC ELASTIC 65 RHEL NODE POD POD PODPOD FLUENTD RHEL NODE POD POD PODPOD FLUENTD ELASTICSEARCH RHEL NODE POD POD PODPOD FLUENTD USER ELASTIC ELASTIC KIBANA ELASTIC ELASTIC ELASTICSEARCH ELASTIC ELASTIC KIBANA ADMIN
  • 69. Take Control of Your APIs Creating & Exposing APIs is just the start Security & Authentication Version Control Documentation Policies Access Control Monitoring Lifecycle Management Provisioning Alerts Metering & Billing Testing Portal Scalability Reliability
  • 70. API Life-cycle The API Lifecycle Management Approach DEFINE: Identify the API services that deliver value to the business layer DEVELOP: Design, code, test, document standardize templates PUBLISH: Run security with defined policies and controls SUPPORT: Offer community, forums, documentation to interact and collaborate RETIRE: EOL, un-publish, communicate and remove from market place following version control best practice
  • 71. 3scale API Management RBDMS SAP NoSQL WS REST JMS + more FUSE INTEGRATION SERVICE JBoss Fuse Service API JBoss Fuse Service API JBoss Fuse Service API Developers Partners Mobile App Affiliates Internal Projects + more API MANAGEMENT Access control and security API contracts and rate limits Analytics and reporting Developer portal and docs Billing and payments
  • 73. Red Hat 3Scale Distributed Architecture Developer Apps Branded Developer Portal Real time Admin Console Mobile Apps API Gateway … Load Balancer Swagger Doc Node # 1 Node # 2 Node # N API Manager API Gateway API Backend Your API Back-end
  • 74. 3Scale API Management Stack Access control Security API contracts Rate limits Analytics Reporting Dev portal Docs Billing Payments Admin Console Dev Portal API Management Traffic Manager APIs Applications Consumers HTTP / HTTPS Security, usage & rate limits
  • 75. The 3scale API Management solution provides out-of-the-box three authentication mechanisms : • API Key • API Key Pair (ID + Secret) • OAuth 2.0 / OpenID Connect In addition, custom mechanisms can be implemented in the 3scale gateway Authentication Mechanism API SECURITY 75
  • 76. 76 Application plans allow you to set rate limits for API usage and control traffic flow for groups of developers. Set per-period limits for incoming API calls to protect your infrastructure and keep traffic flowing smoothly. Automatically trigger overage alerts for applications that reach or exceed rate limits, and define behavior for over-limit applications. API contracts & limits API MANAGEMENT FEATURES
  • 77. 77 3scale API Analytics module lets you analyze your API traffic by account, application or service and much more : • Define and present tailored metrics • Drill down up to the API Method level • Implement business metrics • Export data in CSV format Analytics API MANAGEMENT FEATURES
  • 78. Ensure the success of your APIs by providing an amazing developer experience. The 3scale API Developer Portal provides : • Developer Onboarding • Application & API Keys creation • Usage tracking • Interactive API Documentation • EULA Management • Fully customizable CMS Highly Customizable API DEVELOPER PORTAL
  • 79. 79 The 3scale API Management solution lets you implement monetization by providing : • One-stop-shop for Monetization • Customizable billing metrics : • Setup fees (one-time) • Recurring fees (per-month) • Per usage fees (per-call) • PCI-DSS compliant platform Monetization & Payments API MANAGEMENT FEATURES
  • 81. SaaS Hosted API manager on 3scale scalable AWS platform with built-in redundancy, High-availability and SLA Openshift Openshift API manager - API Management Platform (AMP) 2.x, provides an OpenShift template to deploy AMP onto OpenShift Container Platform (OCP) API Manager Deployment Options
  • 82. Native apicast-gateway code from upstream repo running on: Openresty (NGINX + LUA) for Red Hat Enterprise Linux Docker apicast-gateway Docker Image from Red Hat Registry Openshift Openshift API Gateway Template (which will pull in apicast-gateway Docker Image) Inside or Outside the same API manager Cluster Self-managed API Gateway Deployment Options
  • 84. 3Scale API Management Components - Flexible Distributed Control Developers Sync / Authorize Mobile Apps Developer Apps Real Time Admin Portal Branded Developer Portal Swagger Doc API Provider Administrators API ProvidersAPI GatewayAPI Consumers API Manager
  • 85. Deployment Options Hybrid: Hosted Manager - Self-managed Gateway Real Time Admin Portal Sync / Authorize API Provider API Gateway API Manager API Provider Administrators Mobile Apps Developer Apps Branded Dev PortalSwagger Doc Developers API Consumers
  • 86. Deployment Options Full On-Premise Real Time Admin Portal Sync / Authorize API Provider API Gateway (Openshift) API Manager API Provider Administrators Mobile Apps Developer Apps Branded Dev PortalSwagger Doc API Consumers Developers
  • 87. Deployment Options On-premise: Self-managed APIs Real Time Admin Portal Sync / Authorize API Provider API Gateway (Openshift) API Manager API Provider Administrators Mobile Apps Developer Apps Branded Dev PortalSwagger Doc API Consumers Developers
  • 88. Deployment Options On-premise: Self-managed APIs & External Self-managed Gateway Real Time Admin Portal Sync / Authorize API Provider API Gateway (Native/Docker) API Manager API Provider Administrators Mobile Apps Developer Apps Branded Dev PortalSwagger Doc API Consumers Developers
  • 91. 91 Gartner Magic Quadrant Full API Lifecycle Management (2016)
  • 93. AGILE INTEGRATION Cloud native solutions Lean artifacts, individually deployable Container based scaling and high availability ● Lightweight ● Pattern Based ● Reusable Connectors ● Microservice Based ● Cloud native solutions ● Lean artifacts, individually deployable ● Container based scaling and high availability ● Well defined, re-usable, and well managed end-points ● Ecosystem leverage Flexibility Scalability Re-Usability Distributed Integration Container API