Stabilité des services et intégration continue chez Facebook
Rendre un site ou un service hautement disponible, c’est s’assurer que les ressources (électricité, climatisation, serveurs, réseaux, connectivité, etc..) sont 100% opérationnels. Mais tout cela ne sert pas à grand chose si le site/logiciel/service n’est pas fiable.
Or, tout le monde le sait, les services doivent évoluer et la stabilité d’un logiciel n’est pas toujours compatible avec des mises à jour fréquentes. De plus quand ces mises à jour apportent de nouvelles fonctionnalités les effets de bord sur les autres composants ne sont pas toujours bien anticipés (retro-compatibilité, charge, etc..).
Dans cette optique les méthodes de tests et d’intégration continue apportent des réponses. C’est justement ce qui est décrit dans ces deux articles :
- http://cacm.acm.org/blogs/blog-cacm/40796-frequent-releases-change-software-engineering/fulltext
- http://cacm.acm.org/blogs/blog-cacm/51564-extreme-agility-at-facebook/fulltext
Si vous devez gérer des ajouts fonctionnels réguliers, sur une plate forme en constante utilisation je vous conseille la lecture de ces documents. Chez Facebook l’uptime est extrêmement important, alors qu’ils ajoutent régulierement des fonctions, des serveurs et surtout quelques centaines de millions d’utilisateurs .. tout ça en parralèle et avec un déploiement planétaire … leurs expériences ne peuvent donc pas être inutiles.
Source :
Abonnement RSS
Bonsoir
Juste un petit message pour te dire j’aime beaucoup ton blog. Je suis tombé dessus par hasard en faisant une recherche sur Memcached.
Je n’ai pas encore eu le temps de tout explorer, mais ça ne saurait tarder!
Bonne continuation