Blog

Les fondements d'une équipe DevOps performante

par Tony Albanese 3 avril 2014 | 4 minutes de lecture

Il s'agit du dernier article de notre série sur la transition vers une culture DevOps (pour l'instant). Pour commencer depuis le début, consultez, Pourquoi vous devriez établir une culture DevOps .

Lorsque nous parlons de DevOps, nous abordons souvent la question de la collaboration et de la culture. L’un des aspects les plus importants de l’adoption d’une approche DevOps dans votre organisation sont les outils et les procédures qui pilotent ce mouvement. Plus important encore, vos relations avec vos outils et votre culture créent une base de libre-service, de priorisation et de personnes.

Libre-service pour les développeurs avec automatisation de l'infrastructure

Dans un modèle DevOps, les développeurs sont en mesure de faire beaucoup de choses par eux-mêmes, alors qu'auparavant ils devaient s'appuyer sur une équipe d'exploitation. Pour passer efficacement à une culture DevOps, les ingénieurs d'exploitation aident les développeurs en créant des outils qui leur permettent de résoudre les problèmes par eux-mêmes.

Ces outils en libre-service maintiennent la cohérence des performances, des attributs fonctionnels et physiques de vos produits. De plus, vous contrôlez vos exigences, vos informations de conception et vos informations opérationnelles tout au long du cycle de vie de votre produit. Des outils comme Chef (que nous utilisons chez PagerDuty) nous permettent de traiter notre infrastructure comme du code pour assurer la cohérence dans nos environnements de test, de développement et de produits via le contrôle de version, les tests automatisés et les évaluations par les pairs.

En fournissant aux développeurs les outils dont ils ont besoin pour éteindre leurs propres incendies, vous pouvez consacrer plus de temps à l’amélioration de votre produit, de vos services et de vos processus.

Établir une priorité pour ce que vous surveillez

Suivre ce qui intéresse les clients vous aidera à prioriser vos mesures de surveillance. Chez PagerDuty, nous accordons la priorité à notre capacité à accepter des événements et à envoyer des alertes à nos clients avant tout autre système et processus. Nous prenons la fiabilité au sérieux et savons à quel point nos clients dépendent de nous pour recevoir des alertes. S'ils ne reçoivent pas d'alertes, ils risquent de ne pas reconnaître une erreur dans leurs systèmes, ce qui peut entraîner des pannes prolongées. Parce que nous surveillons et hiérarchisons les indicateurs qui intéressent les clients, il existe un sentiment d'urgence chaque fois que l'un de nos outils de surveillance nous alerte d'un incident.

Nos ingénieurs ne tarderont pas à résoudre un problème d'alerte parce qu'ils sont en train de s'occuper d'un incident qui ne concerne pas le client. En établissant des priorités, nous pouvons rapidement changer de vitesse pour nous assurer que notre service est disponible pour vous à tout moment.

Nous vous recommandons de déterminer les éléments de votre produit et de vos services qui comptent le plus pour vos clients et de concentrer votre surveillance et vos alertes sur ces domaines. Vous constaterez que votre taux de satisfaction augmentera avec moins de perturbations dans les services auxquels vos clients s'intéressent le plus.

Connectez les gens entre eux et à vos systèmes

L'adoption d'une culture DevOps passe par la capacité à travailler en équipe et à travailler en équipe. Les outils sont censés faciliter et renforcer nos relations les uns avec les autres. Par exemple, GitHub permet à votre équipe non seulement de stocker du code, mais également de collaborer et de partager une source centrale de connaissances et de fournir un contrôle de version au cas où quelque chose se passerait mal et devrait être annulé.

Chez PagerDuty, nous nous efforçons d'être la couche d'interconnexion entre vos outils et vos collaborateurs afin que vous puissiez répondre aux incidents plus rapidement et réduire votre temps moyen de réparation. Nous espérons que notre service créera un sentiment de responsabilité pour les membres de votre équipe et permettra aux équipes de travailler ensemble pour une cause unifiée (par exemple, résoudre un incident critique). Vous n’aurez pas d’entreprise prospère ou de produit fonctionnel sans personnes.

Pour que les gens puissent avoir un impact efficace sur votre entreprise, ils doivent pouvoir travailler quand on a besoin d'eux. Mettre des gens de garde pour les tenir informés des systèmes dont ils sont responsables est un moyen efficace de commencer.

« En permettant aux développeurs d'être d'astreinte, nous ciblons les équipes appropriées avec des alertes exploitables. » – Eduardo Saito, directeur de l'ingénierie chez GREE

Ceux qui n'ont jamais été de garde auparavant peuvent être réticents, mais ils verront bientôt l'intérêt d'être de garde, car chacun aligne ses difficultés avec celles de ses clients.

Nous avons beaucoup parlé ces derniers temps de la façon de passer à un modèle DevOps dans votre organisation. Si vous débutez, n'oubliez pas qu'une culture de collaboration est essentielle. Vous ne pouvez pas exploiter un modèle DevOps avec des services cloisonnés. Cela peut être le plus gros obstacle pour votre entreprise. Mais si vous concentrez votre énergie sur l'autonomisation de votre équipe grâce au libre-service, en utilisant des outils qui connectent les gens à leurs systèmes et en identifiant une priorité parmi vos objectifs communs, vous serez sur la bonne voie.

Mise à jour du 10/04/14 – Suite de la lecture de la série sur la transition vers DevOps :