créer un micro paas avec docker et maven
DESCRIPTION
Slide de la présentation faite à MIX-IT 2014 - http://goo.gl/bJdLcn 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
1
Comment développer un PaaS Java en 1HMix-it Lyon 2014 – Hervé Fontbonne – Fabien AMICO
2LibreOffice Productivity Suite
2
La Team
Hervé Fontbonne@hervefontbonneDocteur en biochimieDéveloppeur / Formateur
Fabien AMICO@fabienamicoDev Java 10 ans d'expérience DG associé Treeptik
3LibreOffice Productivity Suite
3
Sommaire
Présentation du projet
Présentation de Docker
Présentation du plugin micropaas-maven
Mise en oeuvre du PaaS avec le plugin
Développement d'une nouvelle image
4LibreOffice Productivity Suite
4
Pourquoi le Cloud et pourquoi le PaaS
Environement Java hétérogèneEnvironement complexe
5LibreOffice Productivity Suite
5
Nomenclature du cloud
Acteur du PaaS :IBM : BlueMixRedHat : OpenShiftOracle : Oracle CloudTreeptik : CloudUnitCloudBeesClever-cloud
6LibreOffice Productivity Suite
6
DOCKER et les containers
7LibreOffice Productivity Suite
7
Enquête
Combien de personnes ont déjà entendu parler de docker ?
L’ont déjà essayé ?
L’utilise en production ?
8LibreOffice Productivity Suite
8
Docker en chiffres
Projet opensourcé par DotCloud en mars 2013
Initialement écrit en Python, porté en GO
11.000 Stars GitHub
De nombreux projets l’utilisent : OpenShift, Google, CloudUnit...
9LibreOffice Productivity Suite
9
Docker la technique
Linux Kernel 64 bits > 3.8
Namespaces
Cgroups
AUFS
LXC
CLI + API REST
10LibreOffice Productivity Suite
10
Historique des versions
0.5 : Volume
0.6.5 (Fin octobre 2013) : Link / name version
0.7 : Support des principales distrib linux
0.8 : Amélioration des Perf importantes
0.9 : LibContainer contourne LXC (Compatible BSD Jails et
Solaris Zone)
0.10 : Qualité code et Qualité sysadmin
11LibreOffice Productivity Suite
11
Démo Docker CLICréation / manipulation d'un container UbuntuCréation d'un deamonCréation d'un container Java
12LibreOffice Productivity Suite
12
Docker 3 règles à respecter
Les Trusted build c'est super... mais il ne faut pas les utiliser !
Utiliser les bons “Patterns” et les bon outils (Ex : Ambassador)
Attention aux évolutions très rapides.
13LibreOffice Productivity Suite
13
Le micropaas-maven-plugin
14LibreOffice Productivity Suite
14
Le plugin micropaas-maven
Objectifs
API Java / Docker : com.kpelykh.docker-java
Docker 0.8.1
Projet présent sur GitHub
https://github.com/Treeptik/micropaas-docker-plugin
https://github.com/Treeptik/micropaas-docker-vagrant
https://github.com/Treeptik/micropaas-image
15LibreOffice Productivity Suite
15
Goals du plugin
micropaas:createContainer
micropaas:startContainer
micropaas:deploy (nécessite package)
micropaas:reInitContainer
micropaas:restartContainer
micropaas:stopContainer
micropaas:removeContainer
16LibreOffice Productivity Suite
16
Live ….
Déploiement d'une application avec le pluginUtilisation de la DB du pluginPrésentation du code Java et DockerCréation d'une nouvelle image Jboss-mysqlUtilisation de la nouvelle image
17LibreOffice Productivity Suite
17
Merci ...
Mail : [email protected] / [email protected] : @hervefontbonne / @fabienamico