Respectez le fait que les administrateurs système ont un travail à faire et laissez-les faire leur travail. Beaucoup d'entreprises ont des administrateurs système incompétents et ce n'est souvent pas réaliste. Mais j'ai vu des développeurs arrogants ignorer les conseils des groupes de systèmes, même après que les administrateurs système aient prouvé leur compétence.
Discutez de la conception d'un nouveau système avec les administrateurs système. Il y a souvent des idées précieuses. Les développeurs examinent souvent les discussions avec les administrateurs système et considèrent les exigences initiales comme une "optimisation prématurée". En fait, j’ai vu le responsable d’un groupe de développement dire qu’il perdait son temps à discuter des exigences relatives aux nouveaux serveurs de base de données avec des administrateurs système et des administrateurs de base de données, allant même jusqu’à décrire s'il s'agissait d'une charge à écriture intensive ou à lecture intensive, ou combien de stockage serait nécessaire.
Discutez des problèmes de performances avec les administrateurs système. Honnêtement, seuls les administrateurs système sont capables d'interpréter correctement les métriques de performance sur les systèmes. J'ai vu des développeurs décider que Linux perd toujours de la mémoire, car la mémoire disponible signalée par "free" diminue toujours, même après la dixième fois, la sortie de "free" est expliquée.
Ne tirez pas de conclusions sans en discuter avec les administrateurs système. J'ai vu des développeurs se coincer dans des théories telles que "les bases de données sont toujours liées à un disque" (ils ne savaient même pas qu'iostat existait), "RAID 5 est plus rapide pour les charges de travail transactionnelles" (basé sur le rappel d'un système de base de données déplacé d’une plate-forme matérielle à une autre - c’était un travail intensif en lecture, la solution RAID5 disposait de plus en plus de disques plus rapides, répartis sur un plus grand nombre de contrôleurs.
Ne concevez pas de solution à un problème système sans en discuter avec les administrateurs système. J'ai travaillé dans un environnement pathologique où les développeurs concevaient une solution et venaient demander une petite assistance pour la mise en œuvre. Les membres du groupe Unix, outre moi-même, le chef du groupe Unix et son chef, souhaitaient traiter les développeurs comme des "clients", non comme des collègues qui s'efforçaient de faire fonctionner une infrastructure globale. Le client ayant toujours raison voulait dire qu'il ne fallait pas se demander ce qu'il faisait ou pourquoi. J'étais le seul à insister pour que le problème soit décrit afin qu'une solution correcte puisse être déterminée. Ne pas agir de manière à créer des environnements pathologiques tels que celui-ci. Cela ne crée pas d'avantage net: les gestionnaires de systèmes agiront de manière défensive et tout le monde en souffrira.
Tu n'es plus à l'école. Ce sont des systèmes du monde réel et ils n'agissent pas de manière idéale. Par exemple, tout n'a pas une latence nulle. Lorsqu'un administrateur système vous avertit que les solutions de clustering servent uniquement à des fins politiques et que la complexité accrue du système diminue la fiabilité globale, prenez-le au sérieux. Vous devez concevoir des modes de défaillance réels, par exemple lorsque vous perdez le serveur avec lequel vous parlez via TCP, la connexion ne sera probablement pas réinitialisée pour vous. Les administrateurs système comprennent les modes de défaillance réels.
Écoutez ce que votre administrateur système vous dit ou faites savoir à la direction que vos administrateurs système sont incompétents et doivent être licenciés. Ignorer votre administrateur système n'a aucun sens.
Considérez comment vous allez déployer votre application. Réalisez qu'il est logique de discuter de cela avec vos administrateurs système. Si vous avez 100 serveurs identiques, ne différant que par un seul fichier de configuration, vous pouvez envisager de stocker les copies principales de ces fichiers de configuration dans un emplacement central. Réalisez à quel point tout le monde est mieux si votre application est facile à redéployer. En cas de problème avec un système, préférez-vous le redéployer en moins d'une minute ou attendez-vous une éternité pendant que le système défectueux est réparé? Si vous pouvez redéployer votre application, le système d'exploitation peut être mis à niveau plus facilement et en toute sécurité. Vous pourriez vous soucier de cela à l'avenir.
Si vous pensez que le problème provient du système d'exploitation, appelez immédiatement l'administrateur système pour le vérifier. Mais après une enquête superficielle ne révèle rien, vous avez le devoir d'expliquer le problème.
Comprenez qu'il y a une différence entre "réagir lentement" et "ne pas répondre du tout".