Observer et comprendre les échecs : les apprentis SRE


Transcription

Butow : Je suis ravi d'être à QCon pour parler d'observation et de compréhension des échecs, de formation d'apprentis SRE. Je m'appelle Tammy Bryant Butow. L'une des choses intéressantes que je voulais partager était en fait un programme que nous avons créé pour aider les nouveaux SRE à acquérir toutes les compétences dont ils avaient besoin pour observer et comprendre les défaillances de la production. Je suis SRE chez Gremlin. Auparavant, j'ai travaillé chez Dropbox en tant que responsable de l'ingénierie de la fiabilité des sites, des bases de données et du stockage, et j'ai travaillé sur des outils de développement. J'ai également travaillé à la National Australia Bank et j'y ai passé de nombreuses années. J'ai également travaillé chez DigitalOcean.

Apprendre d'une personne expérimentée

Quelques questions pour commencer. Est-il difficile de développer des compétences pour observer et comprendre les échecs ? Je dirais oui. Pourquoi la formation d'une personne plus expérimentée est-elle utile ? Il y a beaucoup de bonnes raisons pour lesquelles. Expliquons-le avec quelques GIF. Tout d'abord, pensez à Luke avant qu'il ne rencontre Yoda, il pouvait à peine utiliser la force. Ne fait pas vraiment un excellent travail. En essayant. Tout le monde se moque de lui. Il essaie. Il est difficile de maîtriser toutes ces compétences que vous devez acquérir pour pouvoir être incroyable dans ce que vous voulez faire. Prend de nombreuses années, de nombreuses heures. Il faut environ 10 000 heures pour maîtriser les compétences de quelque chose en particulier. Vous pouvez accélérer cela si vous avez un professeur incroyable. Pensons à Luc. Après avoir rencontré Yoda, il pouvait en fait sortir un navire d'un marais après avoir fait le poirier. Regardez le visage de Yoda. Se sentir incroyable, car il a pu aider Luke à acquérir ces nouvelles compétences et à être incroyable avec la force. C'est vraiment de cela qu'il s'agit.

Apprenti SRE – Padawan

Que sont les apprentis SRE ? Considérez-les comme des Padawans. Ce que nous avons fait, c'est moi-même et un collègue, Andrew, qui travaillait auparavant sur YouTube, avons créé un programme d'apprentissage SRE pour embaucher et former de nouveaux SRE. En fait, les apprentis pour nous venaient d'horizons très divers. Nous avons embauché beaucoup de gens qui voulaient changer de carrière. Par exemple, un apprenti SRE était en fait professeur de mathématiques au secondaire. Elle aimait être professeur de mathématiques, mais elle était vraiment intéressée à devenir ingénieur. Elle avait également quitté son travail d'enseignante. Elle avait terminé un bootcamp de codage, dans ce cas, Hackbright Academy. Ce que nous voulions faire, c'était l'embaucher, lui donner une chance. Avoir un programme d'apprentissage de six mois, où nous la jumelerions en tant qu'apprenti SRE avec un enseignant SRE. Je suis sûr que vous pouvez voir où cela va. Nous avions nos apprentis SRE en tant que Padawans, et nous avions nos professeurs SRE en tant que Jedis. Nos apprentis SRE ont reçu une formation individuelle sur les méthodes d'un SRE.

Nous avons alors également décidé que lorsque la formation d'un apprenti était terminée, il devrait alors passer la boucle d'entretien SRE régulière pour devenir un SRE. Après cela, ils continueraient à développer leurs compétences, et un jour, ils trouveraient un Padawan pour se former. C'était toute l'idée de notre programme. L'une des choses vraiment importantes que nous avons apprises ici était que nous devions trouver les bonnes personnes pour être nos apprentis SRE. Nous voulions des personnes qui pouvaient réellement monter en puissance et être capables de passer la boucle d'entretiens SRE régulière en six mois. Ce n'est pas beaucoup de temps pour apprendre toutes ces compétences. Si vous avez un enseignant SRE vraiment incroyable pour vous guider tout au long du processus et vous aider à apprendre ce que vous devez apprendre, être très concentré, prioriser ce qui est le plus important, alors nous pensons que nous serions en mesure d'aider ces apprentis SRE à atteindre un point où ils pourraient passer cet entretien par eux-mêmes et faire un travail incroyable, et être nos nouveaux SRE dans l'équipe.

Hypothèses sur les apprentis SRE

