Un retour d'expérience sur l'utilisation de Scala dans un projet Open Source, sur 4 ans. Cette présentation couvre en particulier les aspects sociaux liés à l'utilisation d'un langage preque inconnu au début du projet (2009), et qui décolle.
Pourquoi et comment nous relisons ensemble tout le code que nous produisons - retour d'expérience du WebCenter AXA sur la revue de code, accompagnés par Octo.
Choisir scala en entreprise, est ce bien raisonnable ?RUDDER
Analyse des critères de choix de Scala en entreprise. L'étude se focalise sur la pérennité, les risques et les domaines de prédilection pour l'adoption du langage
Cette présentation aura pour objectif d’introduire le langage de programmation Scala. Ce dernier bénéficie depuis plusieurs mois d’un véritable engouement qui se reflète au regard de la communauté française croissante.
Pour cela Ludwine Probst et Florent Lagrede reviendront donc sur les notions fondamentales, illustrées d’exemples sur des problèmes récurrents de programmation, afin de dégager les spécificités de ce langage et certains de ses atouts.
Aucune connaissance de Scala n’est donc nécessaire, seulement l’envie de découvrir un nouveau langage.
Pourquoi et comment nous relisons ensemble tout le code que nous produisons - retour d'expérience du WebCenter AXA sur la revue de code, accompagnés par Octo.
Choisir scala en entreprise, est ce bien raisonnable ?RUDDER
Analyse des critères de choix de Scala en entreprise. L'étude se focalise sur la pérennité, les risques et les domaines de prédilection pour l'adoption du langage
Cette présentation aura pour objectif d’introduire le langage de programmation Scala. Ce dernier bénéficie depuis plusieurs mois d’un véritable engouement qui se reflète au regard de la communauté française croissante.
Pour cela Ludwine Probst et Florent Lagrede reviendront donc sur les notions fondamentales, illustrées d’exemples sur des problèmes récurrents de programmation, afin de dégager les spécificités de ce langage et certains de ses atouts.
Aucune connaissance de Scala n’est donc nécessaire, seulement l’envie de découvrir un nouveau langage.
Étude de cas Kafka et event sourcing en utilisant JEE et Node Js, pour le projet du module JEE pour le master 2 logiciels sûrs. À l'université Paris-Est Créteil
REX Cassandra et Spark au service de la musique en ligne (Français)DataStax Academy
Lors de cette session vous sera présenté le business case et son contexte d'entreprise, avant de rentrer plus en détail dans la démarche suivie en phase de PoC, puis construction de la plateforme cible, en termes de :
• Infrastructure en mode Cloud
• Stack logicielle
• Architecture applicative
• Flux de données
• Dimensions, mesures et performances
Pour finir avec quelques conseils et leçons apprises du projet.
Dans le cadre du projet Stream for Good
MIAGE Sorbonne -- Atelier de Veille technologique
Steeven Alliel, Abdel Benamara, David Ekchajzer, Philippe Fidalgo, Mathieu Ridet, Sophia Yalap
REX Kanban dans plusieurs contextes, par Couthaïer Farfra (Agile4Me)Couthaïer FARFRA
REX présenté au "Play Agile" de la Mutuelle Générale, le 13 novembre 2015. Ces retours d'expériences présentent la mise en oeuvre des pratiques Kanban, dans plusieurs contextes de transformation.
Devops is partially a technology change. But what's its future ? BigData ? analytics ? does security will kill it? let's took 5 minutes to think about the challenges.
Retour sur les conférences du BreizhCamp, l'événement tech rennais annuel.
Alexandre, Antonin, Olivier et Pierre nous présentent quelques sujets choisis. Des sujets techniques qu'ils souhaitent nous faire partager, ceux qui leurs donnent des idées à mettre en place et à creuser ou tout simplement des sujets qui les ont particulièrement marqués :
- Urbaniser un SI pour 10 ans
- Les bases du Service Mesh
- Arch Unit, le test unitaire de l'architecture
- Fast API, aperçu du framework python
- OAuth 2.1 : Principes et nouveautés
- Rust : Pourquoi l'envisager ?
- REX Lean : Créer un SaaS et être rentable en 6 mois
- Retour sur la Keynote Sécurité
- La théorie de la vitre brisée appliquée à nos métiers
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOWeLoveSEO
Largest Contentful Paint (LCP), First Input Delay (FID) et Cumulative Layout Shift (CLS) : ce sont les 3 nouveaux indicateurs que Google a annoncé vouloir prendre en compte dès 2021 pour le ranking. Vous en avez sans doute pas mal entendu parler ces dernières semaines non ?
L'objectif derrière cette mise à jour : mesurer la performance et l'expérience utilisateur pour en faire des critères #SEO. Ce qui en soit est une bonne chose !
Mais c'est sujet à débat : est-ce une révolution SEO ou au contraire, une modification minime de l’algorithme ? Que signifient réellement ces KPI, comment les mesurer et comment les améliorer ?
Développez dans le futur, dès maintenant !matparisot
Le web et ses standards évolue rapidement, très rapidement, trop rapidement...
Les navigateurs n'arrivent pas forcément à suivre le mouvement et les utilisateurs bloqués sans mise à jour encore moins. Il devient frustrant pour les développeurs de sans cesse entendre parler de nouveautés qu'il ne pourra pas utiliser avant des années.
Heureusement des outils comme Babel et PostCSS nous permettent d'enfin utiliser les dernières normes et de les laisser se préoccuper de la compatibilité ! Venez découvrir ces super outils qui vous permettront de développer dans le futur dès aujourd'hui !
Le web et ses standards évolue rapidement, très rapidement, trop rapidement...
Les navigateurs n'arrivent pas forcément à suivre le mouvement et les utilisateurs bloqués sans mise à jour encore moins. Il devient frustrant pour les développeurs de sans cesse entendre parler de nouveautés qu'il ne pourra pas utiliser avant des années.
Heureusement des outils comme Babel et PostCSS nous permettent d'enfin utiliser les dernières normes et de les laisser se préoccuper de la compatibilité ! Venez découvrir ces super outils qui vous permettront de développer dans le futur dès aujourd'hui !
Embarquer une base de données locale dans vos logiciels et applications mobilespprem
Une question revient assez régulièrement sur les forums de discussion, lors des conférences et formations : « comment faire pour déployer ma base de données et les mises à jours de sa structure ? »
Je vous propose une solution simple à mettre en œuvre, disponible dans toutes les éditions de Delphi 10.3.3 Rio (et les versions suivantes).
Les outils utilisés lors de cette session seront : Delphi, FireDAC, SQLite, SQL, TMS Data Modeler, DB Browser for SQLite et Notepad++.
La rediffusion de cette présentation est disponible avec ses codes sources et des liens complémentaires sur https://serialstreameur.fr/webinaire-20191219.php
Methodologie et outils d optimisation php mysqlCodizy
Méthodologie et outils d'optimisation PHP / MySQL lors des 3 phases du cycle de vie de vos applications :
1- Développement,
2- Mise en production,
3- Post Production
Pour toute information concernant Codizy :
@: http://www.codizy.com
Automatisation et gestion de configuration : Les avantages pour la supervisionRUDDER
Automatisation et gestion de configuration : Les avantages pour la supervision.
Cette présentation montre les avantages de l'automatisation dans la gestion quotidienne d'un SI, et en particulier dans le cas de la supervision, pour assurer le déploiement et la mise à jours des agents de supervisions automatiquement, et le provisionning des configurations, avec un cas concret d'interconnexion de Rudder et Centreon
What if configuration management didn't need to be lvl60 in dev?RUDDER
Slides from Alexandre BRIANCEAU's talk at #OSSPARIS19 (Open Source Summit.
Server infrastructure automation is not simple. Several solutions have existed for several years and most of them rely on infra-as-code to achieve their mission. By the way, why infra-as-code?
And unfortunately, these solutions require strong development skills. So how can we do this when the infrastructure team does not have sufficient and, above all, homogeneous expertise? Because otherwise, beware of the "Guru Team" effect, or how the infrastructure automation to save time ends up with a huge SPOF because only one person in the team knows how it works....
I would like to discuss this together and introduce you to RUDDER briefly. RUDDER is a configuration management solution, and therefore infra-as-code, that allows you to automate your systems by relying entirely on a graphical interface to manage your configurations. Because the infrastructure is complex enough to add a layer!
Slides from Alexandre BRIANCEAU's talk at #OSSPARIS19 (Open Source Summit Paris 2019).
Security is everyone's business, an exploited breach is enough. Teams are aware of this and yet it is still as difficult as ever to be able to ensure, be confident, and reassure others (prove) that at least one party is under control.
And when it comes to server infrastructure, especially at the OS / middleware level, everything gets complicated. Even with an operational security team, it is difficult to ensure that the Information System Security Policy and security recommendations are properly implemented on all servers.
How can we be sure that our security policies are properly applied on all our servers other than through a massive and costly audit? Even if they were when they were created, how do you know if they remain perfectly compliant after a few days / weeks / months?
Let's discover together RUDDER, an open-source solution for continuous compliance based on configuration management to automatically audit and/or correct our systems.
Contenu connexe
Similaire à RMLL 2013: Projet rudder, retour sur 4 ans de Scala
Étude de cas Kafka et event sourcing en utilisant JEE et Node Js, pour le projet du module JEE pour le master 2 logiciels sûrs. À l'université Paris-Est Créteil
REX Cassandra et Spark au service de la musique en ligne (Français)DataStax Academy
Lors de cette session vous sera présenté le business case et son contexte d'entreprise, avant de rentrer plus en détail dans la démarche suivie en phase de PoC, puis construction de la plateforme cible, en termes de :
• Infrastructure en mode Cloud
• Stack logicielle
• Architecture applicative
• Flux de données
• Dimensions, mesures et performances
Pour finir avec quelques conseils et leçons apprises du projet.
Dans le cadre du projet Stream for Good
MIAGE Sorbonne -- Atelier de Veille technologique
Steeven Alliel, Abdel Benamara, David Ekchajzer, Philippe Fidalgo, Mathieu Ridet, Sophia Yalap
REX Kanban dans plusieurs contextes, par Couthaïer Farfra (Agile4Me)Couthaïer FARFRA
REX présenté au "Play Agile" de la Mutuelle Générale, le 13 novembre 2015. Ces retours d'expériences présentent la mise en oeuvre des pratiques Kanban, dans plusieurs contextes de transformation.
Devops is partially a technology change. But what's its future ? BigData ? analytics ? does security will kill it? let's took 5 minutes to think about the challenges.
Retour sur les conférences du BreizhCamp, l'événement tech rennais annuel.
Alexandre, Antonin, Olivier et Pierre nous présentent quelques sujets choisis. Des sujets techniques qu'ils souhaitent nous faire partager, ceux qui leurs donnent des idées à mettre en place et à creuser ou tout simplement des sujets qui les ont particulièrement marqués :
- Urbaniser un SI pour 10 ans
- Les bases du Service Mesh
- Arch Unit, le test unitaire de l'architecture
- Fast API, aperçu du framework python
- OAuth 2.1 : Principes et nouveautés
- Rust : Pourquoi l'envisager ?
- REX Lean : Créer un SaaS et être rentable en 6 mois
- Retour sur la Keynote Sécurité
- La théorie de la vitre brisée appliquée à nos métiers
Core Web Vitals, les indicateurs de vitesse qui réconcilient UX et SEOWeLoveSEO
Largest Contentful Paint (LCP), First Input Delay (FID) et Cumulative Layout Shift (CLS) : ce sont les 3 nouveaux indicateurs que Google a annoncé vouloir prendre en compte dès 2021 pour le ranking. Vous en avez sans doute pas mal entendu parler ces dernières semaines non ?
L'objectif derrière cette mise à jour : mesurer la performance et l'expérience utilisateur pour en faire des critères #SEO. Ce qui en soit est une bonne chose !
Mais c'est sujet à débat : est-ce une révolution SEO ou au contraire, une modification minime de l’algorithme ? Que signifient réellement ces KPI, comment les mesurer et comment les améliorer ?
Développez dans le futur, dès maintenant !matparisot
Le web et ses standards évolue rapidement, très rapidement, trop rapidement...
Les navigateurs n'arrivent pas forcément à suivre le mouvement et les utilisateurs bloqués sans mise à jour encore moins. Il devient frustrant pour les développeurs de sans cesse entendre parler de nouveautés qu'il ne pourra pas utiliser avant des années.
Heureusement des outils comme Babel et PostCSS nous permettent d'enfin utiliser les dernières normes et de les laisser se préoccuper de la compatibilité ! Venez découvrir ces super outils qui vous permettront de développer dans le futur dès aujourd'hui !
Le web et ses standards évolue rapidement, très rapidement, trop rapidement...
Les navigateurs n'arrivent pas forcément à suivre le mouvement et les utilisateurs bloqués sans mise à jour encore moins. Il devient frustrant pour les développeurs de sans cesse entendre parler de nouveautés qu'il ne pourra pas utiliser avant des années.
Heureusement des outils comme Babel et PostCSS nous permettent d'enfin utiliser les dernières normes et de les laisser se préoccuper de la compatibilité ! Venez découvrir ces super outils qui vous permettront de développer dans le futur dès aujourd'hui !
Embarquer une base de données locale dans vos logiciels et applications mobilespprem
Une question revient assez régulièrement sur les forums de discussion, lors des conférences et formations : « comment faire pour déployer ma base de données et les mises à jours de sa structure ? »
Je vous propose une solution simple à mettre en œuvre, disponible dans toutes les éditions de Delphi 10.3.3 Rio (et les versions suivantes).
Les outils utilisés lors de cette session seront : Delphi, FireDAC, SQLite, SQL, TMS Data Modeler, DB Browser for SQLite et Notepad++.
La rediffusion de cette présentation est disponible avec ses codes sources et des liens complémentaires sur https://serialstreameur.fr/webinaire-20191219.php
Methodologie et outils d optimisation php mysqlCodizy
Méthodologie et outils d'optimisation PHP / MySQL lors des 3 phases du cycle de vie de vos applications :
1- Développement,
2- Mise en production,
3- Post Production
Pour toute information concernant Codizy :
@: http://www.codizy.com
Automatisation et gestion de configuration : Les avantages pour la supervisionRUDDER
Automatisation et gestion de configuration : Les avantages pour la supervision.
Cette présentation montre les avantages de l'automatisation dans la gestion quotidienne d'un SI, et en particulier dans le cas de la supervision, pour assurer le déploiement et la mise à jours des agents de supervisions automatiquement, et le provisionning des configurations, avec un cas concret d'interconnexion de Rudder et Centreon
Similaire à RMLL 2013: Projet rudder, retour sur 4 ans de Scala (20)
What if configuration management didn't need to be lvl60 in dev?RUDDER
Slides from Alexandre BRIANCEAU's talk at #OSSPARIS19 (Open Source Summit.
Server infrastructure automation is not simple. Several solutions have existed for several years and most of them rely on infra-as-code to achieve their mission. By the way, why infra-as-code?
And unfortunately, these solutions require strong development skills. So how can we do this when the infrastructure team does not have sufficient and, above all, homogeneous expertise? Because otherwise, beware of the "Guru Team" effect, or how the infrastructure automation to save time ends up with a huge SPOF because only one person in the team knows how it works....
I would like to discuss this together and introduce you to RUDDER briefly. RUDDER is a configuration management solution, and therefore infra-as-code, that allows you to automate your systems by relying entirely on a graphical interface to manage your configurations. Because the infrastructure is complex enough to add a layer!
Slides from Alexandre BRIANCEAU's talk at #OSSPARIS19 (Open Source Summit Paris 2019).
Security is everyone's business, an exploited breach is enough. Teams are aware of this and yet it is still as difficult as ever to be able to ensure, be confident, and reassure others (prove) that at least one party is under control.
And when it comes to server infrastructure, especially at the OS / middleware level, everything gets complicated. Even with an operational security team, it is difficult to ensure that the Information System Security Policy and security recommendations are properly implemented on all servers.
How can we be sure that our security policies are properly applied on all our servers other than through a massive and costly audit? Even if they were when they were created, how do you know if they remain perfectly compliant after a few days / weeks / months?
Let's discover together RUDDER, an open-source solution for continuous compliance based on configuration management to automatically audit and/or correct our systems.
OSIS 2019 - Qu’apporte l’observabilité à la gestion de configuration ?RUDDER
On parle d’observabilité des services lorsque ceux-ci exposent des états et métriques internes pour améliorer la disponibilité globale.
Qu’en est-il de l’observabilité des infrastructures sur lesquelles ils sont déployés, configurés et maintenus ?
Les différents logs (centralisés, agrégés) permettent un bon début d’analyse mais il faut aussi observer les systèmes au fil de l’eau pour tracer chaque changement et les corréler avec le monitoring. Aujourd’hui, ces étapes de configuration IT devraient être prises en charge par les outils de gestion de configuration, qui deviennent la passerelle vers l’observabilité des opérations.
Nous montrerons l'intérêt de cette approche pour la gestion IT moderne avec un retour d’expérience sur les challenges de leur mise en place dans Rudder, notre solution libre d’audit et de gestion de configuration en continu.
OW2Con - Configurations, do you prove yours?RUDDER
How can we be sure of the continuous configuration management proper operation? How to expose factual topic-related reports to dev, sec, managers, customers...?
We believe that, in order to deliver the full business and collaboration value of continuous configuration management, the solution needs to go further than simply applying policies - it must ensure configuration reliability; prove historized application and status; share it to other teams; notify of any drift with a relevant context.
This talk will present why and how we should be concerned about transmitting factual measures on infrastructure management to all parties involved. We will also guide you through the journey to include a full-fledged reporting feature in a configuration management solution.
The latest major version of the solution has brought a major new feature to the Rudder solution: a plugin ecosystem.
The Rudder software architect will present the reasons for this new feature, how it works, and what are the different plugins available.
Benoit Peccatte, CfgMgmtCamp 2019.
Benoit Peccatte started out as a developer for air traffic control systems but quickly became more interested in writing code generators to automate his job.
After meeting some smart sysadmins on the beach, he switched jobs and has been automating servers for the past decade.
He stumbled across open source in engineering school, and quickly became convinced that free software is the only way to keep software maintainable whatever happens in the future.
Benoit is now trying to automate his job on Rudder, developing features in Rudder to continuously configure and audit more and more servers.
What uses for observing operations of Configuration Management?RUDDER
Nicolas Charles, CfgMgmtCamp 2019.
More and more services expose their state, internal details and metrics to be observable, and improve overall quality of service.
But what about observing the infrastructure they are deployed, configured and maintained on?
What can we learn from that, and what do we need from configuration management to get these features and metrics?
Logs from installation is a good start, but they need centralization, aggregation and especially knowledge derivation from these - but also we need to observe these features over time, to trace changes, and correlate them with monitoring.
Rudder was built around the predicate that all actions of the configuration agent need to be traced, centralized and exposed in a meaningful way - with agents ensuring the continuous configuration of systems, and this talk will show the rationale behind this predicate, how we implemented this solution, and the benefits of this approach for the modern IT world.
UX challenges of a UI-centric config management toolRUDDER
Raphaël Gauthier, CfgMgmtCamp 2019.
One of Rudder’s main focuses is its comprehensive graphical user interface, which allows users to view and manage its configurations without writing a line of code.
The user experience and interface considerations for a tool as technical and complex, and with such potential to break things as a configuration management tool are certainly a challenge, and in some ways in unchartered territory. Rudder’s frontend developer will present an analysis of the situation, the issues encountered and the approach adopted for the improvement of UX and UI planned for 2019.
What happened in RUDDER in 2018 and what’s next?RUDDER
Alexis Mousset, CfgMgmtCamp 2019.
Let’s take a look at Rudder’s new features from 2018, both in terms of the features of versions 4.3 and 5.0 as well as the new documentation and our platform for building and distributing binaries.
We will then present the provisional roadmap for 2019: let’s go to Rudder 5.1 and 5.2!
Alexandre Brianceau, CfgMgmtCamp 2019.
Rudder is an open source configuration management tool that includes continuous auditing (with or without remediation), compliance info and graphs and the possibility to configure everything in the UI and/or APIs.
It has been around for more than six years and has users large (think 10 000 nodes) and small around the world.
Let’s take a moment to look at the vision that lead us here, how Rudder is different from similar tools, and what users find invaluable, nice (or annoying - I’ll be honest!).
If you’re not familiar with Rudder this is a great talk to attend to get the basics covered.
How can we be sure of the continuous configuration management proper operation? How to expose factual topic-related reports to dev, sec, managers, customers...?
We believe that, in order to deliver the full business and collaboration value of continuous configuration management, the solution needs to go further than simply applying policies - it must ensure configuration reliability; prove historized application and status; share it to other teams; notify of any drift with a relevant context.
This talk will present why and how we should be concerned about transmitting factual measures on infrastructure management to all parties involved. We will also guide you through the journey to include a full-fledged reporting feature in a configuration management solution.
L'audit en continu : clé de la conformité démontrable (#POSS 2018)RUDDER
Présentation issue du talk pour le Paris Open Source Summit 2018 par Alexandre Brianceau dans le track Cybersécurité.
Les politiques de sécurité sont de plus en plus complexes et exigeantes à mettre en oeuvre pour les équipes opérationnelles. Comment pouvons-nous être certains que nos politiques de sécurité soient bien appliquées sur tous sos serveurs autrement qu’à travers un audit massif et coûteux ? Quand bien même le seraient-elles lors de leur création, comment savoir si elles restent parfaitement conformes après quelques jours / semaines / mois ?
Nous montrerons comment définir des règles techniques d'une politique de sécurité dans RUDDER, une solution d'automatisation de conformité informatique open source issue du monde devops où la gestion automatique de la configuration est déjà la norme. ensuite toutes les 5 minutes sur chacun des serveurs afin de remonter un résumé global permettant alors d’inspecter les problèmes qui doivent être corrigés.
Nous expliquerons également comment une politique d’audit déployée avec succès peut être imposée sur tous les systèmes avec le même outil, en passant de l’audit automatique à la remédiation automatique.
Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)RUDDER
Présentation issue du talk pour le BBOOST 2018 par Alexandre Brianceau.
Une infrastructure dont les configurations ne sont pas homogènes, surveillées et maintenues en conformité en continu finit inévitablement par dériver, entraînant failles de sécurité et incidents de production.
Alors que la fiabilité de l’IT est devenue critique, la méthode traditionnelle consistant à mener des audits tous les X mois montre ses limites : une dérive entre deux audits peut passer inaperçue et causer un incident.
RUDDER est une solution qui garantit la conformité des configurations en permanence.
Stay up - voyage d'un éditeur de logiciels libresRUDDER
Voici le retour d'expérience d'un des fondateurs Rudder sur ce que c'est qu'être entrepreneur dans les logiciels libres et les 10 ans de voyage écoulés à travers 4 étapes clés:
- la constitution de l'équipe,
- le passage par un incubateur,
- la levée de fond (ou pas),
- et la recherche d'un business model soutenable.
How we scaled Rudder to 10k, and the road to 50kRUDDER
Management graphical interface, real-time compliance and ease of use are some of Rudder core principles. When Rudder was created in 2010, hundreds of servers were considered a large installation, and the constraints and limits to manage systems were totally different than nowadays, as IT speaks in terms of thousands of nodes. I’ll present how we scaled Rudder from hundreds to 10k nodes, on each different aspect of the product: changing the way nodes talk with the Rudder server, rewriting the data model, evolving the UI, how we detected new limits - further away - and how we removed them; and made sure these limits don’t come back through tooling and testing. Finally, I’ll present the planned evolutions in upcoming releases to reach 50k managed nodes.
Rudder 4.1 was released in March 2017 with:
- an advanced feature to query external APIs and pull in node properties dynamically
the ability to add "key=value" tags to all Rules and Directives in order to categorize them
- a new API on relay servers to enable node-to-node file sharing and remote run in firewalled environments performance improvements
- a new plugin package format
Rudder 4.2 was released in September 2017 and includes the support for a new plugin that adds support for a new Windows DSC-based agent. Rudder 4.3 will include:
- Parameters for Technique Editor techniques
- ACLs on the API accounts
- Many architecture improvements
In parallel, new plugins are being developed:
- A plugin to integrate data from external APIs
- Monitoring integration with Centreon
- CMDB integration with iTop
- A reporting plugin for historized compliance
This talk will introduce these new features and show how to use them, hopefully getting you as excited as we are! Then, we will move on to explain about longer-term feature ideas we have for Rudder, and the general vision linked to future developments.
About Nicolas Charles
Nicolas is a tinkerer who likes when things just work, and tries his best to reach this goal. He started as a developer 15 years ago, and often had to reach out of this role to solve issues.
In 2010, he co-founded Normation, and he still enjoys fixing things in Rudder and at its users.
DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...RUDDER
En tant qu’hébergeur et infogérant, Jaguar Network est confronté à une double évolution :
Le marché attend de la part d’un Service Provider de prendre en charge une part toujours plus importante de la gestion du système d’information.
La croissance de l’entreprise entraîne une pression plus importante quantitativement (scalabilité) et qualitativement (garantir la fiabilité et la sécurité sur l’ensemble du parc géré).
Ainsi, Jaguar Network a dû trouver une solution capable de résoudre cette double problématique à laquelle de plus en plus de sociétés sont confrontées : assurer la croissance rapide du parc tout en améliorant et en garantissant la fiabilité.
Grâce à RUDDER, solution open-source française de Continuous Configuration dédiée aux contraintes de la production, l’atteinte de cet objectif a été grandement facilité. En duo avec l’éditeur de RUDDER, Jaguar Network racontera le déroulement de ce projet, de la mise en place de l’outil aux résultats constatés, en passant par l’intégration avec les autres technologies du SI.
Un retour d’expérience concret et complet sur le concept de Continuous Configuration et son implémentation avec RUDDER.
RUDDER is an easy to use, web-driven, role-based solution for IT Infrastructure Automation and Compliance. With a focus on continuously checking configurations and centralising real-time status data, RUDDER can show a high-level summary (“ISO 27001 rules are at 100%!”) and break down noncompliance issues to a deep technical level (“Host prod-web-03: SSH server configuration allows root logins”).
A few things that make RUDDER stand out:
- A simple framework allows you to extend the built-in rules to implement specific low-level configuration patterns, however complex they may be, using simple building blocks (“ensure package installed in version X,” “ensure file content,” “ensure line in file,” etc.). A graphical builder lowers the technical level required to use this.
- Each policy can be independently set to be automatically checked or enforced on a policy or host level. In Enforce mode, each remediation action is recorded, showing the value of these invisible fixes.
- RUDDER works on almost every kind of device, so you’ll be managing physical and virtual servers in the data center, cloud instances, and embedded IoT devices in the same way.
- RUDDER is designed for critical environments where a security breach can mean more than a blip in the sales stats. Built-in features include change requests, audit logs, and strong authentication.
- RUDDER relies on an agent that needs to be installed on all hosts to audit. The agent is very lightweight (10 to 20 MB of RAM at peak) and blazingly fast (it’s written in C and takes less than 10 seconds to verify 100 rules). Installation is self-contained, via a single package, and can auto-update to limit agent management burden.
- RUDDER is a true and professional open source solution—the team behind RUDDER doesn’t believe in the dual-speed licensing approach that makes you reinstall everything and promotes open source as little more than a “demo version.”
RUDDER is an established project with several 10000s of node managed, in companies from small to biggest-in-their-field. Typical deployments manage 100s to 1000s of nodes. The biggest known deployment in 2016 is about 7000 nodes.
2. Normation – CC-BY-SA
normation.com 2
Qui suis-je ?
Scalaiste depuis...
q mi-2006 pour des projets personnels
q Rudder : Scala à temps complet depuis mi-2009
q Projet LaFoSec : sécurité des langages fonctionnels
– Scala d'un point de vue sécurité
– Papier écrit en 2010 pour l'Agence Nationnal de la Sécurité de SI (ANSSI)
– http://www.ssi.gouv.fr/fr/anssi/publications/publications-scientifiques/autres-publicati
ons/lafosec-securite-et-langages-fonctionnels.html
Co-fondateur
Lead-architect
far@normation.com @fanf42
François ARMAND
3. Normation – CC-BY-SA
normation.com 3
De quoi va-t-on parler ?
q Pas une présentation de Scala
q Pas une présentation technique
q Plutôt l'histoire de Rudder et de Scala
4. Normation – CC-BY-SA
normation.com 4
Projet Rudder : retour sur 4 ans de Scala
Rudder ?
François ARMAND
Directeur R&D - Normation
far@normation.com
5. Normation – CC-BY-SA
normation.com 5
Rudder ?
Automatisation & conformité des
infrastructures informatiques
Configuration de système,
Gestion des changements,
Vérification...
www.rudder-project.org
6. Normation – CC-BY-SA
normation.com 6
Les trois approches de la configuration
1. L'artisanat 2. La duplication 3. La gestion centrale
q Adaptable à chaque besoin
q Solution sur mesure
q Attention au détail
q Problème d'échelle
q La répétition n'est pas un
point fort des humains
q Partage du savoir
Configuration à la main,
aux « petits oignons »
É V O L U T I O N
q Gain de temps à partir du
deuxième déploiement
q Environnements identiques
q Adaptation des paramètres
q Gestion des changements
q Compatibilité des
formats d'image
Une installation « parfaite »,
reproduite à l'identique
q Contrôle centralisé
q Gestion des changements
q Vérification et reporting
q Partage du savoir
q Agent sur chaque serveur
q Montée en compétences
Configuration automatique,
pilotée depuis un point
7. Normation – CC-BY-SA
normation.com 8
Rudder : objectifs
Faciliter la gestion de configuration
et propager son utilisation
Étendre les bénéfices
de la
gestion de configuration
à
une population plus large
Managers
Sysadmins
juniors
Non
experts
Baisser le coût d'entrée
pour
apprendre et utiliser
la
gestion de configuration
Utilisation
simplifiée
Puissance
conservée
8. Normation – CC-BY-SA
normation.com 9
Projet Rudder : retour sur 4 ans de Scala
Scala ?
François ARMAND
Directeur R&D - Normation
far@normation.com
9. Normation – CC-BY-SA
normation.com 10
qScala : le langage
On passe !
The Scala and FPL friendly event in Paris!
October 24th and 25th, 2013. Paris, France
10. Normation – CC-BY-SA
normation.com 11
Projet Rudder : retour sur 4 ans de Scala
Pourquoi Scala ?
François ARMAND
Directeur R&D - Normation
far@normation.com
14. Normation – CC-BY-SA
normation.com 15
Nous sommes en 2009...
q Avec un 7 !
q comme « on n'a pas encore refait les collections »
q on casse la compatibilité binaire les semaines paires
– parfois les semaines impaires, aussi
q IDE inexistants
– il y a bien un plugin Eclipse
– mais c'est un projet de PhD
– qui ne fonctionne pas réellement...
16. Normation – CC-BY-SA
normation.com 17
Nous sommes en 2009...
q Personne n'utilise
Scala en entreprise...
q Enfin si :
Pas encore Twitter ni Foursquare
Novell Pulse Mimesis Republic
19. Normation – CC-BY-SA
normation.com 20
Pourquoi Scala ? (en vrai)
q Start-up, le produit avant tout
q Ne pas être contraint par le langage ni l'environnement de
développement
q Pouvoir facilement trouver des compétences
q Dans un écosystème dynamique
q Choix naturel :
q Java.
q Sisi.
20. Normation – CC-BY-SA
normation.com 21
Pourquoi Scala ? (en vrai)
q Pour rigoler : en Scala, possible ?
q Base terminée en 2h et 50 lignes
+ =
JAX-P / XSD
Xstream
SAX/StAX
21. Normation – CC-BY-SA
normation.com 22
Pourquoi Scala ? (en vrai)
q On a adoré,
q Fait de plus en plus de choses en Scala
Bref, on se faisait plaisir – et des
développeurs qui se font plaisir bossent mieux
Cool à utiliser
Développement rapide
Peu de boilerplate
Apprendre à nouveau
23. Normation – CC-BY-SA
normation.com 24
Projet Rudder : retour sur 4 ans de Scala
Et alors, dans la durée, ça
donne quoi ?
François ARMAND
Directeur R&D - Normation
far@normation.com
24. Normation – CC-BY-SA
normation.com 25
Grandir avec un écosystème naissant
q Pleins de côtés sympas
q Esprit tribu, tout le monde se connait
q les premiers Scala Days
– Sentir un élan, un bouillonnement
q la création du PSUG
q les idées folles de remises en cause du monde (JavaEE...)
q Communauté
Brillante Dynamique Horizon divers
Parfois Rugueuse
25. Normation – CC-BY-SA
normation.com 26
Grandir avec un écosystème naissant
q Des côtés moins sympa :
q La lenteur de la compilation (toujours)
q la compatibilité binaire inexistante
q les bugs du compilo (nombreux au début)
q l'outillage inexistant
q les intégristes Java qui n'essaient pas de comprendre
– mais critiquent abondamment.
26. Normation – CC-BY-SA
normation.com 27
Grandir avec un écosystème naissant
q Finalement, voir la sauce qui prend
q
q , et pleins dautres frameworks
q La start-up du jour (par exemple )
q Les grosses boites : , , …
q Les scala-days de plus en plus grands
q Le nombre de présentations et d'UG qui explose
q L'apparition dans les radars « mainstream »
q Boost de motivation, d'idées, de possibilités
($4M pour développer Scala)
27. Normation – CC-BY-SA
normation.com 28
qGrandir avec un écosystème naissant
q Et le recrutement ?
q Personnelement, peu de recul :
– Uniquement 5 (anciens) stagiaires & alternants
– Aucune intégration de développeur expérimenté
q Candidats : excellents profils
q Aucun problème de montée en compétence sur Scala
q Evolution du marché :
q Aujourd'hui :
– embaucher 5 stars : aucun problèmes,
– monter une équipe de 20 personnes : très difficile.
« Hot developers use Scala »
Anthony Rose
28. Normation – CC-BY-SA
normation.com 29
Projet Rudder : retour sur 4 ans de Scala
OK, mais le code, alors ?
François ARMAND
Directeur R&D - Normation
far@normation.com
29. Normation – CC-BY-SA
normation.com 30
Scala way of life
q Favorise l'immutabilité et la composabilité
q Favorise l'intention par le typage
q Case class : la bonne structure de données au bon moment
q « un identifiant n'est pas une String »
getPeople(id : PeopleId) : Either[ Error, Option[People] ]
q Framework de collection über puissant
q Les algorithmes tels que vous les pensez
30. Normation – CC-BY-SA
normation.com 31
Utiliser Scala permet....
q Modéliser des systèmes et leurs intéractions
q Composition de flows de données
q Ajouter simplement des fonctionnalités transverses
q Workflow de validation de demandes de changement : 3 semaines à 3
q Algorithmes / sorties utilisateurs
q Refactorer
31. Normation – CC-BY-SA
normation.com 32
Evolution du code : refactoring
q Rudder : 3 refactorings majeurs
q 80 % des ~35kloc touchées
q Passés magiquement
q Le métier reste complexe
q Mais ça compile, c'est bon (presque)
q Pas de craintes de refactorer
q Même si la couverture de tests n'est pas top
(c'est mal)
q Comme dans Git, naturel de faire des branches
36. Normation – CC-BY-SA
normation.com 37
Projet Rudder : retour sur 4 ans de Scala
Et les technos ?
François ARMAND
Directeur R&D - Normation
far@normation.com
38. Normation – CC-BY-SA
normation.com 39
Projet Rudder : retour sur 4 ans de Scala
Questions ?
François ARMAND
Directeur R&D - Normation
far@normation.com