SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
@FlorianBoulay#devoxxFr
Migration d'une webapp Tomcat
vers Vert.x
(ou Servlet contre Vert.x)
Moi
Florian Boulay
Développeur chez NextPerf
@FlorianBoulay
Motivations pour ce talk : Partager un retour sur un sujet non documenté
@FlorianBoulay#devoxxFr
Plan
1 - Présentation Vert.x
2 - Migration de Tomcat vers Vert.x
Q & A pendant tout le talk !
@YourTwitterHandle@YourTwitterHandle @FlorianBoulay#devoxxFr
Rappels sur Vert.x
@FlorianBoulay#devoxxFr
Résumé de Vert.x
Vert.x est une plate-forme très légère, très
performante tournant sur la JVM.
@FlorianBoulay#devoxxFr
Résumé de Vert.x
Quelques caractéristiques :
➔
Polyglote : tous langages tournant sur la JVM
➔
Scalable : API utilisant des IO non bloquantes et
asynchrone.
➔
Évenementielle
➔
Rapide, très léger
➔
Construit au dessus de Netty
Ce talk est sur la version 2.1
@FlorianBoulay#devoxxFr
Résumé de Vert.x
Ce qu'on peut construire avec Vert.x :
✔
API REST
✔
Webapp
✔
Applications server
✔
Frameworks de plus haut niveau
@FlorianBoulay#devoxxFr
Création d'un serveur HTTP
public class Server extends Verticle {
public void start() {
vertx.createHttpServer().requestHandler(new Handler<HttpServerRequest>() {
public void handle(HttpServerRequest req) {
req.response()
.putHeader("content-type", "text/html")
.end("<html><body><h1>Hello from vert.x!</h1></body></html>");
}
}).listen(8080);
}
}
@FlorianBoulay#devoxxFr
Création d'un serveur HTTP
Java 8
public class Server extends Verticle {
public void start() {
vertx.createHttpServer().requestHandler(req -> {
req.response()
.putHeader("content-type", "text/html")
.end("<html><body><h1>Hello from vert.x!</h1></body></html>");
}).listen(8080);
}
}
Code asynchrone basé sur des callback. Modèle
inspiré de Node.js. Callback hell possible.
@FlorianBoulay#devoxxFr
Création d'un serveur HTTP
Javascript
var vertx = require('vertx');
vertx.createHttpServer().requestHandler(function(req) {
request.response.putHeader("content-type", "text/html")
req.response.end("<html><body><h1>Hello from vert.x!
</h1></body></html>");
}).listen(8080)
var vertx = require('vertx');
vertx.createHttpServer().requestHandler(function(req) {
var file = req.path() === '/' ? 'index.html' : req.path();
req.response.sendFile('webroot/' + file);
}).listen(8080)
@FlorianBoulay#devoxxFr
Création d'un serveur HTTP
Node.js
var http = require("http");
var server = http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/html"});
response.write("<html><body><h1>Hello from vert.x!</h1></body></html>");
response.end();
});
server.listen(8080);
var vertx = require('vertx');
vertx.createHttpServer().requestHandler(function(req) {
var file = req.path() === '/' ? 'index.html' : req.path();
req.response.sendFile('webroot/' + file);
}).listen(8080)
var http = require("http");var server = http.createServer(function(request, response) { response.writeHead(200, {"Content-Type": "text/html"}); response.write("<!DOCTYPE "html">"); response.write("<html>"); response.write("<head>"); response.write("<title>Hello World Page</title>"); response.write("</head>"); response.write("<body>"); response.write("Hello
World!"); response.write("</body>"); response.write("</html>"); response.end();}); server.listen(80);
@FlorianBoulay#devoxxFr
Verticle – intro
✔
Point d'entrée de l'application
✔
Plusieurs verticles sont possibles
✔
Packaging d'un ou plusieurs verticle en
module
✔
Les modules sont les « libs » de Vert.x
@FlorianBoulay#devoxxFr
Verticle – Thread model (1)
➢
Chaque verticle est exécuté par un unique
thread à un instant donné
➢
Programmation d'un verticle comme une
application mono threadé
Règle d'or : ne pas bloquer l'event loop
(thread exécutant un verticle)
@FlorianBoulay#devoxxFr
Verticle – Thread model (2)
➢
Pour appeler des librairies bloquantes, il faut
les faire s'exécuter dans un worker verticle
➢
Rend compatible toutes les librairies existantes
bloquantes
@FlorianBoulay#devoxxFr
Verticle – communication (1)
✔
Communications via l'event bus entre Verticle
de la même JVM ou entre JVM
✔
Différents types supportés : pour être
compatible tout langage, JSON est un bon
format
✔
Modèle proche des acteurs
✔
Communication possible vers le browser !!
@FlorianBoulay#devoxxFr
Verticle – communication (2)
// send a message
EventBus eb = vertx.eventBus();
eb.send("verticle.address", "hello world");
// receive a message
Handler<Message<String>> myHandler = message -> {
System.out.println("I received a message " + message.body());
message.reply("This is a reply");
};
eb.registerHandler("verticle.address", myHandler);
Servlet
vs
Vert.x
@FlorianBoulay#devoxxFr
Points abordés
➢
Moteur de template
➢
HttpServletRequest HttpServerRequest→
➢
Class loaders
➢
Librairies incompatibles
➢
Librairies avec IO bloquantes
➢
Déploiement
➢
Sessions
@YourTwitterHandle@YourTwitterHandle @FlorianBoulay#devoxxFr
Moteur de template
@FlorianBoulay#devoxxFr
Moteur de template -Tomcat (1)
Moteurs de template compatibles Servlet ainsi
que ceux des spécifications JSP, JSF
@FlorianBoulay#devoxxFr
Moteur de template – Vert.x (2)
✔
Vert.x est uniquement un client et un serveur
HTTP
✔
API de bas niveau permettant d'écrire du code
dans une réponse HTTP ou d'envoyer un fichier
statique HTML
// HTML envoyé dans la réponse
req.response()
.putHeader("content-type", "text/html")
.end("<html><body><h1>Hello from vert.x!</h1></body></html>");
// Envoi d'un fichier statique
req.response().sendFile("webroot/index.html");
@FlorianBoulay#devoxxFr
Moteur de template – Vert.x (3)
➔
Intégration d'un moteur de template possible
➔
Il faut lire la doc
➔
Plus ou moins difficile selon le moteur
@FlorianBoulay#devoxxFr
Moteur de template – Vert.x (3)
Pas facile
@YourTwitterHandle@YourTwitterHandle @FlorianBoulay#devoxxFr
HttpServletRequest
→
HttpServerRequest
@FlorianBoulay#devoxxFr
HttpServ(l)e(t|r)Request (1)
// Vert.x
req.response()
.setStatusCode(200)
.putHeader("content-type", "text/html")
.end("<html><body><h1>Hello from vert.x!</h1></body></html>");
// Servlet
response.setStatus(200);
response.setHeader("content-type", "text/html");
PrintWriter out = response.getWriter();
out.write("<html><body><h1>Hello from vert.x!</h1></body></html>");
out.close();
API Proche
@FlorianBoulay#devoxxFr
HttpServ(l)e(t|r)Request (2)
// Servlet
String param = request.getParameter("debug");
// Vert.x
String param = req.params().get("debug");
API Proche
@FlorianBoulay#devoxxFr
HttpServ(l)e(t|r)Request (3)
Facile
Tant que ce qui est envoyé n'est pas du fichier HTML dynamique
@YourTwitterHandle@YourTwitterHandle @FlorianBoulay#devoxxFr
Class loaders
@FlorianBoulay#devoxxFr
Class loaders – Tomcat (1)
➢
Les webapp dans Tomcat ont un unique class
loader
➢
Toutes les classes, et tous les champs statiques
sont utilisables à tout moment
➢
Simple, mais problèmes liés aux threads
possibles
@FlorianBoulay#devoxxFr
Class loaders – Vert.x (2)
➢
Vert.x crée un class loader par instance de
Verticle
➢
Impossible d'avoir des données calculées ou
cachées statiques (ex: LoadingCache Guava)
@FlorianBoulay#devoxxFr
Class loaders – Vert.x (3)
Alternatives :
✔
shared data : maps et sets globaux contenant
des data immutables
✔
Cache externe type Memcache, Redis
✔
Interroger un Verticle faisant office de cache
@FlorianBoulay#devoxxFr
Class loaders
Pas facile
@YourTwitterHandle@YourTwitterHandle @FlorianBoulay#devoxxFr
Librairies avec IO
bloquantes
@FlorianBoulay#devoxxFr
Librairies avec IO bloquantes
➢
Les librairies avec IO bloquantes (JDBC,
Lecture de fichier…) doivent être isolées dans
des worker Verticle
➢
Certaines peuvent être remplacées, ex : JDBC
par le module Mysql Postgresql asynchrone
@FlorianBoulay#devoxxFr
Librairies avec IO bloquantes
Facile
@YourTwitterHandle@YourTwitterHandle @FlorianBoulay#devoxxFr
Déploiement
@FlorianBoulay#devoxxFr
Déploiement – Tomcat (1)
➔
Peu de typologies possibles avec Tomcat : 1
war (ou webapp explosée) sur un serveur ayant
Tomcat installé
➔
Plus scalable avec une webapp stateless
➔
Application avec état difficilement scalable
@FlorianBoulay#devoxxFr
Déploiement – Vert.x (2)
Possibilités au niveau le plus fin, le Verticle :
✔
Une application autonome avec tous les
Verticle en mode stateless sur chaque serveur.
✔
Chaque Verticle dans sa JVM. Communiquant
ensemble via l'event bus
✔
Un mix des 2, avec High Availibility
@FlorianBoulay#devoxxFr
Déploiement – Vert.x (3)
Possibilité au niveau applicatif :
✔
Une application peut être lancée en ligne de
commande avec la commande vertx
✔
Une application peut être packagé et être
lancée avec un java -jar
✔
Déploiement à partir du code
Facile
@FlorianBoulay#devoxxFr
Déploiement
Facile
@YourTwitterHandle@YourTwitterHandle @FlorianBoulay#devoxxFr
Sessions
@FlorianBoulay#devoxxFr
Sessions
➢
Si votre appli est stateful il faudra externaliser
l'état, via un cache par exemple
➢
Si l'appli est stateless, il ne devrait pas y avoir
de problème
➢
Si il y a de l'authentification via cookie, il
faudra la recoder.
@FlorianBoulay#devoxxFr
Sessions
neutre
@YourTwitterHandle@YourTwitterHandle @FlorianBoulay#devoxxFr
Summary
➔ Si c'est une webapp : difficile en cas de moteur non
transposable
➔ Si il s'agit d'un serveur de services REST : envisagée
➔ Si c'est une application server to server : difficile si beaucoup
de champs statiques
@FlorianBoulay#devoxxFr
Références
Concepts : http://vertx.io/manual.html
@YourTwitterHandle@YourTwitterHandle @FlorianBoulay#devoxxFr
Q & A

Más contenido relacionado

La actualidad más candente

Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptKhalid Jebbari
 
Retour d'expérience Varnish Cache chez Eurosport
Retour d'expérience Varnish Cache chez EurosportRetour d'expérience Varnish Cache chez Eurosport
Retour d'expérience Varnish Cache chez EurosportBenjamin Baumann
 
Développer et déployer une application php maintenable
Développer et déployer une application php maintenableDévelopper et déployer une application php maintenable
Développer et déployer une application php maintenableLeTesteur
 
Réu technodejs
Réu technodejsRéu technodejs
Réu technodejsnaholyr
 
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009Eric D.
 
[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrême[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrêmeOVHcloud
 
Un environnement de développement solide avec wamp
Un environnement de développement solide avec wampUn environnement de développement solide avec wamp
Un environnement de développement solide avec wampNicolas Beauvais
 
2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.jsTelecomValley
 
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...Publicis Sapient Engineering
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express jsAbdoulaye Dieng
 
Run java vs ruby
Run java vs rubyRun java vs ruby
Run java vs rubypinguin666
 
eZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductioneZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductionRoland Benedetti
 
NodeJs, une introduction
NodeJs, une introductionNodeJs, une introduction
NodeJs, une introductionToxicode
 

La actualidad más candente (14)

Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
FinistJUG - Apache TomEE
FinistJUG - Apache TomEEFinistJUG - Apache TomEE
FinistJUG - Apache TomEE
 
Retour d'expérience Varnish Cache chez Eurosport
Retour d'expérience Varnish Cache chez EurosportRetour d'expérience Varnish Cache chez Eurosport
Retour d'expérience Varnish Cache chez Eurosport
 
Développer et déployer une application php maintenable
Développer et déployer une application php maintenableDévelopper et déployer une application php maintenable
Développer et déployer une application php maintenable
 
Réu technodejs
Réu technodejsRéu technodejs
Réu technodejs
 
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
 
[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrême[FR] Les requêtes HTTP de l'extrême
[FR] Les requêtes HTTP de l'extrême
 
Un environnement de développement solide avec wamp
Un environnement de développement solide avec wampUn environnement de développement solide avec wamp
Un environnement de développement solide avec wamp
 
2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js2014.12.11 - TECH CONF #3 - Présentation Node.js
2014.12.11 - TECH CONF #3 - Présentation Node.js
 
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
XebiConFr - 15 - Apache Mesos, ou comment exploiter les ressources de votre d...
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express js
 
Run java vs ruby
Run java vs rubyRun java vs ruby
Run java vs ruby
 
eZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introductioneZ Publish Platform 5.2 - Webinaire d'introduction
eZ Publish Platform 5.2 - Webinaire d'introduction
 
NodeJs, une introduction
NodeJs, une introductionNodeJs, une introduction
NodeJs, une introduction
 

Destacado

Annotation Processor, trésor caché de la JVM
Annotation Processor, trésor caché de la JVMAnnotation Processor, trésor caché de la JVM
Annotation Processor, trésor caché de la JVMRaphaël Brugier
 
Présentation DevoxxFR 2015 sur GWT
Présentation DevoxxFR 2015 sur GWTPrésentation DevoxxFR 2015 sur GWT
Présentation DevoxxFR 2015 sur GWTDNG Consulting
 
API Asynchrones en Java 8
API Asynchrones en Java 8API Asynchrones en Java 8
API Asynchrones en Java 8José Paumard
 
[DevoxxFr] Savoir faire le deuil de son code
[DevoxxFr] Savoir faire le deuil de son code[DevoxxFr] Savoir faire le deuil de son code
[DevoxxFr] Savoir faire le deuil de son codeElleneDijoux
 
Devoxx France 2015 - Se préparer à l'arrivée d'Angular 2
Devoxx France 2015 - Se préparer à l'arrivée d'Angular 2Devoxx France 2015 - Se préparer à l'arrivée d'Angular 2
Devoxx France 2015 - Se préparer à l'arrivée d'Angular 2Romain Linsolas
 
Les Streams sont parmi nous
Les Streams sont parmi nousLes Streams sont parmi nous
Les Streams sont parmi nousJosé Paumard
 
How to fail at benchmarking?
How to fail at benchmarking?How to fail at benchmarking?
How to fail at benchmarking?Pierre Laporte
 
Bbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic searchBbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic searchIdriss Neumann
 
Trabajo de acces
Trabajo de accesTrabajo de acces
Trabajo de accessistemasiti
 
Windows 8 applications
Windows 8 applicationsWindows 8 applications
Windows 8 applicationsYoussef Laziz
 
Workshop Turismo y Gënero: Tecnología y Brecha Digita - PresentaciónlAlvaro c...
Workshop Turismo y Gënero: Tecnología y Brecha Digita - PresentaciónlAlvaro c...Workshop Turismo y Gënero: Tecnología y Brecha Digita - PresentaciónlAlvaro c...
Workshop Turismo y Gënero: Tecnología y Brecha Digita - PresentaciónlAlvaro c...Cristina Figueroa Domecq
 
Catalogue clc textile
Catalogue clc textileCatalogue clc textile
Catalogue clc textile010910
 
All Star Non-stop Fútbol&Basket
All Star Non-stop Fútbol&BasketAll Star Non-stop Fútbol&Basket
All Star Non-stop Fútbol&BasketTuocio Eventos
 

Destacado (20)

Annotation Processor, trésor caché de la JVM
Annotation Processor, trésor caché de la JVMAnnotation Processor, trésor caché de la JVM
Annotation Processor, trésor caché de la JVM
 
Présentation DevoxxFR 2015 sur GWT
Présentation DevoxxFR 2015 sur GWTPrésentation DevoxxFR 2015 sur GWT
Présentation DevoxxFR 2015 sur GWT
 
API Asynchrones en Java 8
API Asynchrones en Java 8API Asynchrones en Java 8
API Asynchrones en Java 8
 
[DevoxxFr] Savoir faire le deuil de son code
[DevoxxFr] Savoir faire le deuil de son code[DevoxxFr] Savoir faire le deuil de son code
[DevoxxFr] Savoir faire le deuil de son code
 
Devoxx France 2015 - Se préparer à l'arrivée d'Angular 2
Devoxx France 2015 - Se préparer à l'arrivée d'Angular 2Devoxx France 2015 - Se préparer à l'arrivée d'Angular 2
Devoxx France 2015 - Se préparer à l'arrivée d'Angular 2
 
Comment manager des geeks - Devoxx 2015
Comment manager des geeks - Devoxx 2015Comment manager des geeks - Devoxx 2015
Comment manager des geeks - Devoxx 2015
 
Les Streams sont parmi nous
Les Streams sont parmi nousLes Streams sont parmi nous
Les Streams sont parmi nous
 
Git flow in action
Git flow in actionGit flow in action
Git flow in action
 
How to fail at benchmarking?
How to fail at benchmarking?How to fail at benchmarking?
How to fail at benchmarking?
 
Bbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic searchBbl microservices avec vert.x cdi elastic search
Bbl microservices avec vert.x cdi elastic search
 
Trabajo de acces
Trabajo de accesTrabajo de acces
Trabajo de acces
 
Sena 07 jul
Sena 07 julSena 07 jul
Sena 07 jul
 
Jonathanvillalta
JonathanvillaltaJonathanvillalta
Jonathanvillalta
 
Prv Raquel Gadea
Prv Raquel GadeaPrv Raquel Gadea
Prv Raquel Gadea
 
Presentacion FSC III
Presentacion FSC IIIPresentacion FSC III
Presentacion FSC III
 
Windows 8 applications
Windows 8 applicationsWindows 8 applications
Windows 8 applications
 
Workshop Turismo y Gënero: Tecnología y Brecha Digita - PresentaciónlAlvaro c...
Workshop Turismo y Gënero: Tecnología y Brecha Digita - PresentaciónlAlvaro c...Workshop Turismo y Gënero: Tecnología y Brecha Digita - PresentaciónlAlvaro c...
Workshop Turismo y Gënero: Tecnología y Brecha Digita - PresentaciónlAlvaro c...
 
Catalogue clc textile
Catalogue clc textileCatalogue clc textile
Catalogue clc textile
 
Clase 2
Clase 2Clase 2
Clase 2
 
All Star Non-stop Fútbol&Basket
All Star Non-stop Fútbol&BasketAll Star Non-stop Fútbol&Basket
All Star Non-stop Fútbol&Basket
 

Similar a Migration de Tomcat vers Vert.x

JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxAnisSalhi3
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de donnéespprem
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfqsdqsd4
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.ioNicolas Hennion
 
Kafka Connect & Kafka Streams - Paris Kafka User Group
Kafka Connect & Kafka Streams - Paris Kafka User GroupKafka Connect & Kafka Streams - Paris Kafka User Group
Kafka Connect & Kafka Streams - Paris Kafka User GroupHervé Rivière
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesChristophe Furmaniak
 
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptxAbdellahELMAMOUN
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Jérôme Petazzoni
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec DockerLuis Lopez
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Jérôme Petazzoni
 
Workshop mesos docker devoxx fr 2016
Workshop mesos docker devoxx fr 2016Workshop mesos docker devoxx fr 2016
Workshop mesos docker devoxx fr 2016Julia Mateo
 
Kubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestrationKubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestrationWescale
 
Kubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration DockerKubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration DockerJean-Baptiste Claramonte
 
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Publicis Sapient Engineering
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...Publicis Sapient Engineering
 
Comment gérer des applications nécessitant la persistance des données avec Ku...
Comment gérer des applications nécessitant la persistance des données avec Ku...Comment gérer des applications nécessitant la persistance des données avec Ku...
Comment gérer des applications nécessitant la persistance des données avec Ku...Florian Woerner
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Société ELOSI
 

Similar a Migration de Tomcat vers Vert.x (20)

JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptxJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-gr__ce-__-Docker.pptx
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de données
 
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdfJFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
JFTL-2018-Comment-mettre-en-place-des-plateformes-de-test-grâce-à-Docker.pdf
 
Introduction à docker.io
Introduction à docker.ioIntroduction à docker.io
Introduction à docker.io
 
Kafka Connect & Kafka Streams - Paris Kafka User Group
Kafka Connect & Kafka Streams - Paris Kafka User GroupKafka Connect & Kafka Streams - Paris Kafka User Group
Kafka Connect & Kafka Streams - Paris Kafka User Group
 
Rex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantesRex docker en production meeutp-docker-nantes
Rex docker en production meeutp-docker-nantes
 
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
709469716-Docker-Intro.pptx709469716-Docker-Intro.pptx
 
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
Docker : quels enjeux pour le stockage et réseau ? Paris Open Source Summit ...
 
Déploiements avec Docker
Déploiements avec DockerDéploiements avec Docker
Déploiements avec Docker
 
Docker en Production (Docker Paris)
Docker en Production (Docker Paris)Docker en Production (Docker Paris)
Docker en Production (Docker Paris)
 
Workshop mesos docker devoxx fr 2016
Workshop mesos docker devoxx fr 2016Workshop mesos docker devoxx fr 2016
Workshop mesos docker devoxx fr 2016
 
What is Docker
What is Docker What is Docker
What is Docker
 
Kubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestrationKubernetes University - Cap sur l'orchestration
Kubernetes University - Cap sur l'orchestration
 
Kubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration DockerKubernetes University, Cap sur l’orchestration Docker
Kubernetes University, Cap sur l’orchestration Docker
 
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
Devoxx France : Kubernetes University, Cap sur l’orchestration Docker !
 
La révolution Docker
La révolution DockerLa révolution Docker
La révolution Docker
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services  Par Al...
XebiCon'16 : Choisissez votre style avec Docker & Amazon Web Services Par Al...
 
Comment gérer des applications nécessitant la persistance des données avec Ku...
Comment gérer des applications nécessitant la persistance des données avec Ku...Comment gérer des applications nécessitant la persistance des données avec Ku...
Comment gérer des applications nécessitant la persistance des données avec Ku...
 
Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !Devoxx 2017 : toutes les actualités technologiques à surveiller !
Devoxx 2017 : toutes les actualités technologiques à surveiller !
 

Migration de Tomcat vers Vert.x