Vérifions simplement nos hypothèses sur les apprentis SRE. Je pense que c'est vraiment important. Il s'agit de notre premier groupe d'apprentis SRE, Rona, Krishelle, Thomissa et John. Ce ne sont pas des étudiants d'âge universitaire. Tous avaient fait des études collégiales dans le passé, mais pas pour des matières techniques comme l'informatique ou les technologies de l'information. En fait, ils avaient obtenu des diplômes totalement différents, par exemple, peut-être en mathématiques, en commerce, ou même en arts. Mais ce qu'ils voulaient tous, c'était devenir ingénieur. Ils souhaitaient spécifiquement devenir un SRE, car ils aimaient l'idée d'acquérir ces compétences et d'être responsables de systèmes à grande échelle en production avec des centaines de millions d'utilisateurs. C'était vraiment excitant pour eux. L'autre chose importante à noter est également que les SRE ont une grande variété d'âges, de genres, d'origines et d'endroits où ils ont grandi. Ils viennent de différents états à travers l'Amérique. L'un venait d'Alaska. Certains venaient de Californie. C'est très différent. Nous l'avons juste rendu vraiment ouvert afin que nous puissions embaucher des gens qui étaient vraiment excités et avides de cette opportunité. Nous avons également interviewé de nombreuses autres personnes pour ce rôle. Ce sont les quatre qui ont réussi. L'autre chose importante est que nous nous sommes assurés d'avoir tous nos enseignants SRE sur la boucle d'entretien pour les apprentis SRE. Nous leur avons demandé de choisir l'un des mentorés SRE, les apprentis SRE qu'ils aimeraient réellement encadrer eux-mêmes. C'était vraiment important, car nous nous sommes assurés d'identifier les correspondances entre les enseignants SRE et les apprentis SRE au cours du processus d'entretien proprement dit. Nous ne nous sommes pas contentés de dire aux gens qu'ils auraient ce nouveau rôle, nous en avons fait une opportunité vraiment excitante et vraiment géniale pour eux. Ils avaient l'impression de vouloir aider ces gens à acquérir ces compétences.

Associer les apprentis SRE aux enseignants SRE

Comment jumeler les apprentis SRE aux enseignants SRE ? Où trouvons-nous ces premiers enseignants SRE que nous pensions être vraiment doués dans ce rôle, et leur demandons-nous de participer aux boucles d'entretien ? Ce que nous avons fait, c'est que nous nous sommes réunis en tant qu'équipe de direction et avons réfléchi aux personnes vraiment formidables à impliquer dans ce programme. De toute évidence, Andrew et moi voulions être impliqués. Nous avons également décidé de choisir des personnes dont nous pensions que ce serait une opportunité vraiment géniale pour eux d'aider quelqu'un d'autre à grandir, de développer des compétences en leadership, de les aider à obtenir une promotion, car beaucoup d'entre eux se préparaient pour le personnel, niveau principal rôle SRE promotion. C'était vraiment cool. L'une des choses que nous avons également faites a été de demander à nos apprentis SRE, avec le recul, quelle était la chose la plus importante pour vous que votre mentor ou enseignant SRE avait ? Pour quelles compétences aviez-vous besoin d'eux pour vous aider ? Rona a déclaré qu'il était vraiment difficile de percer en tant que nouveau venu sans les références habituelles dans l'industrie de la technologie. Cela me fait penser à ne pas avoir de sudo et à essayer simplement d'entrer, et c'est vraiment difficile. Vous avez besoin de quelqu'un pour vous aider là-bas. Ce programme, dit-elle, était vraiment un moyen de l'aider à mettre un pied dans la porte. Ce n'était que la première étape.

L'autre chose importante est de s'assurer que les enseignants SRE mettent en place des apprentis pour réussir. C'est quelque chose que j'aime toujours dire, c'est de préparer les gens au succès. Ne leur donnez pas de défis qu'ils échoueront. Essayez de les aider. Soutenez-les et soutenez-les autant que possible. N'essayez pas de leur faire vivre des moments difficiles, encore et encore. Cela le rend vraiment pas motivant et pas amusant. Il est important qu'ils se sentent bien. Donnez-leur de petites victoires qu'ils peuvent célébrer et se sentir bien, et partager avec les autres. Une autre chose importante est que Rona a dit qu'elle voulait avoir un mentor, une source de soutien émotionnel et quelqu'un pour défendre sa cause, ainsi que quelqu'un qui pense en dehors des sentiers battus et pousse à la croissance et au changement.

C'est ainsi que nous réalisons nos jumelages de nos apprentis SRE et de nos professeurs SRE. Nous trouvons des personnes qui ont juste un fort désir d'apprendre, puis nous recherchons des SRE qui voulaient les aider à les guider et à partager leurs connaissances, et qui vérifieraient avec eux, seraient d'un grand soutien pour eux.

Enseignant SRE – Qu'est-ce qui rend quelqu'un le plus approprié ?

Si vous cherchez au sein de votre propre organisation pour identifier des personnes qui pourraient former d'autres à devenir des SRE, ou si vous cherchez quelqu'un pour être vous-même votre propre mentor, il est important que vous trouviez des personnes qui préparent les autres à réussir, sont formidables mentors, sont une source de soutien émotionnel et sont des défenseurs. Ils devraient également s'enregistrer. Je ne veux pas dire une fois par mois ou une fois par semaine, je veux dire à peu près chaque jour de travail. Juste un petit message Slack : « Comment allez-vous ? Êtes-vous bloqué sur quelque chose ? Faites-moi savoir si je peux vous aider. Je suis là pour vous. » C'est vraiment super et très utile. Il est également important de faire des introductions pour qu'ils puissent rencontrer d'autres personnes. C'est une bonne chose que quelqu'un peut faire lorsqu'il s'enregistre.

Ensuite, l'autre chose importante est de sortir des sentiers battus. Il est important de se rappeler que si vous embauchez des personnes qui changent de carrière, elles connaissent souvent déjà de nombreuses compétences. Ils savent comment envoyer des e-mails. Ils savent rédiger des documents. Ils savent rédiger des rapports. Ils savent peut-être même collecter des métriques. Ils savent comment évaluer les différents types de projets qu'ils ont menés. Peut-être qu'ils ont de nombreuses années d'expérience, ils auront aussi des compétences que vous pourrez apprendre d'eux. Ils auront des commentaires et des idées sur la façon dont vous pouvez améliorer les choses. C'est vraiment bien de s'assurer de toujours sortir des sentiers battus ici.

