Retour d'experience du Groupe Express Roularta sur l'intégration de Puppet (mais finalement Chef) dans leur système d'information, permettant en quelques cliques et quelques minutes de mettre en place une ou plusieurs machines de développement parfaitement fonctionnelle et à jour, le tout hébergé sur le cloud Amazon.
http://chtijug.org/session-spring-batch-avec-ekino-le-29-novembre/
Nous avons le plaisir de vous annoncer que la prochaine session du Ch’ti JUG est prévue le 29 novembre 2011. Elle aura lieu à l’IUT A de Lille 1, boulevard Paul Langevin, à Villeneuve d’Ascq. Plan d’accès
Le thème de cette session est Spring Batch : un framework pour implémenter des traitements de masse en Java.
Cette présentation sera animée par Olivier Bazoud / @obazoud et Julien Jakubowski / @jak78.
Cette session est rendue possible grâce à Ekino / @3k1no.
http://www.parisjug.org/xwiki/bin/view/Meeting/20130514
Quand j'écris une application Web, il y a pléthore de frameworks Web. Quand j'accède à une base de données, il y a des solutions de persistance (Hibernate, etc.). Quand je fais du batch, je suis... à poil ! Les batchs seraient-ils les parents pauvres de Java ? Spring Batch offre pourtant une solution pour vous guider lors de l'écriture de vos batchs en Java en toute décontraction. Le 14 Mai, Olivier et Julien vous présenteront Spring Batch et vous donneront une autre vision des batchs en Java.
Intervenants : Julien Jakubowski et Olivier Bazoud
Vous ne manquez pas de tutoriels pour écrire un "Hello, world" avec n'importe quel framework. Mais que se passe-t-il quand, sur cette base, vous faites travailler une équipe de 4 développeurs pendant 6 mois ? Petit retour d'expérience sur l'architecture logicielle d'une application Symfony2 de taille moyenne, avec des visualisations inédites et des indices pour répondre à cette éternelle question : mais où je le mets ce code ?
Présentation effectuée au PHP Tour Lyon 2014
Découvrez Spring Batch, sa simplicité, les concepts de bases ainsi que les notions avancées. Tout tout tout, vous saurez tout sur Spring Batch!
Intervenant : Olivier Bazoud @obazoud
Synchroniser ses applications plus rapidement avec du low-codegplanchat
Ou comment être plus efficace pour synchroniser ses applications, grâce à un ETL en PHP
Présentation par Grégory Planchat au Forum PHP, le 22 octobre 2021.
http://chtijug.org/session-spring-batch-avec-ekino-le-29-novembre/
Nous avons le plaisir de vous annoncer que la prochaine session du Ch’ti JUG est prévue le 29 novembre 2011. Elle aura lieu à l’IUT A de Lille 1, boulevard Paul Langevin, à Villeneuve d’Ascq. Plan d’accès
Le thème de cette session est Spring Batch : un framework pour implémenter des traitements de masse en Java.
Cette présentation sera animée par Olivier Bazoud / @obazoud et Julien Jakubowski / @jak78.
Cette session est rendue possible grâce à Ekino / @3k1no.
http://www.parisjug.org/xwiki/bin/view/Meeting/20130514
Quand j'écris une application Web, il y a pléthore de frameworks Web. Quand j'accède à une base de données, il y a des solutions de persistance (Hibernate, etc.). Quand je fais du batch, je suis... à poil ! Les batchs seraient-ils les parents pauvres de Java ? Spring Batch offre pourtant une solution pour vous guider lors de l'écriture de vos batchs en Java en toute décontraction. Le 14 Mai, Olivier et Julien vous présenteront Spring Batch et vous donneront une autre vision des batchs en Java.
Intervenants : Julien Jakubowski et Olivier Bazoud
Vous ne manquez pas de tutoriels pour écrire un "Hello, world" avec n'importe quel framework. Mais que se passe-t-il quand, sur cette base, vous faites travailler une équipe de 4 développeurs pendant 6 mois ? Petit retour d'expérience sur l'architecture logicielle d'une application Symfony2 de taille moyenne, avec des visualisations inédites et des indices pour répondre à cette éternelle question : mais où je le mets ce code ?
Présentation effectuée au PHP Tour Lyon 2014
Découvrez Spring Batch, sa simplicité, les concepts de bases ainsi que les notions avancées. Tout tout tout, vous saurez tout sur Spring Batch!
Intervenant : Olivier Bazoud @obazoud
Synchroniser ses applications plus rapidement avec du low-codegplanchat
Ou comment être plus efficace pour synchroniser ses applications, grâce à un ETL en PHP
Présentation par Grégory Planchat au Forum PHP, le 22 octobre 2021.
Remplacer un SI existant par un nouvel outil basé sur l'état de l'art (Symfony CMF, ElasticSearch, RabbitMQ, Docker, Backbone.js) sans reculer sans cesse la mise en production, c'est une question d'agilité. Concevoir l'architecture, découvrir des stratégies de migration partielle, investir dans des systèmes de synchronisation, partager l'avancée d'un projet avec tous, former les équipes au nouvel outil, accompagner les changements dans l'organisation de l'entreprise, voici quelques recettes de migration continue illustrées par le cas du CMS de 20Minutes.fr.
La majorité des problèmes rencontrés en production auraient pu être anticipées en amont. Rapide aperçu du process entre le développement et la mise en production.
Les frameworks de développement web, on les aime, on les déteste. Quand jQuery est sorti, c'était une révolution. Aujourd'hui beaucoup de lead developers conseillent de ne pas l'utiliser. Il faut dire que les frameworks donnent naissance à des débats passionnés.
Dans le monde PHP, c'est pareil : Symfony, Zend Framework ou Laravel ? Derrière ces questions se cachent des choix cruciaux : WTF contre RAD, vitesse contre expressivité, facilité d'utilisation contre facilité d'intégration... Un framework est toujours un compromis fait à un instant donné pour aider ses utilisateurs sans se mettre en travers de leur chemin.
Mais les besoins des développeurs changent. C'est pourquoi les frameworks doivent aussi changer. Après une brève histoire des frameworks de développement depuis les années 2000, nous essaierons de découvrir ensemble quelles sont les tendances dans l'évolution des frameworks, de comprendre où ils nous mèneront dans quelques années, et si vous aurez à les utiliser...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...Chipway
Comment fonctionnent le projet et la communauté open source Drupal ?
Présentation du fonctionnement de la communauté Drupal qui développe le logiciel libre Drupal : son organisation, modèle économique, revue de projet et transmission entre mainteneurs, ... pour lancer la discussion avec la communauté WordPress.
Le Test Driven Infrastructure, c'est un peu le TDD pour les projets DevOps. Il va vous permettre de tester votre infrastructure unitairement, de bout en bout et à chaque changement.
Lors de ce Hand's on Lab, nous mettrons en oeuvre une infrastructure avec Chef ainsi que les tests associés.
Github: https://github.com/obazoud/devoxx-tdd-for-devops
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007Eric D.
Il est possible d'aller plus loin que les applications classiques. En profitant pleinement des capacités du navigateur cet atelier vous montrera comment améliorer les performances et modulariser l'existant. HTTP, REST et Ajax sont au menu pour une application orienté services légère, simple à modifier et avec une API partageable avec vos clients.
PHP jouit parfois d'une mauvaise réputation au niveau des performances. Nous verrons si cette réputation est méritée, si les performances sont réellement un problème pour utiliser PHP.
PHP a une architecture qui lui permet de monter en charge sans mettre en place des solutions complexes. Entre l'installation, la configuration et les possibilités au niveau applicatif, cette session vous permettra de répondre efficacement à la problématique des performances.
Pour finir l'année en beauté, le Spring User Groupe FR vous propose de nous retrouver le Mardi 20 Décembre 2011 à 19h00 pour une session sur "Spring Batch Avancé". Lors de la première présentation (http://www.slideshare.net/sugfrance/spring-batch-concepts-de-base), nous avons vu les concepts de base de "Spring Batch".
Lors de cette session nous vous proposons d'aborder les notions avancés de "Spring Batch" en tenant compte de vos suggestions (voir le Google Moderator http://www.google.com/moderator/#16/e=5f36). A la fin de la conférence, nous vous proposerons un quizz afin de gagner quelques exemplaires de "Spring Batch in Action" (A.Cogoluegnes, T. Templier, G. Gregory, O. Bazoud), offerts par la société Ekino (http://www.ekino.com / @3k1n0).
Olivier Bazoud / @obazoud est architecte logiciel chez Ekino (http://www.ekino.com), spécialisé dans les technologies Java/JEE/Spring. Fort de 12 ans d’expérience, Olivier est en charge de l’architecture technique de sites et d'applications web à très fort traffic.
Julien Jakubowski / @jak78 est architecte chez OCTO Technology. Il a 10 ans d'expérience acquise au sein de projets à fort engagement pour des grands comptes, dans des secteurs d'activités variés : banque, assurance, industrie, grande distribution...
Julien accompagne ses clients sur des problématiques d'architecture, d'expertise technique, et de productivité des développements.
Il est également co-fondateur et président du Ch'ti JUG (Java User Group de la région Lilloise), qui rassemble tous les mois plus de 100 passionnés de technologies Java.
Pourquoi vous ne pouvez pas tester votre codeRémi Lesieur
"Non mais nous, on ne peut pas tester"
Vous avez déjà entendu cette phrase ? Parce que moi, oui, très souvent.
Il y a toujours au moins une bonne raison évoquée. Et si on en parlait ?
Gérer son environnement de développement avec DockerJulien Dubois
Utilisation de Docker pour gérer une stack de développement "moderne", avec Maven / Grunt / Bower / Yeoman, et pouvoir facilement se partager ses containers entre membres d'une même équipe
Synchroniser ses applications (plus) simplementgplanchat
Lors du PHP Tour 2017 Nantes, nous avions vu la présentation du composant akeneo/batch. Revenons sur 3 ans supplémentaires d'usage, de réflexions et de refactorisation qui ont abouti à la création d'un framework spécialisé.
Dans des environnement de plus en plus interconnectés, de plus en plus hétéroclites, nous voyons apparaitre l'usage des PWA, la généralisation des API et des tâches en files d'attentes asynchrones. Là où les solutions pour interroger des petits volumes de données dans des bases distantes commencent à atteindre une certaine maturité.
Où en sommes-nous sur les synchronisations en grand volume et aux formats de données hétéroclites ?
[Webinar] Techniques avancées de création de workflow - FRNuxeo
2e partie : Techniques avancées de création de workflow
La Plateforme Nuxeo intègre nativement un moteur de workflow ainsi qu’un outil de conception de workflow complet qui vous aide à définir vos propres workflows modélisant vos processus métier. Notre série de deux webinaires vous permettront d’avoir une vue d’ensemble de la conception de workflows avec la Plateforme Nuxeo.
Rejoignez Alain Escaffre, notre directeur produit, pour ce webinaire et découvrez comment le concepteur de workflows fonctionne grâce à une démonstration en direct et une séance interactive de questions-réponses. Si vous voulez le découvrir par vous-même avant le webinaire, téléchargez la Plateforme Nuxeo et inscrivez-vous pour 30 jours d’essai gratuit de Nuxeo Studio.
Le premier webinaire de cette série est une présentation concrète de la création de workflow avec la Plateforme Nuxeo.
This document summarizes Beaker, an open source tool for testing Puppet code. Beaker allows tests to be written in Ruby and executed across multiple cloud platforms. It provides a domain specific language for describing test steps and assertions. Beaker generates reports on test results and outputs logs of commands run on remote hosts. The document provides examples of test code and discusses how Beaker is used at Puppet for acceptance testing.
Remplacer un SI existant par un nouvel outil basé sur l'état de l'art (Symfony CMF, ElasticSearch, RabbitMQ, Docker, Backbone.js) sans reculer sans cesse la mise en production, c'est une question d'agilité. Concevoir l'architecture, découvrir des stratégies de migration partielle, investir dans des systèmes de synchronisation, partager l'avancée d'un projet avec tous, former les équipes au nouvel outil, accompagner les changements dans l'organisation de l'entreprise, voici quelques recettes de migration continue illustrées par le cas du CMS de 20Minutes.fr.
La majorité des problèmes rencontrés en production auraient pu être anticipées en amont. Rapide aperçu du process entre le développement et la mise en production.
Les frameworks de développement web, on les aime, on les déteste. Quand jQuery est sorti, c'était une révolution. Aujourd'hui beaucoup de lead developers conseillent de ne pas l'utiliser. Il faut dire que les frameworks donnent naissance à des débats passionnés.
Dans le monde PHP, c'est pareil : Symfony, Zend Framework ou Laravel ? Derrière ces questions se cachent des choix cruciaux : WTF contre RAD, vitesse contre expressivité, facilité d'utilisation contre facilité d'intégration... Un framework est toujours un compromis fait à un instant donné pour aider ses utilisateurs sans se mettre en travers de leur chemin.
Mais les besoins des développeurs changent. C'est pourquoi les frameworks doivent aussi changer. Après une brève histoire des frameworks de développement depuis les années 2000, nous essaierons de découvrir ensemble quelles sont les tendances dans l'évolution des frameworks, de comprendre où ils nous mèneront dans quelques années, et si vous aurez à les utiliser...
Wordcamp paris-2016 : Comment fonctionnent le projet et la communauté open so...Chipway
Comment fonctionnent le projet et la communauté open source Drupal ?
Présentation du fonctionnement de la communauté Drupal qui développe le logiciel libre Drupal : son organisation, modèle économique, revue de projet et transmission entre mainteneurs, ... pour lancer la discussion avec la communauté WordPress.
Le Test Driven Infrastructure, c'est un peu le TDD pour les projets DevOps. Il va vous permettre de tester votre infrastructure unitairement, de bout en bout et à chaque changement.
Lors de ce Hand's on Lab, nous mettrons en oeuvre une infrastructure avec Chef ainsi que les tests associés.
Github: https://github.com/obazoud/devoxx-tdd-for-devops
Utiliser pleinement le navigateur et les nouveaux clients web - AFUP 2007Eric D.
Il est possible d'aller plus loin que les applications classiques. En profitant pleinement des capacités du navigateur cet atelier vous montrera comment améliorer les performances et modulariser l'existant. HTTP, REST et Ajax sont au menu pour une application orienté services légère, simple à modifier et avec une API partageable avec vos clients.
PHP jouit parfois d'une mauvaise réputation au niveau des performances. Nous verrons si cette réputation est méritée, si les performances sont réellement un problème pour utiliser PHP.
PHP a une architecture qui lui permet de monter en charge sans mettre en place des solutions complexes. Entre l'installation, la configuration et les possibilités au niveau applicatif, cette session vous permettra de répondre efficacement à la problématique des performances.
Pour finir l'année en beauté, le Spring User Groupe FR vous propose de nous retrouver le Mardi 20 Décembre 2011 à 19h00 pour une session sur "Spring Batch Avancé". Lors de la première présentation (http://www.slideshare.net/sugfrance/spring-batch-concepts-de-base), nous avons vu les concepts de base de "Spring Batch".
Lors de cette session nous vous proposons d'aborder les notions avancés de "Spring Batch" en tenant compte de vos suggestions (voir le Google Moderator http://www.google.com/moderator/#16/e=5f36). A la fin de la conférence, nous vous proposerons un quizz afin de gagner quelques exemplaires de "Spring Batch in Action" (A.Cogoluegnes, T. Templier, G. Gregory, O. Bazoud), offerts par la société Ekino (http://www.ekino.com / @3k1n0).
Olivier Bazoud / @obazoud est architecte logiciel chez Ekino (http://www.ekino.com), spécialisé dans les technologies Java/JEE/Spring. Fort de 12 ans d’expérience, Olivier est en charge de l’architecture technique de sites et d'applications web à très fort traffic.
Julien Jakubowski / @jak78 est architecte chez OCTO Technology. Il a 10 ans d'expérience acquise au sein de projets à fort engagement pour des grands comptes, dans des secteurs d'activités variés : banque, assurance, industrie, grande distribution...
Julien accompagne ses clients sur des problématiques d'architecture, d'expertise technique, et de productivité des développements.
Il est également co-fondateur et président du Ch'ti JUG (Java User Group de la région Lilloise), qui rassemble tous les mois plus de 100 passionnés de technologies Java.
Pourquoi vous ne pouvez pas tester votre codeRémi Lesieur
"Non mais nous, on ne peut pas tester"
Vous avez déjà entendu cette phrase ? Parce que moi, oui, très souvent.
Il y a toujours au moins une bonne raison évoquée. Et si on en parlait ?
Gérer son environnement de développement avec DockerJulien Dubois
Utilisation de Docker pour gérer une stack de développement "moderne", avec Maven / Grunt / Bower / Yeoman, et pouvoir facilement se partager ses containers entre membres d'une même équipe
Synchroniser ses applications (plus) simplementgplanchat
Lors du PHP Tour 2017 Nantes, nous avions vu la présentation du composant akeneo/batch. Revenons sur 3 ans supplémentaires d'usage, de réflexions et de refactorisation qui ont abouti à la création d'un framework spécialisé.
Dans des environnement de plus en plus interconnectés, de plus en plus hétéroclites, nous voyons apparaitre l'usage des PWA, la généralisation des API et des tâches en files d'attentes asynchrones. Là où les solutions pour interroger des petits volumes de données dans des bases distantes commencent à atteindre une certaine maturité.
Où en sommes-nous sur les synchronisations en grand volume et aux formats de données hétéroclites ?
[Webinar] Techniques avancées de création de workflow - FRNuxeo
2e partie : Techniques avancées de création de workflow
La Plateforme Nuxeo intègre nativement un moteur de workflow ainsi qu’un outil de conception de workflow complet qui vous aide à définir vos propres workflows modélisant vos processus métier. Notre série de deux webinaires vous permettront d’avoir une vue d’ensemble de la conception de workflows avec la Plateforme Nuxeo.
Rejoignez Alain Escaffre, notre directeur produit, pour ce webinaire et découvrez comment le concepteur de workflows fonctionne grâce à une démonstration en direct et une séance interactive de questions-réponses. Si vous voulez le découvrir par vous-même avant le webinaire, téléchargez la Plateforme Nuxeo et inscrivez-vous pour 30 jours d’essai gratuit de Nuxeo Studio.
Le premier webinaire de cette série est une présentation concrète de la création de workflow avec la Plateforme Nuxeo.
This document summarizes Beaker, an open source tool for testing Puppet code. Beaker allows tests to be written in Ruby and executed across multiple cloud platforms. It provides a domain specific language for describing test steps and assertions. Beaker generates reports on test results and outputs logs of commands run on remote hosts. The document provides examples of test code and discusses how Beaker is used at Puppet for acceptance testing.
Internet a ses debuts Un atelier de la CCI de Melun en 1999AXIZ eBusiness
Le Web 1.0 expliqué en 1999 aux entreprises de Seine-et-Marne en Ile de France. L'époque où les entreprises découvraient le modem RTC, numéris, la connexion à Internet et les premières applications de ce nouveau réseau de communication : l'email, les pièces attachées envoyées par email...
Présentation à destination d'une formation 'jeudis des bibliothèques" organisée conjointement par l'ABF et le CNFPT Languedoc-Roussillon (Médiathèque de Saint Jean de Vedas)
Brève présentation du descripteur de contenu de documents audiovisuels Mpeg-7.
Travail de groupe dans le cadre de la licence professionnelle RDBD de l'IUT Michel de Montaigne de Bordeaux III.
Este documento describe la estructura de una computadora. Explica que la computadora está compuesta por unidades funcionales como la memoria, unidad de control y unidad aritmético-lógica. Describe las funciones de cada una de estas unidades y cómo se conectan entre sí a través de buses. También explica los diferentes tipos de memoria, como la memoria principal y secundaria, y cómo se almacenan y recuperan los datos de la memoria.
Competitic L emailing est il toujours aussi efficaceCOMPETITIC
L'emailing est il toujours aussi efficace ?
Il existe plusieurs sortes d'emailing. Quel que soit le type d'emailing, il faut réaliser une campagne percutante afin de se distinguer du lot. Règles de rédaction, ciblage et choix d'un outil adapté sont importants. Autant de réponses dans cette présentation.
Coca-Cola es una gaseosa efervescente vendida en más de 200 países. Fue inventada originalmente como una bebida medicinal por el farmacéutico John Pemberton, pero fue posteriormente adquirida por Asa Griggs Candler, cuyas tácticas de marketing la convirtieron en una de las bebidas más consumidas del siglo XX. Se produce en plantas alrededor del mundo y abastece a más de 206 países, con más de 800 millones de refrescos consumidos diariamente.
La ética profesional se refiere a los valores y responsabilidades que debemos demostrar en el trabajo o estudio, como tratar a compañeros y clientes con respeto. Implica relacionarnos de manera apropiada con otros y desempeñar nuestras tareas de forma competente y confiable. Lograr una carrera exitosa requiere esfuerzo, aprovechar oportunidades y poner los intereses de los demás sobre los propios.
La fuente de poder provee electricidad a los componentes del equipo de cómputo. Existen dos tipos principales: AT y ATX. La ATX tiene un solo conector para la pared, mientras que la AT tiene dos conectores. Además, la ATX incluye un interruptor de voltaje y encendido/apagado que no tiene la AT. El documento también incluye una biografía sobre fuentes de poder.
La película cuenta la historia de Lucy, una mujer a la que introducen una bolsa con una droga experimental en el abdomen. La droga se libera en su cuerpo y le otorga habilidades sobrehumanas, incluyendo la capacidad de acceder a más del 10% de su cerebro. Lucy viaja en el tiempo y se encuentra con la primera Lucy, el primer homínido que existió en la Tierra.
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
NodeJs, GruntJs, Bower, Karma, ... des buzzwords dont nous entendons parler, que nous voyons passer dans les blogs/articles. Mais à quoi servent-ils ?
Comment industrialiser nos développements Javascript ? Mettre en place des tests unitaires dans une application Web ? Générer de la documentation ? Des métriques qualités ? La couverture de code ? Comme avec Maven ? Nous verrons concrètement comment articuler tous ces outils autour d'une application école, pour démystifier tout ça.
Avec l’avènement des connexions haut-débit et bientôt très haut-débit, les concepteurs semblent de moins en moins attentifs à la rapidité de leurs sites. De plus, avec de telles connexions, les internautes supportent mal un site qui les fasse attendre. Cela gâche l’expérience utilisateur, pourtant censée être au cœur du "web 2.0"
Cet atelier vous présentera comment, sans devoir repenser votre application ou vos pages depuis le début, améliorer la rapidité de votre site.
Un site de collectivité sur WordPress ? Méthodes et retours d'XPatelier111
Quelques retours d'expérience et méthodes sur l'utilisation de WordPress dans le cadre de prestations pour des collectivités.
Talk présenté par @audrasjb pour l'Atelier 111 à la 3ème édition de WordPressInAlps, octobre 2014.
Méthodes agiles, frameworks javascript: optimisez votre time to marketmichael_bailly
Cette présentation (en français) explique les fondamentaux de l'innovation Agile des 10 dernières années, et propose un panorama des frameworks JavaScript client, serveur, desktop et mobiles permettant d'accélérer votre processus d'ingénierie, de l'idée au produit.
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.
Le Devops est un terme émergent qui décrit un ensemble de méthode et pratiques pour favoriser la collaboration et la communication entre les équipes de développement logiciel et les équipes d’exploitation. Il est une réponse au besoin des acteurs du Web qui, face à une course effreinée à la fonctionnalité et l’explosion de leur trafic, ont du modifier leurs méthodes et rassembler l’ensemble des protagonistes pour minimiser l’impact de l’applicatif sur l’infrastructure et maitriser les coûts ou améliorer la performance. Nous verons dans cette conférence comment ces différentes équipes peuvent avancer ensemble en gardant une relation de partenaire plutôt que de client/prestataire
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 ...
Présentation effectuée au Meetup 24 Programmez (5 Avril 2022) par Christophe Villeneuve sur "Infrastructure as code Drupal".
Cette présentation aborde les rappels de l'IaC (infrastructure as code), comment l'utilisé avec le CMS Drupal et déployé automatiquement le contenu et les évolutions dans l'IaC.
Retour sur certains sujets présentés aux Techdays 2014 orientés autour de ferme SharePoint et Azure. - 2ème partie -
- Mise en œuvre d'une plateforme de production SharePoint dans Azure
- Monitoring de la plateforme.
Similaire à Industrialisation des environnements de dev avec Puppet et Amazon (mais en fait avec Chef) (20)
2. SÉBASTIEN
ANGÈLE
DIRECTEUR
ADJOINT
DES
NOUVEAUX
MÉDIAS
-‐ GROUPE
EXPRESS
ROULARTA
NICOLAS
SILBERMAN
CONSULTANT
EN
ARCHITECTURE
IT
-‐ VANILLE
CARAMEL
ENSEIGNANT
-‐ ESSEC
BUSINESS
SCHOOL
ANCIEN
PRÉSIDENT
DE
L’AFUP
3. ¡ Groupe
historique
de
presse
L’Express,
L’Expansion,
L’Entreprise,
Mieux
Vivre
Votre
Argent,
L’Express
Styles,
Côté
Sud,
Côté
Ouest,
Zeste,
Point
de
Vue,
Studio
Ciné
Live,
Lire,
Classica,
A
nous
Paris,
L’Etudiant…
¡ Sur
le
web
:
7 millions de VU/mois
TOP 5 des sites d’actu
1 million de VU/mois
Leader de la déco
4.
5. ¡ «
Non,
chez
moi,
ça
marche…
»
¡ «
C’est
normal,
je
ne
t’ai
pas
tout
installé,
ne
regarde
pas
cette
partie
du
site...
»
¡ «
Ah
bon,
tu
voulais
tester
ça
aussi
?
»
¡ “T’inquiète
pas,
ça
marchera
en
prod…
»
6. ¡ Les
postes
de
dev
:
standalone
ou
avec
serveur
de
dev
¡ La
recette
/
demo
/
staging
¡ La
preprod
¡ La
prod
13. ● le
middleware
● les
applicatifs
● les
BDDs
● les
fichiers
(images,
pdfs,...)
14. ¡ Industrialisation
du
code
:
Git
¡ Expérience
du
déploiement
continu
(Capistrano)
¡ Des
compétences
DevOps
15. ¡ C’est
un
mouvement
¡ Réduire
les
frictions
entre
§ Les
devs
§ Les
ops
(aka
admin
sys
ou
barbus)
¡ Pour
une
belle
phrase
commune
:
«
travailler
ensemble
pour
produire
de
la
valeur
pour
l'entreprise
»
sources wikipedia
16. ● Offres
de
service
● API
● Instances
proposées
● …
et
envie
de
s’amuser
!
17.
18. ¡ Démarrer
une
instance
EC2
chez
Amazon
est
très
facile,
on
choisi
les
caractéristiques
de
la
machine
et
c'est
parti
¡ Démarrer
une
stack
complète
est
également
assez
simple
avec
CloudFormation
¡ On
peux
par
exemple
demander
via
l'API
d'Amazon:
§ Créer
un
serveur
MySQL
Master/Slave
§ Démarrer
une
instance
EC2
et
lui
communique
le
EndPoint
MySQL
afin
qu'il
configure
ses
applications
en
fonction
19. ¡ Facile
de
se
noyer
et
de
se
perdre
dans
les
offres
:
§ Se
faire
accompagner
par
quelqu’un
qui
connait
pour
gagner
du
temps
¡ Si
aucune
expérience
dans
le
Cloud,
attention
à
la
maîtrise
du
budget
§ Poser
des
alertes
sur
des
seuils
budgétaires
¡ Gouvernance
des
machines
et
optimisation
des
ressources
§ Optimiser
au
plus
près
:
une
machine
qui
ne
fait
rien
n’a
aucune
raison
d’
être
allumée
20. ¡ Logiciel
qui
permet
de
gérer
les
déploiements
système
et
applicatif
¡ Historiquement
:
scripts
Bash
et
Cfengine
¡ Deux
candidats
open
source
:
§ Puppet
(Ruby)
§ Chef
(Erlang)
¡ Et
Ansible
?
On
ne
connaissait
pas
!
21.
22. ¡ Précédentes
expériences
sur
des
stacks
plus
petites
dans
l’équipe
¡ Expérience
significative
de
Nicolas
Silberman
chez
Mediapart
sur
les
problématiques
d'environnement
de
développement
¡ Volonté
de
rapidement
démarrer
sur
le
projet.
23. ¡ Pour
démarrer
:
utiliser
Foreman
directement
¡ Attention
:
configuration
de
type
hiera
(fichiers
YAML
fournissant
des
variables)
non
compatible
avec
Foreman:
lourd
travail
d'adaptation
pour
repasser
en
Foreman.
¡ Recettes
de
la
communauté
sont
utilisés
par
un
grand
nombre
et
quand
elles
sont
maintenues,
elles
sont
d'excellente
qualité.
24. ¡ Complexité
avec
l'arbre
de
dépendances.
¡ Il
n'est
pas
rare
de
se
poser
la
question:
cette
action
doit-‐elle
être
réalisée
avant
celle
la
?
¡ Exemple
de
Dépendance:
§ install_apache
§ créer
un
Vhost
§ restart_apache
25. ¡ Puppet
compile
l'ensemble
des
recettes,
réalise
un
arbre
de
dépendances
et
joue
les
modifications
à
faire
sur
le
système
dans
l'ordre
des
dépendances
qu'il
a
déterminé
¡ Quand
on
atteint
la
vingtaine
(ou
même
cinquantaine)
de
niveau
de
dépendances,
trouver
d'où
est
le
problème
devient
compliqué.
26.
27.
28.
29. ¡ Tutoriaux
de
la
communauté
et
la
documentation
fournie
par
AWS
faisait
uniquement
mention
de
Chef
(même
si
la
doc
Puppet
arrive
doucement
sur
AWS)
¡ Choix
de
Chef
par
notre
hébergeur
pour
la
prod
¡ Recettes
plus
simples
à
écrire
31. ¡ Au
début
:
images
de
Base
(AMI)
des
distributions
linux
¡ Maintenant
:
Packer.io
pour
construire
des
images
avec
:
§ Nginx
compilé
(gestion
des
SSI)
§ Autres
briques
:
MySQL,
Redis,
MemCache,
RabbitMQ,
Apache,
Php,…
32.
33.
34. ¡ Un
tableau
de
variable
pour
:
§ Créer
les
Vhost
Nginx
§ Cloner
le
projet,
exécuter
un
composer
install
§ Cloner
un
sous
repository
dans
un
sous-‐dossier
§ Remplacer
des
fichiers
au
sein
du
dépot
(fichiers
de
configuration)
§ Créer
des
règles
spécifiques
dans
Varnish
§ Lancer
des
commandes
de
warmup,
de
générations
de
cache,
…
35.
36.
37.
38. ¡ A
remonter
de
la
prod
tous
les
jours
:
§ 10
bases
de
donnée
MySQL
§ 5
Bases
MongoDB
§ 1
Dump
Redis
§ 1
base
SQL
Serveur
¡ 30h
pour
tout
remonter
§ Arbitrer
la
fraîcheur
des
données
§ Optimiser
les
bases
de
données
39. ¡ Pas
de
solutions
idéales
pour
l’instant
¡ Warmup
avec
un
disque
dur
(si,
si)
¡ Rsync
40. ¡ Permet
de
faire
des
tests
unitaires
et
fonctionnel
sur
les
recettes
¡ Compatible
avec
beaucoup
de
provisionner
(Puppet,
Chef),
bootstrapper
(Amazon
EC2).
¡ Concept
de
"Infrastructure
as
Code"
41. ¡ Faire
le
moins
de
choses
à
la
main
¡ Gérer
son
parc
¡ Ne
pas
être
devops
dépendant
42.
43.
44. ¡ Très
bonne
documentation
¡ Disponibilité
et
temps
de
réponses
¡ SDK
fourni
pour
PHP
:
se
base
sur
Guzzle
pour
envoyer
les
requêtes
et
clients
distincts
pour
chaque
service
(EC2Client,
CloudFormationClient,
S3Client,
etc)
¡ Intégration
rapide
du
SDK
dans
un
projet
Symfony2
grâce
à
l'injection
de
dépendance
et
l'event
dispatcher
45. ¡ Beaucoup
de
documentation
à
parcourir
¡ Nécessaire
de
savoir
précisément
ce
que
l'on
souhaite
faire
pour
ne
pas
prendre
une
mauvaise
direction
46. ¡ Investissement
lourd
au
début
¡ Se
mette
en
mode
projet
avec
une
équipe
dédiée
¡ Travailler
en
agile
et
en
lean...
¡ …
tout
en
restant
ambitieux
!
47. ¡ Finir
à
100%
!
¡ Gérer
le
fichier
de
config
pour
les
développeurs
¡ Faire
des
projections
budgétaires