@ContainerDay16 @ModuloM @jpthiery @kodokojo
De la construction au déploiement
d’applications avec des containers
Antoine ...
Agenda
@ContainerDay16 @ModuloM @jpthiery @kodokojo
•Génèse
•Architecture
•Démo Kodo Kojo
•Travailler avec les containers
...
@ContainerDay16 @ModuloM @jpthiery @kodokojo
Antoine Le Taxin @modulom
@ContainerDay16 @ModuloM @jpthiery @kodokojo
Jean-Pascal Thiery @jpthiery
@ContainerDay16 @ModuloM @jpthiery @kodokojo
Dark ages du devOps 
• Sprint 0
• Pas le choix des outils
• Faire la queue dans le bureau du SI ou la méthode shadow IT ?
...
Démocratisation des containers 
• Conteneuriser des agents de build
• Conteneuriser le Jenkins
• Conteneuriser toute une u...
Germination de l’écosystème des conteneurs
• Piloter un ensemble de containers sur un ensemble de machines

• Outils d’inf...
Et paf
• Une usine partageable et utilisable par tous

• Simplicité d’utilisation avec une UI centralisée

• Kodo Kojo, un...
@ContainerDay16 @ModuloM @jpthiery @kodokojo
Démo time !
Kodo Kojo, son architecture
@ContainerDay16 @ModuloM @jpthiery @kodokojo
@ContainerDay16 @ModuloM @jpthiery @kodokojo
Super, mais…
Comment travailler avec
des containers ?
Synergie front / back ?
@ContainerDay16 @ModuloM @jpthiery @kodokojo
Faire une image du front pour le backeux
! C’est l’image qui prend en charge la gestion des 

versions des dépendances



...
Faire « une » image du back pour le fronteux
! Pas besoin d’installer tous les outils pour développer la partie front



!...
Tests d’intégration
@ContainerDay16 @ModuloM @jpthiery @kodokojo
Tu te mock ?


! Avoir la main sur le comportement des scénarios de tests




" Implémenter tous les comportements de tous...
Lancer chaque type de service sur le poste


! Pouvoir lancer de vrais tests d’intégration





" Maintenir les versions à...
Les containers à la rescousse !
! Pouvoir lancer les tests de la même manière quel que soit 

l’environnement

! L’état in...
@ContainerDay16 @ModuloM @jpthiery @kodokojo
Démo time !
épisode 2
Utilisez et contribuez
https://github.com/kodokojo



https://gitter.im/kodokojo/kodokojo
@ContainerDay16 @ModuloM @jpthie...
@ContainerDay16 @ModuloM @jpthiery @kodokojo
Des questions ?
@ContainerDay16 @ModuloM @jpthiery @kodokojo
Merci !
@ContainerDay16 @ModuloM @jpthiery @kodokojo
De la construction au déploiement
d’applications avec des containers
Antoine ...
Prochain SlideShare
Chargement dans…5
×

Container Day 2016 - De la construction au déploiement d’applications avec des containers

203 vues

Publié le

Comment chez Kodo Kojo nous avons utilisé les containers pour travailler et conteneuriser une usine logicielle complète.

