SlideShare une entreprise Scribd logo
1  sur  81
PUBLIC PRESENTATION | CLAUS IBSEN1
Microservices with Apache Camel
Claus Ibsen (@davsclaus)
Principal Software Engineer, Red Hat
PUBLIC PRESENTATION | CLAUS IBSEN2
Agenda
● What is Apache Camel?
● A little Example
● Microservice Demo
● Standalone
● with Docker
● with OpenShift / Kubernetes
● More Information
PUBLIC PRESENTATION | CLAUS IBSEN3
Your Speaker
● Principal Software Engineer at Red Hat
● Apache Camel
● 7 years working with Camel
● Author of Camel in Action book
● Contact
● EMail: cibsen@redhat.com
● Twitter: @davsclaus
● Blog: http://davsclaus.com
● Linkedin: http://www.linkedin.com/in/davsclaus
PUBLIC PRESENTATION | CLAUS IBSEN4
Agenda
● What is Apache Camel?
● A little Example
● Microservice Demo
● Standalone
● with Docker
● with OpenShift / Kubernetes
● More Information
PUBLIC PRESENTATION | CLAUS IBSEN5
What is Apache Camel?
● Quote from the website
PUBLIC PRESENTATION | CLAUS IBSEN6
What is Apache Camel?
● Why do we need integration?
● Critical for your business to integrate
● Why Integration Framework?
● Framework do the heavy lifting
● You can focus on business problem
● Not "reinventing the wheel"
PUBLIC PRESENTATION | CLAUS IBSEN7
What is Apache Camel?
● What is Enterprise Integration Patterns?
It's a book
PUBLIC PRESENTATION | CLAUS IBSEN8
What is Apache Camel?
● Enterprise Integration Patterns
http://camel.apache.org/eip
PUBLIC PRESENTATION | CLAUS IBSEN9
What is Apache Camel?
● EIP - Content Based Router
PUBLIC PRESENTATION | CLAUS IBSEN10
What is Apache Camel?
from newOrder
PUBLIC PRESENTATION | CLAUS IBSEN11
What is Apache Camel?
from newOrder
choice
PUBLIC PRESENTATION | CLAUS IBSEN12
What is Apache Camel?
from newOrder
choice
when isWidget to widget
PUBLIC PRESENTATION | CLAUS IBSEN13
What is Apache Camel?
from newOrder
choice
when isWidget to widget
otherwise to gadget
PUBLIC PRESENTATION | CLAUS IBSEN14
What is Apache Camel?
from(newOrder)
choice
when(isWidget) to(widget)
otherwise to(gadget)
PUBLIC PRESENTATION | CLAUS IBSEN15
What is Apache Camel?
from(newOrder)
.choice()
.when(isWidget).to(widget)
.otherwise().to(gadget);
PUBLIC PRESENTATION | CLAUS IBSEN16
What is Apache Camel?
Endpoint newOrder = endpoint("activemq:queue:newOrder");
from(newOrder)
.choice()
.when(isWidget).to(widget)
.otherwise().to(gadget);
PUBLIC PRESENTATION | CLAUS IBSEN17
What is Apache Camel?
Endpoint newOrder = endpoint("activemq:queue:newOrder");
Predicate isWidget = xpath("/order/product = 'widget'");
from(newOrder)
.choice()
.when(isWidget).to(widget)
.otherwise().to(gadget);
PUBLIC PRESENTATION | CLAUS IBSEN18
What is Apache Camel?
Endpoint newOrder = endpoint("activemq:queue:newOrder");
Predicate isWidget = xpath("/order/product = 'widget'");
Endpoint widget = endpoint("activemq:queue:widget");
Endpoint gadget = endpoint("activemq:queue:gadget");
from(newOrder)
.choice()
.when(isWidget).to(widget)
.otherwise().to(gadget);
PUBLIC PRESENTATION | CLAUS IBSEN19
What is Apache Camel?
● Java Code
public void configure() throws Exception {
Endpoint newOrder = endpoint("activemq:queue:newOrder");
Predicate isWidget = xpath("/order/product = 'widget'");
Endpoint widget = endpoint("activemq:queue:widget");
Endpoint gadget = endpoint("activemq:queue:gadget");
from(newOrder)
.choice()
.when(isWidget).to(widget)
.otherwise().to(gadget)
.end();
}
PUBLIC PRESENTATION | CLAUS IBSEN20
What is Apache Camel?
● Java Code
import org.apache.camel.Endpoint;
import org.apache.camel.Predicate;
import org.apache.camel.builder.RouteBuilder;
public class MyRoute extends RouteBuilder {
public void configure() throws Exception {
Endpoint newOrder = endpoint("activemq:queue:newOrder");
Predicate isWidget = xpath("/order/product = 'widget'");
Endpoint widget = endpoint("activemq:queue:widget");
Endpoint gadget = endpoint("activemq:queue:gadget");
from(newOrder)
.choice()
.when(isWidget).to(widget)
.otherwise().to(gadget)
.end();
}
}
PUBLIC PRESENTATION | CLAUS IBSEN21
What is Apache Camel?
● Camel Java DSL
import org.apache.camel.builder.RouteBuilder;
public class MyRoute extends RouteBuilder {
public void configure() throws Exception {
from("activemq:queue:newOrder")
.choice()
.when(xpath("/order/product = 'widget'"))
.to("activemq:queue:widget")
.otherwise()
.to("activemq:queue:gadget")
.end();
}
}
PUBLIC PRESENTATION | CLAUS IBSEN22
What is Apache Camel?
● Camel XML DSL
<route>
<from uri="activemq:queue:newOrder"/>
<choice>
<when>
<xpath>/order/product = 'widget'</xpath>
<to uri="activemq:queue:widget"/>
</when>
<otherwise>
<to uri="activemq:queue:gadget"/>
</otherwise>
</choice>
</route>
PUBLIC PRESENTATION | CLAUS IBSEN23
What is Apache Camel?
● Endpoint as URIs
<route>
<from uri="file:inbox/orders"/>
<choice>
<when>
<xpath>/order/product = 'widget'</xpath>
<to uri="activemq:queue:widget"/>
</when>
<otherwise>
<to uri="activemq:queue:gadget"/>
</otherwise>
</choice>
</route>
use file instead
PUBLIC PRESENTATION | CLAUS IBSEN24
What is Apache Camel?
● Endpoint as URIs
<route>
<from uri="file:inbox/orders?delete=true"/>
<choice>
<when>
<xpath>/order/product = 'widget'</xpath>
<to uri="activemq:queue:widget"/>
</when>
<otherwise>
<to uri="activemq:queue:gadget"/>
</otherwise>
</choice>
</route>
parameters
PUBLIC PRESENTATION | CLAUS IBSEN25
Standard Java or XML
● Java DSL is just Java
PUBLIC PRESENTATION | CLAUS IBSEN26
Standard Java or XML
● XML DSL is just XML
● … with XSD schema for validation/tooling
PUBLIC PRESENTATION | CLAUS IBSEN27
What is Apache Camel?
● Camel's Architecture
PUBLIC PRESENTATION | CLAUS IBSEN28
What is Apache Camel?
150+ Components
PUBLIC PRESENTATION | CLAUS IBSEN29
What is Apache Camel?
150+ Components
PUBLIC PRESENTATION | CLAUS IBSEN30
What is Apache Camel?
● Summary
● Integration Framework
● Enterprise Integration Patterns (EIP)
● Routing (using DSL)
● Easy Configuration (endpoint as uri's)
● Just Java or XML code
● No Container Dependency
● A lot of components
PUBLIC PRESENTATION | CLAUS IBSEN31
Agenda
● What is Apache Camel?
● A little Example
● Microservice Demo
● Standalone
● with Docker
● with Kubernetes
● More Information
PUBLIC PRESENTATION | CLAUS IBSEN32
A Little Example
● File Copier Example
PUBLIC PRESENTATION | CLAUS IBSEN33
A Little Example
● File Copier Example
PUBLIC PRESENTATION | CLAUS IBSEN34
A Little Example
● File Copier Example
PUBLIC PRESENTATION | CLAUS IBSEN35
A Little Example
● File Copier Example
PUBLIC PRESENTATION | CLAUS IBSEN36
A Little Example
● File Copier Example
PUBLIC PRESENTATION | CLAUS IBSEN37
Agenda
● What is Apache Camel?
● A little Example
● Microservice Demo
● Standalone
● with Docker
● with OpenShift / Kubernetes
● More Information
PUBLIC PRESENTATION | CLAUS IBSEN38
Microservice Demo - Overview
● camel-archetype-cdi camel-archetype-web
Java Standalone Apache Tomcat
HTTP 8080
from timer
to http
to log
from http
choice
setBody
PUBLIC PRESENTATION | CLAUS IBSEN39
Creating new Camel Projects
● Using Command Shell
● From Eclipse
PUBLIC PRESENTATION | CLAUS IBSEN40
Creating new Camel Projects
● ... or
JBoss
Forge
PUBLIC PRESENTATION | CLAUS IBSEN41
Creating new Camel Projects
● Maven Archetypes
Archetypes Archetypes
camel-archetype-activemq camel-archetype-groovy
camel-archetype-api-component camel-archetype-java
camel-archetype-blueprint camel-archetype-scala
camel-archetype-cdi camel-archetype-scr
camel-archetype-component camel-archetype-spring
camel-archetype-cxf-code-first-blueprint camel-archetype-spring-boot
camel-archetype-cxf-contract-first-blueprint camel-archetype-spring-dm
camel-archetype-dataformat camel-archetype-web
PUBLIC PRESENTATION | CLAUS IBSEN42
Creating new Camel Projects
● camel-archetype-cdi
To run from CLI
mvn clean install
exec:java
PUBLIC PRESENTATION | CLAUS IBSEN43
Creating new Camel Projects
● add http component
Adds the chosen component
to the pom.xml file.
CMD + ALT
4
PUBLIC PRESENTATION | CLAUS IBSEN44
Creating new Camel Projects
● add change route to call http://localhost:8080
PUBLIC PRESENTATION | CLAUS IBSEN45
Creating new Camel Projects
● add change bean to return a name
PUBLIC PRESENTATION | CLAUS IBSEN46
Creating new Camel Projects
● camel-archetype-web
To run from CLI
mvn clean install
jetty:run
PUBLIC PRESENTATION | CLAUS IBSEN47
Microservice Demo - Overview
● camel-archetype-cdi camel-archetype-web
Java Standalone Apache Tomcat
HTTP 8080
from timer
to http
to log
from http
choice
setBody
We are ready to run standalone
PUBLIC PRESENTATION | CLAUS IBSEN48
Running Standalone
● camel-archetype-web
● Start Apache Tomcat with bin/catalina run
● Copy the .war to Tomcat deploy folder (myweb.war)
PUBLIC PRESENTATION | CLAUS IBSEN49
Running Standalone
● camel-archetype-cdi
● mvn install exec:java
PUBLIC PRESENTATION | CLAUS IBSEN50
Monitor using hawtio embedded in Tomcat
● Copy hawtio.war to Tomcat deploy folder
PUBLIC PRESENTATION | CLAUS IBSEN51
Agenda
● What is Apache Camel?
● A little Example
● Microservice Demo
● Standalone
● with Docker
● with OpenShift / Kubernetes
● More Information
PUBLIC PRESENTATION | CLAUS IBSEN52
Camel and Docker
● Dockerizing your Camel Projects
● Using Roland Huss's Docker Maven Plugin
● https://github.com/rhuss/docker-maven-plugin
.. by manually adding to pom.xml and configure
● ... but we use the Forge
PUBLIC PRESENTATION | CLAUS IBSEN53
Camel and Docker
● Dockerizing your Camel Projects with JBoss Forge
● From CLI Add FORGE_HOME/bin to
$PATH
PUBLIC PRESENTATION | CLAUS IBSEN54
Camel and Docker
● Dockerizing your Camel Projects with JBoss Forge
● From Eclipse
IDEA
NetBeans
CMD + ALT
4
PUBLIC PRESENTATION | CLAUS IBSEN55
Camel and Docker
● Build Docker Containers
● mvn clean install docker:build
● ... Images now in your local docker repository
camel-archetype-cdi
camel-archetype-web
docker-maven-plugin
uses
$DOCKER_HOST
Fabric8 w/ OpenShift 3:
DOCKER_HOST="tcp://vagrant.f8:2375"
Boot2Docker:
DOCKER_HOST="tcp://192.168.59.105:2375"
PUBLIC PRESENTATION | CLAUS IBSEN56
Camel and Docker
● Run Docker Containers
● docker run -it -p 8080:8080 -p 8778:8778
172.30.111.183:5000/fabric8/myweb:1.0-SNAPSHOT
The 10.000$$$ Docker Question
What the f$QRC#%A%%EG
is the IP address of the container
8080 = Tomcat
8778 = Jolokia
PUBLIC PRESENTATION | CLAUS IBSEN57
Camel and Docker
● What is the IP Address of the Docker Container
PUBLIC PRESENTATION | CLAUS IBSEN58
Camel and Docker
● camel-archetype-cdi
● I would need to change the hostname to
the docker assigned IP address
PUBLIC PRESENTATION | CLAUS IBSEN59
Camel and Docker
● camel-archetype-cdi
● .. and then build the docker image
● And then run the docker image
● docker run -it 172.30.111.183:5000/fabric8/mycdi:1.0-
SNAPSHOT
PUBLIC PRESENTATION | CLAUS IBSEN60
Camel and Docker
● Pheeew isn't this easier?
Yes !!!
PUBLIC PRESENTATION | CLAUS IBSEN61
Agenda
● What is Apache Camel?
● A little Example
● Microservice Demo
● Standalone
● with Docker
● with OpenShift / Kubernetes
● More Information
PUBLIC PRESENTATION | CLAUS IBSEN62
Microservices Demo - Recap
● camel-archetype-cdi camel-archetype-web
Java Standalone Apache Tomcat
HTTP 8080
from timer
to http
to log
from http
choice
setBody
PUBLIC PRESENTATION | CLAUS IBSEN63
Microservices Demo - Use Service
● camel-archetype-cdi camel-archetype-web
Java Standalone Apache Tomcat
from timer
to http
to log
from http
choice
setBody
Service
Kubernetes
Service
PUBLIC PRESENTATION | CLAUS IBSEN64
What is a Kubernetes Service
● Kubernetes Service
http://fabric8.io/guide/services.html
PUBLIC PRESENTATION | CLAUS IBSEN65
Define Kubernetes Service
● Define in pom.xml in <properties>
Apache Tomcat
from http
choice
setBody
Service
Container Port = Inside Docker Container
(e.g. the port of Apache Tomcat)
Service Port = Outside
Consumers of Service to use
Name of service
PUBLIC PRESENTATION | CLAUS IBSEN66
Define Kubernetes Service
● ... generates into kubernetes.json
using fabric8:json plugin
Apache Tomcat
from http
choice
setBody
Service
PUBLIC PRESENTATION | CLAUS IBSEN67
About using Kubernetes Service
Discover Kubernetes Services
Java Standalone
from timer
to http
to log
PUBLIC PRESENTATION | CLAUS IBSEN68
Client - Use Kubernetes Service
● Use {{service:name}} in Camel
... you can use default values
{{service:name:host:port}}
Java Standalone
from timer
to http
to log
host:port would be default
if service is not discovered
PUBLIC PRESENTATION | CLAUS IBSEN69
Microservice Demo - Ready for launch!
● camel-archetype-cdi camel-archetype-web
Java Standalone Apache Tomcat
from timer
to http
to log
from http
choice
setBody
Service
Service defined
Ready to deploy to Kubernetes
PUBLIC PRESENTATION | CLAUS IBSEN70
Deploy - camel-archetype-web
● camel-archetype-web
● mvn clean install docker:build
fabric8:apply Apache Tomcat
from http
choice
setBody
Service
PUBLIC PRESENTATION | CLAUS IBSEN71
Deploy - camel-archetype-cdi
● camel-archetype-cdi
● mvn clean install docker:build
fabric8:apply Java Standalone
from timer
to http
to log
PUBLIC PRESENTATION | CLAUS IBSEN72
fabric8 web console
● http://fabric8.vagrant.f8
● Easy by configuring the replication size
PUBLIC PRESENTATION | CLAUS IBSEN73
OpenShift 3 CLI
● oc get pods
docker CLI is also possible
docker images
docker ps
PUBLIC PRESENTATION | CLAUS IBSEN74
OpenShift 3 CLI
● oc get services
PUBLIC PRESENTATION | CLAUS IBSEN75
OpenShift 3 CLI
● oc logs -f <pod-name>
PUBLIC PRESENTATION | CLAUS IBSEN76
Scaling up / down
● ... by changing replication size on controller
PUBLIC PRESENTATION | CLAUS IBSEN77
Scaling up / down
● web console shows we now have 3 pods
PUBLIC PRESENTATION | CLAUS IBSEN78
Scaling up / down
● and the camel-archetype-cli pod is load balancing the
mycoolservice among the 3 live pods
PUBLIC PRESENTATION | CLAUS IBSEN79
Agenda
● What is Apache Camel?
● A little Example
● Microservice Demo
● Standalone
● with Docker
● with OpenShift / Kubernetes
● More Information
PUBLIC PRESENTATION | CLAUS IBSEN80
Where do I get more information?
● Apache Camel Microservices
● http://camel.apache.org/camel-boot
● Fabric8
● http://fabric8.io
● chat room #fabric-8 on freenode
● OpenShift 3
● https://github.com/openshift/origin
● Kubernetes
● https://github.com/googlecloudplatform/kubernetes
PUBLIC PRESENTATION | CLAUS IBSEN81
Any Questions ?
● Contact
● EMail: cibsen@redhat.com / claus.ibsen@gmail.com
● Twitter: @davsclaus
● Blog: http://davsclaus.com
● Linkedin: http://www.linkedin.com/in/davsclaus

Contenu connexe

Tendances

Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
Getting started with Apache Camel - Javagruppen Copenhagen - April 2014Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
Getting started with Apache Camel - Javagruppen Copenhagen - April 2014Claus Ibsen
 
Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Claus Ibsen
 
Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration libraryClaus Ibsen
 
Getting Started with Apache Camel - Malmo JUG - March 2013
Getting Started with Apache Camel - Malmo JUG - March 2013Getting Started with Apache Camel - Malmo JUG - March 2013
Getting Started with Apache Camel - Malmo JUG - March 2013Claus Ibsen
 
Enterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelEnterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelIoan Eugen Stan
 
Integration made easy with Apache Camel
Integration made easy with Apache CamelIntegration made easy with Apache Camel
Integration made easy with Apache CamelRosen Spasov
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache CamelClaus Ibsen
 
Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Claus Ibsen
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersClaus Ibsen
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesServerless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesClaus Ibsen
 
Apache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentationApache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentationClaus Ibsen
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Claus Ibsen
 
Event Driven Architecture with Apache Camel
Event Driven Architecture with Apache CamelEvent Driven Architecture with Apache Camel
Event Driven Architecture with Apache Camelprajods
 
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and KubernetesJEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and KubernetesClaus Ibsen
 
Apache Camel in the belly of the Docker whale
Apache Camel in the belly of the Docker whaleApache Camel in the belly of the Docker whale
Apache Camel in the belly of the Docker whaleHenryk Konsek
 
Developing, Testing and Scaling with Apache Camel - UberConf 2015
Developing, Testing and Scaling with Apache Camel - UberConf 2015Developing, Testing and Scaling with Apache Camel - UberConf 2015
Developing, Testing and Scaling with Apache Camel - UberConf 2015Matt Raible
 
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationSouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationClaus Ibsen
 
Camel Desing Patterns Learned Through Blood, Sweat, and Tears
Camel Desing Patterns Learned Through Blood, Sweat, and TearsCamel Desing Patterns Learned Through Blood, Sweat, and Tears
Camel Desing Patterns Learned Through Blood, Sweat, and TearsBilgin Ibryam
 
Taking Apache Camel For A Ride
Taking Apache Camel For A RideTaking Apache Camel For A Ride
Taking Apache Camel For A RideBruce Snyder
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache CamelFuseSource.com
 

Tendances (20)

Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
Getting started with Apache Camel - Javagruppen Copenhagen - April 2014Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
Getting started with Apache Camel - Javagruppen Copenhagen - April 2014
 
Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014Getting Started with Apache Camel at DevNation 2014
Getting Started with Apache Camel at DevNation 2014
 
Apache Camel - The integration library
Apache Camel - The integration libraryApache Camel - The integration library
Apache Camel - The integration library
 
Getting Started with Apache Camel - Malmo JUG - March 2013
Getting Started with Apache Camel - Malmo JUG - March 2013Getting Started with Apache Camel - Malmo JUG - March 2013
Getting Started with Apache Camel - Malmo JUG - March 2013
 
Enterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache CamelEnterprise Integration Patterns with Apache Camel
Enterprise Integration Patterns with Apache Camel
 
Integration made easy with Apache Camel
Integration made easy with Apache CamelIntegration made easy with Apache Camel
Integration made easy with Apache Camel
 
Developing Microservices with Apache Camel
Developing Microservices with Apache CamelDeveloping Microservices with Apache Camel
Developing Microservices with Apache Camel
 
Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3Camel Day Italy 2021 - What's new in Camel 3
Camel Day Italy 2021 - What's new in Camel 3
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containers
 
Serverless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on KubernetesServerless integration with Knative and Apache Camel on Kubernetes
Serverless integration with Knative and Apache Camel on Kubernetes
 
Apache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentationApache Camel - FUSE community day London 2010 presentation
Apache Camel - FUSE community day London 2010 presentation
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...
 
Event Driven Architecture with Apache Camel
Event Driven Architecture with Apache CamelEvent Driven Architecture with Apache Camel
Event Driven Architecture with Apache Camel
 
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and KubernetesJEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
JEEConf 2018 - Camel microservices with Spring Boot and Kubernetes
 
Apache Camel in the belly of the Docker whale
Apache Camel in the belly of the Docker whaleApache Camel in the belly of the Docker whale
Apache Camel in the belly of the Docker whale
 
Developing, Testing and Scaling with Apache Camel - UberConf 2015
Developing, Testing and Scaling with Apache Camel - UberConf 2015Developing, Testing and Scaling with Apache Camel - UberConf 2015
Developing, Testing and Scaling with Apache Camel - UberConf 2015
 
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationSouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
 
Camel Desing Patterns Learned Through Blood, Sweat, and Tears
Camel Desing Patterns Learned Through Blood, Sweat, and TearsCamel Desing Patterns Learned Through Blood, Sweat, and Tears
Camel Desing Patterns Learned Through Blood, Sweat, and Tears
 
Taking Apache Camel For A Ride
Taking Apache Camel For A RideTaking Apache Camel For A Ride
Taking Apache Camel For A Ride
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache Camel
 

En vedette

Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelOmi Om
 
Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesChristian Posta
 
An Introduction to Talend Integration Cloud
An Introduction to Talend Integration CloudAn Introduction to Talend Integration Cloud
An Introduction to Talend Integration CloudTalend
 
Trabajo con Ardora
Trabajo con ArdoraTrabajo con Ardora
Trabajo con Ardorarabressan
 
Ptn patient first oct low (2)
Ptn patient first oct low (2)Ptn patient first oct low (2)
Ptn patient first oct low (2)Bhava Veerubhotla
 
2013 WHD.local Istanbul Presentation
2013 WHD.local Istanbul Presentation2013 WHD.local Istanbul Presentation
2013 WHD.local Istanbul Presentationru_Parallels
 
Agile Analysis Techniques by Harlan Bennett and Kevin Pious
Agile Analysis Techniques by Harlan Bennett and Kevin PiousAgile Analysis Techniques by Harlan Bennett and Kevin Pious
Agile Analysis Techniques by Harlan Bennett and Kevin PiousExcella
 
What Is Expense Reduction Analysts Linkedin Powerpoint
What Is Expense Reduction Analysts   Linkedin PowerpointWhat Is Expense Reduction Analysts   Linkedin Powerpoint
What Is Expense Reduction Analysts Linkedin Powerpointnadinestewart
 
Nagle proposition in pricing
Nagle proposition in pricingNagle proposition in pricing
Nagle proposition in pricingPavankumar H K
 
Poratafolio administracion
Poratafolio administracionPoratafolio administracion
Poratafolio administracioncbaena17
 
Orientacionempleo
OrientacionempleoOrientacionempleo
Orientacionempleoopeatal
 
MTM eSEC-ENISE 26Oct - Framework DNIe y Cardmodule
MTM eSEC-ENISE 26Oct - Framework DNIe y CardmoduleMTM eSEC-ENISE 26Oct - Framework DNIe y Cardmodule
MTM eSEC-ENISE 26Oct - Framework DNIe y CardmoduleMariano Tejedor
 
image processing to detect worms
image processing to detect wormsimage processing to detect worms
image processing to detect wormsSynergy Vision
 
Sosial media strategi
Sosial media strategiSosial media strategi
Sosial media strategiKim Olsen
 
Me capabilities 2012 tur
Me capabilities 2012 turMe capabilities 2012 tur
Me capabilities 2012 turMurat Şanlı
 
Pulsera Para Ritmo Cardiaco
Pulsera Para Ritmo CardiacoPulsera Para Ritmo Cardiaco
Pulsera Para Ritmo CardiacoRichard Huett
 

En vedette (20)

Apache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache CamelApache ActiveMQ and Apache Camel
Apache ActiveMQ and Apache Camel
 
Microservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and KubernetesMicroservices with Apache Camel, DDD, and Kubernetes
Microservices with Apache Camel, DDD, and Kubernetes
 
An Introduction to Talend Integration Cloud
An Introduction to Talend Integration CloudAn Introduction to Talend Integration Cloud
An Introduction to Talend Integration Cloud
 
Trabajo con Ardora
Trabajo con ArdoraTrabajo con Ardora
Trabajo con Ardora
 
Zinkapp Services
Zinkapp ServicesZinkapp Services
Zinkapp Services
 
Ptn patient first oct low (2)
Ptn patient first oct low (2)Ptn patient first oct low (2)
Ptn patient first oct low (2)
 
Exposicion 7 6b
Exposicion 7 6bExposicion 7 6b
Exposicion 7 6b
 
2013 WHD.local Istanbul Presentation
2013 WHD.local Istanbul Presentation2013 WHD.local Istanbul Presentation
2013 WHD.local Istanbul Presentation
 
Agile Analysis Techniques by Harlan Bennett and Kevin Pious
Agile Analysis Techniques by Harlan Bennett and Kevin PiousAgile Analysis Techniques by Harlan Bennett and Kevin Pious
Agile Analysis Techniques by Harlan Bennett and Kevin Pious
 
What Is Expense Reduction Analysts Linkedin Powerpoint
What Is Expense Reduction Analysts   Linkedin PowerpointWhat Is Expense Reduction Analysts   Linkedin Powerpoint
What Is Expense Reduction Analysts Linkedin Powerpoint
 
Revista Endorfina - 11ª edição
Revista Endorfina - 11ª ediçãoRevista Endorfina - 11ª edição
Revista Endorfina - 11ª edição
 
Agendas
AgendasAgendas
Agendas
 
Nagle proposition in pricing
Nagle proposition in pricingNagle proposition in pricing
Nagle proposition in pricing
 
Poratafolio administracion
Poratafolio administracionPoratafolio administracion
Poratafolio administracion
 
Orientacionempleo
OrientacionempleoOrientacionempleo
Orientacionempleo
 
MTM eSEC-ENISE 26Oct - Framework DNIe y Cardmodule
MTM eSEC-ENISE 26Oct - Framework DNIe y CardmoduleMTM eSEC-ENISE 26Oct - Framework DNIe y Cardmodule
MTM eSEC-ENISE 26Oct - Framework DNIe y Cardmodule
 
image processing to detect worms
image processing to detect wormsimage processing to detect worms
image processing to detect worms
 
Sosial media strategi
Sosial media strategiSosial media strategi
Sosial media strategi
 
Me capabilities 2012 tur
Me capabilities 2012 turMe capabilities 2012 tur
Me capabilities 2012 tur
 
Pulsera Para Ritmo Cardiaco
Pulsera Para Ritmo CardiacoPulsera Para Ritmo Cardiaco
Pulsera Para Ritmo Cardiaco
 

Similaire à Microservices with apache_camel_barcelona

Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and GroovyGR8Conf
 
Short journey into the serverless world
Short journey into the serverless worldShort journey into the serverless world
Short journey into the serverless worldScott van Kalken
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java DevelopersImesh Gunaratne
 
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes][HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]Wong Hoi Sing Edison
 
