SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Choisir Scala en entreprise,
                                     est-ce bien raisonnable ?

              1 - Introduction
              2 - Pérennité
              3 - Domaine de prédilection
              4 - Risques
              5 - Retour d'expérience
              6 - Conclusion
              7 - Questions / Réponses
04/13/12
           © Normation 2011 - Tous droits réservés – Document strictement confidentiel.
           Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   13/04/2012
Introduction : présentation
     François ARMAND
            ▣     Développeur &                                                                       ▣   Jeune entreprise innovante (JEI)
                                                                                                              créée en 2010
                  architecte
                                                                                                          ■



                                                                                                          Expert en processus IT complexes :
                                                                                     Co-fondateur
                                                                                                      ▣


                    ■     depuis 2004                                                Lead-architect
                                                                                                          ■   Gestion des infrastructures IT
                                                                                                          ■   Gestion des identités
                    ■     écosystème Java                                                                 ■   Maîtrise de la dérive des SI
            ▣     Scala depuis 2007                                                                   ▣   Éditeur de la solution Rudder




          ▣     Solution de gestion de la configuration et d'audit des SI
          ▣     Serveur central : Scala

© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.                                                             2/27
Introduction : but de la présentation
   ▣       Scala : choix pertinent pour en éditeur en 2012 ?
              ■        Hypothèse : Scala, techniquement un excellent
                       langage
                           □      Puissance / Expressivité
                           □      Écosystème JVM
   ▣       Critères métiers :
              ■        Pérennité
              ■        Qui utilise Scala – domaines de prédilection
              ■        Risques
              ■        Clés de succès


© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   3/27
Introduction : Scala
       ▣        Sortie en 2004 2006 (version 2.0)
       ▣        Créé par Martin Odersky
                   ■       Père du compilateur Java moderne
                   ■       But : faire un langage :
                               □       Générique
                               □       Moderne (fusion des paradigmes « objet » et « fonctionnel »)
                               □       Utilisable en entreprise
                               □       « Scalable Language »
       ▣        Ecosystème « JVM»
                   ■       Compatibilité totale et directe avec Java


© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.                    4/27
Choisir Scala en entreprise,
                                     est-ce bien raisonnable ?

              1 - Introduction
              2 - Pérennité
              3 - Domaine de prédilection
              4 - Risques
              5 - Retour d'expérience
              6 - Conclusion
              7 - Questions / Réponses
04/13/12
           © Normation 2011 - Tous droits réservés – Document strictement confidentiel.
           Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   13/04/2012
Pérennité : importance ?
       ▣        Scala :
                   ■        Nouvelle technologie
                   ■        Quid du futur ?
       ▣        Gartner[1] : investir sur une technologie si :
                   ■        Plateforme principale : visibilité sur 10 ans
                   ■        Langage : visibilité sur 5 ans
                   ■        Est-ce vrai pour Scala ?



[1] : IT Programming Language Adoption and Usage Trends for 2012 and Beyond
© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   6/27
Pérennité : histoire

                          2004 --2008
                           2004 2008

       ▣        2004-2008 : les pionniers
                   ■        Technologie confidentielle
                   ■        Académiques, étudiants, start-ups web
                   ■        Applications web : Lift
                   ■        Foursquare, Novell




© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   7/27
Pérennité : histoire

                          2004 --2008
                           2004 2008                                                 2009
                                                                                      2009

       ▣       2009 : espoir d'un démarrage rapide
                 ■       Premiers Scala Days : succès
                 ■       Twitter choisit Scala
                 ■       Buzz « Scala 2.8 »
       ▣       Mais :
                 ■       Retard de Scala 2.8
                 ■       Critiques :
                            □      « Scala est difficile »
                            □      « Scala est pour les chercheurs »

© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.           8/27
Pérennité : histoire

                          2004 --2008
                           2004 2008                                                 2009
                                                                                      2009   2010
                                                                                              2010

      ▣     Début 2010 :
              ■     Version 2.8 retardée de presque 1 an
              ■     Nombreuses attaques / critiques
                      □    Pas d'offre commerciale
                      □    Scala IDE recommencé pour la 3ieme fois
                      □    Documentation
                      □    Incompatibilités binaires
      ▣     Fin 2010 : structuration de Scala pour l'entreprise
              ■     Sortie Scala 2.8
                      □    Versions mineures compatibles binairement
              ■     « Scala Solution » créée par Odersky
                      □    Priorités : Eclipse IDE, formation Scala, accompagnement
              ■     Scala dans toutes les conférences du monde Java

© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.                   9/27
Pérennité : histoire

                          2004 --2008
                           2004 2008                                                 2009
                                                                                      2009   2010
                                                                                              2010   2011
                                                                                                      2011

       ▣      2011 : accélération
                ■      Projet de R&D européen
                           □     2.3 M€
                           □     « Simplifier les problématiques de traitements parallèles »
                ■      Structuration de l'offre commerciale : TypeSafe
                           □     3 M$
                           □     Fournir une pile logicielle et une offre commerciale pour les entreprises
                           □     Akka : programmation concurrente par acteurs
                           □     Play ! : un framework web déjà encensé dans l'écosystème JVM
                ■      Toujours plus de sociétés choisissent Scala

© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.                           10/27
Pérennité : offres d'emplois




© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   11/27
Pérennité : conclusion

                          2004 --2008
                           2004 2008                                                 2009
                                                                                      2009   2010
                                                                                              2010   2011
                                                                                                      2011   ??
       ▣      Offre commerciale crédible
       ▣      Offre d'emplois en forte hausse
       ▣      Thoughtworks Radar[1]
                ■      Scala : recommandation
       ▣      Gartner[2] : 2012, 4 catégories de langage à suivre :
                ■      1/ Open-sources, 2/ sur une VM, 3/ dynamiques, 4/ fonctionnels
                ■      Scala cité
              Scala à 5 ans : OK

[1]  http://www.thoughtworks.com/articles/technology-radar-january-2011#Languages :
[2]  IT Programming Language Adoption and Usage Trends for 2012 and Beyond
© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.                                12/27
Choisir Scala en entreprise,
                                     est-ce bien raisonnable ?

              1 - Introduction
              2 - Pérennité
              3 - Domaine de prédilection
              4 - Risques
              5 - Retour d'expérience
              6 - Conclusion
              7 - Questions / Réponses
04/13/12
           © Normation 2011 - Tous droits réservés – Document strictement confidentiel.
           Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   13/04/2012
Domaine de prédilection
       ▣     Type d'entreprise :
               ■     Web/Social : Linkedin, Salesforce, Remember The Milk, Tumblr, QWiki…
               ■     Cloud : Amazon, Heroku, VMWare, GridGain…
               ■     Media : Guardian, Zeebox, Sony, …
               ■     Finance : Wealthfront, EDF Trading, UBS (banque Suisse), Morgan Stanley…
                        □    Détails confidentiels
       ▣     Problématiques :
               ■     Applications « serveur »
               ■     « Big Data »
               ■     Traitements parallèles
               ■     Traitements concurrents
               ■     « Temps réel »




© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.          14/27
Choisir Scala en entreprise,
                                     est-ce bien raisonnable ?

              1 - Introduction
              2 - Pérennité
              3 - Domaine de prédilection
              4 - Risques
              5 - Retour d'expérience
              6 - Conclusion
              7 - Questions / Réponses
04/13/12
           © Normation 2011 - Tous droits réservés – Document strictement confidentiel.
           Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   13/04/2012
Risque : ressources humaines
       ▣       Zeebox : « hot developers use Scala »
                  ■      Facile de trouver 10 experts internationaux
                  ■      Impossible d'externaliser une équipe de 100 personnes
       ▣       Sociétés de consulting spécialisées Scala
                  ■      Commencent seulement à apparaitre
       ▣       En France (Région Parisienne) ?
                  ■      Une poignée d'indépendants
                  ■      Quelques cabinets de consulting
                             □      Xebia, Octo Technologie, …
                             □      Compter 800/1000 €/jour (ou plus!)



© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   16/27
Risque : « Scala is hard »
       ▣       Critique majeure contre Scala
       ▣       Principalement issue de développeurs Java
                  ■      Peu de problèmes chez
                             □      les nouveaux développeurs
                             □      Les développeurs venant d'autres horizons
       ▣       Axes d'interprétation :
                  ■      Technologie nouvelle
                             □      Manque de convention
                             □      Outillage non mature
                  ■      Issue d'un milieu académique
                  ■      Force les développeurs confirmés à repartir de zéro
               Encadrement essentiel
© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   17/27
Risques : maturité
       ▣        Outillages
                   ■        Compilateur lent
                                □      Au moins un ordre de magnitude par rapport à Javac
                   ■        IDE moyens
                                □      Énormes progrès depuis 18 mois
                                □      Mais encore très loin de Visual C# ou des IDE Java
       ▣        Incompatibilités binaires
                   ■        Entre les versions majeurs
                Équipe capable de dépasser ces irritations


© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.          18/27
Choisir Scala en entreprise,
                                     est-ce bien raisonnable ?

              1 - Introduction
              2 - Pérennité
              3 - Domaine de prédilection
              4 - Risques
              5 - Retour d'expérience
              6 - Conclusion
              7 - Questions / Réponses
04/13/12
           © Normation 2011 - Tous droits réservés – Document strictement confidentiel.
           Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   13/04/2012
Retour d'expérience : contexte
       ▣       Rudder : gestion de configuration des SI
                  ■      Console de gestion centrale : Scala
                  ■      Agent de configuration sur les nœuds (serveurs) : C
       ▣       5 années/homme de développement
                  ■      ~35 000 lignes de Scala
       ▣       Début en Java...
                  ■      Puis une migration rapide, totale vers Scala
                             □      Trop frustrant et improductif de revenir à Java
       ▣       Seulement deux développeurs à temps plein
                  ■      Dont un fait du Scala depuis +5 ans


© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.    20/27
Retour d'expérience : résultat
       ▣     Communauté dynamique, brillante, parfois rugueuse
       ▣     Développement Scala :
               ■     Nombreux petits ennuis :
                        □     IDE Éclipse, compilateur, comptabilité binaire
               ■     Largement compensés par :
                        □     Productivité décuplée
                                  ◉   Possibilité d'écrire des algorithmes sans complexité accidentelle
                                  ◉   Collection API !
                        □     Refactorings « magiques »
                                  ◉   2 refactorings d'environ 20 000 lignes de code
                                  ◉   Fonctionnent du premier coup (presque)
       ▣     Problèmes RH ?
               ■     Peu de recul
                        □     Uniquement stagiaires / alternants
                        □     Aucune intégration de développeur expérimenté
               ■     Postulants : excellents profils
               ■     Aucun problème de montée en compétence sur Scala
© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.                        21/27
Choisir Scala en entreprise,
                                     est-ce bien raisonnable ?

              1 - Introduction
              2 - Pérennité
              3 - Domaine de prédilection
              4 - Risques
              5 - Retour d'expérience
              6 - Conclusion
              7 - Questions / Réponses
04/13/12
           © Normation 2011 - Tous droits réservés – Document strictement confidentiel.
           Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   13/04/2012
Conclusion : clés de succès
       ▣      Vouloir construire une équipe passionnée
                ■       Attirer des talents
       ▣      Avoir un champion Scala
                ■       Porteur de la technologie
                           □     Mentor : montée en compétence des autres membres
                           □     Garant des bonnes pratiques
       ▣      Construire une application « client/serveur »
                           □     Logique complexe
                           □     Massivement parallèle et/ou concurrente
       ▣      Pouvoir et vouloir se fondre dans l'écosystème JVM
                ■       Le moins risqué des « nouveaux » langages JVM
                ■       Avec tous les avantages de l'écosystème JVM
                ■       Et ses inconvénients
© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   23/27
Choisir Scala en entreprise,
                                     est-ce bien raisonnable ?

              1 - Introduction
              2 - Pérennité
              3 - Domaine de prédilection
              4 - Risques
              5 - Retour d'expérience
              6 - Conclusion
              7 - Questions / Réponses
04/13/12
           © Normation 2011 - Tous droits réservés – Document strictement confidentiel.
           Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   13/04/2012
Contact
       ▣        Nos coordonnées générales :
                                □      Téléphone :                                   01 83 62 26 96
                                □      Fax :                                         01 83 62 29 38
                                □      Email :                                       contact@normation.com
                                □      Site web :                                    http://www.normation.com

       ▣        Votre interlocuteur :



                                                                                           François ARMAND – Lead Architect


                                                                                           far@normation.com


© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.                                            25/27
Ressources
      ▣      David Pollak : critique de Scala
                ■      http://goodstuff.im/yes-virginia-scala-is-hard
                ■      http://goodstuff.im/scala-use-is-less-good-than-java-use-for-at-l
      ▣      Convaincre son patron d'utiliser Scala :
             http://scala-boss.heroku.com
      ▣      Interview du fondateur Zeebox :
                ■      http://www.scala-lang.org/node/11428
      ▣      ScalaDays 2012 :
                ■      http://days2012.scala-lang.org/
      ▣      Étude Garner :
                ■      http://www.gartner.com/DisplayDocument?id=1814916

© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.    26/27
Exemples de frameworks Scala
       ▣        Web :
                   ■        Lift-framework http://liftweb.net
                   ■        Play ! http://www.playframework.org
       ▣        Acteurs (programmation concurrente) :
                   ■        Akka : http://akka.io
       ▣        Test (test driven, specification, automatique)
                   ■        http://etorreborre.github.com/specs2
                   ■        http://code.google.com/p/scalacheck




© Normation 2011 - Tous droits réservés – Document strictement confidentiel.
Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable.   27/27

Más contenido relacionado

Similar a Choisir scala en entreprise, est ce bien raisonnable ?

CocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entreprise
CocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entrepriseCocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entreprise
CocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entrepriseCocoaHeads France
 
Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Didier Durand
 
OpenSource & InnerSource pour accélérer les développements
OpenSource & InnerSource pour accélérer les développementsOpenSource & InnerSource pour accélérer les développements
OpenSource & InnerSource pour accélérer les développementsFrançois
 
Liferay Portail Web Enterprise Plateforme Collaborative
Liferay Portail Web Enterprise Plateforme CollaborativeLiferay Portail Web Enterprise Plateforme Collaborative
Liferay Portail Web Enterprise Plateforme CollaborativeSavoir-faire Linux
 
Tv network systemmmanagementoss-24oct07
Tv network systemmmanagementoss-24oct07Tv network systemmmanagementoss-24oct07
Tv network systemmmanagementoss-24oct07Pascal Flamand
 

Similar a Choisir scala en entreprise, est ce bien raisonnable ? (7)

CocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entreprise
CocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entrepriseCocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entreprise
CocoaHeads Toulouse - Septembre 2011 - Déployer et gérer i os en entreprise
 
Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012
 
Forum PHP 2014 day 1
Forum PHP 2014 day 1Forum PHP 2014 day 1
Forum PHP 2014 day 1
 
Introduction JavaEE
Introduction JavaEEIntroduction JavaEE
Introduction JavaEE
 
OpenSource & InnerSource pour accélérer les développements
OpenSource & InnerSource pour accélérer les développementsOpenSource & InnerSource pour accélérer les développements
OpenSource & InnerSource pour accélérer les développements
 
Liferay Portail Web Enterprise Plateforme Collaborative
Liferay Portail Web Enterprise Plateforme CollaborativeLiferay Portail Web Enterprise Plateforme Collaborative
Liferay Portail Web Enterprise Plateforme Collaborative
 
Tv network systemmmanagementoss-24oct07
Tv network systemmmanagementoss-24oct07Tv network systemmmanagementoss-24oct07
Tv network systemmmanagementoss-24oct07
 

Más de RUDDER

What if configuration management didn't need to be lvl60 in dev?
What if configuration management didn't need to be lvl60 in dev?What if configuration management didn't need to be lvl60 in dev?
What if configuration management didn't need to be lvl60 in dev?RUDDER
 
Servers compliance: audit, remediation, proof
Servers compliance: audit, remediation, proofServers compliance: audit, remediation, proof
Servers compliance: audit, remediation, proofRUDDER
 
OSIS 2019 - Qu’apporte l’observabilité à la gestion de configuration ?
OSIS 2019 - Qu’apporte l’observabilité à la gestion de configuration ?OSIS 2019 - Qu’apporte l’observabilité à la gestion de configuration ?
OSIS 2019 - Qu’apporte l’observabilité à la gestion de configuration ?RUDDER
 
OW2Con - Configurations, do you prove yours?
OW2Con - Configurations, do you prove yours?OW2Con - Configurations, do you prove yours?
OW2Con - Configurations, do you prove yours?RUDDER
 
The new plugin ecosystem in RUDDER 5.0
The new plugin ecosystem in RUDDER 5.0The new plugin ecosystem in RUDDER 5.0
The new plugin ecosystem in RUDDER 5.0RUDDER
 
What uses for observing operations of Configuration Management?
What uses for observing operations of Configuration Management?What uses for observing operations of Configuration Management?
What uses for observing operations of Configuration Management?RUDDER
 
UX challenges of a UI-centric config management tool
UX challenges of a UI-centric config management toolUX challenges of a UI-centric config management tool
UX challenges of a UI-centric config management toolRUDDER
 
What happened in RUDDER in 2018 and what’s next?
What happened in RUDDER in 2018 and what’s next?What happened in RUDDER in 2018 and what’s next?
What happened in RUDDER in 2018 and what’s next?RUDDER
 
