Il y a 6 ans -
Temps de lecture 5 minutes
Revue de Presse Xebia
La revue de presse hebdomadaire des technologies Big Data, DevOps et Web, architectures Java et mobilité dans des environnements agiles, proposée par Xebia.
Agilité
Entretien avec Martin Fowler
Le podcast agile uprising réalise une série d’interviews avec les auteurs du manifeste Agile. Dans cet entretien d’une heure, Martin Fowler se remémore le contexte dans lequel lui et les autres co-signataires ont rédigé le manifeste Agile. L’écrasante majorité des professionnels du logiciel, enlisés dans une analogie systématique avec le monde du hardware ou du génie civil, ne juraient alors que par la recherche du plan exhaustif et parfait, puis le suivi de ce plan. Kent Beck remportait un certain succès avec son livre Extreme Programming Explained et Scrum n’intéressait pas encore grand monde… C’était en 2001, et Martin Fowler nous rappelle que le développement logiciel a bien changé depuis.
Mobilité
Exhaustivité des Enum
Ole Begemann dans son article Enums, Equatable, and Exhaustiveness aborde un sujet intéressant à propos des Enum en swift : comment s’assurer l’exhaustivité (au cours du temps) des switch statements ? Il prend pour exemple l’implémentation de Equatable sur un Enum et conseille, dans ces situations, de ne pas utiliser default
.
Apple interdit les frameworks de modification du code en temps réel
Depuis quelques années, les frameworks comme Rollout, JSPatch, CodePush (de Microsoft), Meteor ou autres, permettent de mettre à jour les applications mobiles à distance, en changeant le code à la volée, et sans demander une revalidation par l’App Store. Ces outils se servent souvent d’un langage de scripting tel que JavaScript ou Lua afin de changer le comportement de l’application sur demande et, parfois, même d’ajouter de nouveaux écrans qui n’étaient pas inclus lors de la soumission à iTunes Connect.
Leur mise en place, même si tolérée par Apple, viole notamment la section 3.3.2 du Apple Developer Program License Agreement et l’App Store Review Guideline 2.5.2.
Vu l’utilisation toujours croissante de ces modèles de mises à jour, Apple a décidé aujourd’hui d’appliquer son License Agreement à la lettre et d’interdire leur installation dans les applications déployées via l’App Store. Comme reporté par 9to5mac, les logiciels qui se servent de Rollout sont maintenant rejetés par le processus de validation de l’App Store et devront donc enlever ces implémentations avant d’être approuvés.
Cloud
Incident sur AWS S3
C’est une désagréable surprise qui s’abat sur la région US-East-1 d’Amazon Web Services le mercredi 1er Mars, de 19h à 23h (heure française) : une défaillance du service de stockage objet S3, entraînant dans sa chute de nombreux autres services d’AWS.
Un nombre impressionnant d’autres services en tout genre dépendant d’AWS, en particulier S3, commence alors à tomber : impossibilité de se connecter sur la version SaaS d’Hipchat, indisponibilité des artefacts de CircleCI, de la console d’Heroku, de la documentation de Terraform, etc.
Un « post-mortem » de l’incident a finalement été publié par Amazon. La cause ? Une erreur lors du lancement d’une opération planifiée sur un trop grand volume de machines. Sans plus de détail, on pressent typiquement une situation telle un run Ansible qui devait être appliqué à 30% des serveurs d’un cluster mais a dérapé en 60%, entraînant une perte de quorum et un down du service.
La leçon à tirer de cet incident ? Toujours appliquer le « Design for Failures » : partez du principe que la loi de Murphy s’abattra sur vous et que ce qui pourrait mal tourner, tournera mal. Ceci est valable que vous soyez utilisateur d’un service de cloud ou un provider de cloud vous-même ! En tant que client, vous ne voulez pas subir une totale interruption de service en cas de problème chez votre provider, ce qu’a compris Slack qui n’a eu qu’un service dégradé (impossible d’uploader des images) pendant l’incident. En tant que provider de cloud, vous souhaitez probablement éviter la situation dans laquelle s’est retrouvée Amazon lors de l’incident : la page de status indiquant l’état des services d’AWS… était elle-même dépendante de ces services.
À titre d’exemple, Netflix a déjà intégré l’importance de penser « Design for Failures » lors du down d’AWS en 2011 et est aujourd’hui parmi les exemples à suivre en terme d’architectures résiliantes. Pensez également à l’applicabilité de notre Essential Card sur le couplage entres votre service et d’autres services externes !
DevOps
Containous lève 1M€ pour continuer à développer Træfik
Containous, la startup éditant le reverse proxy open-source Træfik qui vise à s’intégrer dans des infrastructures dynamiques, vient de lever 1 Million d’Euros pour continuer son développement !
Emile Vauge, fondateur de Containous et créateur de Træfik, continue donc dans sa lancée quelques semaines après avoir annoncé son souhait de voir Træfik rejoindre la Cloud Native Computing Foundation, l’organisation à but non lucratif portant déjà en son sein des projets tels que Kubernetes, Prometheus ou Fluentd.
De notre côté, nous espérons que cette levée de fond permettra enfin à Træfik de commencer à gérer du load balancing au niveau TCP et non plus seulement HTTP, et pourquoi pas d’ajouter une notion de failover lorsqu’un backend ne contient plus aucun noeud.
En tout cas, pendant ce temps, Træfik prend doucement la direction de sa version 1.2, dont la seconde pré-release est sortie la semaine dernière.
Commentaire