Openshift service broker and catalog ocp-meetup july 2018
Openshift service broker and catalog  ocp-meetup july 2018Openshift service broker and catalog  ocp-meetup july 2018
Openshift service broker and catalog ocp-meetup july 2018Michael Calizo
 
Introduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David NalleyIntroduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David Nalleybuildacloud
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingPiotr Perzyna
 
BBC's GraphDB (formerly Owlim) AWS Cloud Migration
BBC's GraphDB (formerly Owlim) AWS Cloud MigrationBBC's GraphDB (formerly Owlim) AWS Cloud Migration
BBC's GraphDB (formerly Owlim) AWS Cloud Migrationlogomachy
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetessparkfabrik
 
Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Julien SIMON
 
Start tracking your ruby infrastructure
Start tracking your ruby infrastructureStart tracking your ruby infrastructure
Start tracking your ruby infrastructureSergiy Kukunin
 
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...NETWAYS
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless worldMatthias Luebken
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesClaus Ibsen
 
[HKOSCON][20200613][ Ansible: From VM to Kubernetes]
[HKOSCON][20200613][ Ansible: From VM to Kubernetes][HKOSCON][20200613][ Ansible: From VM to Kubernetes]
[HKOSCON][20200613][ Ansible: From VM to Kubernetes]Wong Hoi Sing Edison
 
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:InventHow Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:InventHenning Jacobs
 