Quelque chose d'autre qu'ils aiment vraiment était de pousser à la croissance et au changement dans nos communautés au sein de votre organisation, mais aussi à l'extérieur. Emmener vos apprentis SRE à une conférence avec vous, c'est vraiment cool. En disant : « Voulez-vous venir avec moi à QCon ? Ce sont les discussions que je vais regarder. Allons-y ensemble, puis nous pourrons en faire un compte rendu. Vous pouvez me dire ce que vous avez pensé être le plus intéressant , ou ce que vous avez appris, ou tout ce qui vous a dérouté ou vous a surpris." C'est une activité vraiment cool à faire avec votre apprenti. La dernière chose dont nous nous sommes assurés était que les gens avaient au moins deux ans d'expérience. C'est difficile si quelqu'un est en première année, évidemment, ou même en deuxième année, parce qu'il a juste beaucoup de choses sur lesquelles il est déjà concentré.

Sécurité psychologique

Une autre chose importante à considérer est la sécurité psychologique. Si vous n'avez jamais entendu parler du mnémonique S.A.F.E.T.Y auparavant, décomposons cela un peu. Il existe différents composants pour le modèle de sécurité, et cela vous aide vraiment à créer un excellent endroit sûr pour que votre apprenti puisse apprendre et aussi pour que vous l'aidiez à les guider. Différentes personnes ont des besoins différents dans ces domaines : sécurité, autonomie, équité, estime, confiance et vous. Par exemple, quelqu'un qui a un grand besoin de sécurité, aime s'assurer que les choses sont prévisibles, donc cohérentes. Il y a un engagement là-bas, il y a une certitude, et il n'y a pas beaucoup de changement. Si vous pensez à cela en termes de programme d'apprentissage SRE, c'est là que vous dites, je vais jumeler mon apprenti SRE avec un enseignant SRE, et cela va se passer pendant six mois. Cet enseignant SRE va s'engager à rester dans la même équipe, à ne pas changer de poste, ou à une autre entreprise, quelque chose comme ça. C'est super important, car vous ne voulez pas que vos professeurs SRE partent au milieu des trois mois, puis ils doivent trouver un nouveau mentor et recommencer. Ce serait une très mauvaise expérience pour l'apprenti. Il est important de simplement dire ces choses d'avance aux enseignants SRE et de leur demander de le confirmer. Nous l'avons fait, et tout était totalement cool. Tout le monde s'y est engagé et l'a terminé. C'était super.

L'autre domaine pourrait être l'autonomie. Supposons que si votre apprenti SRE a un grand besoin d'autonomie, cela peut consister à décomposer son projet en petits morceaux, mais à lui demander de le posséder et de le livrer. Ce pourrait être par exemple, je voudrais que vous possédiez et dirigez cette réunion que nous allons faire une fois par semaine, qui est utilisée pour le transfert sur appel. Je veux que tu diriges réellement cette réunion. N'essayez pas de ne pas leur donner du travail pour se posséder. S'ils ont un grand besoin d'autonomie, il est alors important de déterminer ce que vous pouvez leur donner à posséder. Si vous n'êtes pas sûr de vos domaines personnels en matière de sécurité psychologique, vous pouvez effectuer cette évaluation gratuite à l'adresse https://academy-bbl.com/safety-assessment/. Il est également bon de demander à votre apprenti de le faire aussi et vous pourrez en apprendre davantage à leur sujet. Qu'est-ce qui est le plus important pour eux ?

Apprendre à observer et comprendre les échecs en prod – Apprendre par la formation

Qu'avons-nous créé comme programme pour faire monter en puissance les apprentis SRE en six mois et les aider à vraiment apprendre à observer et comprendre les défaillances de la production ? C'était la chose clé que nous avions besoin qu'ils comprennent. Il y avait quatre éléments différents : apprendre par la formation, apprendre par l'observation, apprendre par la pratique et apprendre par la communauté. Passons en revue chacun d'eux. Apprendre par la formation. L'une des choses qui me semble vraiment importante est de commencer par des applications de démonstration ou des environnements de laboratoire avant la production. Si vous réfléchissez à cela, imaginez que vous êtes un nouvel ingénieur et que vous avez soudainement accès à la production, et c'est le seul environnement auquel vous avez accès. Cela semble assez effrayant. C'est bien de leur donner un environnement qui ne soit pas effrayant, comme un environnement de test, un environnement de laboratoire, une pré-production, quelque chose comme ça, où ils peuvent simplement essayer des choses.

Ils n'ont pas à s'inquiéter autant. C'est vraiment important pour leur premier mois, quand ils apprennent juste beaucoup de nouvelles compétences et que vous ne voulez pas qu'ils craignent trop qu'ils fassent des erreurs. Parce que vous voulez évidemment qu'ils soient très prudents lorsqu'ils sont en production, même si vous aurez beaucoup de gardes en place pour vous assurer qu'ils ne commettent pas d'erreurs. Leur donner cet environnement de laboratoire, cet environnement de démonstration, c'est vraiment bien. Ensuite, leur donner également des missions pour ces derniers est formidable.

