Le radar des technologies ThoughtWorks est sorti fin Janvier.
Concept
Le radar permet de trier des technologies actuelles en fonction de 4 catégories :
- Adopt : Cette technologie peut être adopter par les entreprises.
- Trial : Il faut essayer cette technologie
- Assess : Cette technologie est à essayer, afin de comprendre ce qu’elle peut apporter à l’entreprise.
- Hold : Cette technologie doit être utilisée avec précaution et avec modération.
Ces technologies sont aussi regroupées par thèmes.
Techniques
Le déploiement continu pour les mobiles permet de réduire le décalage avec les différentes versions des systèmes d’exploitations (mise à jour automatique IOS, etc). Travis supporte désormais les agents OS X. Il est important de mettre en place les mêmes éléments de sécurité que les développements logiciels pour les développements mobiles.
Les serveurs « Chef & Puppet » est l’endroit pour stocker les recipes et les manifests pour gérer la configuration des machines. On peut ainsi stocker des informations et gérer les accès aux manifests et aux recipes. Mais, cela a comme désavantage, d’avoir un goulot lorsque plusieurs machines essayent d’accéder à ces serveurs. Ainsi, on doit porter une attention particulière à cela.
Le terme Datensparsamkeit vient de l’allemand pour décrire le fait de stocker uniquement les informations dont on a besoin. En effet, si on ne stocke rien, on a rien à sécuriser.
D’après ThoughtWorks, traiter la vélocité comme la productivité conduit les équipes à faire de la contre-productivité. En effet, les équipes vont privilégier les métriques au détriment de la qualité logiciel.
ADOPT 1 Capturing client-side JavaScript errors 2 Continuous delivery for mobile devices 3 Mobile testing on mobile networks 4 Segregated DOM plus node for JS Testing 5 Windows infrastructure automation
TRIAL 6 Capture domain events explicitily 7 Client and server rendering with same code 8 HTML5 storage instead of cookies 9 Instrument all the things 10 Masterless Chef/Puppet 11 Micro-services 12 Perimeterless enterprise 13 Provisioning testing 14 Structured Logging
ASSESS 15 Bridging physical and digital worlds with simple hardware 16 Collaborative analytics and data science 17 Datensparsamkeit 18 Development environments in the cloud 19 Focus on mean time to recovery 20 Machine image as a build artifact 21 Tangible interaction
HOLD 22 Cloud lift and shift 23 Ignoring OWASP Top 10 24 Siloed metrics 25 Velocity as productivity
Tools
D3 est une bibliothèque Javascript pour manipuler des documents basés sur une base de données. D3 nous aide à mettre en vie ces données .
Grunt.JS permet d’automatiser certaines actions de développement comme la mimification des assets, la compilation , etc. La plupart des tâches peuvent être réalisés par des plugins Grunt.
Travis CI permet depuis pas longtemps de gérer l’intégration continue avec le support de l’IOS.
Le test de régression visuel peut être rajoutés au build de l’intégration continue.
ThoughtWorks continue à voir des équipes techniques essayer de maintenir des scripts Ant. Ces scripts sont très durs à comprendre et à étendre du fait du manque de modularité des outils. Des alternatives comme Gradle, Buildr ou Psake semblent proposer une maintenance et une productivité supérieures.
ADOPT 48 D3 49 Dependency management for JavaScript
TRIAL 50 Ansible 51 Calabash 52 Chaos Monkey 53 Gatling 54 Grunt.js 55 Hystrix 56 Icon fonts 57 Librarian-puppet and Librarian-Chef 58 Logstash & Graylog2 59 Moco 60 PhantomJS 61 Prototype On Paper 62 SnapCI 63 Snowplow Analytics & Piwik
ASSESS 64 Cloud-init 65 Docker 66 Octopus 67 Sensu 68 Travis for OSX/iOS 69 Visual regression testing tools 70 Xamarin
HOLD 71 Ant 72 Heavyweight test tools 73 TFS
Nous utilisons déjà Grunt.JS pour gérer nos assets (minification des javascripts, etc) et depuis quelques temps, nous avons rajouté les tests d’intégrations visuels grâce à NightwatchJS.
Platforms
Elastic Search est un moteur de recherche et d’analyse qui rend les données plus faciles à explorer. Redis est une base de données NoSQL de type clé valeur, tout comme MongoDB.
Vumi est un moteur de messagerie qui permet la livraison de SMS, ou de message.
PhoneGap permet de mutualiser les développements et d’avoir le même code pour Android et IOS.
Les initiatives de data warehouse ont un taux d’échec de plus de 50%. La réalisation d’un data warehouse prend beaucoup de temps et est très cher à maintenir.
ADOPT 26 Elastic Search 27 MongoDB 28 Neo4J 29 Node.js 30 Redis 31 SMS and USSD as a UI
TRIAL 32 Hadoop 2.0 33 Hadoop as a service 34 OpenStack 35 PostgreSQL for NoSQL 36 Vumi
ASSESS 37 Akka 38 Backend as a service 39 Low-cost robotics 40 PhoneGap/Apache Cordova 41 Private Clouds 42 SPDY 43 Storm 44 Web Components standard
HOLD 45 Big enterprise solutions 46 CMS as a platform 47 Enterprise Data Warehouse
Nous utilisons déjà PhoneGap / Apache Cordova pour nos applications muti-devices. Cela permet de faire rapidement des applications mobiles compatibles Android et IOS.
Languages & Frameworks
Sinatra permet de créer rapidement des applications web en ruby.
Le langage GO a été développé par Google pour remplacer le C et le C++. Sorti il y a 4 ans, ce langage commence à prendre de l’ampleur grâce à de bonnes librairies comme la gestion du HTTP. Play Framework permet de construire des applications web avec Java. il est basé sur une architecture légère.
Python 3 est une mise à jour majeure de python qui introduit des changements incompatibles avec les versions précédentes. Il est plus facile à utiliser et plus cohérent sans réduire sa puissance. Au final, certains développeurs ont pu être perdus avec cette nouvelle version qui va sans doute être adoptée dans les prochains mois.
La rédaction à la main des CSS est définitivement terminée. En effet, des outils comme LESS permettent d’améliorer la rédaction des CSS.
ADOPT 74 Clojure 75 Dropwizard 76 Scala, the good parts 77 Sinatra
TRIAL 78 CoffeeScript 79 Go language 80 Hive 81 Play Framework 2 82 Reactive Extensions across languages 83 Web API
ASSESS 84 Elixir 85 Julia 86 Nancy 87 OWIN 88 Pester 89 Pointer Events 90 Python 3 91 TypeScript 92 Yeoman
HOLD 93 Handwritten CSS 94 JSF
Source :
thoughtworks.com/radar
http://thoughtworks.fileburst.com/assets/technology-radar-jan-2014-en.pdf