Halifax DevOps - Meet-up - July.19 2017
Halifax DevOps - Meet-up - July.19 2017Halifax DevOps - Meet-up - July.19 2017
Halifax DevOps - Meet-up - July.19 2017Kyle Bassett
 
Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopWeaveworks
 
Container Camp London (2016-09-09)
Container Camp London (2016-09-09)Container Camp London (2016-09-09)
Container Camp London (2016-09-09)craigbox
 

Similaire à Microservices with apache_camel_barcelona (20)

Integration using Apache Camel and Groovy
Integration using Apache Camel and GroovyIntegration using Apache Camel and Groovy
Integration using Apache Camel and Groovy
 
Short journey into the serverless world
Short journey into the serverless worldShort journey into the serverless world
Short journey into the serverless world
 
Docker for Java Developers
Docker for Java DevelopersDocker for Java Developers
Docker for Java Developers
 
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes][HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
[HKOSCON][20190615][DevOps with Ansible, From Native to Kubernetes]
 
Openshift service broker and catalog ocp-meetup july 2018
Openshift service broker and catalog  ocp-meetup july 2018Openshift service broker and catalog  ocp-meetup july 2018
Openshift service broker and catalog ocp-meetup july 2018
 
Introduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David NalleyIntroduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David Nalley
 
K8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals TrainingK8s in 3h - Kubernetes Fundamentals Training
K8s in 3h - Kubernetes Fundamentals Training
 
BBC's GraphDB (formerly Owlim) AWS Cloud Migration
BBC's GraphDB (formerly Owlim) AWS Cloud MigrationBBC's GraphDB (formerly Owlim) AWS Cloud Migration
BBC's GraphDB (formerly Owlim) AWS Cloud Migration
 
The path to a serverless-native era with Kubernetes
The path to a serverless-native era with KubernetesThe path to a serverless-native era with Kubernetes
The path to a serverless-native era with Kubernetes
 
Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)Developing and deploying serverless applications (February 2017)
Developing and deploying serverless applications (February 2017)
 