What is RUDDER and when should I use it?
What is RUDDER and when should I use it?What is RUDDER and when should I use it?
What is RUDDER and when should I use it?RUDDER
 
Fosdem - Configurations do you prove yours?
Fosdem - Configurations  do you prove yours?Fosdem - Configurations  do you prove yours?
Fosdem - Configurations do you prove yours?RUDDER
 
L'audit en continu : clé de la conformité démontrable (#POSS 2018)
L'audit en continu : clé de la conformité démontrable (#POSS 2018)L'audit en continu : clé de la conformité démontrable (#POSS 2018)
L'audit en continu : clé de la conformité démontrable (#POSS 2018)RUDDER
 
Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)
Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)
Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)RUDDER
 
Stay up - voyage d'un éditeur de logiciels libres
Stay up - voyage d'un éditeur de logiciels libresStay up - voyage d'un éditeur de logiciels libres
Stay up - voyage d'un éditeur de logiciels libresRUDDER
 
How we scaled Rudder to 10k, and the road to 50k
How we scaled Rudder to 10k, and the road to 50kHow we scaled Rudder to 10k, and the road to 50k
How we scaled Rudder to 10k, and the road to 50kRUDDER
 
What's new and what's next in Rudder
What's new and what's next in RudderWhat's new and what's next in Rudder
What's new and what's next in RudderRUDDER
 
Poss 2017 : gestion des configurations et mise en conformité chez un service ...
Poss 2017 : gestion des configurations et mise en conformité chez un service ...Poss 2017 : gestion des configurations et mise en conformité chez un service ...
Poss 2017 : gestion des configurations et mise en conformité chez un service ...RUDDER
 
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...RUDDER
 
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...RUDDER
 
DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...
DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...
DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...RUDDER
 