Voyons ce que vous pourriez faire par exemple. Il y a ce référentiel GitHub vraiment génial, en fait, si vous allez sur ce lien ici sur GitHub, burnion/ecommerce-observability. C'est une tâche formidable que vous pourriez réellement confier à votre apprenti. C'est le genre de choses que nous avons fait. Nous créerions de petites missions pour eux sur des environnements de démonstration, par exemple, nous voulons que vous appreniez cette pile technologique complète. Nous voulons que vous puissiez dépanner et déboguer cela, et en savoir plus à ce sujet. Ce qui est bien avec ce référentiel GitHub, c'est qu'il a été construit par l'équipe Datadog et qu'il lance en fait une application de commerce électronique entière qui est à mi-chemin de la migration du monolith vers les microservices, et contient des bogues. Ce que les apprentis doivent faire, c'est faire cet exercice, identifier les bogues. Patchez-les. Ensuite, vérifiez si tout s'est bien passé, en utilisant des outils d'observabilité. C'est un excellent moyen de comprendre, d'identifier et de corriger les défaillances dans ces environnements de test avant de passer à la production.

Voici un exemple d'une des erreurs qu'il lancera. Vous pouvez voir ici que le code du service publicitaire génère des erreurs à partir d'un fichier ERB spécifique. C'est assez évident pour nous. Si vous avez beaucoup d'expérience, vous regardez rapidement ceci, et allez, je vois qu'il y a une erreur là. Vous pouvez voir que cela se produit lorsque vous regardez le panier. Ce que nous voulons ensuite faire, c'est dire à l'apprenti : « Voyez si vous pouvez comprendre ce qui ne va pas ici. Pouvez-vous identifier la cause de l'échec ? Pouvez-vous le réparer ? » Un autre problème qui se produit dans cette application de démonstration est que le code de service de remise cause des problèmes de performances. Ce qu'ils doivent faire, c'est ouvrir le code, réserver via discounts.py. Identifiez le problème qui fait que tout fonctionne beaucoup plus lentement que prévu. Ils peuvent également utiliser des outils d'observabilité comme le traçage, comme différents types de métriques en termes de latence par service. Ensuite, regarder également les journaux est vraiment pratique pour cet exercice. Ensuite, ils devraient être en mesure d'identifier le problème et de le résoudre. Ce qui est cool ici, c'est que vous leur donnez de l'autonomie. Vous leur donnez une mission. Vous leur offrez un espace sûr pour apprendre. En fait, ils apprennent avec du vrai code. Ils sont en train de déboguer. Ils utilisent de vrais outils qui sont des outils standard de l'industrie pour identifier comment résoudre ce problème.

Un autre bon exemple est, si vous allez à la démo des microservices sur le Gremlin GitHub, gremlin/microservices-demo, c'est un très bon environnement de laboratoire que j'aime utiliser pour aider les gens à apprendre aussi. Ce qui est bien ici, c'est qu'il a cette architecture de microservices assez approfondie. Vous avez votre frontend, vous avez un service de panier, une cache, un service de caisse, un service de paiement. Lorsque vous les regardez à notre extrême droite, il y a 12 services. Ce diagramme est une bonne occasion de parler à votre apprenti, par exemple, quels sont, selon vous, les services les plus importants pour nos clients ? Lesquelles sont sur le chemin critique ? C'est juste une très bonne chose qu'ils comprennent et apprennent à connaître en tant que SRE. Vous les aidez à se familiariser avec ces terminologies, ces concepts comme le chemin critique, dont ils n'auraient jamais entendu parler auparavant, mais d'une manière vraiment agréable qu'ils peuvent réellement se salir les mains et apprendre par la pratique. On peut alors leur demander du genre, que pensez-vous que l'on pourrait retirer du chemin critique ? Jetons un coup d'œil à cela et supprimons certaines choses. L'autre chose dont vous pouvez leur parler est que sortir du chemin critique est une bonne chose. Cela signifie que moins de SRE frapperont à votre porte, car les SRE se soucieront le plus des services les plus critiques pour notre entreprise. Travailler avec des équipes pour supprimer les dépendances qui les placent dans le chemin critique est génial.

Disons, par exemple, que nous voulons faire des exercices réels. Ce que nous pourrions faire, c'est que nous pourrions dire, est-ce que le blackholing d'un service de chemin non critique, comme le service de recommandation, provoque des défaillances inattendues pour les services critiques, comme le catalogue de produits ou le frontend ? Nous rendons le service de recommandation indisponible. Nous pensons que rien ne devrait vraiment arriver. Que se passe-t-il ? Faisons un exemple. Nous allons faire un trou noir dans le service publicitaire. Voici à quoi ressemble le service publicitaire. Vous pouvez voir ici qu'il affiche des annonces. Juste un joli petit article là-bas. C'est dire, vélo de ville à vendre, 10% de réduction. Nous voulons ensuite sélectionner ce service. Nous allons faire un trou noir sur ce service publicitaire et voir s'il en résulte une dégradation gracieuse de l'expérience client. Oui, génial. La page devient un peu plus petite. Le service publicitaire disparaît tout simplement, ce qui est génial. Tout semble bon. Oui, notre expérience est réussie et nos résultats sont ce que nous attendons d'eux. En ce moment, votre apprenti SRE a beaucoup appris sur l'observation des échecs et sur la compréhension si ce que nous voulons arriver se produit réellement.

