La revue de presse hebdomadaire des technologies Big Data, DevOps et Web, architectures Java et mobilité dans des environnements agiles, proposée par Xebia.
Craftsmanship
Contrainte comportementale dans la processus du développement logiciel
Lihsuan Lung de 8th light, fait un lien intéressant avec la contrainte comportementale ou « Forcing Function » et le processus du développement logiciel dans son article.
Afin d’affronter le risque des erreurs humaines sur la complexité, diversité et la multitude de nos systèmes et outils d’aujourd’hui nous pourrions créer des check-lists.
Comme les chirurgiens ou les pilotes d’avion nous sommes des experts susceptible d’erreurs humaines – le processus du TDD pourrais nous aider de les éviter.
DevOps
Les namespaces manquants selon Jessie Frazelle
Jessie Frazelle vient de publier un article présentant les 2 principaux namespaces manquants sur Linux selon elle.
Actuellement, les namespaces Linux sont au nombre de 7 :
- MNT : Mount
- PID : Process ID
- NET : Network
- IPC Interprocess Communication
- UTS : Hostname
- User : User ID
- CGroup : Control Groups pour la limitation de ressources
Comme l’évoque Jessie, les Time namespaces seraient les bienvenus notamment pour permettre des « reproducible builds », souvent évoqués par les mainteneurs de packages de distributions Linux lorsqu’un package embarque avec lui la date et l’heure à laquelle il a été construit, le rendant ainsi très difficile à reproduire sans ce Time namespace. Elle exprime également son désir de voir arriver un namespace pour le kernel keyring, utilisé pour stocker et/ou mettre en cache des éléments sensibles, typiquement des clés de chiffrement ou d’authentification. Comme elle le rappelle très bien, ces éléments (time et kerkel keyring) n’étant pour l’instant pas isolés, les seccomp Docker de base empêchent toute modification les concernant. Bien qu’elle ne le mentionne pas, un syslog namespace est également évoqué depuis plusieurs années, mais n’a pour l’instant pas été intégré au kernel Linux officiellement.
Désormais très connue suite à ses nombreuses contributions au monde des conteneurs en tant qu’employée de Docker, puis Mesosphere et désormais Google, peut-être est-ce Jessie qui finira par implémenter les namespaces en question et les contribuer au kernel Linux ? Après tout, les premiers éléments des conteneurs sur Linux ont pour la plupart été contribués par des employés de Google pour leurs propres besoins !
Pour rappel, Jessie Frazelle sera présente en tant que speaker au Paris Container Day le 13 juin prochain.
Functions as a Service avec Docker… ou plutôt Moby
Suite à la DockerCon, de nombreux articles relatant les différentes présentations commencent à être publiés. C’est notamment le cas de l’article « Moby’s Cool Hack sessions » publié sur le blog de Docker, présentant notamment comment Alex Ellis s’est servi de Docker Moby et du mode Swarm pour créer des « Function as a Service », le terme désignant désormais les exécutions de fonction à la demande comme par exemple AWS lambda.
Cette présentation précède de peu celle de Clay Smith (New Relic) à la dotScale 2017 qui y expliquait comment il avait « introspecté » les lambdas d’AWS pour mieux comprendre comment celles-ci étaient lancées par Amazon.
Releases : Ansible et Gitlab
Comme le mois dernier, voici un résumé des principales releases intéressantes ayant eu lieu ce mois-ci :
- Ansible ont enfin publié leur version 2.3 : attendue depuis de nombreux mois, cette release inclut de nombreuses corrections de bugs mais également de nouveaux modules très orientés cloud et appels d’APIs plutôt que gestion de configuration pure. On notera également un fort accent sur la gestion de systèmes Windows.
- Gitlab 9.0 puis 9.1 sont sortis : 1 an et demi après la version 8.0 qui ouvrait la page de la gestion de l’intégralité du cycle de vie d’un projet par Gitlab, cette nouvelle version majeure sonne le début de l’extension vers la gestion du déploiement des applications. Au programme : intégration avec Prometheus pour embarquer le monitoring des applications déployées sur Kubernetes, nouvelle version de l’API, améliorations de performance et de la navigation, et bien d’autres encore. La version 9.1 emboîte d’ores et déjà le pas de la 9.0, avec des améliorations notables sur l’interface de l’intégration de Prometheus, sur les pipeline de déploiement de manière générale, ainsi que sur bon nombre de petits détails pratiques dont pourront profiter les utilisateurs au quotidien.