RUDDER - Continuous Configuration (configuration management + continuous aud...
 RUDDER - Continuous Configuration (configuration management + continuous aud... RUDDER - Continuous Configuration (configuration management + continuous aud...
RUDDER - Continuous Configuration (configuration management + continuous aud...RUDDER
 

Más de RUDDER (20)

What if configuration management didn't need to be lvl60 in dev?
What if configuration management didn't need to be lvl60 in dev?What if configuration management didn't need to be lvl60 in dev?
What if configuration management didn't need to be lvl60 in dev?
 
Servers compliance: audit, remediation, proof
Servers compliance: audit, remediation, proofServers compliance: audit, remediation, proof
Servers compliance: audit, remediation, proof
 
OSIS 2019 - Qu’apporte l’observabilité à la gestion de configuration ?
OSIS 2019 - Qu’apporte l’observabilité à la gestion de configuration ?OSIS 2019 - Qu’apporte l’observabilité à la gestion de configuration ?
OSIS 2019 - Qu’apporte l’observabilité à la gestion de configuration ?
 
OW2Con - Configurations, do you prove yours?
OW2Con - Configurations, do you prove yours?OW2Con - Configurations, do you prove yours?
OW2Con - Configurations, do you prove yours?
 
The new plugin ecosystem in RUDDER 5.0
The new plugin ecosystem in RUDDER 5.0The new plugin ecosystem in RUDDER 5.0
The new plugin ecosystem in RUDDER 5.0
 
What uses for observing operations of Configuration Management?
What uses for observing operations of Configuration Management?What uses for observing operations of Configuration Management?
What uses for observing operations of Configuration Management?
 
UX challenges of a UI-centric config management tool
UX challenges of a UI-centric config management toolUX challenges of a UI-centric config management tool
UX challenges of a UI-centric config management tool
 
What happened in RUDDER in 2018 and what’s next?
What happened in RUDDER in 2018 and what’s next?What happened in RUDDER in 2018 and what’s next?
What happened in RUDDER in 2018 and what’s next?
 
What is RUDDER and when should I use it?
What is RUDDER and when should I use it?What is RUDDER and when should I use it?
What is RUDDER and when should I use it?
 
Fosdem - Configurations do you prove yours?
Fosdem - Configurations  do you prove yours?Fosdem - Configurations  do you prove yours?
Fosdem - Configurations do you prove yours?
 
L'audit en continu : clé de la conformité démontrable (#POSS 2018)
L'audit en continu : clé de la conformité démontrable (#POSS 2018)L'audit en continu : clé de la conformité démontrable (#POSS 2018)
L'audit en continu : clé de la conformité démontrable (#POSS 2018)
 
Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)
Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)
Fiabilité et conformité continues en production avec Rudder (#BBOOST 2018)
 
Stay up - voyage d'un éditeur de logiciels libres
Stay up - voyage d'un éditeur de logiciels libresStay up - voyage d'un éditeur de logiciels libres
Stay up - voyage d'un éditeur de logiciels libres
 
How we scaled Rudder to 10k, and the road to 50k
How we scaled Rudder to 10k, and the road to 50kHow we scaled Rudder to 10k, and the road to 50k
How we scaled Rudder to 10k, and the road to 50k
 
What's new and what's next in Rudder
What's new and what's next in RudderWhat's new and what's next in Rudder
What's new and what's next in Rudder
 
Poss 2017 : gestion des configurations et mise en conformité chez un service ...
Poss 2017 : gestion des configurations et mise en conformité chez un service ...Poss 2017 : gestion des configurations et mise en conformité chez un service ...
Poss 2017 : gestion des configurations et mise en conformité chez un service ...
 
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
Poss 2017 - la continuité, arme secrète de la gestion du si - cas concret de ...
 
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
POSS 2017 : Comment automatiser son infrastructure quand... on a pas le temps...
 
DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...
DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...
DevOps D-Day 2017 - Gestion des configurations et mise en conformité chez un ...
 
RUDDER - Continuous Configuration (configuration management + continuous aud...
 RUDDER - Continuous Configuration (configuration management + continuous aud... RUDDER - Continuous Configuration (configuration management + continuous aud...
RUDDER - Continuous Configuration (configuration management + continuous aud...
 

Choisir scala en entreprise, est ce bien raisonnable ?

  • 1. Choisir Scala en entreprise, est-ce bien raisonnable ? 1 - Introduction 2 - Pérennité 3 - Domaine de prédilection 4 - Risques 5 - Retour d'expérience 6 - Conclusion 7 - Questions / Réponses 04/13/12 © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 13/04/2012
  • 2. Introduction : présentation François ARMAND ▣ Développeur & ▣ Jeune entreprise innovante (JEI) créée en 2010 architecte ■ Expert en processus IT complexes : Co-fondateur ▣ ■ depuis 2004 Lead-architect ■ Gestion des infrastructures IT ■ Gestion des identités ■ écosystème Java ■ Maîtrise de la dérive des SI ▣ Scala depuis 2007 ▣ Éditeur de la solution Rudder ▣ Solution de gestion de la configuration et d'audit des SI ▣ Serveur central : Scala © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 2/27
  • 3. Introduction : but de la présentation ▣ Scala : choix pertinent pour en éditeur en 2012 ? ■ Hypothèse : Scala, techniquement un excellent langage □ Puissance / Expressivité □ Écosystème JVM ▣ Critères métiers : ■ Pérennité ■ Qui utilise Scala – domaines de prédilection ■ Risques ■ Clés de succès © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 3/27
  • 4. Introduction : Scala ▣ Sortie en 2004 2006 (version 2.0) ▣ Créé par Martin Odersky ■ Père du compilateur Java moderne ■ But : faire un langage : □ Générique □ Moderne (fusion des paradigmes « objet » et « fonctionnel ») □ Utilisable en entreprise □ « Scalable Language » ▣ Ecosystème « JVM» ■ Compatibilité totale et directe avec Java © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 4/27
  • 5. Choisir Scala en entreprise, est-ce bien raisonnable ? 1 - Introduction 2 - Pérennité 3 - Domaine de prédilection 4 - Risques 5 - Retour d'expérience 6 - Conclusion 7 - Questions / Réponses 04/13/12 © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 13/04/2012
  • 6. Pérennité : importance ? ▣ Scala : ■ Nouvelle technologie ■ Quid du futur ? ▣ Gartner[1] : investir sur une technologie si : ■ Plateforme principale : visibilité sur 10 ans ■ Langage : visibilité sur 5 ans ■ Est-ce vrai pour Scala ? [1] : IT Programming Language Adoption and Usage Trends for 2012 and Beyond © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 6/27
  • 7. Pérennité : histoire 2004 --2008 2004 2008 ▣ 2004-2008 : les pionniers ■ Technologie confidentielle ■ Académiques, étudiants, start-ups web ■ Applications web : Lift ■ Foursquare, Novell © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 7/27
  • 8. Pérennité : histoire 2004 --2008 2004 2008 2009 2009 ▣ 2009 : espoir d'un démarrage rapide ■ Premiers Scala Days : succès ■ Twitter choisit Scala ■ Buzz « Scala 2.8 » ▣ Mais : ■ Retard de Scala 2.8 ■ Critiques : □ « Scala est difficile » □ « Scala est pour les chercheurs » © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 8/27
  • 9. Pérennité : histoire 2004 --2008 2004 2008 2009 2009 2010 2010 ▣ Début 2010 : ■ Version 2.8 retardée de presque 1 an ■ Nombreuses attaques / critiques □ Pas d'offre commerciale □ Scala IDE recommencé pour la 3ieme fois □ Documentation □ Incompatibilités binaires ▣ Fin 2010 : structuration de Scala pour l'entreprise ■ Sortie Scala 2.8 □ Versions mineures compatibles binairement ■ « Scala Solution » créée par Odersky □ Priorités : Eclipse IDE, formation Scala, accompagnement ■ Scala dans toutes les conférences du monde Java © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 9/27
  • 10. Pérennité : histoire 2004 --2008 2004 2008 2009 2009 2010 2010 2011 2011 ▣ 2011 : accélération ■ Projet de R&D européen □ 2.3 M€ □ « Simplifier les problématiques de traitements parallèles » ■ Structuration de l'offre commerciale : TypeSafe □ 3 M$ □ Fournir une pile logicielle et une offre commerciale pour les entreprises □ Akka : programmation concurrente par acteurs □ Play ! : un framework web déjà encensé dans l'écosystème JVM ■ Toujours plus de sociétés choisissent Scala © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 10/27
  • 11. Pérennité : offres d'emplois © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 11/27
  • 12. Pérennité : conclusion 2004 --2008 2004 2008 2009 2009 2010 2010 2011 2011 ?? ▣ Offre commerciale crédible ▣ Offre d'emplois en forte hausse ▣ Thoughtworks Radar[1] ■ Scala : recommandation ▣ Gartner[2] : 2012, 4 catégories de langage à suivre : ■ 1/ Open-sources, 2/ sur une VM, 3/ dynamiques, 4/ fonctionnels ■ Scala cité Scala à 5 ans : OK [1]  http://www.thoughtworks.com/articles/technology-radar-january-2011#Languages : [2]  IT Programming Language Adoption and Usage Trends for 2012 and Beyond © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 12/27
  • 13. Choisir Scala en entreprise, est-ce bien raisonnable ? 1 - Introduction 2 - Pérennité 3 - Domaine de prédilection 4 - Risques 5 - Retour d'expérience 6 - Conclusion 7 - Questions / Réponses 04/13/12 © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 13/04/2012
  • 14. Domaine de prédilection ▣ Type d'entreprise : ■ Web/Social : Linkedin, Salesforce, Remember The Milk, Tumblr, QWiki… ■ Cloud : Amazon, Heroku, VMWare, GridGain… ■ Media : Guardian, Zeebox, Sony, … ■ Finance : Wealthfront, EDF Trading, UBS (banque Suisse), Morgan Stanley… □ Détails confidentiels ▣ Problématiques : ■ Applications « serveur » ■ « Big Data » ■ Traitements parallèles ■ Traitements concurrents ■ « Temps réel » © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 14/27
  • 15. Choisir Scala en entreprise, est-ce bien raisonnable ? 1 - Introduction 2 - Pérennité 3 - Domaine de prédilection 4 - Risques 5 - Retour d'expérience 6 - Conclusion 7 - Questions / Réponses 04/13/12 © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 13/04/2012
  • 16. Risque : ressources humaines ▣ Zeebox : « hot developers use Scala » ■ Facile de trouver 10 experts internationaux ■ Impossible d'externaliser une équipe de 100 personnes ▣ Sociétés de consulting spécialisées Scala ■ Commencent seulement à apparaitre ▣ En France (Région Parisienne) ? ■ Une poignée d'indépendants ■ Quelques cabinets de consulting □ Xebia, Octo Technologie, … □ Compter 800/1000 €/jour (ou plus!) © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 16/27
  • 17. Risque : « Scala is hard » ▣ Critique majeure contre Scala ▣ Principalement issue de développeurs Java ■ Peu de problèmes chez □ les nouveaux développeurs □ Les développeurs venant d'autres horizons ▣ Axes d'interprétation : ■ Technologie nouvelle □ Manque de convention □ Outillage non mature ■ Issue d'un milieu académique ■ Force les développeurs confirmés à repartir de zéro Encadrement essentiel © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 17/27
  • 18. Risques : maturité ▣ Outillages ■ Compilateur lent □ Au moins un ordre de magnitude par rapport à Javac ■ IDE moyens □ Énormes progrès depuis 18 mois □ Mais encore très loin de Visual C# ou des IDE Java ▣ Incompatibilités binaires ■ Entre les versions majeurs Équipe capable de dépasser ces irritations © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 18/27
  • 19. Choisir Scala en entreprise, est-ce bien raisonnable ? 1 - Introduction 2 - Pérennité 3 - Domaine de prédilection 4 - Risques 5 - Retour d'expérience 6 - Conclusion 7 - Questions / Réponses 04/13/12 © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 13/04/2012
  • 20. Retour d'expérience : contexte ▣ Rudder : gestion de configuration des SI ■ Console de gestion centrale : Scala ■ Agent de configuration sur les nœuds (serveurs) : C ▣ 5 années/homme de développement ■ ~35 000 lignes de Scala ▣ Début en Java... ■ Puis une migration rapide, totale vers Scala □ Trop frustrant et improductif de revenir à Java ▣ Seulement deux développeurs à temps plein ■ Dont un fait du Scala depuis +5 ans © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 20/27
  • 21. Retour d'expérience : résultat ▣ Communauté dynamique, brillante, parfois rugueuse ▣ Développement Scala : ■ Nombreux petits ennuis : □ IDE Éclipse, compilateur, comptabilité binaire ■ Largement compensés par : □ Productivité décuplée ◉ Possibilité d'écrire des algorithmes sans complexité accidentelle ◉ Collection API ! □ Refactorings « magiques » ◉ 2 refactorings d'environ 20 000 lignes de code ◉ Fonctionnent du premier coup (presque) ▣ Problèmes RH ? ■ Peu de recul □ Uniquement stagiaires / alternants □ Aucune intégration de développeur expérimenté ■ Postulants : excellents profils ■ Aucun problème de montée en compétence sur Scala © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 21/27
  • 22. Choisir Scala en entreprise, est-ce bien raisonnable ? 1 - Introduction 2 - Pérennité 3 - Domaine de prédilection 4 - Risques 5 - Retour d'expérience 6 - Conclusion 7 - Questions / Réponses 04/13/12 © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 13/04/2012
  • 23. Conclusion : clés de succès ▣ Vouloir construire une équipe passionnée ■ Attirer des talents ▣ Avoir un champion Scala ■ Porteur de la technologie □ Mentor : montée en compétence des autres membres □ Garant des bonnes pratiques ▣ Construire une application « client/serveur » □ Logique complexe □ Massivement parallèle et/ou concurrente ▣ Pouvoir et vouloir se fondre dans l'écosystème JVM ■ Le moins risqué des « nouveaux » langages JVM ■ Avec tous les avantages de l'écosystème JVM ■ Et ses inconvénients © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 23/27
  • 24. Choisir Scala en entreprise, est-ce bien raisonnable ? 1 - Introduction 2 - Pérennité 3 - Domaine de prédilection 4 - Risques 5 - Retour d'expérience 6 - Conclusion 7 - Questions / Réponses 04/13/12 © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 13/04/2012
  • 25. Contact ▣ Nos coordonnées générales : □ Téléphone : 01 83 62 26 96 □ Fax : 01 83 62 29 38 □ Email : contact@normation.com □ Site web : http://www.normation.com ▣ Votre interlocuteur : François ARMAND – Lead Architect far@normation.com © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 25/27
  • 26. Ressources ▣ David Pollak : critique de Scala ■ http://goodstuff.im/yes-virginia-scala-is-hard ■ http://goodstuff.im/scala-use-is-less-good-than-java-use-for-at-l ▣ Convaincre son patron d'utiliser Scala : http://scala-boss.heroku.com ▣ Interview du fondateur Zeebox : ■ http://www.scala-lang.org/node/11428 ▣ ScalaDays 2012 : ■ http://days2012.scala-lang.org/ ▣ Étude Garner : ■ http://www.gartner.com/DisplayDocument?id=1814916 © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 26/27
  • 27. Exemples de frameworks Scala ▣ Web : ■ Lift-framework http://liftweb.net ■ Play ! http://www.playframework.org ▣ Acteurs (programmation concurrente) : ■ Akka : http://akka.io ▣ Test (test driven, specification, automatique) ■ http://etorreborre.github.com/specs2 ■ http://code.google.com/p/scalacheck © Normation 2011 - Tous droits réservés – Document strictement confidentiel. Il ne peut être utilisé, reproduit ou divulgué sans autorisation écrite préalable. 27/27