Apprendre par l'observation

La prochaine chose dont nous allons parler est la deuxième partie, l'apprentissage par l'observation. Un bon exemple pour cela est sur appel. Vous pouvez apprendre beaucoup en observant différentes personnes, en observant différents types de services, en observant différentes rotations à différents moments de la journée, différents jours de la semaine. C'est vraiment cool aussi. Évidemment, c'est bien si votre apprenti SRE peut suivre son enseignant SRE. J'ai posté ça sur Twitter. Lorsque vous offrez aux apprentis leur première expérience d'astreinte, quel rôle leur confiez-vous en premier ? 74,8% des personnes ont dit que je ferais de l'ombre aux pages principales. J'ai eu un peu plus de 100 personnes qui ont répondu à cette enquête. Ça, je pense que c'est génial. C'est vraiment une bonne chose à faire. L'observation des pages principales signifie que vous êtes également un principal de garde, mais vous ne faites que recevoir les notifications et le principal est responsable de les pirater et de tout résoudre. Vous pouvez être paginé à chaque fois que le primaire est paginé, vous pouvez donc regarder en même temps. Vous roulez vraiment juste à côté d'eux lorsque des incidents se produisent.

L'autre chose que les gens pourraient faire est, ensuite, d'être simplement secondaire, de sorte que vous êtes paginé après le primaire, ou en fait, certaines personnes mettent simplement les gens en premier comme premier rôle comme premier rôle. C'est plutôt courageux. Probablement, avec évidemment comme support de sauvegarde, j'imagine, ou autre. Il existe d'autres types de configurations que vous pourriez également voir couramment. Pour moi, en fait, je préfère les autres. Ce que j'aime faire, c'est d'abord les mettre en service principal pour une application de démonstration. Cela revient à avoir notre application de démonstration. Ensuite, ce que vous pouvez faire, c'est le casser volontairement. J'ai l'impression que c'est une très bonne chose à faire avant même de les mettre comme ombre principale de garde. C'est ce que je ferais en second. Avoir une page d'application de démonstration pendant les heures ouvrables, où ils doivent ensuite identifier le problème, le déboguer, le résoudre, comme annuler une modification qui vient d'être apportée et qui pourrait causer un problème. C'est peut-être ce qu'ils doivent faire, annuler un commit. Peut-être qu'ils ont besoin de réparer autre chose. C'est une très belle façon pour eux d'apprendre le 101 de l'astreinte dans un environnement très sûr. Ensuite, après cette période, je pense qu'il est temps de faire de l'ombre à la primaire. C'est un type d'approche différent pour le faire, mais c'est en fait ma préférée.

Il s'agit d'un exemple d'une rotation sur appel où vous auriez votre apprenti SRE sur appel dans un rôle fantôme. Semaine un, deux, trois, quatre et cinq, vous pouvez demander à l'apprenti de chaque personne de les suivre lorsqu'ils sont les principaux. Je pense que c'est une excellente façon de le faire. Par exemple, vous pouvez voir, semaine 2, Sylvain. L'apprenti SRE de Sylvain est l'ombre, et puis nous avons le secondaire comme outil. Vous pouvez configurer cela dans votre logiciel, disons que vous utilisez PagerDuty, VictorOps, Opsgenie, quel qu'il soit, et assurez-vous que vous configurez chacune de ces rotations et que les bonnes alertes sont envoyées aux bonnes personnes. Une autre chose qu'une de mes amies a dit que j'aime vraiment, c'est qu'elle dit qu'elle est l'équipe principale de l'ombre, mais avec des devoirs. Par exemple, elle demande aux nouveaux apprentis d'ajouter activement des commentaires significatifs sur chaque ticket de garde qui arrive. Même s'il s'agit simplement de dire que vous ne comprenez pas une étape particulière de l'enquête, ce n'est pas un problème. Soyez un primaire, mais ajoutez également des notes. C'est une bonne idée.

J'ai réalisé quelque chose, c'est que c'est plutôt cool de pouvoir aider vos apprentis à apprendre et à pouvoir acquérir toutes ces nouvelles compétences. Et si vous pouviez les aider à apprendre cela avant même qu'ils ne suivent leur programme d'apprentissage, en vous associant à la communauté locale pour enseigner les compétences requises dont les ingénieurs ont besoin ? Quelque chose que j'ai fait, c'est que je suis devenu mentor pour une école à San Francisco qui a actuellement des bureaux dans le monde entier. Elle s'appelle Holberton School. Il y avait cet article dans "The New York Times" à ce sujet. Ce que j'ai fait, j'ai dit, il y a certaines choses que j'aimerais qu'ils apprennent avant de passer leur entretien avec nous pour devenir apprenti SRE. Tout d'abord, je voulais qu'ils apprennent, en fait la revue de code. C'est quelque chose que j'ai trouvé que les différentes écoles alternatives ne faisaient pas. Je me disais : "Ce serait vraiment cool si vous pouviez demander aux gens de réviser le code des uns et des autres. C'est une pratique très courante dans les entreprises de technologie." Ensuite, ce serait ainsi que leur code pourrait entrer en production au sein de leur école. Une autre chose que je voulais aussi était que l'école casse les projets des élèves, donc ils soient paginés, et ils devraient alors dépanner et résoudre différents problèmes. Ils l'ont fait aussi. C'est vraiment cool. Vous pouvez en fait penser que nous enseignons beaucoup de compétences précieuses qui pourraient peut-être arriver plus tôt. Je peux juste travailler avec les écoles pour enseigner ces compétences, donc quand les étudiants de ces écoles viennent me voir une fois qu'ils ont obtenu leur diplôme, ils sont alors prêts et ils savent quoi faire. Nous pouvons alors consacrer du temps à l'apprentissage d'autres compétences.