Start tracking your ruby infrastructure
Start tracking your ruby infrastructureStart tracking your ruby infrastructure
Start tracking your ruby infrastructure
 
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetes
 
[HKOSCON][20200613][ Ansible: From VM to Kubernetes]
[HKOSCON][20200613][ Ansible: From VM to Kubernetes][HKOSCON][20200613][ Ansible: From VM to Kubernetes]
[HKOSCON][20200613][ Ansible: From VM to Kubernetes]
 
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:InventHow Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
How Zalando runs Kubernetes clusters at scale on AWS - AWS re:Invent
 
Get your teeth into Plack
Get your teeth into PlackGet your teeth into Plack
Get your teeth into Plack
 
Halifax DevOps - Meet-up - July.19 2017
Halifax DevOps - Meet-up - July.19 2017Halifax DevOps - Meet-up - July.19 2017
Halifax DevOps - Meet-up - July.19 2017
 
Intro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps WorkshopIntro to Kubernetes & GitOps Workshop
Intro to Kubernetes & GitOps Workshop
 
Container Camp London (2016-09-09)
Container Camp London (2016-09-09)Container Camp London (2016-09-09)
Container Camp London (2016-09-09)
 

Plus de Claus Ibsen

Low Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdfLow Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdfClaus Ibsen
 
