SlideShare una empresa de Scribd logo
1 de 65
Descargar para leer sin conexión
GENERAL DISTRIBUTION
Camel On Cloud
Christina Lin
RH Technology Evangelist
RED HAT CONSULTING2
TIME TABLE
18:30-19:15
CAMEL ON CLOUD
19:15 - 19: 30
BREAK
19:30 - 20: 00
SYNDESIS INTRO
20:00 - 20:30
IDEA BRAINSTORMING
ONE Minute
Each
20:30-21:00
IDEA JUDGE
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.
Integration
Integration
6
THREE PILLARS OF AGILE INTEGRATION
Key foundational capabilities needed by today’s enterprises
DISTRIBUTED
INTEGRATION
❏ Lightweight
❏ Pattern Based
❏ Event Oriented
❏ Community Sourced
MICROSERVICES
CONTAINERS
❏ Cloud Native Solutions
❏ Lean Artifacts
❏ Individually Deployable
❏ Container Based Scaling
and High Availability
APIs
❏ Well Defned
❏ Reusable
❏ Well Managed
End-points
❏ Ecosystem Leverage
FLEXIBILITY SCALABILITY RE-USABILITY
AGILE INTEGRATION ARCHITECTURE
Core Layer
External Applications
Network Gateway Layer
Containers
ContainerOrchestration(OpenShift)
7
Composite
Layer Service Interactions
Cloud Native
App (Runtime 1)
Enterprise Integration Patterns
Business Rules
Anti
Corruption
Layer
Containerized App
(Lift and Shift EAP)
SecurityServices(RHSSO)
DataServices(DataGrid)
Traditional
App (EAP)
VMs
APIManagement(3scale)
Policies Access Control Proxy Routing
Service Composition Events Mesh
DevOps Automation / Continuous Integration / Continuous Delivery (Ansible)
CONTAINERIZED. CLOUD DEPLOYMENT.
CAMEL IN A NUTSHELL
CHOOSE RUNTIME
DEFINE INTEGRATION
LOGIC
FROM ?
TO ?
ROUTE ?
TRANSFORM ?
API ?
● Leverage Agile Integration to
build new services
● And to integrate with existing
services and data
● Integration can be a key platform
for all app dev projects
● As well as migrations from
existing ESB vendors
Connect - Mediate - Transform: Data, Services and Information
INSERT DESIGNATOR, IF NEEDED9
WHAT IS APACHE CAMEL?
Split
orders
Send
each order
to it’s
process service
Electronics
Others
Customer
Purchase
from("fle: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 NEEDED10
PATTERN BASED
Split
orders
Send
each order
to it’s
process service
Electronics
Others
Aggregat
or
Normaliz
er
Content Enricher
Resequencer
INSERT DESIGNATOR, IF NEEDED11
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 fle irc jt/400
INSERT DESIGNATOR, IF NEEDED12
160+ ENDPOINT COMPONENTS
Kafka propertee eeda stream
ldap quartz eervlet etring-template
mail/imap/pop3 quickfi eip teet
mina ref emooke tmer
mock reetlet empp validaton
mev rmi enmp velocity
nagioe rnc epring-integraton vm
nety rng epring-eecurity impp
nmr ree epring-we iquery
printer ecalate eql xslt
REST DSL
<camelContext xmlns="http://camel.apache.org/schema/spring">
<rest path="/say">
<get uri="/hello">
<to uri="direct:hello"/>
</get>
<get uri="/bye" consumes="application/json">
<to uri="direct:bye"/>
</get>
<post uri="/bye">
<to uri="mock:update"/>
</post>
</rest>
<route>
<from uri="direct:hello"/> …
</route>
<route>
<from uri="direct:bye"> …
</route>
</camelContext>
Verb
defining
http
method
Basepath
The service
path
Uri template
The service
method and
parameters
Consumes
Accept data
format setting
CAMEL ON DIET
RUNNING CAMEL
Spring Boot Apache Karaf (OSGi)
Spring DSL/Java
Spring Boot Starter
module
Fat JARs
Stand-alone App
Embedded dependency
Pre-confgured, pre-
sugared
Small and lightweight
Blueprint DSL/Java
Blueprint module
Bundles
Modularized
Explicit dependency
Versioned
Hot redeploy
● Granularity
● Security
Microservice Composition
DISTRIBUTED INTEGRATION
Container Container Container
Container Container Container
Container
DISCOVER
SERVICES XA
TRANSACTION
TRANSACTION
RECOVERY
API
TRANSACTION
(SAGA)
METRICS
LOGS
XA TRANSACTION
Container
<dependency>
<groupId>me.snowdrop</groupId>
<artifactId>narayana-spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>me.snowdrop</groupId>
<artifactId>narayana-spring-boot-recovery-controller</artifactId>
</dependency>
Or
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jta-narayana</artifactId>
</dependency>
PersistentVolumeClaim
StatefulSet
CLUSTER RECOVERY DATA
app-0
Container
- name: CLUSTER_RECOVERY_ENABLED
value: true
- name: CLUSTER_NODENAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
image: 'rhte-creditcard:latest'
- mountPath: /var/transaction/data
name: @project.artifactId@-data
- name: CLUSTER_BASE_DIR
value: /var/transaction/data
# Cluster (options replaced by Openshift env variables)
cluster.name=@project.artifactId@
cluster.nodename=${cluster.name}-0
cluster.base-dir=./target/tx
# Recovery is enabled only inside Openshift
cluster.recovery.enabled=false
# Transaction data
spring.jta.transaction-manager-id=${cluster.nodename}
spring.jta.log-dir=${cluster.base-dir}/store/${cluster.nodename}
# Transaction recovery settings
snowdrop.narayana.openshift.recovery.enabled=${cluster.recovery.enabled}
snowdrop.narayana.openshift.recovery.current-pod-name=${cluster.nodename}
snowdrop.narayana.openshift.recovery.statefulset=${cluster.name}
snowdrop.narayana.openshift.recovery.status-dir=${cluster.base-dir}/status
leader
app-1
Container
app-2
Container
SAGA PATTERN
Service One Service Two Service Three Service Four
compensation compensation compensationcompensation
SAGA PATTERN
Booking
Payment
Hotel
Flight
LRA
camel:
service:
lra:
enabled: true
coordinator-url: http://lra-coordinator.rhte.svc:46000
local-participant-url: http://${project.artifactId}:8080/api
.saga()
.propagation(SagaPropagation.MANDATORY)
.compensation("direct:cancelBooking")
.to("sql:INSERT INTO FLIGHT (custid, traveldatestart, traveldateend ) VALUES (:#id, :#traveldatestart,
:#traveldateend)?dataSource=dataSource")
.toD("http4://rhte-creditcard.rhte.svc:8080/credircard/pay/${header.id}/${header.payamt}?bridgeEndpoint=true")
.saga()
.setHeader(Exchange.HTTP_METHOD, constant("POST"))
.toD("http4://rhte-flight.rhte.svc:8080/api/book?bridgeEndpoint=true")
.toD("http4://rhte-hotel.rhte.svc:8080/api/book?bridgeEndpoint=true")
compensation
compensation
FROM GROUND TO CLOUD
source-to-image (s2i) deployments
Build
POD
GIT
repository
Developer
pull code
push image
FABRIC8 PLUGIN
Developer
push image
Build
POD
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>fabric8-maven-plugin</artifactId>
<version>${fabric8-maven-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>resource</goal>
<goal>build</goal>
</goals>
</execution>
</executions>
</plugin>
mvn fabric8:deploy
CONFIGURATION INJECTION
Mounted Volume
<dependency>
<groupId>io.fabric8</groupId>
<artifactId>spring-cloud-kubernetes-core</artifactId>
<version>0.1.6</version>
</dependency>
POD
POD
Confgmap
Application
Application.properties
Application
Application.properties
OPENSHIFT
PIPELINE
OpenShift
Jekins
Image
Repositor
y
Git
Pods
Build
Deplo
y
Webhoo
k
Git push
Pipeline
starts
Build
application
image
Running
application
container in
diferent
environment
OPENSHIFT
PIPELINE
node('maven') {
stage('build') {
openshiftBuild(buildConfg: 'buildconfgname', showBuildLogs: 'true')
}
stage('staging') {
openshiftDeploy(deploymentConfg: 'deploymentconfgame')
}
….
}
THANK YOU
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVide
os
facebook.com/redhatinc
twitter.com/RedHatNews
27
IS MY ORGANIZATION DOING INTEGRATION?
POINT-TO-POINT (P2P)
SERVICE BUS
BUSINESS-TO-BUSINESS
DIY INTEGRATION
LEGACY INTEGRATION
MICROSERVICES
API-FOCUSED
AUTOMATION
CLOUD-NATIVE
SELF-SERVICE
29
TWO DIMENSIONS OF DISTRIBUTED INTEGRATION
DISTRIBUTED
INTEGRATION
FLEXIBILITY
WHERE INTEGRATION IS USED
Integration at the center or the edge of
your enterprise architecture.
WHO PERFORMS INTEGRATION
Unlocking integration capability for new
categories of integrators.
Fuse Standalone Fuse on OpenShift Fuse Online (iPaaS)
● Developer-focused
● Integration where you
need it
● “Classic” integration
THE NEXT GENERATION OF RED HAT FUSE
Aligned product components of Fuse 7.x
● Developer-focused
● Microservices ready
● Scale out / Container
● “Cloud native”
integration
● Ignite : Low-code UI/UX
● 100% cloud-based
● Integration through a
browser
● “Ad Hoc” Integration
OS
JVM
Narayana Undertow
AMQ CXF
Camel
Karaf
OS
JVM
Narayana Undertow
AMQ CXF
Camel
EAP
OS
JVM
Narayana Undertow
AMQ CXF
Camel
Spring BootIgnite
Fuse Online
RED HAT FUSE
Hawtio
Distributed, Cloud-native integration platform
INSERT DESIGNATOR, IF NEEDED32
Self-service Integration
Low code integration platform for everyone
Fuse Online
Integration
Connectors
Customizations
Self-service
Drag and drop integrations
Runtime debug and activity
trace
Built-in connectors
- AMQ
- Database
- Salesforce and
more...
Customize Connectors
- Highly customizable
connectors from
developers
API Client Service Setup
from Swagger Documents
Customize Connectors,
code, component injections
Ease of Use
Drag and drop, plus simple confgurations
Design
Confg
Run
Design your
integration quickly on
the fy for
continuously
Innovative solutions.
Less.development
time, quick POC and
faster blueprint???!!
Built-in connectors
for major resources.
Easy drag and drop
data format mapping.
Simple confguration
interface
Hybrid environment,
on the cloud or on
premise.
United and
standardized platform
for integration
solutions.
Enhance
collaboration
experience for both
business user and
Developers
Working with APIs
API centric integration.
API
Services
Providers
Fuse Online
Swagger
Documents
Cloud Native Integration
36
KEY SUCCESS FACTORS FOR CLOUD-NATIVE INTEGRATION
DEVELOPMENT
Ability to drive complete lifecycle from developer toolchain
Focus on code, not image building and resource defnition
End-to-end automation supporting continuous delivery
MANAGEMENT
Centralized management and monitoring
Manual and automated management through API, CLI, UI
Domain-specifc introspection into container runtime
SECURITY
Images require secure stack from top to bottom
Scaling analysis and remediation of security vulnerabilities
Container image provenance and transparency
OPERATIONS
Normalizing operations across workloads
Availability, scalability, and resiliency
Leveraging advanced deployment options
Enabled by using Fuse on OpenShift
Tools for success
Development
● Full lifecycle IDE
support
● Built-in
Connector/Transformat
ion/EIP
● Intuitive API creation
● Easy-to-use Toolings
● Quickstart templates
● Built-in CI/CD
capability
● Immutable
software image
builds
● Lightweight,
optimized for
microservices
CORE FUSE
FUSE STANDALONE
OS
JVM
EAP Spring Boot Karaf
Narayana Undertow AMQ CXF
Camel
DevStudio
Hawtio
NOTABLE COMPONENTS
● Camel 2.21
● Karaf 4.2
● Spring Boot 1.5.x
● EAP 7.1
● Narayana (aligned to EAP 7.1)
● Undertow (aligned to EAP 7.1)
● AMQ 6.3 and 7.0 certifcation
● CXF 3.1 (aligned to EAP 7.1)
● HawtIO 2
● Java 8
● camel-asn1
● camel-atomix
● camel-azure
● camel-caffeine
● camel-couchbase
● camel-crypto-cms
● camel-digitalocean
● camel-drill
● camel-elasticsearch5
● camel-google-bigquery
● camel-google-pubsub
● camel-reactor
● camel-rest-swagger
● camel-sjms2
● camel-spring-cloud
● camel-spring-cloud-netfix
● camel-thrift
● camel-tika
● camel-twilio
● camel-zendesk
● camel-zookeeper-master
● camel-yql
● camel-aws
● camel-elasticsearch-rest
● camel-xhcange
● camel-wordpres
● camel-grpc
● camel-headersmap
● camel-iec60870
● camel-json-fastjson
● camel-milo
● camel-mongodb3
● camel-olingo4
● camel-openstack
● camel-opentracing
● camel-pubnub
● camel-reactive-streams
NEW CAMEL COMPONENTS
MANAGEMENT
● HawtIO V2
● More consistent UI
Look with the rest
Of Red Hat
products
Karaf
Benefts of FUSE on OpenShift
Development
● Full lifecycle IDE support : create, test, build, deploy
● Quickstart templates for common integration scenarios allows
developers new to the platform to get up and running quickly.
● App packaging optimized for containerized environment ideal for
microservices architecture.
● Container builds integrated into development toolchain with options
to build from source or binary, aligning with current tools and
development workfow in use today.
● Tap into the power of the platform with easy-to-use extensions such
as injection of dynamic confguration values.
● Automated build triggers and pipeline support give users a
continuous integration and deployment environment out-of-the-box.
● Developers can focus on writing code and providing value to the
business rather than worrying about creating docker based images
and docker confguration fles for each application they create.
Management
● Insight into integration workload using centralized monitoring of integration activities based on ElasticSearch
and Kibana.
● Manual or automated administration of the runtime environment is a breeze leveraging administrative CLI,
API, and UI.
● Integration-specifc management, monitoring and debugging puts users in complete control of their
integration workloads running inside a container.
Operations
● Build on an environment that can seamlessly scale from 1s to 100s of integration containers using point-and-
click UI or automatable management controls.
● Virtualize integration services to provide location independence and automatic failover.
● Platform that automatically detects and recovers failed integration containers.
● Take advantage of advanced deployment options built into the platform such as rolling upgrade, canary, and
blue-green deployments.
Security
● Integration containers are built on the most secure container runtime on the planet based on RHEL.
● Services are independent and isolated, providing complete separation of integration execution.
● Network isolation provides additional security by restricting service visibility based on user-defned
partitions.
● Confdential storage of protected information such as passwords and keys.
● Red Hat scans and reports on container security via Red Hat Container Catalog. Freshness scores are public,
providing peace of mind. Red Hat patches security issues at the OS, JVM, and middleware level.Flexibility
● Runtime built on best-of-breed open source technologies
(Kubernetes, Linux Containers) provides an open, fexible foundation
for all service development.
● Container-native toolchain and ability to containerize existing
workloads (lift and shift) provide ideal platform for greenfeld,
brownfeld, and transitional workloads.
● Container-native, integrated middleware portfolio allows developers
to choose the right tool for the job on a single platform.
● Polyglot environment gives teams the fexibility to implement
services using the language of their choice.
https://docs.google.com/document/d/18g4nmGJpV2aU8Ve0das04Hy_ZV2by9rs10k6wGOa_V4/edit
CHANGES FOR USERS
● No More Fabric v1
● Major upgrade: from Karaf 2.4 to 4.2.x
● Most Karaf Shell commands renamed
● Extensive JMX MBean Changes
● Base bundles have changed
○ User defned features may need updating to pick up right
bundles.
○ Recompile needed to pick up new versions of imported
packages
NEW FEATURES
● OSGi R6 support (vs OSGi r5 in Karaf 2.4.x)
● Requires Java 8
● More lightweight: Blueprint not needed
● Maven plugin to generate minimal Karaf servers.
● Shell improvements
● Undertow web provider
● Narayana TX Manager
● log4j, log4j2, and logback supported
● Typed confg fles
NO EMBEDDED AMQ BROKER
● No AMQ Broker == Lighterweight Karaf Server
● Faster startup
● Easier to troubleshoot AMQ issues
● Blueprint used to confgure connection factories
IMPLEMENTATION RECOMMENDATIONS
● Dependency Injection
● Camel XML DSL Support
● More dynamic service
injection model
● Can lead to service timeouts
● Faster startup
● Camel Java DSL
● Better for Pure OSGi fans
● More static service injection
modals
SCRBLUEPRINT
Undertow
● Undertow is the default web container
● Jetty only supported as an HTTP client
● Does not affect:
○ Simple Wars
○ Servlets
● Affects
○ Customized jetty xml confgurations
○ Bundles using Jetty specifc APIs like some of their WebSocket
apis.
Narayana
● New TX manager abstraction layer
● Existing JMS/JDBC connection factories need to be reconfgured.
EAP
NEW FEATURES
● Feature Parity
● 200+ Camel components supported
● More quickstarts
UNDERTOW/CXF CONSUMERS
● Added support for the native EAP undertow server on consumer
endpoints for:
○ camel-undertow
○ camel-cxf
● Fuse EAP 6.x fat WAR workaround:.
○ Should switch to 'skinny' WAR deployments
CAMEL COMPONENTS
● Feature parity with other platforms
● 200+ camel components now supported.
camel-ahc
camel-ahc-ws
camel-amqp
camel-avro
camel-avro
camel-barcode
camel-base64
camel-tarfile
camel-beanio
camel-box
camel-coap
camel-couchdb
camel-dns
camel-dropbox
camel-elsql
camel-exec
camel-facebook
camel-freemarker
camel-git
camel-github
camel-infinispan
camel-irc
camel-jacksonxml
camel-jbpm
camel-jcache
camel-jdbc
camel-kubernetes
camel-linkedin
camel-metrics
camel-mllp
camel-mongodb
camel-mybatis
camel-nats
camel-olingo2
camel-optaplanner
camel-paho
camel-pdf
camel-rabbitmq
camel-sap-netweaver
camel-schematron
camel-servicenow
camel-sjms
camel-smpp
camel-snmp
camel-splunk
camel-spring-batch
camel-spring-integration
camel-spring-ldap
camel-spring-redis
camel-ssh
camel-stax
camel-syslog
camel-bean-validator
camel-twitter
camel-undertow
camel-vertx
IMPLEMENTATION RECOMMENDATIONS
● For JavaEE Developers
● Camel Java DSL
● IDE Tooling Support
● Spring Shops
SPRING XMLCDI
MIGRATING TO FUSE 7 EAP
● Apps typically do not need a recompile
● Users need to follow the EAP 7.1 migration guide
● CXF workarounds should be removed
● wildfy-maven-plugin : port 9999 -> 9990
● BOM updates recommended
Spring Boot
● Custom fat jar layouts
● Secured endpoints
● API to expose JMX endpoints
● Support for transaction manager confguration
● Camel health checks exposed to actuator
● Camel Component Customizers
SPRING BOOT 1.5 / CAMEL
STANDALONE
● Actually Supported in 6.3 but not promoted.
● Existing Examples just needs:
○ -Dfabric8.skip
○ Runnable jar is in target dir
MANAGEMENT
● HAWTIO V2 / Jolokia
● JMX and Actuator.
● https://github.com/hawtio/hawtio/tree/2.x/examples/springboot
MANAGEMENT
SUPPORTED SPRING BOOT COMPONENTS
● Spring Boot Web (Undertow)
● Actuator
● JTA/Narayana starter
● AMQ starter
● JDBC starter
● Security + Keycloak
● Camel Component Starters: https://goo.gl/CLiJ8x
UNDERTOW
● Undertow is our recommended Web Container
● Just a dependency change is need in the POM
● No Application changes should be needed
● Tomcat/JWS support is being sorted out
CONFIGURATION MANAGEMENT
● Standard SB
○ System Properties
○ Environment Variables
○ application.properties
● spring-cloud-kubernetes
○ Mapping confgmaps
○ Secrets
○ Auto-reload
SECURITY
● KeyCloak is Integration with Spring Security:
https://goo.gl/DesZmg
● Use camel-servlet with spring-web
IMPLEMENTATION RECOMMENDATIONS
● Spring Boot
Developers
● More fexible and re-
usable EIP
development.
● IDE Tooling Support
● Older Spring Shops
XML DSLJava DSL
Read more: http://goo.gl/F9TUJ3

Más contenido relacionado

La actualidad más candente

DCSF 19 Deploying Rootless buildkit on Kubernetes
DCSF 19 Deploying Rootless buildkit on KubernetesDCSF 19 Deploying Rootless buildkit on Kubernetes
DCSF 19 Deploying Rootless buildkit on KubernetesDocker, Inc.
 
Let's talk about Failures with Kubernetes - Hamburg Meetup
Let's talk about Failures with Kubernetes - Hamburg MeetupLet's talk about Failures with Kubernetes - Hamburg Meetup
Let's talk about Failures with Kubernetes - Hamburg MeetupHenning Jacobs
 
Kubernetes Failure Stories - KubeCon Europe Barcelona
Kubernetes Failure Stories - KubeCon Europe BarcelonaKubernetes Failure Stories - KubeCon Europe Barcelona
Kubernetes Failure Stories - KubeCon Europe BarcelonaHenning Jacobs
 
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...Henning Jacobs
 
Setting up and open fidy dev environment
Setting up and open fidy dev environmentSetting up and open fidy dev environment
Setting up and open fidy dev environmentianibbo
 
Securing Containers, One Patch at a Time - Michael Crosby, Docker
Securing Containers, One Patch at a Time - Michael Crosby, DockerSecuring Containers, One Patch at a Time - Michael Crosby, Docker
Securing Containers, One Patch at a Time - Michael Crosby, DockerDocker, Inc.
 
Cloud Foundry Summit 2015 - Cloud Foundry on Azure
Cloud Foundry Summit 2015 - Cloud Foundry on AzureCloud Foundry Summit 2015 - Cloud Foundry on Azure
Cloud Foundry Summit 2015 - Cloud Foundry on AzurePatrick Chanezon
 
Docker Warsaw Meetup 12/2017 - DockerCon 2017 Recap
Docker Warsaw Meetup 12/2017 - DockerCon 2017 RecapDocker Warsaw Meetup 12/2017 - DockerCon 2017 Recap
Docker Warsaw Meetup 12/2017 - DockerCon 2017 RecapKrzysztof Sobczak
 
Docker Devoxx UK - Never mind the bollocks here's the Linux Containers
Docker Devoxx UK - Never mind the bollocks here's the Linux ContainersDocker Devoxx UK - Never mind the bollocks here's the Linux Containers
Docker Devoxx UK - Never mind the bollocks here's the Linux ContainersPatrick Chanezon
 
Meetup - Principles of the kube api and how to extend it
Meetup - Principles of the kube api and how to extend itMeetup - Principles of the kube api and how to extend it
Meetup - Principles of the kube api and how to extend itStefan Schimanski
 
An Introduction to the Kubernetes API
An Introduction to the Kubernetes APIAn Introduction to the Kubernetes API
An Introduction to the Kubernetes APIStefan Schimanski
 
Cloud FoundryではじめるPaaSアプリケーション 開発入門講座
Cloud FoundryではじめるPaaSアプリケーション 開発入門講座 Cloud FoundryではじめるPaaSアプリケーション 開発入門講座
Cloud FoundryではじめるPaaSアプリケーション 開発入門講座 Toshihiko Ikeda
 
猿でもわかるコンテナ・オーケストレーション
猿でもわかるコンテナ・オーケストレーション猿でもわかるコンテナ・オーケストレーション
猿でもわかるコンテナ・オーケストレーションTsuyoshi Miyake
 
第一回Cloudfoundry輪読会資料
第一回Cloudfoundry輪読会資料第一回Cloudfoundry輪読会資料
第一回Cloudfoundry輪読会資料Toshihiko Ikeda
 
Using docker to develop NAS applications
Using docker to develop NAS applicationsUsing docker to develop NAS applications
Using docker to develop NAS applicationsTerry Chen
 
DCSF19 Dockerfile Best Practices
DCSF19 Dockerfile Best PracticesDCSF19 Dockerfile Best Practices
DCSF19 Dockerfile Best PracticesDocker, Inc.
 
Testing Distributed Micro Services. Agile Testing Days 2017
Testing Distributed Micro Services. Agile Testing Days 2017Testing Distributed Micro Services. Agile Testing Days 2017
Testing Distributed Micro Services. Agile Testing Days 2017Carlos Sanchez
 
DCEU 18: Dockerfile Best Practices
DCEU 18: Dockerfile Best PracticesDCEU 18: Dockerfile Best Practices
DCEU 18: Dockerfile Best PracticesDocker, Inc.
 
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Puppet
 
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Puppet
 

La actualidad más candente (20)

DCSF 19 Deploying Rootless buildkit on Kubernetes
DCSF 19 Deploying Rootless buildkit on KubernetesDCSF 19 Deploying Rootless buildkit on Kubernetes
DCSF 19 Deploying Rootless buildkit on Kubernetes
 
Let's talk about Failures with Kubernetes - Hamburg Meetup
Let's talk about Failures with Kubernetes - Hamburg MeetupLet's talk about Failures with Kubernetes - Hamburg Meetup
Let's talk about Failures with Kubernetes - Hamburg Meetup
 
Kubernetes Failure Stories - KubeCon Europe Barcelona
Kubernetes Failure Stories - KubeCon Europe BarcelonaKubernetes Failure Stories - KubeCon Europe Barcelona
Kubernetes Failure Stories - KubeCon Europe Barcelona
 
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
Running Kubernetes in Production: A Million Ways to Crash Your Cluster - DevO...
 
Setting up and open fidy dev environment
Setting up and open fidy dev environmentSetting up and open fidy dev environment
Setting up and open fidy dev environment
 
Securing Containers, One Patch at a Time - Michael Crosby, Docker
Securing Containers, One Patch at a Time - Michael Crosby, DockerSecuring Containers, One Patch at a Time - Michael Crosby, Docker
Securing Containers, One Patch at a Time - Michael Crosby, Docker
 
Cloud Foundry Summit 2015 - Cloud Foundry on Azure
Cloud Foundry Summit 2015 - Cloud Foundry on AzureCloud Foundry Summit 2015 - Cloud Foundry on Azure
Cloud Foundry Summit 2015 - Cloud Foundry on Azure
 
Docker Warsaw Meetup 12/2017 - DockerCon 2017 Recap
Docker Warsaw Meetup 12/2017 - DockerCon 2017 RecapDocker Warsaw Meetup 12/2017 - DockerCon 2017 Recap
Docker Warsaw Meetup 12/2017 - DockerCon 2017 Recap
 
Docker Devoxx UK - Never mind the bollocks here's the Linux Containers
Docker Devoxx UK - Never mind the bollocks here's the Linux ContainersDocker Devoxx UK - Never mind the bollocks here's the Linux Containers
Docker Devoxx UK - Never mind the bollocks here's the Linux Containers
 
Meetup - Principles of the kube api and how to extend it
Meetup - Principles of the kube api and how to extend itMeetup - Principles of the kube api and how to extend it
Meetup - Principles of the kube api and how to extend it
 
An Introduction to the Kubernetes API
An Introduction to the Kubernetes APIAn Introduction to the Kubernetes API
An Introduction to the Kubernetes API
 
Cloud FoundryではじめるPaaSアプリケーション 開発入門講座
Cloud FoundryではじめるPaaSアプリケーション 開発入門講座 Cloud FoundryではじめるPaaSアプリケーション 開発入門講座
Cloud FoundryではじめるPaaSアプリケーション 開発入門講座
 
猿でもわかるコンテナ・オーケストレーション
猿でもわかるコンテナ・オーケストレーション猿でもわかるコンテナ・オーケストレーション
猿でもわかるコンテナ・オーケストレーション
 
第一回Cloudfoundry輪読会資料
第一回Cloudfoundry輪読会資料第一回Cloudfoundry輪読会資料
第一回Cloudfoundry輪読会資料
 
Using docker to develop NAS applications
Using docker to develop NAS applicationsUsing docker to develop NAS applications
Using docker to develop NAS applications
 
DCSF19 Dockerfile Best Practices
DCSF19 Dockerfile Best PracticesDCSF19 Dockerfile Best Practices
DCSF19 Dockerfile Best Practices
 
Testing Distributed Micro Services. Agile Testing Days 2017
Testing Distributed Micro Services. Agile Testing Days 2017Testing Distributed Micro Services. Agile Testing Days 2017
Testing Distributed Micro Services. Agile Testing Days 2017
 
DCEU 18: Dockerfile Best Practices
DCEU 18: Dockerfile Best PracticesDCEU 18: Dockerfile Best Practices
DCEU 18: Dockerfile Best Practices
 
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
 
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
Building and Testing from Scratch a Puppet Environment with Docker - PuppetCo...
 

Similar a Camel on Cloud by Christina Lin

'DOCKER' & CLOUD: ENABLERS For DEVOPS
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPSACA IT-Solutions
 
Docker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITDocker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITStijn Wijndaele
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...Lightbend
 
Agile integration workshop Seattle
Agile integration workshop SeattleAgile integration workshop Seattle
Agile integration workshop SeattleJudy Breedlove
 
Red Hat Agile integration workshop - Atlanta
Red Hat Agile integration workshop - AtlantaRed Hat Agile integration workshop - Atlanta
Red Hat Agile integration workshop - AtlantaJudy Breedlove
 
Agile integration workshop Atlanta
Agile integration workshop   AtlantaAgile integration workshop   Atlanta
Agile integration workshop AtlantaJeremy Davis
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your wayJohannes Brännström
 
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...Codemotion
 
Containers as a Service with Docker
Containers as a Service with DockerContainers as a Service with Docker
Containers as a Service with DockerDocker, Inc.
 
Docker Container As A Service - March 2016
Docker Container As A Service - March 2016Docker Container As A Service - March 2016
Docker Container As A Service - March 2016Patrick Chanezon
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Patrick Chanezon
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetesBen Hall
 
Spring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasSpring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasVMware Tanzu
 
GE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoTGE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoTKai Zhao
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesQAware GmbH
 
App Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloudApp Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloudJudy Breedlove
 
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)Chris Richardson
 
Docker Berlin Meetup June 2015: Docker powering Radical Agility @ Zalando Tech
Docker Berlin Meetup June 2015: Docker powering Radical Agility @ Zalando TechDocker Berlin Meetup June 2015: Docker powering Radical Agility @ Zalando Tech
Docker Berlin Meetup June 2015: Docker powering Radical Agility @ Zalando TechHenning Jacobs
 
F5 OpenShift Workshop
F5 OpenShift WorkshopF5 OpenShift Workshop
F5 OpenShift WorkshopTyler Hatton
 

Similar a Camel on Cloud by Christina Lin (20)

'DOCKER' & CLOUD: ENABLERS For DEVOPS
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPS
 
Docker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITDocker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-IT
 
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
How to build streaming data pipelines with Akka Streams, Flink, and Spark usi...
 
Agile integration workshop Seattle
Agile integration workshop SeattleAgile integration workshop Seattle
Agile integration workshop Seattle
 
Red Hat Agile integration workshop - Atlanta
Red Hat Agile integration workshop - AtlantaRed Hat Agile integration workshop - Atlanta
Red Hat Agile integration workshop - Atlanta
 
Agile integration workshop Atlanta
Agile integration workshop   AtlantaAgile integration workshop   Atlanta
Agile integration workshop Atlanta
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
 
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
 
Containers as a Service with Docker
Containers as a Service with DockerContainers as a Service with Docker
Containers as a Service with Docker
 
Docker Container As A Service - March 2016
Docker Container As A Service - March 2016Docker Container As A Service - March 2016
Docker Container As A Service - March 2016
 
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
Docker Azure Friday OSS March 2017 - Developing and deploying Java & Linux on...
 
Deploying windows containers with kubernetes
Deploying windows containers with kubernetesDeploying windows containers with kubernetes
Deploying windows containers with kubernetes
 
Spring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour DallasSpring and Pivotal Application Service - SpringOne Tour Dallas
Spring and Pivotal Application Service - SpringOne Tour Dallas
 
citus™ iot ecosystem
citus™ iot ecosystemcitus™ iot ecosystem
citus™ iot ecosystem
 
GE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoTGE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoT
 
Cloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit KubernetesCloud-native .NET Microservices mit Kubernetes
Cloud-native .NET Microservices mit Kubernetes
 
App Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloudApp Mod 01: Moving existing apps to the cloud
App Mod 01: Moving existing apps to the cloud
 
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
Deploying Spring Boot applications with Docker (east bay cloud meetup dec 2014)
 
Docker Berlin Meetup June 2015: Docker powering Radical Agility @ Zalando Tech
Docker Berlin Meetup June 2015: Docker powering Radical Agility @ Zalando TechDocker Berlin Meetup June 2015: Docker powering Radical Agility @ Zalando Tech
Docker Berlin Meetup June 2015: Docker powering Radical Agility @ Zalando Tech
 
F5 OpenShift Workshop
F5 OpenShift WorkshopF5 OpenShift Workshop
F5 OpenShift Workshop
 

Más de Tadayoshi Sato

Red Hat Tech Night 2019.5 - Camel 3 and Beyond...
Red Hat Tech Night 2019.5 - Camel 3 and Beyond...Red Hat Tech Night 2019.5 - Camel 3 and Beyond...
Red Hat Tech Night 2019.5 - Camel 3 and Beyond...Tadayoshi Sato
 
Red Hat Tech Night 2018 - Apache Camel
Red Hat Tech Night 2018 - Apache CamelRed Hat Tech Night 2018 - Apache Camel
Red Hat Tech Night 2018 - Apache CamelTadayoshi Sato
 
Red Hat の日本でできるグローバルな働き方
Red Hat の日本でできるグローバルな働き方Red Hat の日本でできるグローバルな働き方
Red Hat の日本でできるグローバルな働き方Tadayoshi Sato
 
JJBUG 2013 - SwitchYard
JJBUG 2013 - SwitchYardJJBUG 2013 - SwitchYard
JJBUG 2013 - SwitchYardTadayoshi Sato
 
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementationビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic ImplementationTadayoshi Sato
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計Tadayoshi Sato
 
"Problem Frame Patterns" 紹介
"Problem Frame Patterns" 紹介"Problem Frame Patterns" 紹介
"Problem Frame Patterns" 紹介Tadayoshi Sato
 
"Detecting Defects in Object Oriented Designs: Using Reading Techniques to In...
"Detecting Defects in Object Oriented Designs: Using Reading Techniques to In..."Detecting Defects in Object Oriented Designs: Using Reading Techniques to In...
"Detecting Defects in Object Oriented Designs: Using Reading Techniques to In...Tadayoshi Sato
 
"Documenting Frameworks using Patterns" 紹介
"Documenting Frameworks using Patterns" 紹介"Documenting Frameworks using Patterns" 紹介
"Documenting Frameworks using Patterns" 紹介Tadayoshi Sato
 
"Formalizing Architectural Connection" 紹介
"Formalizing Architectural Connection" 紹介"Formalizing Architectural Connection" 紹介
"Formalizing Architectural Connection" 紹介Tadayoshi Sato
 
"The Coming-of-Age of Software Architecture Research" 紹介
"The Coming-of-Age of Software Architecture Research" 紹介"The Coming-of-Age of Software Architecture Research" 紹介
"The Coming-of-Age of Software Architecture Research" 紹介Tadayoshi Sato
 

Más de Tadayoshi Sato (11)

Red Hat Tech Night 2019.5 - Camel 3 and Beyond...
Red Hat Tech Night 2019.5 - Camel 3 and Beyond...Red Hat Tech Night 2019.5 - Camel 3 and Beyond...
Red Hat Tech Night 2019.5 - Camel 3 and Beyond...
 
Red Hat Tech Night 2018 - Apache Camel
Red Hat Tech Night 2018 - Apache CamelRed Hat Tech Night 2018 - Apache Camel
Red Hat Tech Night 2018 - Apache Camel
 
Red Hat の日本でできるグローバルな働き方
Red Hat の日本でできるグローバルな働き方Red Hat の日本でできるグローバルな働き方
Red Hat の日本でできるグローバルな働き方
 
JJBUG 2013 - SwitchYard
JJBUG 2013 - SwitchYardJJBUG 2013 - SwitchYard
JJBUG 2013 - SwitchYard
 
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementationビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
ビジネスロジック実装進化論 - An Evolution of Business Logic Implementation
 
ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計ドメインロジックの実装方法とドメイン駆動設計
ドメインロジックの実装方法とドメイン駆動設計
 
"Problem Frame Patterns" 紹介
"Problem Frame Patterns" 紹介"Problem Frame Patterns" 紹介
"Problem Frame Patterns" 紹介
 
"Detecting Defects in Object Oriented Designs: Using Reading Techniques to In...
"Detecting Defects in Object Oriented Designs: Using Reading Techniques to In..."Detecting Defects in Object Oriented Designs: Using Reading Techniques to In...
"Detecting Defects in Object Oriented Designs: Using Reading Techniques to In...
 
"Documenting Frameworks using Patterns" 紹介
"Documenting Frameworks using Patterns" 紹介"Documenting Frameworks using Patterns" 紹介
"Documenting Frameworks using Patterns" 紹介
 
"Formalizing Architectural Connection" 紹介
"Formalizing Architectural Connection" 紹介"Formalizing Architectural Connection" 紹介
"Formalizing Architectural Connection" 紹介
 
"The Coming-of-Age of Software Architecture Research" 紹介
"The Coming-of-Age of Software Architecture Research" 紹介"The Coming-of-Age of Software Architecture Research" 紹介
"The Coming-of-Age of Software Architecture Research" 紹介
 

Último

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
 
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
 
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
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
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
 
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
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
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.
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
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
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 

Último (20)

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
 
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 ...
 
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
 
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
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
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
 
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
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
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 ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
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
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 

Camel on Cloud by Christina Lin

  • 1. GENERAL DISTRIBUTION Camel On Cloud Christina Lin RH Technology Evangelist
  • 2. RED HAT CONSULTING2 TIME TABLE 18:30-19:15 CAMEL ON CLOUD 19:15 - 19: 30 BREAK 19:30 - 20: 00 SYNDESIS INTRO 20:00 - 20:30 IDEA BRAINSTORMING ONE Minute Each 20:30-21:00 IDEA JUDGE
  • 3. 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. 6 THREE PILLARS OF AGILE INTEGRATION Key foundational capabilities needed by today’s enterprises DISTRIBUTED INTEGRATION ❏ Lightweight ❏ Pattern Based ❏ Event Oriented ❏ Community Sourced MICROSERVICES CONTAINERS ❏ Cloud Native Solutions ❏ Lean Artifacts ❏ Individually Deployable ❏ Container Based Scaling and High Availability APIs ❏ Well Defned ❏ Reusable ❏ Well Managed End-points ❏ Ecosystem Leverage FLEXIBILITY SCALABILITY RE-USABILITY
  • 7. AGILE INTEGRATION ARCHITECTURE Core Layer External Applications Network Gateway Layer Containers ContainerOrchestration(OpenShift) 7 Composite Layer Service Interactions Cloud Native App (Runtime 1) Enterprise Integration Patterns Business Rules Anti Corruption Layer Containerized App (Lift and Shift EAP) SecurityServices(RHSSO) DataServices(DataGrid) Traditional App (EAP) VMs APIManagement(3scale) Policies Access Control Proxy Routing Service Composition Events Mesh DevOps Automation / Continuous Integration / Continuous Delivery (Ansible)
  • 8. CONTAINERIZED. CLOUD DEPLOYMENT. CAMEL IN A NUTSHELL CHOOSE RUNTIME DEFINE INTEGRATION LOGIC FROM ? TO ? ROUTE ? TRANSFORM ? API ? ● Leverage Agile Integration to build new services ● And to integrate with existing services and data ● Integration can be a key platform for all app dev projects ● As well as migrations from existing ESB vendors Connect - Mediate - Transform: Data, Services and Information
  • 9. INSERT DESIGNATOR, IF NEEDED9 WHAT IS APACHE CAMEL? Split orders Send each order to it’s process service Electronics Others Customer Purchase from("fle:work/cbr/input") .split(xpath("//orders")) .choice() .when(xpath("/order:order/order:type = 'E'")) .to("activemq:queue:electronic/us") .otherwise() .recipientList(simple("http4://otherservice"));
  • 10. INSERT DESIGNATOR, IF NEEDED10 PATTERN BASED Split orders Send each order to it’s process service Electronics Others Aggregat or Normaliz er Content Enricher Resequencer
  • 11. INSERT DESIGNATOR, IF NEEDED11 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 fle irc jt/400
  • 12. INSERT DESIGNATOR, IF NEEDED12 160+ ENDPOINT COMPONENTS Kafka propertee eeda stream ldap quartz eervlet etring-template mail/imap/pop3 quickfi eip teet mina ref emooke tmer mock reetlet empp validaton mev rmi enmp velocity nagioe rnc epring-integraton vm nety rng epring-eecurity impp nmr ree epring-we iquery printer ecalate eql xslt
  • 13. REST DSL <camelContext xmlns="http://camel.apache.org/schema/spring"> <rest path="/say"> <get uri="/hello"> <to uri="direct:hello"/> </get> <get uri="/bye" consumes="application/json"> <to uri="direct:bye"/> </get> <post uri="/bye"> <to uri="mock:update"/> </post> </rest> <route> <from uri="direct:hello"/> … </route> <route> <from uri="direct:bye"> … </route> </camelContext> Verb defining http method Basepath The service path Uri template The service method and parameters Consumes Accept data format setting
  • 15. RUNNING CAMEL Spring Boot Apache Karaf (OSGi) Spring DSL/Java Spring Boot Starter module Fat JARs Stand-alone App Embedded dependency Pre-confgured, pre- sugared Small and lightweight Blueprint DSL/Java Blueprint module Bundles Modularized Explicit dependency Versioned Hot redeploy
  • 17. DISTRIBUTED INTEGRATION Container Container Container Container Container Container Container DISCOVER SERVICES XA TRANSACTION TRANSACTION RECOVERY API TRANSACTION (SAGA) METRICS LOGS
  • 18. XA TRANSACTION Container <dependency> <groupId>me.snowdrop</groupId> <artifactId>narayana-spring-boot-starter</artifactId> </dependency> <dependency> <groupId>me.snowdrop</groupId> <artifactId>narayana-spring-boot-recovery-controller</artifactId> </dependency> Or <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jta-narayana</artifactId> </dependency> PersistentVolumeClaim StatefulSet CLUSTER RECOVERY DATA app-0 Container - name: CLUSTER_RECOVERY_ENABLED value: true - name: CLUSTER_NODENAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name image: 'rhte-creditcard:latest' - mountPath: /var/transaction/data name: @project.artifactId@-data - name: CLUSTER_BASE_DIR value: /var/transaction/data # Cluster (options replaced by Openshift env variables) cluster.name=@project.artifactId@ cluster.nodename=${cluster.name}-0 cluster.base-dir=./target/tx # Recovery is enabled only inside Openshift cluster.recovery.enabled=false # Transaction data spring.jta.transaction-manager-id=${cluster.nodename} spring.jta.log-dir=${cluster.base-dir}/store/${cluster.nodename} # Transaction recovery settings snowdrop.narayana.openshift.recovery.enabled=${cluster.recovery.enabled} snowdrop.narayana.openshift.recovery.current-pod-name=${cluster.nodename} snowdrop.narayana.openshift.recovery.statefulset=${cluster.name} snowdrop.narayana.openshift.recovery.status-dir=${cluster.base-dir}/status leader app-1 Container app-2 Container
  • 19. SAGA PATTERN Service One Service Two Service Three Service Four compensation compensation compensationcompensation
  • 20. SAGA PATTERN Booking Payment Hotel Flight LRA camel: service: lra: enabled: true coordinator-url: http://lra-coordinator.rhte.svc:46000 local-participant-url: http://${project.artifactId}:8080/api .saga() .propagation(SagaPropagation.MANDATORY) .compensation("direct:cancelBooking") .to("sql:INSERT INTO FLIGHT (custid, traveldatestart, traveldateend ) VALUES (:#id, :#traveldatestart, :#traveldateend)?dataSource=dataSource") .toD("http4://rhte-creditcard.rhte.svc:8080/credircard/pay/${header.id}/${header.payamt}?bridgeEndpoint=true") .saga() .setHeader(Exchange.HTTP_METHOD, constant("POST")) .toD("http4://rhte-flight.rhte.svc:8080/api/book?bridgeEndpoint=true") .toD("http4://rhte-hotel.rhte.svc:8080/api/book?bridgeEndpoint=true") compensation compensation
  • 21. FROM GROUND TO CLOUD
  • 26. OPENSHIFT PIPELINE node('maven') { stage('build') { openshiftBuild(buildConfg: 'buildconfgname', showBuildLogs: 'true') } stage('staging') { openshiftDeploy(deploymentConfg: 'deploymentconfgame') } …. }
  • 28. IS MY ORGANIZATION DOING INTEGRATION? POINT-TO-POINT (P2P) SERVICE BUS BUSINESS-TO-BUSINESS DIY INTEGRATION LEGACY INTEGRATION MICROSERVICES API-FOCUSED AUTOMATION CLOUD-NATIVE SELF-SERVICE
  • 29. 29 TWO DIMENSIONS OF DISTRIBUTED INTEGRATION DISTRIBUTED INTEGRATION FLEXIBILITY WHERE INTEGRATION IS USED Integration at the center or the edge of your enterprise architecture. WHO PERFORMS INTEGRATION Unlocking integration capability for new categories of integrators.
  • 30. Fuse Standalone Fuse on OpenShift Fuse Online (iPaaS) ● Developer-focused ● Integration where you need it ● “Classic” integration THE NEXT GENERATION OF RED HAT FUSE Aligned product components of Fuse 7.x ● Developer-focused ● Microservices ready ● Scale out / Container ● “Cloud native” integration ● Ignite : Low-code UI/UX ● 100% cloud-based ● Integration through a browser ● “Ad Hoc” Integration
  • 31. OS JVM Narayana Undertow AMQ CXF Camel Karaf OS JVM Narayana Undertow AMQ CXF Camel EAP OS JVM Narayana Undertow AMQ CXF Camel Spring BootIgnite Fuse Online RED HAT FUSE Hawtio Distributed, Cloud-native integration platform
  • 32. INSERT DESIGNATOR, IF NEEDED32 Self-service Integration Low code integration platform for everyone Fuse Online Integration Connectors Customizations Self-service Drag and drop integrations Runtime debug and activity trace Built-in connectors - AMQ - Database - Salesforce and more... Customize Connectors - Highly customizable connectors from developers API Client Service Setup from Swagger Documents Customize Connectors, code, component injections
  • 33. Ease of Use Drag and drop, plus simple confgurations Design Confg Run Design your integration quickly on the fy for continuously Innovative solutions. Less.development time, quick POC and faster blueprint???!! Built-in connectors for major resources. Easy drag and drop data format mapping. Simple confguration interface Hybrid environment, on the cloud or on premise. United and standardized platform for integration solutions. Enhance collaboration experience for both business user and Developers
  • 34. Working with APIs API centric integration. API Services Providers Fuse Online Swagger Documents
  • 36. 36 KEY SUCCESS FACTORS FOR CLOUD-NATIVE INTEGRATION DEVELOPMENT Ability to drive complete lifecycle from developer toolchain Focus on code, not image building and resource defnition End-to-end automation supporting continuous delivery MANAGEMENT Centralized management and monitoring Manual and automated management through API, CLI, UI Domain-specifc introspection into container runtime SECURITY Images require secure stack from top to bottom Scaling analysis and remediation of security vulnerabilities Container image provenance and transparency OPERATIONS Normalizing operations across workloads Availability, scalability, and resiliency Leveraging advanced deployment options Enabled by using Fuse on OpenShift
  • 37. Tools for success Development ● Full lifecycle IDE support ● Built-in Connector/Transformat ion/EIP ● Intuitive API creation ● Easy-to-use Toolings ● Quickstart templates ● Built-in CI/CD capability ● Immutable software image builds ● Lightweight, optimized for microservices
  • 38. CORE FUSE FUSE STANDALONE OS JVM EAP Spring Boot Karaf Narayana Undertow AMQ CXF Camel DevStudio Hawtio
  • 39. NOTABLE COMPONENTS ● Camel 2.21 ● Karaf 4.2 ● Spring Boot 1.5.x ● EAP 7.1 ● Narayana (aligned to EAP 7.1) ● Undertow (aligned to EAP 7.1) ● AMQ 6.3 and 7.0 certifcation ● CXF 3.1 (aligned to EAP 7.1) ● HawtIO 2 ● Java 8
  • 40. ● camel-asn1 ● camel-atomix ● camel-azure ● camel-caffeine ● camel-couchbase ● camel-crypto-cms ● camel-digitalocean ● camel-drill ● camel-elasticsearch5 ● camel-google-bigquery ● camel-google-pubsub ● camel-reactor ● camel-rest-swagger ● camel-sjms2 ● camel-spring-cloud ● camel-spring-cloud-netfix ● camel-thrift ● camel-tika ● camel-twilio ● camel-zendesk ● camel-zookeeper-master ● camel-yql ● camel-aws ● camel-elasticsearch-rest ● camel-xhcange ● camel-wordpres ● camel-grpc ● camel-headersmap ● camel-iec60870 ● camel-json-fastjson ● camel-milo ● camel-mongodb3 ● camel-olingo4 ● camel-openstack ● camel-opentracing ● camel-pubnub ● camel-reactive-streams NEW CAMEL COMPONENTS
  • 41. MANAGEMENT ● HawtIO V2 ● More consistent UI Look with the rest Of Red Hat products
  • 42. Karaf
  • 43. Benefts of FUSE on OpenShift Development ● Full lifecycle IDE support : create, test, build, deploy ● Quickstart templates for common integration scenarios allows developers new to the platform to get up and running quickly. ● App packaging optimized for containerized environment ideal for microservices architecture. ● Container builds integrated into development toolchain with options to build from source or binary, aligning with current tools and development workfow in use today. ● Tap into the power of the platform with easy-to-use extensions such as injection of dynamic confguration values. ● Automated build triggers and pipeline support give users a continuous integration and deployment environment out-of-the-box. ● Developers can focus on writing code and providing value to the business rather than worrying about creating docker based images and docker confguration fles for each application they create. Management ● Insight into integration workload using centralized monitoring of integration activities based on ElasticSearch and Kibana. ● Manual or automated administration of the runtime environment is a breeze leveraging administrative CLI, API, and UI. ● Integration-specifc management, monitoring and debugging puts users in complete control of their integration workloads running inside a container. Operations ● Build on an environment that can seamlessly scale from 1s to 100s of integration containers using point-and- click UI or automatable management controls. ● Virtualize integration services to provide location independence and automatic failover. ● Platform that automatically detects and recovers failed integration containers. ● Take advantage of advanced deployment options built into the platform such as rolling upgrade, canary, and blue-green deployments. Security ● Integration containers are built on the most secure container runtime on the planet based on RHEL. ● Services are independent and isolated, providing complete separation of integration execution. ● Network isolation provides additional security by restricting service visibility based on user-defned partitions. ● Confdential storage of protected information such as passwords and keys. ● Red Hat scans and reports on container security via Red Hat Container Catalog. Freshness scores are public, providing peace of mind. Red Hat patches security issues at the OS, JVM, and middleware level.Flexibility ● Runtime built on best-of-breed open source technologies (Kubernetes, Linux Containers) provides an open, fexible foundation for all service development. ● Container-native toolchain and ability to containerize existing workloads (lift and shift) provide ideal platform for greenfeld, brownfeld, and transitional workloads. ● Container-native, integrated middleware portfolio allows developers to choose the right tool for the job on a single platform. ● Polyglot environment gives teams the fexibility to implement services using the language of their choice. https://docs.google.com/document/d/18g4nmGJpV2aU8Ve0das04Hy_ZV2by9rs10k6wGOa_V4/edit
  • 44. CHANGES FOR USERS ● No More Fabric v1 ● Major upgrade: from Karaf 2.4 to 4.2.x ● Most Karaf Shell commands renamed ● Extensive JMX MBean Changes ● Base bundles have changed ○ User defned features may need updating to pick up right bundles. ○ Recompile needed to pick up new versions of imported packages
  • 45. NEW FEATURES ● OSGi R6 support (vs OSGi r5 in Karaf 2.4.x) ● Requires Java 8 ● More lightweight: Blueprint not needed ● Maven plugin to generate minimal Karaf servers. ● Shell improvements ● Undertow web provider ● Narayana TX Manager ● log4j, log4j2, and logback supported ● Typed confg fles
  • 46. NO EMBEDDED AMQ BROKER ● No AMQ Broker == Lighterweight Karaf Server ● Faster startup ● Easier to troubleshoot AMQ issues ● Blueprint used to confgure connection factories
  • 47. IMPLEMENTATION RECOMMENDATIONS ● Dependency Injection ● Camel XML DSL Support ● More dynamic service injection model ● Can lead to service timeouts ● Faster startup ● Camel Java DSL ● Better for Pure OSGi fans ● More static service injection modals SCRBLUEPRINT
  • 48. Undertow ● Undertow is the default web container ● Jetty only supported as an HTTP client ● Does not affect: ○ Simple Wars ○ Servlets ● Affects ○ Customized jetty xml confgurations ○ Bundles using Jetty specifc APIs like some of their WebSocket apis.
  • 49. Narayana ● New TX manager abstraction layer ● Existing JMS/JDBC connection factories need to be reconfgured.
  • 50. EAP
  • 51. NEW FEATURES ● Feature Parity ● 200+ Camel components supported ● More quickstarts
  • 52. UNDERTOW/CXF CONSUMERS ● Added support for the native EAP undertow server on consumer endpoints for: ○ camel-undertow ○ camel-cxf ● Fuse EAP 6.x fat WAR workaround:. ○ Should switch to 'skinny' WAR deployments
  • 53. CAMEL COMPONENTS ● Feature parity with other platforms ● 200+ camel components now supported. camel-ahc camel-ahc-ws camel-amqp camel-avro camel-avro camel-barcode camel-base64 camel-tarfile camel-beanio camel-box camel-coap camel-couchdb camel-dns camel-dropbox camel-elsql camel-exec camel-facebook camel-freemarker camel-git camel-github camel-infinispan camel-irc camel-jacksonxml camel-jbpm camel-jcache camel-jdbc camel-kubernetes camel-linkedin camel-metrics camel-mllp camel-mongodb camel-mybatis camel-nats camel-olingo2 camel-optaplanner camel-paho camel-pdf camel-rabbitmq camel-sap-netweaver camel-schematron camel-servicenow camel-sjms camel-smpp camel-snmp camel-splunk camel-spring-batch camel-spring-integration camel-spring-ldap camel-spring-redis camel-ssh camel-stax camel-syslog camel-bean-validator camel-twitter camel-undertow camel-vertx
  • 54. IMPLEMENTATION RECOMMENDATIONS ● For JavaEE Developers ● Camel Java DSL ● IDE Tooling Support ● Spring Shops SPRING XMLCDI
  • 55. MIGRATING TO FUSE 7 EAP ● Apps typically do not need a recompile ● Users need to follow the EAP 7.1 migration guide ● CXF workarounds should be removed ● wildfy-maven-plugin : port 9999 -> 9990 ● BOM updates recommended
  • 57. ● Custom fat jar layouts ● Secured endpoints ● API to expose JMX endpoints ● Support for transaction manager confguration ● Camel health checks exposed to actuator ● Camel Component Customizers SPRING BOOT 1.5 / CAMEL
  • 58. STANDALONE ● Actually Supported in 6.3 but not promoted. ● Existing Examples just needs: ○ -Dfabric8.skip ○ Runnable jar is in target dir
  • 59. MANAGEMENT ● HAWTIO V2 / Jolokia ● JMX and Actuator. ● https://github.com/hawtio/hawtio/tree/2.x/examples/springboot
  • 61. SUPPORTED SPRING BOOT COMPONENTS ● Spring Boot Web (Undertow) ● Actuator ● JTA/Narayana starter ● AMQ starter ● JDBC starter ● Security + Keycloak ● Camel Component Starters: https://goo.gl/CLiJ8x
  • 62. UNDERTOW ● Undertow is our recommended Web Container ● Just a dependency change is need in the POM ● No Application changes should be needed ● Tomcat/JWS support is being sorted out
  • 63. CONFIGURATION MANAGEMENT ● Standard SB ○ System Properties ○ Environment Variables ○ application.properties ● spring-cloud-kubernetes ○ Mapping confgmaps ○ Secrets ○ Auto-reload
  • 64. SECURITY ● KeyCloak is Integration with Spring Security: https://goo.gl/DesZmg ● Use camel-servlet with spring-web
  • 65. IMPLEMENTATION RECOMMENDATIONS ● Spring Boot Developers ● More fexible and re- usable EIP development. ● IDE Tooling Support ● Older Spring Shops XML DSLJava DSL Read more: http://goo.gl/F9TUJ3