Apprendre par la pratique

Examinons le prochain volet du programme d'apprentissage SRE, l'apprentissage par la pratique. Il s'agit de code et de revues de code. Cette partie ici, nous voulons que les étudiants apprennent à réviser le code des autres. C'est vraiment bien si vous pouvez le faire dès le départ. Dans le cadre d'être dans une école, ils vont avoir beaucoup de missions différentes, différents projets qu'ils doivent réaliser. Il s'agira en grande partie de code dont ils ont besoin pour écrire, automatiser, lancer de nouveaux projets, créer des applications, faire beaucoup de choses différentes. L'autre chose que vous pouvez faire est de leur confier de petites tâches et missions qu'ils peuvent effectuer au cours de leur apprentissage de six mois, tout en apprenant toutes les autres compétences dont ils ont besoin pour acquérir. Vous devez également leur laisser le temps de s'imprégner. C'est aussi important si vous leur confiez une tâche de la bonne taille, mais cela va aussi aider l'équipe, et aussi avoir une visibilité plus large que la seule équipe. Je pense que c'est une chose vraiment cool que vous pouvez comprendre.

L'une des premières missions que nous pensions être bonnes était de vouloir envoyer des e-mails automatisés contenant des indicateurs clés de performance via une tâche cron avec Python. Ils y apprendraient beaucoup de compétences différentes. Ils saisiraient des métriques clés, comme, par exemple, la capacité du disque. Ils rempliraient ensuite ces e-mails avec ces métriques. Je m'assurerais que l'e-mail soit envoyé tous les jours. Je suis allé sur une liste de diffusion à laquelle les équipes de l'entreprise s'abonneraient, de sorte qu'elles s'appuieraient ensuite sur cet e-mail pour être en mesure de comprendre ce qui se passe pour toutes les mesures clés des KPI. Projet à haute visibilité. C'est vraiment contenu. Ils peuvent y travailler. Ils peuvent soumettre leur code. Ils peuvent demander aux gens de l'examiner. Ils peuvent demander des conseils et les meilleures pratiques pour l'améliorer. Nous avons également fini par faire des sessions de travail en direct, afin que nous puissions afficher leur code à l'écran, leur donner des conseils sur la façon dont ils pourraient l'améliorer. Ensuite, nous l'avons fait fonctionner en production. C'était génial. Ils ont pu construire quelque chose et l'exécuter en production au cours de leur programme d'apprentissage, ce dont ils se sentaient vraiment bien. C'est l'idée d'affectation là-bas. Créez un e-mail quotidien à l'aide de Python à envoyer via une tâche cron qui inclut des métriques clés telles que la capacité du disque, la disponibilité et la latence.

Un autre exemple de projet serait de créer une page Web qui utilise l'API PagerDuty pour afficher les alertes les plus courantes classées par fréquence. Cela nous permet d'utiliser le principe de Pareto pour améliorer la fiabilité du système. Ce que j'ai fait là-bas, c'est que j'ai en fait dessiné un croquis de ce à quoi cela devrait ressembler, mais je leur ai demandé d'étudier différents types de frameworks, différents types d'outils qu'ils pourraient utiliser pour construire cela. C'était vraiment génial aussi. Ensuite, ce qui était cool, c'est que nous l'avons construit juste pour une équipe qui vous permet de saisir n'importe quel ID d'équipe à partir de PagerDuty, puis toutes ces autres équipes ont également commencé à s'intégrer. C'était comme si vous aviez construit quelque chose que toutes ces autres équipes trouvent utile, et vous pouvez réellement les voir s'intégrer, en choisissant d'utiliser cet outil. Vous pouvez en fait suivre plus de personnes utilisant vos produits, ce que vous avez construit.

Apprendre par communauté

Regardons l'apprentissage par communauté. Celui-ci est super important. Mentorat par les pairs, déjeuner-causerie, salle d'étude, AMA et Slack. Je veux vraiment souligner l'importance de cela. Vous ne voulez pas que les apprentis SRE se sentent seuls et aient l'impression de ne pas avoir de personnes à qui s'adresser pour obtenir de l'aide. C'est pourquoi en fait, nous avons décidé que pour notre premier groupe, quatre apprentis commenceraient en même temps, afin qu'ils puissent avoir un petit sentiment de communauté ensemble afin qu'ils puissent apprendre à se connaître. Ils pouvaient discuter entre eux. Ils pouvaient parler de ce qui était difficile, des défis, des choses qui les inquiétaient. Cela signifie simplement qu'ils ne vont pas seulement chez leur professeur SRE, leur guide, ils peuvent aussi aller chez d'autres personnes qui sont au même niveau qu'eux, ce qui, je pense, est vraiment important et utile. C'est une bonne chose à faire.

