Présentation de Maven et de son utilisation en entreprise dans le cadre du Ch'ti JUG, le 15 juin 2009.
Pourquoi Maven ? Pourquoi l'adopter ? Les bonnes et mauvaise pratiques. Son avenir ...
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Fabien Arcellier
Après maints périples, vous avez progressivement amélioré votre capacité à gérer des environnements au travers d'Infra as Code. Votre code initialement simple a pris de l'embonpoint et vous sentez la réalité vous rattraper implacablement : vous êtes en train de créer de la complexité, voire même de la dette.
Loin d'être une fatalité, à partir de notre expérience de développeur (Fabien) et d'ops (Alexandre), nous vous proposons un road trip dans des
pratiques de développement déclinées sur l'Infra as Code (Bash, Puppet et Ansible).
Nous présentons des pratiques, des plus simples activables immédiatement à des démarches plus complexes pour dessiner une big picture de l'Infra as Code, de ses contraintes, de ses forces et de ses pièges.
* Comment mettre en place des boucles de feedback les plus courtes possibles ?
* Comment faire du test driven development sur l'infrastructure ?
* Quels patterns et outils pour tester une configuration sans tirer toute votre infra et itérer plus rapidement ?
* Quel est le rapport entre Tetris, un ascenceur et l'Infra as Code ?
Présentation de Maven et de son utilisation en entreprise dans le cadre du Ch'ti JUG, le 15 juin 2009.
Pourquoi Maven ? Pourquoi l'adopter ? Les bonnes et mauvaise pratiques. Son avenir ...
Infra as Code, choisissez vous la pilule rouge ou la pilule bleue - Devoxx 2016Fabien Arcellier
Après maints périples, vous avez progressivement amélioré votre capacité à gérer des environnements au travers d'Infra as Code. Votre code initialement simple a pris de l'embonpoint et vous sentez la réalité vous rattraper implacablement : vous êtes en train de créer de la complexité, voire même de la dette.
Loin d'être une fatalité, à partir de notre expérience de développeur (Fabien) et d'ops (Alexandre), nous vous proposons un road trip dans des
pratiques de développement déclinées sur l'Infra as Code (Bash, Puppet et Ansible).
Nous présentons des pratiques, des plus simples activables immédiatement à des démarches plus complexes pour dessiner une big picture de l'Infra as Code, de ses contraintes, de ses forces et de ses pièges.
* Comment mettre en place des boucles de feedback les plus courtes possibles ?
* Comment faire du test driven development sur l'infrastructure ?
* Quels patterns et outils pour tester une configuration sans tirer toute votre infra et itérer plus rapidement ?
* Quel est le rapport entre Tetris, un ascenceur et l'Infra as Code ?
Dans cette présentation, nous donnons plusieurs réponses aux grandes questions classiques associées au déploiement avec Docker. Entre autres :
- comment orchestrer des déploiements non triviaux (plusieurs containers sur plusieurs machines) ?
- comment avoir des métriques sur les ressources utilisées par les containers ?
- comment optimiser les performances de Docker, en particulier pour des applications où ces performances sont critiques ?
- comment intégrer Docker avec des outils de "configuration management" comme Puppet, Chef, Salt, Ansible ?
- comment implémenter la "service discovery", ou, de manière générale, connecter entre eux plusieurs containers ?
La présentation a été donnée Lundi 8 Septembre à Paris dans les locaux de Zenika, cabinet spécialisé dans l'architecture informatique et les méthodes Agiles possédant une triple compétence de conseil, réalisation et formation.
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSmartnSkilled
Devenez opérationnel sur Docker et déployez vos applications dans des conteneurs.
Cette formation vous permet d'avoir :
Une vision générale de la technologie Docker
- Découvrir les concepts de Docker
- Présenter les services proposés autour de Docker
- Comprendre l’intégration de Docker avec son écosystème
Des connaissances techniques pour monter une infrastructure
Découvrez la formation vidéo par ici :
https://www.smartnskilled.com/tutoriel/formation-en-ligne-construire-et-administrer-vos-conteneurs-avec-docker
Les paquets snaps « les paquets d’applications linux universels, nouvelle g...Vincent JOBARD
Le paquet snap est un nouveau format de paquet d'applications pour système Linux, adapté autant à l'IoT au Serveur ou au Poste de travail, fonctionnant aussi bien sur Debian, Fedora ou Ubuntu (entre autres). Decouvrez ce nouveau format d'applications, sont fonctionnement et ses opportunités.
Windows Azure est une plateforme IaaS qui n'est pas réservée exclusivement aux application .NET. Cette session explore et explique comment déployer le serveur d'application JOnAS sur le cloud de Microsoft
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Aurelien Navarre
Ce n'est pas vraiment du Drupal mais ça peut servir à tous les drupalistes ! Pour le meetup Drupal Lyon de juillet 2016 j'ai voulu parler des containers mais surtout de l'orchestration. Que ce soit LXC, ou Docker peu importe en fait. Tout dépend de vos besoins. Mais pour l'orchestration, ma préférence va clairement à Ansible qui est facile d'apprentissage et si pratique au quotidien, que ce soit pour vos environnements de dév ou prod.
Quand java prend de la vitesse, apache maven vous garde sur les railsArnaud Héritier
Le rythme d’évolution (et donc de support) de Java s’accélère ces dernières années (et nous n’allons pas nous plaindre). Désormais une nouvelle version de Java est dépréciée tous les deux ans!
* Java 5 : Octobre 2009
* Java 6 : Février 2013
* Java 7 : Avril 2015 (QUOI ? DEJA ? MAINTENANT ?)
* Java 8 : Mars 2017 (incompatibilité source vs binaire, vous allez découvrir...)
Mais vous, ou plutôt vos applications, comment gérez vous leurs transitions d’une version de Java à une autre ?
Découvrez dans cette session comment Apache Maven, et son outillage (toolchain, animal-sniffer, …) vous aident à jongler entre différentes versions de Java sans douleur pour vos projets.
Une caméra 📹 en DIY sur une mangeoire d'oiseau 🐦 au milieu d’un jardin 🌳 ?Membré Guillaume
Filmer une mangeoire d’oiseau avec un Raspberry Pi, mais pourquoi faire ? Parce que c’est reposant :)
Au lieu d’utiliser une solution clé en main et en utilisant du matériel low cost, comme un Raspberry Pi, j’ai commencé ce projet avec une simple webcam d'intérieur en USB, puis de fil en aiguille, j'ai ajouté du POE, un allumage / extinction à l'aide d'un Arduino en fonction de l'heure de lever et coucher du soleil, une détection de mouvement pour ne prendre des photos qu'au bon moment…
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm
Kubernetes est un orchestrateur de conteneur open source, initialement développé par les ingénieurs Google. C’est maintenant la plate-forme de référence pour administrer des clusters d’application basé sur des conteneurs.
Dans cette formation, vous découvrirez l’API de Kubernetes et les ressources essentiels au déploiement d’application basés sur des conteneurs. Vous apprendrez en apprendrez en détail l’architecture de Kubernetes et les communications entre les différents composants du plan de contrôle. Vous serez en mesure de décrire en détail les différentes installations de Kubernetes et toutes les phases d’un déploiement de cluster Kubernetes. Enfin vous apprendrez a utilisé le cli kubectl afin de contrôler votre cluster et vous déploierez votre première application basée sur des conteneurs.
Distribuer une application avec Symfony & Docker *Thierry M.
Titre original de cette présentation
donnée à l'occasion du PHP Tour 2014 à Lyon :
Développer et packager votre application Symfony2 avec Docker et Vagrant
* Désormais obsolète voir plutôt
Using Docker with Symfony
(https://symfony.com/doc/current/setup/docker.html)
Dans cette présentation, nous donnons plusieurs réponses aux grandes questions classiques associées au déploiement avec Docker. Entre autres :
- comment orchestrer des déploiements non triviaux (plusieurs containers sur plusieurs machines) ?
- comment avoir des métriques sur les ressources utilisées par les containers ?
- comment optimiser les performances de Docker, en particulier pour des applications où ces performances sont critiques ?
- comment intégrer Docker avec des outils de "configuration management" comme Puppet, Chef, Salt, Ansible ?
- comment implémenter la "service discovery", ou, de manière générale, connecter entre eux plusieurs containers ?
La présentation a été donnée Lundi 8 Septembre à Paris dans les locaux de Zenika, cabinet spécialisé dans l'architecture informatique et les méthodes Agiles possédant une triple compétence de conseil, réalisation et formation.
Support formation vidéo : Construire et administrer vos conteneurs avec DockerSmartnSkilled
Devenez opérationnel sur Docker et déployez vos applications dans des conteneurs.
Cette formation vous permet d'avoir :
Une vision générale de la technologie Docker
- Découvrir les concepts de Docker
- Présenter les services proposés autour de Docker
- Comprendre l’intégration de Docker avec son écosystème
Des connaissances techniques pour monter une infrastructure
Découvrez la formation vidéo par ici :
https://www.smartnskilled.com/tutoriel/formation-en-ligne-construire-et-administrer-vos-conteneurs-avec-docker
Les paquets snaps « les paquets d’applications linux universels, nouvelle g...Vincent JOBARD
Le paquet snap est un nouveau format de paquet d'applications pour système Linux, adapté autant à l'IoT au Serveur ou au Poste de travail, fonctionnant aussi bien sur Debian, Fedora ou Ubuntu (entre autres). Decouvrez ce nouveau format d'applications, sont fonctionnement et ses opportunités.
Windows Azure est une plateforme IaaS qui n'est pas réservée exclusivement aux application .NET. Cette session explore et explique comment déployer le serveur d'application JOnAS sur le cloud de Microsoft
Meetup Drupal Lyon 2016 - Environnements de dév Drupal automatisés LXC et Ans...Aurelien Navarre
Ce n'est pas vraiment du Drupal mais ça peut servir à tous les drupalistes ! Pour le meetup Drupal Lyon de juillet 2016 j'ai voulu parler des containers mais surtout de l'orchestration. Que ce soit LXC, ou Docker peu importe en fait. Tout dépend de vos besoins. Mais pour l'orchestration, ma préférence va clairement à Ansible qui est facile d'apprentissage et si pratique au quotidien, que ce soit pour vos environnements de dév ou prod.
Quand java prend de la vitesse, apache maven vous garde sur les railsArnaud Héritier
Le rythme d’évolution (et donc de support) de Java s’accélère ces dernières années (et nous n’allons pas nous plaindre). Désormais une nouvelle version de Java est dépréciée tous les deux ans!
* Java 5 : Octobre 2009
* Java 6 : Février 2013
* Java 7 : Avril 2015 (QUOI ? DEJA ? MAINTENANT ?)
* Java 8 : Mars 2017 (incompatibilité source vs binaire, vous allez découvrir...)
Mais vous, ou plutôt vos applications, comment gérez vous leurs transitions d’une version de Java à une autre ?
Découvrez dans cette session comment Apache Maven, et son outillage (toolchain, animal-sniffer, …) vous aident à jongler entre différentes versions de Java sans douleur pour vos projets.
Une caméra 📹 en DIY sur une mangeoire d'oiseau 🐦 au milieu d’un jardin 🌳 ?Membré Guillaume
Filmer une mangeoire d’oiseau avec un Raspberry Pi, mais pourquoi faire ? Parce que c’est reposant :)
Au lieu d’utiliser une solution clé en main et en utilisant du matériel low cost, comme un Raspberry Pi, j’ai commencé ce projet avec une simple webcam d'intérieur en USB, puis de fil en aiguille, j'ai ajouté du POE, un allumage / extinction à l'aide d'un Arduino en fonction de l'heure de lever et coucher du soleil, une détection de mouvement pour ne prendre des photos qu'au bon moment…
Alphorm.com Formation Kubernetes : Installation et ConfigurationAlphorm
Kubernetes est un orchestrateur de conteneur open source, initialement développé par les ingénieurs Google. C’est maintenant la plate-forme de référence pour administrer des clusters d’application basé sur des conteneurs.
Dans cette formation, vous découvrirez l’API de Kubernetes et les ressources essentiels au déploiement d’application basés sur des conteneurs. Vous apprendrez en apprendrez en détail l’architecture de Kubernetes et les communications entre les différents composants du plan de contrôle. Vous serez en mesure de décrire en détail les différentes installations de Kubernetes et toutes les phases d’un déploiement de cluster Kubernetes. Enfin vous apprendrez a utilisé le cli kubectl afin de contrôler votre cluster et vous déploierez votre première application basée sur des conteneurs.
Distribuer une application avec Symfony & Docker *Thierry M.
Titre original de cette présentation
donnée à l'occasion du PHP Tour 2014 à Lyon :
Développer et packager votre application Symfony2 avec Docker et Vagrant
* Désormais obsolète voir plutôt
Using Docker with Symfony
(https://symfony.com/doc/current/setup/docker.html)
[Sildes] plateforme centralisée d’analyse des logs des frontaux http en temps...Guillaume MOCQUET
Cet article traite d’une part, de la solution de virtualisation d’infrastructure serveurs via la plateforme VMware vSphere / vCenter et d'autre part, de la plateforme open source d’analyse de logs des frontaux web en temps réel basée sur Rsyslog (extension du protocole basique Syslog), ElasticSearch, Logstash et Kibana (ELK Stack).
Alphorm.com Support de la Formation Red Hat Administrateur de Virtualization ...Alphorm
Formation complète ici :
http://www.alphorm.com/tutoriel/formation-en-ligne-red-hat-enterprise-virtualization-rhcva-rh318
Après avoir suivi la formation Red Hat RH124, la formation Red Hat RH134 RHCSA, et la formation Red Hat Entreprise Linux RHCE (RH254), passant à la nouvelle certification RHCVA avec cette nouvelle formation Red Hat Enterprise Virtualization RHCVA.
Red Hat Enterprise Virtualization est une solution de virtualisation complète pour serveurs et postes de travail de l’éditeur Red Hat.
Durant cette formation Red Hat Enterprise Virtualization RHCVA, vous allez avoir les clés pour apprendre, comprendre et administrer RHEV d’une manière professionnelle et dans des grandes architectures.
Ludovic vous détaillera durant cette formation Red Hat Enterprise Virtualization RHCVA comment déployer et administrer des serveurs et de postes bureautiques (VDI), Créer et comprendre la migration, l‘équilibrage de charge et la haute disponibilité des machines virtuelles au travers de cluster de virtualisation.
Toujours par la pratique, pendant cette formation Red Hat Enterprise Virtualization RHCVA, vous allez apprendre à créer, déployer, administrer et migrer des machines virtuelles Linux et Windows hébergées sur des serveurs Red Hat Enterprise Virtualization Hypervisor ou des serveurs Red Hat Enterprise Linux Server dédiés.
Comme à son habitude, Ludovic partagera avec vous toutes les astuces et bonnes pratiques avec plein de travaux pratiques.
A l'issue de cette formation Red Hat Enterprise Virtualization RHCVA, vous serez en mesure de passer l'examen RH318 pour obtenir la certification RHCVA (Red Hat Certified Virtualization Administrator).
Alphorm.com Support Formation Red Hat Administration Système III RHCSE-(Rh254)Alphorm
Formation complète ici :
http://www.alphorm.com/tutoriel/formation-en-ligne-red-hat-entreprise-linux-rhce-rh254
Après la formation Red Hat RH254 vous pourrez prétendre a se certifier RHCE
Durant cette formation Red Hat RH254 vous allez avoir les clés pour apprendre, comprendre et administrer un système RHEL 7 d’une manière professionnelle et dans des grandes architectures.
Ludovic vous apprendra, durant cette formation Red Hat RH254, comment :
utilser Systemd pour monter des systèmes de fichiers et gérer les ressources mémoire, cpu, etc …
Savoir-faire un basculement de ses serveurs sur IPV6
Mettre des services de haute disponibilité sur les liens réseaux
Mettre en œuvre des serveurs Virtual host et https sur votre serveur Web et sécurisé des espaces privées
Gérer les serveurs de noms dans votre entreprise avec Bind et unbound
Mettre en place une passerelle de courrier avec postfix
Améliorer la sécurité et configurer un Firewall pour votre réseau
Gérer des systèmes de gestion de base de données relationnelle avec MariaDB
Automatiser les taches et améliorer sa productivité avec les scripts Shell
Déployer rapidement des conteneurs virtuels avec la folie Docker et les Linux containers LXC
Comme à son habitude, Ludovic partagera avec vous toutes les astuces et bonnes pratiques avec plein de travaux pratiques.
Développement avec Intégration continue:Git, Jenkins, Tomcat, CentOS, ubuntuAhmed Archive
Comment préparer un environnement de développement (ici sur ubunu) avec intégration continue (Jenkins sur CentOS 6, déployé sur Tomcat) et déploiement automtaique sur Tomcat (CentOS)
Introduction à Apache Cassandra — IppEvent chez OVH 2017-03-02Jérôme Mainaud
Découvrez au cours de cette présentation le fonctionnement de la base de données Cassandra.
- Qu'est-ce que Cassandra ?
- Pourquoi l'utiliser ?
- Comment l'utiliser ?
- Comment la mettre en œuvre ?
Cette présentation a été jouée lors de l'IppEvent qui a eu lieu le 2017-03-02 dans les locaux d'OVH Lyon. Elle fait partir du temps fort Big Data 2017 https://blog.ippon.fr/2017/03/01/un-mois-de-mars-100-big-data/.
Merci à l'équipe d'OVH pour son accueil chaleureux.
Alphorm.com Formation PostgreSQL, la Haute DisponibilitéAlphorm
Vous trouverez la formation ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-postgresql-la-haute-disponibilite
Après la formation d'administration de PostgreSQL, voilà la formation qui traite La Haute Disponibilité sous PostgreSQL.
Noureddine DRISSI vous montre les différentes méthodes de la mise de la HD sous PostgreSQL : Le Warm Standby ou Log Shipping, Le Hot Standby, Streaming Replication, pgPool-II, La réplication avec Slony.
Pour suivre cette formation vous devez avoir des connaissances solides sur Linux (vous avez déjà la formation LPIC-1 et LPIC-2 sur alphorm) et aussi d'avoir suivi la formation PostgreSQL et la formation SQL.
La formation complète est disponible ici:
http://www.alphorm.com/tutoriel/formation-en-ligne-linux-lpic-2
Cette formation est la suite de la Formation Linux LPIC-1. Elle vous permet d'aller plus loin dans le monde Linux et de maitriser des solutions Linux très avancées.
Dans cette formation, qui couvre les deux examens LPI 201 et LPI 202, Noël Macé vous apprend à administrer un parc de serveurs Linux de petite à moyenne taille et de planifier, mettre en œuvre et dépanner un petit réseau mixte (MS, Linux, Samba, NFS, DNS, DHCP, firewall, VPN, SSH, web cache/proxy, mail, serveur web, reverse proxy, serveur FTP).
A la fin de cette formation vous serez en mesure de passer l'examen LPIC-2, et gagner une certification très reconnue dans le marché du travail.
Maven/Ivy vs OSGi (Toulouse Jug 26-05-2011)hibnico
Présentation par Nicolas Lalevée des modèles de gestion de dépendances Maven, Ivy et OSGi au Toulouse Jug du 26 Mai 2011.
Abstract:
La gestion des dépendances, sac de noeuds presque par définition, on va essayer de démêler tout ça.
Après avoir fait un état des lieux avec Maven car il est l'incontournable du moment, nous irons voir comment Ivy peut décrire assez finement et gérer avec souplesse des dépendances. Nous verrons ensuite comment le modèle de dépendances d'OSGi est original et apporte encore de nouveaux concepts. Deux mondes s'affrontent alors, celui de Maven et Ivy face à celui d'OSGi; on tentera enfin d'esquisser un meilleur des deux mondes.
Alphorm.com Formation Odoo Technique : Installer et ConfigurerAlphorm
Odoo est une suite de progiciels intégrés comme les ERP (Enterprise Ressource Planning) ou encore les PGI (Progiciel de Gestion Intégré), mais odoo va beaucoup plus loin de par son spectre fonctionnel.
Créé par Fabien Pinkaers avec la première version sortie en 2005 sous le nom de Tiny ERP, puis devenu OpenERP en 2008 pour devenir en 2014 odoo. La solution odoo est la solution de progiciel intégré le plus utilisée à ce jour avec un Apps store comportant plus de 24 000 modules.
Dans cette formation Odoo Technique vous allez découvrir la différence entre odoo et les solutions qu'offre le marché concernant les progiciels intégrés. Vous allez découvrir la communauté autour de cette solution de gestion ainsi que l'entreprise et son fondateur. Mais vous allez surtout découvrir le potentiel que odoo peut apporter dans une entreprise.
Cette formation se base sur un Lab virtuel que nous allons construire ensemble. Durant cette formation Odoo Technique vous allez apprendre à installer un serveur odoo sur la base de la distribution Debian, vous apprendrez comment installer des modules de base comme un CRM, une gestion des ventes, la comptabilité ainsi qu'un module d'administration de site internet. Vous obtiendrez à la fin de cette formation un serveur odoo fonctionnel.
Pendant le déroulement de cette formation Odoo Technique vous allez utiliser des outils à la portée de tous et téléchargeables gratuitement sur internet afin de vous permettre de reproduire les différentes phases de cette formation. Vous allez utiliser la solution de VMware Workstation Player et vous utiliserez un émulateur de terminal pour communiquer avec votre serveur.
La formation Odoo Technique vous montrera comment télécharger de nouvelle fonctionnalité avec les modules de l'Apps de odoo. Vous allez apprendre à utiliser un serveur de recette pour ne pas risquer de planter votre serveur de production et de tester en toute sécurité vos modules.
Java dans Windows Azure: l'exemple de JonasMicrosoft
Jonas, serveur d'application J2EE, a récemment été porté par Bull, avec l'aide de Microsoft, sur Windows Azure. Au-delà de la mixité des environnements Java et Microsoft, cette session démontrera par l'exemple la grande ouverture de Windows Azure à des technologies peu habituées à s'éxécuter en environnement Windows.
Bien que Docker soit facile d'utilisation, construire une image reste un exercice compliqué.
Optimisation, layers, et sécurité nécessitent de s'abstraire des Dockerfile basiques qu'on peut trouver sur internet.
Dans ce BBL, nous verrons comment bien packager une application Spring Boot dans une image Docker/OCI.
Nous allons parcourir les bonnes pratiques préconisées par Spring, les pièges à éviter, comment bien écrire un Dockerfile pour optimiser la construction et l'image finale pour une exécution dans Kubernetes et nous verrons aussi des moyens alternatifs de construction d'images Spring Boot et l'outillage d'analyse à ajouter à votre toolbox.
Outil de construction de projet adoré par certain, décrié par d'autres, que peut apporter Maven à vos projets ? Dans cette présentation pratique et sans angélisme, les points forts et les faiblesses de Maven ont été abordés. En marge de la présentation, Nicolas a présenté quelques bonnes pratiques à mettre en place sur les projets.
Comment débuter en devops et apprendre à réaliser son premier pipeline. Très facilement et en toute simplicité.
Une formation gratuite pour s'initier au devops.
https://youtu.be/tiSfXCM8VTw
https://gitlab.com/xavki/pipeline-saison-1
SRE - Mythes et Réalités - Volcamp 2023.pdfHenri Gomez
Il y a encore trop souvent une vision fantasmée de l’activité SRE, ce qui entraîne mécaniquement des retours à la réalité qui sont parfois douloureux.L’intention de ce talk est de faire un retour d’expérience SRE, sur ce que nous avons pu voir, Jean-Pascal et Henri, dans des entreprises de petites à grandes, des jeunes pousses ou de vénérables institutions.
L’idée est de vous armer pour éviter le maximum de déconvenues et rendre l’activité SRE la plus profitable et efficiente possible.
Je s'appelle Glowroot - LyonJUG Oct 2018Henri Gomez
Que vous soyez Dev, Ops ou QA, vous avez sûrement eu à investiguer des problèmes de performances sur une application Java.
Savez-vous que cela peut se faire simplement, sans toucher la moindre ligne de code, en moins de 5mn et sans impact sur votre application ?
Mieux encore, si je vous disais que vous pouvez utiliser le même outil que vous soyez en Dev, QA ou en production. Le même outil pour tous, ça sent bon le DevOps non ?
2. Henri Gomez
CI Architect @ Axway
+20 ans dans l’industrie logicielle
Architecte Java, CI et Direction de production
OpenSource Activist
Apache Tomcat
JPackage
openjdk-osx-build
4. Définition d’un livrable
C’est un artefact utilisable par les équipes up-stream
Pour un Dev ce sont donc les équipes QA et/ou Ops
5. Jar, war, zip, tarball ?
Ce sont des archives simples, non opérables directement
6. Les questions à se poser
Gestion des pré-requis
Cycle de vie (mise à jour, suppression)
Quid du déploiement (qui, quoi, comment)
Localisation dans le FileSystem (FHS rules)
Les droits d'exécutions et accès dans le FileSystem
7. Packaging Natif
Coeur de la pile applicative des OS
Gestion des dépendances
Mise à jour automatique ou sélective
Largement utilisé par les Ops
8. Packaging sous Unix
RPM (Redhat Package Manager) sous RHEL/CentOS/
Fedora, SLES/OpenSuse, Mandriva
DEB sous Debian/Ubuntu
PKG sous Solaris
9. Qu’est-ce qu’un package ?
Un fichier (.rpm, .deb)
Des données (fichiers et programmes)
Du code exécuté lors de l’installation, la mise à jour ou la
suppression du package
Lié à une architecture (Intel, ARM, PowerPC en 32 ou
64bits) ou neutre (exemple: une application Java)
10. Points communs avec
Maven
Construction par DSL
Quelques commandes pour les manipuler (rpm, apt-get)
Gestion des dépendances pour la construction mais aussi
pour l’exécution
Dépôts de packages, accessible en local ou via HTTP
Nexus et Artifactory peuvent servir de dépôts RPM
Mises à jour automatiques ou contrôlées
11. Un DSL pour les Ops
Simple
Quelques macros
SH powered
12. Construire un RPM
Des fichiers binaires - depuis l’entrepôt de livrables
Des sources - depuis le SCM
Un fichier de construction, le SPECFILE
20. Historique
%changelog
* Sat Dev 03 2011 henri.gomez@gmail.com 1.0.3-1
- Adapt spec to OpenSuse 12.1
* Sun Nov 20 2011 henri.gomez@gmail.com 1.0.2-1
- Make use of OpenSuse 11.4 macros
* Sun Jun 19 2011 henri.gomez@gmail.com 1.0.1-1
- Update Application
* Sun Jun 19 2011 henri.gomez@gmail.com 1.0.0-2
- Add user account creation/deletion
* Sun May 22 2011 henri.gomez@gmail.com 1.0.0-1
- Initial RPM
21. AUTONOME
Un package est auto-suffisant
Programmes principaux et annexes (ex: logrotate)
Données
Comptes utilisateurs d’exécution
Contrôle total sur le cycle de vie ‘en situation’
22. CYCLE DE VIE IN SITU
Contrôle total sur le cycle de vie ‘en situation’
Hooks pre/post installation
Hook lors de la mise à jour
Hooks pre/post désintallation
Hooks sur opération sur autres packages
23. ET ENCORE
Un processus déterministe et donc réplicable
Peut être utilisé par Puppet ou Chef
Des artifacts centralisables comme pour Maven
Une approche composant d’exécution
24. Types de RPMs
RPMs OS
RPMs OS
RPMs OS
Fournis par votre distribution Linux
RPMs Applicatif
RPMs Applicatif
RPMs Applicatif
RPMs Configuration
RPMs Configuration Produits par les Devs & Ops
RPMs Configuration
RPMs Configuration
Produits par les Ops
25. L’ASSEMBLAGE
Installer une usine à packages (Jenkins)
Créer un dépôt de packages
Apache HTTPd
Nexus/Artifactory
Préparer des images Linux (exemple: JeOS)
26. Usine a packages
Jenkins (what else ?)
Un agent Jenkins par distribution cible
Déployer les outils de construction packages sur l’agent
rpm-build, make, autoconf (RPM)
build-essential, devscripts, ubuntu-dev-tools (DEB)
27. dépôt de packages
Serveur Apache HTTPd
Installer createrepo (RPM), dpkg-dev (DEB)
Upload via web-dav ou ssh (plus simple)
Nexus/Artifactory
Installer createrepo (RPM), dpkg-dev (DEB)
Upload via web-dav (par Maven par exemple)
28. JeOS
Juste les composants essentiels de l’OS
Moins de packages installés
Taux de mise à jour plus faible
Réduction des risques de failles de sécurité
Une empreinte mémoire et disque réduite
29. De JeOS à instance
Inventaire des besoins
Pré-requis et dépendances
Spécificités applicatives
42. Licences et copyright
Photos et logos appartiennent à leur auteurs/
propriétaires respectifs.
Contenu sous Creative Commons 3.0
http://creativecommons.org/licenses/by-nc-sa/3.0/us/