Comment développer un PaaS Java en 30 minutes avec docker

Preview:

DESCRIPTION

Slide de la présentation faite à DevoxxFR 2014 - http://goo.gl/Vrwqkx Les plateformes Cloud de type PaaS se démocratisent chaque jour au sein des DSI et des équipes de développeurs. En parallèle la gamme des solutions s’étoffe régulièrement OpenShift, CloudFoundry, CloudUnit et évolue techniquement très vite. En 2013, docker a révolutionné la mise en place des PaaS comme la virtualisation à ses débuts a révolutionné la création de IaaS. Certainement la technologie à suivre en 2014 !

Citation preview

@treeptikTeam #micropaas

Un PaaS Java/docker en 30mn

@treeptikTeam http://www.treeptik.fr Fabien Amico & Nicolas Muller

@treeptikTeam #micropaas

Tools in Action • Présentation de l’équipe • Le  « Cloud Computing » • Présentation de docker • Historique • Technologies utilisées

• Notre solution : micropaas-maven-plugin • Objectifs • Démo

@treeptikTeam #micropaas

L’équipe • Fabien AMICO • @fabienamico • Développeur JEE • CTO Treeptik • 10 ans d’expérience

• Une équipe de 10 personnes spécialisés dans le cloud et java

• Nicolas MULLER • @zepouet • Développeur JEE / Liferay • Dev Mobile • 13 ans d’expérience • Bidouilleur en herbe

@treeptikTeam #micropaas

Le Cloud Computing

SaaS

PaaS

IaaS

@YourTwitterHandle #DVXFR14{session hashtag} @treeptikTeam #micropaas

Présentation de la technologie Docker

@treeptikTeam #micropaas

Enquête

• Combien de personnes ont déjà entendu parler de docker ?

• Combien de personnes l’ont déjà essayé ?

• Combien de personnes l’utilisent-ils en production ?

@treeptikTeam #micropaas

Origines de docker

• Projet opensourcé par DotCloud en mars 2013

• Initialement écrit en Python, porté en GO

• 11.000 Stars GitHub

• De nombreux projets l’utilisent : OpenShit, Dokku, CloudUnit…

@treeptikTeam #micropaas

Prérequis environnement

• Linux Kernel 64 bits > 3.8 • Cgroups • LXC • Namespaces • AUFS

• CLI + API REST

@YourTwitterHandle @YourTwitterHandle #YourSessionHashtag

@treeptikTeam #micropaas

Plugin Maven : MicroPaaS

• Objectif • Utilise une librairie opensource Java pour Docker • Avantages // inconvénients

• Projet présent sur GitHub et déjà accessible •  https://github.com/Treeptik/micropaas-docker-plugin

•  https://github.com/Treeptik/micropaas-docker-vagrant •  https://github.com/Treeptik/micropaas-image

@treeptikTeam #micropaas

Plugin Maven : Goals

• micropaas:createContainer • micropaas:startContainer • micropaas:deploy (nécessite package) • micropaas:reInitContainer • micropaas:restartContainer • micropaas:stopContainer • micropaas:removeContainer

@treeptikTeam #micropaas

Plugin Repository

<pluginRepositories> <pluginRepository> <id>micropaas-plugin</id> <url>http://www.treeptik.fr/repository/</url> </pluginRepository>

</pluginRepositories>

@treeptikTeam #micropaas

Intégration dans pom.xml

<plugin> <groupId>fr.treeptik.micropaas.maven.plugins</groupId> <artifactId>micropaas-maven-plugin</artifactId> <version>0.0.1</version> <configuration> <urlDockerManager>http://192.168.1.103:4243</urlDockerManager> <containerImage>micropaas/tomcat-mysql</containerImage> <containerName>superProjetTest</containerName> <databaseName>super-database</databaseName> </configuration> </plugin>

@treeptikTeam #micropaas

Plugin Maven : MicroPaas

• Architecture MicroPaaS image • Lancement container via CLI • Intégration Live Plugin MicroPaas

@YourTwitterHandle #DVXFR14{session hashtag} @treeptikTeam #micropaas

@treeptikTeam #micropaas

title-less slide

@treeptikTeam #micropaas

Crédit image / Creative Commons •  Rue pavée — By-Nc-Sa

• http://www.flickr.com/photos/22914687@N05/4957591422/sizes/l/

•  Sous la Tour Eiffel — By-Nc-Sa

• http://www.flickr.com/photos/stewiedewie/244850735/sizes/l/in/photostream/

•  Sous le pont — photo par B.Monginoux - By-Nc-Nd

• http://www.landscape-photo.net/displayimage.php?pid=5194

•  Le Louvre – Photo par Anthony Gaudun - By-Nc-Sa

• http://www.flickr.com/photos/anthonygaudun/7474397964/sizes/o/in/photostream/ •  Slide template created by @glaforge, completed by @nmartignole for Devoxx FR2014

Recommended