La première chose que je dirai, c'est que c'est bien de montrer à vos apprentis, les différentes communautés qu'ils peuvent rejoindre. En outre, vous pouvez également les rejoindre. Si vous voulez aider à comprendre comment vous pouvez observer et comprendre les échecs de la production, et en savoir plus à ce sujet, il est bon de simplement rencontrer d'autres personnes, d'apprendre différentes astuces, d'apprendre différents outils, d'apprendre comment différentes personnes pensent les choses. Vous pouvez rejoindre notre communauté Slack qui se concentre sur cela. Si vous allez sur gremlin.com/slack, il y a en fait plus de 7 000 ingénieurs là-dedans. Il y a un canal d'apprentissage. Il existe un canal d'intérêt des donateurs où vous pouvez réellement être jumelé à quelqu'un pour avoir un appel Zoom pour partager réellement des idées. Il y a une chaîne de questions, aucune question idiote jamais. De plus, il existe un canal de mentorat pour que vous puissiez être encadré.

Conseils pour les mentors

J'ai également demandé aux apprentis, si vous pouviez partager quelques conseils pour les mentors, quels seraient-ils ? Ils ont partagé beaucoup de choses avec moi. Pendant que je travaillais avec eux, ils m'ont approché avec toutes ces différentes idées sur la façon dont ils pourraient mieux travailler ensemble. Ils voulaient que les apprentis SRE déjeunent et apprennent. Je suis comme, "Faisons-le." Je pense que quand je regarde en arrière, l'une des très bonnes choses à faire aurait été de les aménager avec une salle d'étude, en fait. Voici un jour par semaine où vous n'avez aucune réunion, et vous pouvez simplement vous concentrer sur l'apprentissage des compétences que vous devez acquérir, mais ensemble dans une pièce, comme une salle d'étude. Parce que parfois, ils ont été entraînés dans peut-être trop de réunions, parce que nous le savons tous, parfois il peut y avoir beaucoup de réunions dans l'industrie de la technologie. Il est important de s'assurer de leur réserver du temps pour qu'ils puissent apprendre et grandir, et aussi simplement réfléchir à ce qu'ils ont appris. Ils apprennent tellement qu'ils ont besoin de temps pour absorber cela et y réfléchir.

Voyons ce que les apprentis SRE ont dit de leurs conseils pour les mentors. Tout d'abord, ont-ils dit, rencontrez votre apprenti là où il se trouve et aidez-le à se rendre là où il doit être. Ils ont beaucoup à comprendre et à apprendre. Deuxièmement, ne vous limitez pas en tant que mentor. Le rôle de votre apprenti ne se limite pas au code, alors pourquoi votre mentorat devrait-il l'être ? Il est également important de leur apprendre à organiser une réunion, à rédiger des mises à jour de statut. Quelles métriques clés sont importantes à suivre ? Comment dépanner et identifier au mieux les défaillances de différents types de systèmes tels que Kafka par rapport à MySQL ? Ensuite, troisièmement, n'oubliez pas d'établir des lignes de communication ouvertes. Découvrez comment vous pouvez créer cette ligne de communication ouverte, que ce soit via Slack DM, un enregistrement quotidien sur Zoom. Il doit y avoir un moyen pour qu'ils puissent vous joindre tous les jours sans avoir l'impression de vous accabler ou de vous poser trop de questions. Peut-être une chaîne Slack pour qu'ils puissent simplement poster leurs questions, et tous les autres apprentis peuvent également y être. C'est vraiment bien d'avoir ces lignes de communication ouvertes.

L'autre chose qu'ils ont dit, c'est qu'il y a beaucoup de types différents de sentiments et de pensées et de choses qui sont déroutantes pour eux. Ils aiment vraiment ce site Web, funretrospectives.com/draw-your-feelings. C'est une façon sympa de dire, vous étiez de garde la semaine dernière, dessinez vos sentiments sur votre rotation de garde au cours de la semaine dernière ? A quoi cela ressemblerait-il ? Peut-être qu'ils sont comme, je me sens comme un hibou sage, ou je me sentais comme une tortue très lente. Cela vous permet de les aider à comprendre comment ils peuvent faire mieux la semaine prochaine. C'est juste une façon plus amusante pour les apprentis de s'engager avec vous et de vous poser des questions, et de partager leurs sentiments et leurs pensées sans que ce soit trop sec.

Conseils pour les apprentis

Désormais, apprentis SRE, je leur ai demandé de partager également des astuces pour les futurs Padawans. Que diraient-ils aux gens qui viendront après eux ? Ce sont leurs quatre conseils. Le premier est que l'un des secrets pour être efficace est d'être prêt à poser des questions. C'est hyper important. La seconde est de ne pas simplement accepter une tâche. Ils ont dit qu'il était important de poser des questions. Ne vous contentez pas de dire : « Oui, je vais le faire. » Posez des questions sur la tâche, quand doit-elle être due ? Est-ce plus important que ces autres tâches que j'ai ? Combien de temps dois-je consacrer à cette tâche avant de venir vous demander de l'aide ? Juste beaucoup de questions qui devraient être posées avant d'accepter une tâche. L'autre chose aussi, c'est qu'ils ont dit qu'il pourrait y avoir des attentes irréalistes, et cela arrive tout le temps dans les logiciels. Cela peut vous aider à comprendre si vous devez ou non effectuer cette tâche. Peut-être que quelqu'un qui n'est pas leur professeur Jedi est venu vers eux et leur a demandé de l'aider avec quelque chose. Ils peuvent toujours dire : « J'ai juste besoin de vérifier auprès de mon mentor et de voir si je peux l'intégrer à tout » ou : « Peut-être voulez-vous vérifier avec eux, puis ils peuvent me dire quand je devrais le faire ." La quatrième est d'investir dans vos relations avec vos collègues, car ils ont dit que c'était vraiment cool. Ils ont rencontré tous ces gens formidables. On ne sait jamais ce qui va se passer dans le futur. C'est vraiment génial si vous investissez dans des relations, alors ils investiront en vous. Ils ont passé un bon moment à rencontrer des gens différents.

