13 bonnes pratiques pour garantir la scalabilité

AFK Partners ont fait paraitre un liste (parmi tant d’autres) « bonnes pratiques » au niveau de l’évolutivité des logiciels. En voici la traduction avec quelques petites adaptations d’interprétation :
1. Asynchrone - Utilisez des flux asynchrones dès que possible,
2. Cloisonnement – Concevez des « silos » matériel indépendants entre chaque client/projet,
3. Cache - Utilisez les technologies de « cache » sur chaque couche applicative,
4. Monitoring - Evaluez la performance de votre application aussi du point du vue du client,
5. Réplication - Utilisez la réplication pour la reprise en cas de panne mais utilisez aussi ces ressources pour alléger le serveur principal des lectures faites par plusieurs instances applicatives,
6. Sharding - Séparez votre application et vos bases de données par service et/ou client et affectez chaque instance à un « silos » matériel distinct,
7. Utilisez avec parcimonie les possibilités de votre SGBDR – Utiliser les bases de données interactive uniquement comme système de stockage persistent,
8. Déployez prudemment – Déployez votre code, idéalement sur un serveur de qualification, sans rendre indisponible le système complet en cas d’erreur,
9. Tests de charge et de performance – Testez les performances des nouvelles versions avant de les passer en production,
10. Capacity Planning / Connaissez vos limites – Prenez conscience de la puissance encore disponible sur chaque élément de votre infrastructure,
11. Rollback – Gardez toujours la possibilité de retourner à une version antérieure,
12. Analyse des avaries – Ne pas soigner les symptômes, mais les causes des problèmes,
13. Qualité – On ne rajoute pas la qualité à postériori, elle fait partie des bases.

Leave a Reply

You must be logged in to post a comment.