Ma vie de Devops - interview de Fabien
Aujourd'hui, j'interviewe Fabien, devops Anybox. Il nous partage une journée en télétravail intégral ou Full remote.
Delphine: Bonjour Fabien, que fais-tu au sein d'Anybox, quels sont tes rôles et missions?
Fabien: Je suis mainteneur et responsable applications. Ce sont mes rôles officiels.
D: En quoi consiste le rôle mainteneur ?
F: Il s'agit de s'assurer du bon fonctionnement, et de faire évoluer des applications et leur infrastructure.
D: Qu'entends-tu par infrastructure?
F: Tout ce qui permet de faire tourner des applications, des machines physiques ou virtuelles. Cela peut aussi être des couches logicielles qui permettent de faire tourner des applications, par exemple docker et swarm. Je parle aussi des bases de données, qu'elles soient managées, mutualisées ou conteneurisées.
Avec la virtualisation , je me retrouve à cheval entre le développement (écriture d'un Dockerfile par exemple) et l'infra.
La limite entre les deux devient plus mince.
D: En quoi consiste une journée type ?
F: Je me lève le matin, je prends mon café. Je sors ma Bergère Allemande, Leïka. Je me prépare et me mets devant mon pc. Je commence par vérifier qu'il n'y a pas eu d'incident pendant la nuit ou le week-end. En attendant la daily scrum (DS), je poursuis mes tâches en cours.
Vers 9h30, Mon équipe et moi, nous faisons notre daily scrum, c'est l'occasion de nous synchroniser et de nous dire bonjour, c'est important et motivant d'avoir ce contact matinal pour bien entamer la journée.
D: Qu'entends tu par synchroniser?
F: On évoque ce qu'on a fait la veille, les problèmes qu'on a eus, et comment on pense les résoudre. Nous fonctionnons en mode scrum avec l'ensemble de ses rituels : daily, revues de sprints, rétrospectives... et de ses rôles : Scrum Master, Product Owners...
Cela peut déboucher sur un point hors DS, entre nous pour approfondir certains sujets et profiter des savoirs faire de chacun.
Ensuite, je me remets sur les tâches anciennes ou nouvelles, à midi je prends ma pause dej, j'en profite pour sortir ma chienne, parfois je sollicite mes collègues à nouveau, et cela jusqu'au soir sauf cas exceptionnel ou je dois faire une mise en production en soirée.
D: Rencontres-tu des problèmes? si oui, lesquels?
F: J'en rencontre assez fréquemment, c'est mon métier de les résoudre.
D: Comment fais-tu ? as-tu une méthode?
F: J'essaie d'abord d'en comprendre l'origine, par exemple en étudiant les logs (informations fournies par les applications et les serveurs traçant leur activité et enregistrées dans un fichier appelé fichier de log), ou en essayant de reproduire le problème dans différentes configurations. Il faut ensuite trouver des solutions en s'aidant si besoin de la communauté sur internet et en demandant des avis au collègues pour les cas les plus complexes.
Dans tous les cas, nous faisons en sorte d'apporter une solution.
D: Selon toi quelles valeurs apportes-tu à tes clients?
F: Au sein de mon équipe, je contribue aux besoins de maintenance et d'hébergement de leurs applications.
D: Pourquoi penses-tu que les clients nous ont choisi?
F: Je pense que notre organisation et notre communication, ainsi que la bonne entente entre collègues rendent nos activités efficaces et rapides.
Le télétravail nous permet également de jongler avec les horaires de manières plus souples et de s'adapter aux besoins d'intervention
D: Qui sont tes interlocuteurs chez nos clients ou autres?
F: Je suis en contact direct avec des DSI, des responsables de projet informatique. Je peux aussi être en relation avec les prestataires de nos clients en charge de la maintenance applicative, pour nous synchroniser lors des montées de versions. Les prestataires me fournissent par exemple les images dockers que je déploie ensuite sur l'infrastructure.
Nous sommes rarement en contact avec les utilisateurs des applications, et c'est parfois dommage car le nombre d'intermédiaires introduit une perte d'information en cas de bug, et une certaine inertie.
D: Qu'aimes-tu faire le plus?
F: Il y a plusieurs choses, solutionner les problèmes et idéalement des problèmes ayant des éléments à analyser (les bugs non verbeux ne sont pas les plus amusants à résoudre !). Echanger avec mes collègues sur les solutions a envisager, j'apprends plein de choses, mes façons de voir changent. Nous évoluons mutuellement et c'est challengeant de trouver des solutions à plusieurs. J'aime aussi découvrir de nouvelles technologies, l'informatique est un domaine en constante évolution et on n'a pas le temps de s'ennuyer !
D: Qu'aimes tu faire le moins?
F: Tourner en rond sur des problèmes pour lesquels on ne trouve aucune information ou piste. Il arrive de perdre du temps sur certains bugs par manque d'éléments, pour au final se rendre compte que la résolution était toute bête.
Reprendre une application ne respectant pas l'état de l'art du développement n'est pas quelque chose que j'apprécie non plus.
Ou encore les interventions en urgence sur des prod cassées tard le soir ou le we. Heureusement ce n'est pas si fréquent.
D: Quels sont tes outils ?
F: Pour le suivi d'activité et le ticketing, nous avons Open Project, Gitlab, notre bon vieux Anytracker, ou bien parfois de simples tableurs. Tout est accessible à nos clients.
Pour la visio, nous utilisons essentiellement Big Blue Button, parfois Google Meet.
Pour la communication instantanée nous utilisons mattermost, le notre ouvert au client mais aussi celui du client directement. Nous avons également accès au Slack d'un de nos clients.
D: Cet interview se termine. En tant que Devops, quelle techno souhaites-tu mettre à l'honneur dans cet article?
Focus tech sur les bases de données managées
F: Parlons des bases de données managées
Selon moi, l'usage d'une base de donnée managée est intéressant pour tenir une charge élevée. Idéalement, ce sera plus bénéfique avec des applications qui utilisent le même moteur de base de donnée dans une même version. Son usage peut également être intéressant pour une seule application extrêmement critique et sollicitée.
D: Peux tu nous donner un exemple d'application managée au sein d'anybox?
F: Nous avons des instances odoo qui tournent sur du PostgreSQL managé via AWS (RDS), cela facilite la maintenance de la base de données et de fait, des applications, et assure leur robustesse, car il y a une garantie de service de la part d'AWS.
Pour moi, c'est le nec plus ultra des solutions pour une base de données : scalabilité, facilité de maintenance, robustesse, flexibilité.
D: Peux tu me donner des situations où tu aurais aimé une BDD managée ?
F: Par exemple, nous utilisons un cluster MariaDB Galera pour l'un de nos clients qui ne souhaite pas utiliser du managé. Cela nécessite parfois des tâches de maintenance consommatrices de temps et génératrice d'indisponibilité de service.
D: Petite question, pourquoi votre client ne souhaite pas aller vers du managé ?
F: Pour des questions de confidentialité des données, ils ne souhaitent pas que leur données soient sur du cloud public.
A mon sens le risque n'est pas si grand au vu de la qualité de service à laquelle les herbergeurs sont tenus, mais je comprends que cela soit rassurant de gérer soit même ses données.
D: Et où le client héberge-t-il ses données actuellement ?
F: Elles sont hébergés chez Scaleway.
D: Mais Scaleway, c'est un hebergeur externe?
F: Tout a fait, c'est tout le paradoxe. Et pour les autres modes de gestion de bases de données, il y aurait de quoi faire plusieurs articles.