Sommaire

Je pense que ce programme pourrait être formidable de le voir déployé dans d'autres organisations. C'est un moyen vraiment génial d'aider les gens à acquérir les compétences d'un SRE pour pouvoir comprendre, comment puis-je améliorer mes compétences en dépannage, mes compétences en débogage, mes compétences en résolution de problèmes, mes compétences pour être de garde pendant la gestion des incidents, mesurer la clé métriques d'une manière très pratique où vous êtes en fait jumelé en tête-à-tête avec quelqu'un ? Si vous n'avez pas assez d'enseignants SRE en interne pour jumeler les gens un à un, alors vous pouvez toujours chercher à trouver des gens à l'extérieur qui peuvent correspondre avec les gens et qui sont heureux de simplement économiser un peu de temps. Peut-être que vous pouvez faire un échange et offrir quelque chose en retour. Il y a beaucoup de façons différentes de sortir des sentiers battus et d'y arriver.

Comment constituer une équipe SRE pour une petite entreprise

Attentes irréalistes. Une idée de comment constituer une équipe SRE pour une petite entreprise ? Beaucoup de questions portaient sur : comment procéder si vous n'avez peut-être pas encore d'équipe SRE, ou si vous cherchez à créer une petite équipe SRE ? C'est tout à fait ok, et à 100%. Beaucoup d'entreprises commencent à cet endroit. Vous commencez toujours sans SRE, surtout si vous travaillez dans une petite entreprise et que vous vous développez comme une startup, quelque chose comme ça, ou une grande entreprise qui souhaite créer une pratique SRE. J'aime toujours dire, quand les gens me demandent ceci, c'est comme, demandez simplement aux gens en interne, est-ce que quelqu'un aimerait devenir un SRE ? Si vous cherchez à constituer une équipe SRE, commencez toujours par recruter en interne et déterminez qui est curieux, qui est enthousiaste à l'idée de le faire ? Ensuite, si vous le pouvez, vous pouvez ouvrir certains rôles et faire appel à des personnes externes qui ont déjà travaillé en tant que SRE. C'est aussi une très bonne chose à faire. En dehors de cela, il est vraiment important de s'assurer d'équilibrer la charge des mentors par rapport aux mentorés, donc de vos Jedis à vos Padawans. Vous ne voulez pas surcharger les gens. Par exemple, je pense que lorsque nous avons commencé à faire ce programme, nous avions déjà 25 SRE, puis nous avons recruté 4 apprentis. C'était vraiment bien équilibré. C'est une bonne façon de le faire. Je n'essaierais pas d'avoir trop de mentorés, car avoir un match en tête-à-tête est vraiment important.

Définition du support SRE vs Ops vs Software Dev

Comment définir le support SRE, par rapport aux opérations, par rapport au développement logiciel ?

Nous avions en fait toutes ces différentes équipes, partout où j'ai travaillé, nous avons toujours eu le support SRE, les opérations, le développement. Je pense que chacune de ces équipes a son rôle spécifique. Généralement avec les SRE, ce que j'aime toujours dire, c'est qu'ils se concentrent sur la production. C'est le numéro un, comme ce qu'ils font, c'est qu'ils s'assurent que la production est opérationnelle, que tout se passe bien. Lorsque vous pensez davantage à Ops ou DevOps, la plupart du temps, il se concentre sur la livraison de code, je pense, à partir d'environnements de développement. Sur votre ordinateur portable, vous écrivez du code et vous l'expédiez en production. Beaucoup de travail aussi sur le pipeline de build, CI/CD. Vous verrez, en fait, parfois les SRE se concentrent également sur ces domaines, mais pour améliorer la fiabilité du CI/CD, alors que ce n'est pas le travail quotidien, je dirais, souvent. En termes de développement logiciel, ce que je préfère, c'est d'avoir une équipe d'ingénierie d'infrastructure, les SRE sont à l'intérieur. Ensuite, ayez également une équipe d'ingénierie de production. C'est là que vous avez tous vos développeurs de produits qui créent des fonctionnalités. C'est une belle façon de le séparer. Ensuite, ayez une organisation de support distincte, qui pourrait également se trouver dans une autre zone.

Voir plus de présentations avec transcriptions



Source link

On voit clairement qu’il est possible de se lancer rapidement sans argent et sans connaissance technique particulière. Je vous conseille de vous lancer en dropshipping et de notamment ne pas mettre trop d’argent sur votre site. Il vous faut notamment avoir un budget marchéage pour réaliser venir les internautes sur votre boutique : c’est le ligament de la guerre. Car comme nous-mêmes l’ai dit, vous avez la possibilité avoir la plus belle boutique. Sans trafic, vous ne ferez à la saint-glinglin de chiffre d’affaires. Une que vous aurez testé, votre marché vous allez pouvoir alors brocanter un stock.