Les Patterns des Géants du Web – Zero Downtime Deployment

Description

Dans l’article Continuous Deployment, nous avons vu comment améliorer le Time To Market, tout en garantissant la qualité des développements.

L’étape suivante est de garantir que ces déploiements fréquents n’impactent pas la disponibilité du site.

Et c’est là qu’intervient le Zero Downtime Deployment (ZDD), qui permet de déployer une nouvelle version d’un système sans interrompre le bon fonctionnement du service.

Mais comment s’assurer d’un déploiement « sans accroc » ?
Lire la suite

Les Patterns des Grands du Web – Feature Team

Description

Dans l’article « Pizza Team », nous avons vu que les géants du Web prêtaient beaucoup d’attention à la taille de leurs équipes. Mais ce n’est pas le seul point de vigilance qu’ils ont sur leurs équipes : ils veillent aussi fréquemment à avoir des équipes organisées par fonctionnalité, autrement dit des « feature teams ».

La petite équipe polyvalente est la clé pour aller vite, et la plupart des géants du Web tentent de résister le plus longtemps possible à la multiplication d’équipes pour réaliser un seul produit.

Lire la suite

Les Patterns des Grands du Web – Continuous Deployment

Description

Dans l’article « Bêta perpétuelle », nous avons vu que les géants du Web améliorent leur produit de façon permanente. Mais comment arrivent-ils à livrer fréquemment ces améliorations alors que dans certaines DSI, la moindre modification peut prendre plusieurs semaines à être déployée en production ?

La plupart du temps, ils ont instauré un processus de déploiement continu (continuous deployment), selon deux modalités possibles :

  • Soit de façon totalement automatisée – une modification de code est automatiquement vérifiée puis, le cas échéant, déployée en production.
  • Soit de façon semi-automatisée : il est possible à tout moment de mettre en production le dernier code stable en cliquant simplement sur un bouton. On parle alors de « one-click-deployment ».

Evidemment, la mise en place de ce pattern demande certains pré-requis…

Lire la suite

Les Patterns des Grands du Web – Lean Startup

Description

La création d’un produit est très souvent vouée à l’échec. Ainsi, les chiffres montrent que 95% des produits ou startups meurent par manque de clients.

Le Lean Startup est une approche de création produit qui se propose de réduire les risques d’échec en attaquant parallèlement les aspects organisationnels, business et techniques et avec des itérations agressives. Formalisée par Eric Ries, elle est fortement inspirée du Customer Development de Steve Blank.

Lire la suite

Les Patterns des Grands du Web – Design for failure

Description

« Everything fails all the time » est l’aphorisme célèbre de Werner Vogels, CTO d’Amazon : il est en effet impossible de prévoir toutes les défaillances qui peuvent se produire sur un système informatique, à toutes les couches : une règle de gestion incohérente, des ressources systèmes non relâchées après une transaction, une panne de disque dur…

Et c’est sur ce principe simple que se basent les architectures techniques des Géants du Web aujourd’hui, rassemblées sous le pattern design for failure, « conçu pour supporter la défaillance » : une application informatique doit être capable de supporter la panne de n’importe quel composant logiciel ou matériel sous-jacent.

Lire la suite

Les Patterns des Grands du Web – Contribution au Logiciel Libre

Mais pourquoi Facebook, Google et autre Twitter contribuent-ils autant à l’open source ?

L’avance technologique est un atout important dans la conquête du Web. Que ce soit pour se démarquer de la concurrence en lançant de nouveaux services (pensez à la sortie de Gmail et de son large stockage à l’époque de l’hégémonie Hotmail), ou plus pragmatiquement pour faire face aux contraintes qui leur sont propres comme le défit de croissance lié à leurs bases utilisateurs, nous allons voir que les Géants du Web ont su à plusieurs reprises inventer de nouvelles technologies.

Alors que l’on pourrait penser que cette maitrise technologique, cet actif que représente le code, devraient tout deux être secrètement conservés, voilà qu’un pattern largement répandu nous interpelle : les Géants du Web ne sont pas seulement de grands consommateurs de technologies open-source, ils en sont aussi les principaux contributeurs.

Lire la suite

Les Patterns des Grands du Web – Cloud First

Description du pattern

Comme nous l’avons vu dans la description du pattern « Build vs Buy » : les grands du Web privilégient le développement spécifique, afin de maitriser leurs outils de bout en bout, là où de nombreuses entreprises recourent plutôt à des progiciels, considérant les outils informatiques comme des commodités.

Si les Grands du Web, comme les startups, préfèrent développer en interne leurs applications critiques, il leur arrive aussi d’avoir recours à des commodités créées par des tiers. Dans ce cas, elles vont jusqu’au bout de la logique de commodité : elles choisissent une externalisation complète du service en allant vers le Cloud.

Lire la suite

Les Patterns des Grands du Web – Build vs Buy

Description

Un écart marquant entre la stratégie des Grands du Web et celle des DSI dans lesquelles nous intervenons porte sur le sujet du Build vs Buy.

Ce dilemme est vieux comme le monde de l’informatique : vaut-il mieux investir dans la fabrication d’un logiciel taillé au mieux pour ses besoins ou bien s’appuyer sur un progiciel et des outils pré-packagés qui embarquent la capitalisation et la R&D d’un éditeur (ou d’une communauté) qui a le temps de creuser les sujets technologiques et métier ?

La plupart des grandes DSI françaises ont tranché et ont inscrit la progicialisation maximale dans leurs principes directeurs, partant souvent du principe que l’informatique n’est pas une activité cœur de métier pour elles et qu’il vaut mieux la laisser à des acteurs spécialisés.

Les acteurs du web tendent à faire exactement l’inverse, avec une certaine logique puisque précisément l’informatique est leur cœur de métier et par conséquent trop stratégique pour être laissée à des tiers.

Lire la suite

Les Patterns des Grands du Web – Les artisans codeurs

Description

Aujourd’hui, les grands du web nous rappellent qu’être un développeur est une carrière aussi prestigieuse que celle de manager ou de consultant. Pourquoi ? Ces entreprises ont dès le début orienté leur métier sur la satisfaction des utilisateurs afin de maintenir un cercle vertueux dans le développement de leurs produits.

Les grands du web mettent tout en œuvre pour garder une forte satisfaction de leurs utilisateurs. Cette situation les conduit généralement à créer un cadre pour que leurs équipes techniques restent focalisées sur les besoins de leurs utilisateurs finaux. On y retrouve généralement des développeurs heureux de leurs travaux, qui voient leur motivation augmenter de paire avec leur efficacité à livrer un produit et leur capacité d’apprendre en continue de nouvelles techniques et compétences. On y voit souvent une culture forte s’installer, permettant à l’équipe de perdurer, et cela même après le départ de personnes clés.

Lire la suite