La résilience applicative est un sujet complexe, car elle questionne aussi bien le code d'une application, son architecture, que l'infrastructure sur laquelle celle-ci doit tourner. Chaque composant qui entre en jeu peut avoir ses faiblesses, faiblesses qui nous sont souvent révélées lorsque ce composant est mis a rude épreuve, comme par exemple lorsqu'il est soumis à un pic de charge soudain.
Choisir le lieu où le code est exécuté est donc aussi critique que d'avoir un code de qualité, et si une dépendance applicative mal gérée peut avoir un impact négatif sur une application, c'est tout aussi vrai pour une dépendance d'infrastructure, qu'il s'agisse d'un DNS, d'un Load Balancer, du cache, etc. Chacun doit être évalué et rigoureusement choisi en fonction du cas d'usage.
Dans cet épisode j'ai le plaisir de recevoir Christopher Maneu. Christopher est developer advocate pour Microsoft où il est en charge d'accompagner les startups dans leur réussite technologique, et il nous brosse un tableau d'ensemble des fragilités méconnues des pièces d'infrastructure que nous utilisons quotidiennement sans nécessairement nous poser de question à leur sujet.
Notes de l'épisode
- Load.io : http://findresultsonline.com/
- Apache JMeter : https://jmeter.apache.org/
- La documentation Microsoft : https://docs.microsoft.com/fr-fr/
- Designing Distributed Systems : https://azure.microsoft.com/en-us/resources/designing-distributed-systems/
- Scalabilty Rules : http://scalabilityrules.com/
Support the show (https://www.patreon.com/electromonkeys)