Camel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfCamel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfClaus Ibsen
 
Integrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelIntegrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelClaus Ibsen
 
DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3Claus Ibsen
 
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Claus Ibsen
 
Apache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel QuarkusApache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel QuarkusClaus Ibsen
 
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Claus Ibsen
 
State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)Claus Ibsen
 
Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Claus Ibsen
 
Apache Camel K - Copenhagen
Apache Camel K - CopenhagenApache Camel K - Copenhagen
Apache Camel K - CopenhagenClaus Ibsen
 
Apache Camel K - Fredericia
Apache Camel K - FredericiaApache Camel K - Fredericia
Apache Camel K - FredericiaClaus Ibsen
 
Camel riders in the cloud
Camel riders in the cloudCamel riders in the cloud
Camel riders in the cloudClaus Ibsen
 
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...Claus Ibsen
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache CamelClaus Ibsen
 
ApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryClaus Ibsen
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersClaus Ibsen
 
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on KubernetesRiga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on KubernetesClaus Ibsen
 
Apache Camel Introduction & What's in the box
Apache Camel Introduction & What's in the boxApache Camel Introduction & What's in the box
Apache Camel Introduction & What's in the boxClaus Ibsen
 

Plus de Claus Ibsen (18)

Low Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdfLow Code Integration with Apache Camel.pdf
Low Code Integration with Apache Camel.pdf
 
