comment développer un paas java en 30 minutes avec docker

17
@treeptikTeam #micropaas Un PaaS Java/docker en 30mn @treeptikTeam http://www.treeptik.fr Fabien Amico & Nicolas Muller

Upload: amico-fabien

Post on 27-Dec-2014

469 views

Category:

Technology


2 download

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 !

TRANSCRIPT

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

@treeptikTeam #micropaas

Un PaaS Java/docker en 30mn

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

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

@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

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

@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

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

@treeptikTeam #micropaas

Le Cloud Computing

SaaS

PaaS

IaaS

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

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

Présentation de la technologie Docker

Page 6: Comment développer un PaaS Java en 30 minutes avec 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 ?

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

@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…

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

@treeptikTeam #micropaas

Prérequis environnement

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

• CLI + API REST

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

@YourTwitterHandle @YourTwitterHandle #YourSessionHashtag

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

@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

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

@treeptikTeam #micropaas

Plugin Maven : Goals

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

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

@treeptikTeam #micropaas

Plugin Repository

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

</pluginRepositories>

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

@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>

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

@treeptikTeam #micropaas

Plugin Maven : MicroPaas

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

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

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

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

@treeptikTeam #micropaas

title-less slide

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

@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