créer un micro paas avec docker et maven

17
1 Comment développer un PaaS Java en 1H Mix-it Lyon 2014 – Hervé Fontbonne – Fabien AMICO

Upload: amico-fabien

Post on 21-Jun-2015

588 views

Category:

Software


4 download

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

Page 1: Créer un Micro PaaS avec Docker et Maven

1

Comment développer un PaaS Java en 1HMix-it Lyon 2014 – Hervé Fontbonne – Fabien AMICO

Page 2: Créer un Micro PaaS avec Docker et Maven

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

Page 3: Créer un Micro PaaS avec Docker et Maven

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

Page 4: Créer un Micro PaaS avec Docker et Maven

4LibreOffice Productivity Suite

4

Pourquoi le Cloud et pourquoi le PaaS

Environement Java hétérogèneEnvironement complexe

Page 5: Créer un Micro PaaS avec Docker et Maven

5LibreOffice Productivity Suite

5

Nomenclature du cloud

Acteur du PaaS :IBM : BlueMixRedHat : OpenShiftOracle : Oracle CloudTreeptik : CloudUnitCloudBeesClever-cloud

Page 6: Créer un Micro PaaS avec Docker et Maven

6LibreOffice Productivity Suite

6

DOCKER et les containers

Page 7: Créer un Micro PaaS avec Docker et Maven

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 ?

Page 8: Créer un Micro PaaS avec Docker et Maven

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

Page 9: Créer un Micro PaaS avec Docker et Maven

9LibreOffice Productivity Suite

9

Docker la technique

Linux Kernel 64 bits > 3.8

Namespaces

Cgroups

AUFS

LXC

CLI + API REST

Page 10: Créer un Micro PaaS avec Docker et Maven

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

Page 11: Créer un Micro PaaS avec Docker et Maven

11LibreOffice Productivity Suite

11

Démo Docker CLICréation / manipulation d'un container UbuntuCréation d'un deamonCréation d'un container Java

Page 12: Créer un Micro PaaS avec Docker et Maven

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.

Page 13: Créer un Micro PaaS avec Docker et Maven

13LibreOffice Productivity Suite

13

Le micropaas-maven-plugin

Page 14: Créer un Micro PaaS avec Docker et Maven

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

Page 15: Créer un Micro PaaS avec Docker et Maven

15LibreOffice Productivity Suite

15

Goals du plugin

micropaas:createContainer

micropaas:startContainer

micropaas:deploy (nécessite package)

micropaas:reInitContainer

micropaas:restartContainer

micropaas:stopContainer

micropaas:removeContainer

Page 16: Créer un Micro PaaS avec Docker et Maven

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

Page 17: Créer un Micro PaaS avec Docker et Maven

17LibreOffice Productivity Suite

17

Merci ...

Mail : [email protected] / [email protected] : @hervefontbonne / @fabienamico