Camel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdfCamel JBang - Quarkus Insights.pdf
Camel JBang - Quarkus Insights.pdf
 
Integrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelIntegrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and Camel
 
DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3DevNation Live 2020 - What's new with Apache Camel 3
DevNation Live 2020 - What's new with Apache Camel 3
 
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
 
Apache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel QuarkusApache Camel v3, Camel K and Camel Quarkus
Apache Camel v3, Camel K and Camel Quarkus
 
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...
 
State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)State of integration with Apache Camel (ApacheCon 2019)
State of integration with Apache Camel (ApacheCon 2019)
 
Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2Apache Camel K - Copenhagen v2
Apache Camel K - Copenhagen v2
 
Apache Camel K - Copenhagen
Apache Camel K - CopenhagenApache Camel K - Copenhagen
Apache Camel K - Copenhagen
 
Apache Camel K - Fredericia
Apache Camel K - FredericiaApache Camel K - Fredericia
Apache Camel K - Fredericia
 
Camel riders in the cloud
Camel riders in the cloudCamel riders in the cloud
Camel riders in the cloud
 
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
Meetup Melbourne August 2017 - Agile Integration with Apache Camel microservi...
 
Introduction to Apache Camel
Introduction to Apache CamelIntroduction to Apache Camel
Introduction to Apache Camel
 
ApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration libraryApacheCon EU 2016 - Apache Camel the integration library
ApacheCon EU 2016 - Apache Camel the integration library
 
Developing Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containersDeveloping Java based microservices ready for the world of containers
Developing Java based microservices ready for the world of containers
 
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on KubernetesRiga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
Riga Dev Day 2016 - Microservices with Apache Camel & fabric8 on Kubernetes
 
Apache Camel Introduction & What's in the box
Apache Camel Introduction & What's in the boxApache Camel Introduction & What's in the box
Apache Camel Introduction & What's in the box
 

Dernier

Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 

Dernier (20)

Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Advantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your BusinessAdvantages of Odoo ERP 17 for Your Business
Advantages of Odoo ERP 17 for Your Business
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 