Publié dans : Logiciels
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
203
Sur SlideShare
0
Issues des intégrations
0
Intégrations
20
Actions
Partages
0
Téléchargements
4
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • A votre avis, combien d’étapes pour monter une usine logicielle complète à la main ?
    Qui dit moins de 5 ? Entre 5 et 10 ? Plus de 10 ? Plus de 100 ?

    Liste des trucs à faire :
    - télécharger chaque binaire, qui a besoin d’un environnement d’exec différent (ruby pour Gitlab, java pour Jenkins, ...)
    - les déposés sur le ou les serveurs (peut y’en avoir plusieurs)
    - les configurer chacune des briques (qui ont bien sûr chacun leur petite façon de faire)
    - j’ai une instance qui tourne… mais les compte par défaut, tout le monde les connais
    - ll faut donc créer des comptes et enlever les comptes par défaut, mais pour pour faire l’authentification, il faut mettre en place du https (générer les certificats, les installer sur chaque brique, de manière à chaque fois différente)
    - Du coup seulement maintenant je peux ajouter des comptes sur mes briques (fois n brique !!)
    - Ouf, j’ai une usine qui (normalement) devrait fonctionner… Et encore je n’ai pas de monitoring

    Ca fait en gros 17 étapes … 

    Je vais vous montrer comment on peut le faire en 3 cliques sur Kodo Kojo  ! =>
    - création d’un compte
    - nom du projet + liste des briques (pour le moment limitées)
    - lancement des images gitlab / jenkins / nexus =
         - chacune fait sont initialitsation interne et peut prendre du temps (Gitlab = onmibus, etc.) 
         - on crée les urls sécurisés, conventionné (nom brique tiret nom projet) vers chaque conteneurs
         - on sécurise les briques > https + les users sont déjà créer et l’utilisateur par défaut est modifié
         - on ajoute le compte créer comme administrateur
  • Container Day 2016 - De la construction au déploiement d’applications avec des containers

    1. 1. @ContainerDay16 @ModuloM @jpthiery @kodokojo De la construction au déploiement d’applications avec des containers Antoine Le Taxin
 Jean-Pascal Thiery
    2. 2. Agenda @ContainerDay16 @ModuloM @jpthiery @kodokojo •Génèse •Architecture •Démo Kodo Kojo •Travailler avec les containers •Démo test d’intégration
    3. 3. @ContainerDay16 @ModuloM @jpthiery @kodokojo Antoine Le Taxin @modulom
    4. 4. @ContainerDay16 @ModuloM @jpthiery @kodokojo Jean-Pascal Thiery @jpthiery
    5. 5. @ContainerDay16 @ModuloM @jpthiery @kodokojo
    6. 6. Dark ages du devOps  • Sprint 0 • Pas le choix des outils • Faire la queue dans le bureau du SI ou la méthode shadow IT ? @ContainerDay16 @ModuloM @jpthiery @kodokojo
    7. 7. Démocratisation des containers  • Conteneuriser des agents de build • Conteneuriser le Jenkins • Conteneuriser toute une usine logicielle ? @ContainerDay16 @ModuloM @jpthiery @kodokojo
    8. 8. Germination de l’écosystème des conteneurs • Piloter un ensemble de containers sur un ensemble de machines
 • Outils d’infrastructure
 
 @ContainerDay16 @ModuloM @jpthiery @kodokojo
    9. 9. Et paf • Une usine partageable et utilisable par tous
 • Simplicité d’utilisation avec une UI centralisée
 • Kodo Kojo, une usine Open Source en 3 clics !
 
 @ContainerDay16 @ModuloM @jpthiery @kodokojo
    10. 10. @ContainerDay16 @ModuloM @jpthiery @kodokojo Démo time !
    11. 11. Kodo Kojo, son architecture @ContainerDay16 @ModuloM @jpthiery @kodokojo
    12. 12. @ContainerDay16 @ModuloM @jpthiery @kodokojo Super, mais… Comment travailler avec des containers ?
    13. 13. Synergie front / back ? @ContainerDay16 @ModuloM @jpthiery @kodokojo
    14. 14. Faire une image du front pour le backeux ! C’est l’image qui prend en charge la gestion des 
 versions des dépendances
 
 
 ! Les tests et les étapes de build conditionnent la création de l’image
 
 
 ! Facilite le partage de la partie front pour le reste de l’équipe @ContainerDay16 @ModuloM @jpthiery @kodokojo
    15. 15. Faire « une » image du back pour le fronteux ! Pas besoin d’installer tous les outils pour développer la partie front
 
 ! Grâce à docker-compose, on peut facilement lancer 
 toutes les images qui constituent la stack back
 
 ! Une flexibilité qui permet de lancer un back utilisant
 un cluster local ou un cluster dans le cloud
 
 ! Facilite l’accès aux logs de la partie back @ContainerDay16 @ModuloM @jpthiery @kodokojo
    16. 16. Tests d’intégration @ContainerDay16 @ModuloM @jpthiery @kodokojo
    17. 17. Tu te mock ? 
 ! Avoir la main sur le comportement des scénarios de tests 
 
 " Implémenter tous les comportements de tous les outils…
 et les maintenir tout le temps @ContainerDay16 @ModuloM @jpthiery @kodokojo
    18. 18. Lancer chaque type de service sur le poste 
 ! Pouvoir lancer de vrais tests d’intégration
 
 
 " Maintenir les versions à jour
 
 
 " Il faut s’assurer à la main de l’état initial entre chaque test @ContainerDay16 @ModuloM @jpthiery @kodokojo
    19. 19. Les containers à la rescousse ! ! Pouvoir lancer les tests de la même manière quel que soit 
 l’environnement
 ! L’état initial d’un test est reproductible très facilement
 
 
 ! Pouvoir paralléliser l’exécution des tests 
 " Introduit de la complexité (gestion réseau, logs, …) @ContainerDay16 @ModuloM @jpthiery @kodokojo
    20. 20. @ContainerDay16 @ModuloM @jpthiery @kodokojo Démo time ! épisode 2
    21. 21. Utilisez et contribuez https://github.com/kodokojo
 
 https://gitter.im/kodokojo/kodokojo @ContainerDay16 @ModuloM @jpthiery @kodokojo Licence Open Source GPLv3 Processus de contribution C4
 (The Collective Code Construction Contract)

    22. 22. @ContainerDay16 @ModuloM @jpthiery @kodokojo Des questions ?
    23. 23. @ContainerDay16 @ModuloM @jpthiery @kodokojo Merci !
    24. 24. @ContainerDay16 @ModuloM @jpthiery @kodokojo De la construction au déploiement d’applications avec des containers Antoine Le Taxin
 Jean-Pascal Thiery

    ×