Microservices with apache_camel_barcelona

  • 1. PUBLIC PRESENTATION | CLAUS IBSEN1 Microservices with Apache Camel Claus Ibsen (@davsclaus) Principal Software Engineer, Red Hat
  • 2. PUBLIC PRESENTATION | CLAUS IBSEN2 Agenda ● What is Apache Camel? ● A little Example ● Microservice Demo ● Standalone ● with Docker ● with OpenShift / Kubernetes ● More Information
  • 3. PUBLIC PRESENTATION | CLAUS IBSEN3 Your Speaker ● Principal Software Engineer at Red Hat ● Apache Camel ● 7 years working with Camel ● Author of Camel in Action book ● Contact ● EMail: cibsen@redhat.com ● Twitter: @davsclaus ● Blog: http://davsclaus.com ● Linkedin: http://www.linkedin.com/in/davsclaus
  • 4. PUBLIC PRESENTATION | CLAUS IBSEN4 Agenda ● What is Apache Camel? ● A little Example ● Microservice Demo ● Standalone ● with Docker ● with OpenShift / Kubernetes ● More Information
  • 5. PUBLIC PRESENTATION | CLAUS IBSEN5 What is Apache Camel? ● Quote from the website
  • 6. PUBLIC PRESENTATION | CLAUS IBSEN6 What is Apache Camel? ● Why do we need integration? ● Critical for your business to integrate ● Why Integration Framework? ● Framework do the heavy lifting ● You can focus on business problem ● Not "reinventing the wheel"
  • 7. PUBLIC PRESENTATION | CLAUS IBSEN7 What is Apache Camel? ● What is Enterprise Integration Patterns? It's a book
  • 8. PUBLIC PRESENTATION | CLAUS IBSEN8 What is Apache Camel? ● Enterprise Integration Patterns http://camel.apache.org/eip
  • 9. PUBLIC PRESENTATION | CLAUS IBSEN9 What is Apache Camel? ● EIP - Content Based Router
  • 10. PUBLIC PRESENTATION | CLAUS IBSEN10 What is Apache Camel? from newOrder
  • 11. PUBLIC PRESENTATION | CLAUS IBSEN11 What is Apache Camel? from newOrder choice
  • 12. PUBLIC PRESENTATION | CLAUS IBSEN12 What is Apache Camel? from newOrder choice when isWidget to widget
  • 13. PUBLIC PRESENTATION | CLAUS IBSEN13 What is Apache Camel? from newOrder choice when isWidget to widget otherwise to gadget
  • 14. PUBLIC PRESENTATION | CLAUS IBSEN14 What is Apache Camel? from(newOrder) choice when(isWidget) to(widget) otherwise to(gadget)
  • 15. PUBLIC PRESENTATION | CLAUS IBSEN15 What is Apache Camel? from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget);
  • 16. PUBLIC PRESENTATION | CLAUS IBSEN16 What is Apache Camel? Endpoint newOrder = endpoint("activemq:queue:newOrder"); from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget);
  • 17. PUBLIC PRESENTATION | CLAUS IBSEN17 What is Apache Camel? Endpoint newOrder = endpoint("activemq:queue:newOrder"); Predicate isWidget = xpath("/order/product = 'widget'"); from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget);
  • 18. PUBLIC PRESENTATION | CLAUS IBSEN18 What is Apache Camel? Endpoint newOrder = endpoint("activemq:queue:newOrder"); Predicate isWidget = xpath("/order/product = 'widget'"); Endpoint widget = endpoint("activemq:queue:widget"); Endpoint gadget = endpoint("activemq:queue:gadget"); from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget);
  • 19. PUBLIC PRESENTATION | CLAUS IBSEN19 What is Apache Camel? ● Java Code public void configure() throws Exception { Endpoint newOrder = endpoint("activemq:queue:newOrder"); Predicate isWidget = xpath("/order/product = 'widget'"); Endpoint widget = endpoint("activemq:queue:widget"); Endpoint gadget = endpoint("activemq:queue:gadget"); from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget) .end(); }
  • 20. PUBLIC PRESENTATION | CLAUS IBSEN20 What is Apache Camel? ● Java Code import org.apache.camel.Endpoint; import org.apache.camel.Predicate; import org.apache.camel.builder.RouteBuilder; public class MyRoute extends RouteBuilder { public void configure() throws Exception { Endpoint newOrder = endpoint("activemq:queue:newOrder"); Predicate isWidget = xpath("/order/product = 'widget'"); Endpoint widget = endpoint("activemq:queue:widget"); Endpoint gadget = endpoint("activemq:queue:gadget"); from(newOrder) .choice() .when(isWidget).to(widget) .otherwise().to(gadget) .end(); } }
  • 21. PUBLIC PRESENTATION | CLAUS IBSEN21 What is Apache Camel? ● Camel Java DSL import org.apache.camel.builder.RouteBuilder; public class MyRoute extends RouteBuilder { public void configure() throws Exception { from("activemq:queue:newOrder") .choice() .when(xpath("/order/product = 'widget'")) .to("activemq:queue:widget") .otherwise() .to("activemq:queue:gadget") .end(); } }
  • 22. PUBLIC PRESENTATION | CLAUS IBSEN22 What is Apache Camel? ● Camel XML DSL <route> <from uri="activemq:queue:newOrder"/> <choice> <when> <xpath>/order/product = 'widget'</xpath> <to uri="activemq:queue:widget"/> </when> <otherwise> <to uri="activemq:queue:gadget"/> </otherwise> </choice> </route>
  • 23. PUBLIC PRESENTATION | CLAUS IBSEN23 What is Apache Camel? ● Endpoint as URIs <route> <from uri="file:inbox/orders"/> <choice> <when> <xpath>/order/product = 'widget'</xpath> <to uri="activemq:queue:widget"/> </when> <otherwise> <to uri="activemq:queue:gadget"/> </otherwise> </choice> </route> use file instead
  • 24. PUBLIC PRESENTATION | CLAUS IBSEN24 What is Apache Camel? ● Endpoint as URIs <route> <from uri="file:inbox/orders?delete=true"/> <choice> <when> <xpath>/order/product = 'widget'</xpath> <to uri="activemq:queue:widget"/> </when> <otherwise> <to uri="activemq:queue:gadget"/> </otherwise> </choice> </route> parameters
  • 25. PUBLIC PRESENTATION | CLAUS IBSEN25 Standard Java or XML ● Java DSL is just Java
  • 26. PUBLIC PRESENTATION | CLAUS IBSEN26 Standard Java or XML ● XML DSL is just XML ● … with XSD schema for validation/tooling
  • 27. PUBLIC PRESENTATION | CLAUS IBSEN27 What is Apache Camel? ● Camel's Architecture
  • 28. PUBLIC PRESENTATION | CLAUS IBSEN28 What is Apache Camel? 150+ Components
  • 29. PUBLIC PRESENTATION | CLAUS IBSEN29 What is Apache Camel? 150+ Components
  • 30. PUBLIC PRESENTATION | CLAUS IBSEN30 What is Apache Camel? ● Summary ● Integration Framework ● Enterprise Integration Patterns (EIP) ● Routing (using DSL) ● Easy Configuration (endpoint as uri's) ● Just Java or XML code ● No Container Dependency ● A lot of components
  • 31. PUBLIC PRESENTATION | CLAUS IBSEN31 Agenda ● What is Apache Camel? ● A little Example ● Microservice Demo ● Standalone ● with Docker ● with Kubernetes ● More Information
  • 32. PUBLIC PRESENTATION | CLAUS IBSEN32 A Little Example ● File Copier Example
  • 33. PUBLIC PRESENTATION | CLAUS IBSEN33 A Little Example ● File Copier Example
  • 34. PUBLIC PRESENTATION | CLAUS IBSEN34 A Little Example ● File Copier Example
  • 35. PUBLIC PRESENTATION | CLAUS IBSEN35 A Little Example ● File Copier Example
  • 36. PUBLIC PRESENTATION | CLAUS IBSEN36 A Little Example ● File Copier Example
  • 37. PUBLIC PRESENTATION | CLAUS IBSEN37 Agenda ● What is Apache Camel? ● A little Example ● Microservice Demo ● Standalone ● with Docker ● with OpenShift / Kubernetes ● More Information
  • 38. PUBLIC PRESENTATION | CLAUS IBSEN38 Microservice Demo - Overview ● camel-archetype-cdi camel-archetype-web Java Standalone Apache Tomcat HTTP 8080 from timer to http to log from http choice setBody
  • 39. PUBLIC PRESENTATION | CLAUS IBSEN39 Creating new Camel Projects ● Using Command Shell ● From Eclipse
  • 40. PUBLIC PRESENTATION | CLAUS IBSEN40 Creating new Camel Projects ● ... or JBoss Forge
  • 41. PUBLIC PRESENTATION | CLAUS IBSEN41 Creating new Camel Projects ● Maven Archetypes Archetypes Archetypes camel-archetype-activemq camel-archetype-groovy camel-archetype-api-component camel-archetype-java camel-archetype-blueprint camel-archetype-scala camel-archetype-cdi camel-archetype-scr camel-archetype-component camel-archetype-spring camel-archetype-cxf-code-first-blueprint camel-archetype-spring-boot camel-archetype-cxf-contract-first-blueprint camel-archetype-spring-dm camel-archetype-dataformat camel-archetype-web
  • 42. PUBLIC PRESENTATION | CLAUS IBSEN42 Creating new Camel Projects ● camel-archetype-cdi To run from CLI mvn clean install exec:java
  • 43. PUBLIC PRESENTATION | CLAUS IBSEN43 Creating new Camel Projects ● add http component Adds the chosen component to the pom.xml file. CMD + ALT 4
  • 44. PUBLIC PRESENTATION | CLAUS IBSEN44 Creating new Camel Projects ● add change route to call http://localhost:8080
  • 45. PUBLIC PRESENTATION | CLAUS IBSEN45 Creating new Camel Projects ● add change bean to return a name
  • 46. PUBLIC PRESENTATION | CLAUS IBSEN46 Creating new Camel Projects ● camel-archetype-web To run from CLI mvn clean install jetty:run
  • 47. PUBLIC PRESENTATION | CLAUS IBSEN47 Microservice Demo - Overview ● camel-archetype-cdi camel-archetype-web Java Standalone Apache Tomcat HTTP 8080 from timer to http to log from http choice setBody We are ready to run standalone
  • 48. PUBLIC PRESENTATION | CLAUS IBSEN48 Running Standalone ● camel-archetype-web ● Start Apache Tomcat with bin/catalina run ● Copy the .war to Tomcat deploy folder (myweb.war)
  • 49. PUBLIC PRESENTATION | CLAUS IBSEN49 Running Standalone ● camel-archetype-cdi ● mvn install exec:java
  • 50. PUBLIC PRESENTATION | CLAUS IBSEN50 Monitor using hawtio embedded in Tomcat ● Copy hawtio.war to Tomcat deploy folder
  • 51. PUBLIC PRESENTATION | CLAUS IBSEN51 Agenda ● What is Apache Camel? ● A little Example ● Microservice Demo ● Standalone ● with Docker ● with OpenShift / Kubernetes ● More Information
  • 52. PUBLIC PRESENTATION | CLAUS IBSEN52 Camel and Docker ● Dockerizing your Camel Projects ● Using Roland Huss's Docker Maven Plugin ● https://github.com/rhuss/docker-maven-plugin .. by manually adding to pom.xml and configure ● ... but we use the Forge
  • 53. PUBLIC PRESENTATION | CLAUS IBSEN53 Camel and Docker ● Dockerizing your Camel Projects with JBoss Forge ● From CLI Add FORGE_HOME/bin to $PATH
  • 54. PUBLIC PRESENTATION | CLAUS IBSEN54 Camel and Docker ● Dockerizing your Camel Projects with JBoss Forge ● From Eclipse IDEA NetBeans CMD + ALT 4
  • 55. PUBLIC PRESENTATION | CLAUS IBSEN55 Camel and Docker ● Build Docker Containers ● mvn clean install docker:build ● ... Images now in your local docker repository camel-archetype-cdi camel-archetype-web docker-maven-plugin uses $DOCKER_HOST Fabric8 w/ OpenShift 3: DOCKER_HOST="tcp://vagrant.f8:2375" Boot2Docker: DOCKER_HOST="tcp://192.168.59.105:2375"
  • 56. PUBLIC PRESENTATION | CLAUS IBSEN56 Camel and Docker ● Run Docker Containers ● docker run -it -p 8080:8080 -p 8778:8778 172.30.111.183:5000/fabric8/myweb:1.0-SNAPSHOT The 10.000$$$ Docker Question What the f$QRC#%A%%EG is the IP address of the container 8080 = Tomcat 8778 = Jolokia
  • 57. PUBLIC PRESENTATION | CLAUS IBSEN57 Camel and Docker ● What is the IP Address of the Docker Container
  • 58. PUBLIC PRESENTATION | CLAUS IBSEN58 Camel and Docker ● camel-archetype-cdi ● I would need to change the hostname to the docker assigned IP address
  • 59. PUBLIC PRESENTATION | CLAUS IBSEN59 Camel and Docker ● camel-archetype-cdi ● .. and then build the docker image ● And then run the docker image ● docker run -it 172.30.111.183:5000/fabric8/mycdi:1.0- SNAPSHOT
  • 60. PUBLIC PRESENTATION | CLAUS IBSEN60 Camel and Docker ● Pheeew isn't this easier? Yes !!!
  • 61. PUBLIC PRESENTATION | CLAUS IBSEN61 Agenda ● What is Apache Camel? ● A little Example ● Microservice Demo ● Standalone ● with Docker ● with OpenShift / Kubernetes ● More Information
  • 62. PUBLIC PRESENTATION | CLAUS IBSEN62 Microservices Demo - Recap ● camel-archetype-cdi camel-archetype-web Java Standalone Apache Tomcat HTTP 8080 from timer to http to log from http choice setBody
  • 63. PUBLIC PRESENTATION | CLAUS IBSEN63 Microservices Demo - Use Service ● camel-archetype-cdi camel-archetype-web Java Standalone Apache Tomcat from timer to http to log from http choice setBody Service Kubernetes Service
  • 64. PUBLIC PRESENTATION | CLAUS IBSEN64 What is a Kubernetes Service ● Kubernetes Service http://fabric8.io/guide/services.html
  • 65. PUBLIC PRESENTATION | CLAUS IBSEN65 Define Kubernetes Service ● Define in pom.xml in <properties> Apache Tomcat from http choice setBody Service Container Port = Inside Docker Container (e.g. the port of Apache Tomcat) Service Port = Outside Consumers of Service to use Name of service
  • 66. PUBLIC PRESENTATION | CLAUS IBSEN66 Define Kubernetes Service ● ... generates into kubernetes.json using fabric8:json plugin Apache Tomcat from http choice setBody Service
  • 67. PUBLIC PRESENTATION | CLAUS IBSEN67 About using Kubernetes Service Discover Kubernetes Services Java Standalone from timer to http to log
  • 68. PUBLIC PRESENTATION | CLAUS IBSEN68 Client - Use Kubernetes Service ● Use {{service:name}} in Camel ... you can use default values {{service:name:host:port}} Java Standalone from timer to http to log host:port would be default if service is not discovered
  • 69. PUBLIC PRESENTATION | CLAUS IBSEN69 Microservice Demo - Ready for launch! ● camel-archetype-cdi camel-archetype-web Java Standalone Apache Tomcat from timer to http to log from http choice setBody Service Service defined Ready to deploy to Kubernetes
  • 70. PUBLIC PRESENTATION | CLAUS IBSEN70 Deploy - camel-archetype-web ● camel-archetype-web ● mvn clean install docker:build fabric8:apply Apache Tomcat from http choice setBody Service
  • 71. PUBLIC PRESENTATION | CLAUS IBSEN71 Deploy - camel-archetype-cdi ● camel-archetype-cdi ● mvn clean install docker:build fabric8:apply Java Standalone from timer to http to log
  • 72. PUBLIC PRESENTATION | CLAUS IBSEN72 fabric8 web console ● http://fabric8.vagrant.f8 ● Easy by configuring the replication size
  • 73. PUBLIC PRESENTATION | CLAUS IBSEN73 OpenShift 3 CLI ● oc get pods docker CLI is also possible docker images docker ps
  • 74. PUBLIC PRESENTATION | CLAUS IBSEN74 OpenShift 3 CLI ● oc get services
  • 75. PUBLIC PRESENTATION | CLAUS IBSEN75 OpenShift 3 CLI ● oc logs -f <pod-name>
  • 76. PUBLIC PRESENTATION | CLAUS IBSEN76 Scaling up / down ● ... by changing replication size on controller
  • 77. PUBLIC PRESENTATION | CLAUS IBSEN77 Scaling up / down ● web console shows we now have 3 pods
  • 78. PUBLIC PRESENTATION | CLAUS IBSEN78 Scaling up / down ● and the camel-archetype-cli pod is load balancing the mycoolservice among the 3 live pods
  • 79. PUBLIC PRESENTATION | CLAUS IBSEN79 Agenda ● What is Apache Camel? ● A little Example ● Microservice Demo ● Standalone ● with Docker ● with OpenShift / Kubernetes ● More Information
  • 80. PUBLIC PRESENTATION | CLAUS IBSEN80 Where do I get more information? ● Apache Camel Microservices ● http://camel.apache.org/camel-boot ● Fabric8 ● http://fabric8.io ● chat room #fabric-8 on freenode ● OpenShift 3 ● https://github.com/openshift/origin ● Kubernetes ● https://github.com/googlecloudplatform/kubernetes
  • 81. PUBLIC PRESENTATION | CLAUS IBSEN81 Any Questions ? ● Contact ● EMail: cibsen@redhat.com / claus.ibsen@gmail.com ● Twitter: @davsclaus ● Blog: http://davsclaus.com ● Linkedin: http://www.linkedin.com/in/davsclaus