Administrateur système et devops agiles - Comment accomplir? [fermé]

18

De nos jours, l'administration de systèmes agiles et les devops sont parmi les sujets les plus courants concernant l'administration et les opérations des systèmes. Ces deux concepts visent principalement à combler le fossé entre les opérations / administrateurs système et les projets (développeurs, entreprises, etc.). Même si vous n'avez jamais entendu parler du concept des devops, je suis sûr que ce sujet vous préoccupe également.

Alors, quels outils et techniques utilisez-vous pour accomplir des devops dans vos entreprises? Je m'intéresse particulièrement à des sujets comme la gestion du changement, l'intégration continue et l'automatisation, mais pas seulement à ces sujets. Veuillez partager vos pensées. J'ai hâte de lire vos réponses / opinions :)

Marco Ramos
la source
Une partie du problème du «pontage» du développement et des opérations (administration système) est la priorité absolue différente. La priorité n ° 1 de l'administrateur système est de continuer à fonctionner, bien que diverses tâches répétitives courantes. La priorité n ° 1 du développement est de créer de nouvelles fonctionnalités. Ces tâches peuvent se chevaucher considérablement, mais il y aura des moments où elles seront en conflit. C'est à ces moments de conflit que votre DevOp devra choisir d'être un opérateur ou un développeur. Certains paramètres peuvent tolérer la déchéance, mais la plupart ne profiteront pas des répercussions financières.
Chris S
2
De plus, j'ai récemment entendu quelqu'un parler d'administrateurs qui savent également programmer. Les capacités ne déterminent pas les priorités ou les responsabilités principales. Les administrateurs modernes doivent être paresseux; à cette fin, ils doivent être efficaces dans tout ce qu'ils font. L'écriture de scripts, la création d'utilitaires de maintenance et la compréhension du code ne sont plus qu'un ensemble de compétences de base. Les AS qui ne maîtrisent pas ces compétences sont reléguées à de petits modèles commerciaux léthargiques (par exemple, la fabrication) où une telle inefficacité est tolérée. L'évolution de la base de connaissances ne garantit pas la cooptation d'une terminologie odieuse.
Chris S

Réponses:

30
  • svn / git - contrôle de révision, évidemment.

  • trac / redmine / jira - billetterie.

  • cobbler - pour l'approvisionnement du serveur du système d'exploitation de base. Cobbler est un produit axé sur la famille des redhat, mais je suis sûr qu'il existe quelque chose de similaire pour debian / ubuntu. De même, la plupart des sociétés de «panneau de contrôle cloud» comme RightScale vous fourniront cela. Le mot d'ordre ici est "JEOS" ou "juste assez de système d'exploitation". Mon chemin est d'utiliser la ligne "% packages --nobase" dans mes kickstarts et de construire ensuite ma pile spécifique via ...

  • marionnette / chef - pour la gestion de la configuration et l'application de la cohérence. Il y a d'autres options ici aussi, il importe plus que vous en utilisiez une que laquelle. Une astuce que j'ai trouvée particulièrement importante est de stocker les configurations dans le même système de contrôle de version que les développeurs utilisent. Cela permet de rassembler le flux de travail des deux équipes et de le rendre visible l'une pour l'autre.

  • func (ou capistrano ou cluster-ssh) - pour exécuter le script de déploiement sur le cluster. L'astuce ici est de faire en sorte que les développeurs seniors puissent se lancer à la fois pour pousser de nouvelles choses en direct et pour repérer les correctifs inévitables.
    C'est vraiment le cœur des devops, permettant aux développeurs de casser et de réparer l'environnement. Beaucoup d'administrateurs système sont trop gourmands en énergie pour se laisser aller comme ça, ou leur gestion fonctionne toujours sur l'idée erronée que les administrateurs système devraient contrôler les développeurs (comme si nous pouvions même lire la moitié de ce qu'ils faisaient).

  • cacti / ganglia / collectd / munin - les graphes sont tellement importants. C'est la valeur commerciale des métriques avec la valeur humaine des visuels simples. La corrélation de l'horodatage des poussées de code avec l'horodatage des modifications dans les graphiques est extrêmement utile pour résoudre les problèmes de régression des performances et voir des faits réels sur les décisions de performances. Il y a un point clé ici en ce que les graphiques doivent être faciles à voir et à utiliser par les développeurs et leur gestion doit en attendre d'eux.

  • nagios / zabbix / smokeping / etc - surveillance des éléments du serveur et des mesures de performance de type "page de base". Encore une fois, les graphiques sont essentiels. Ce sont plus pour le côté ops de l'équipe.

  • gomez / keynote / Browsermob - surveillance externe des performances complètes du navigateur, en tenant compte des services tiers, des CDN et des problèmes de temps de rendu. Ce sont plus pour le côté développeur de l'équipe.

C'est un mélange d'outils et de techniques, concentrez-vous sur les techniques. Plus précisément, le changement de mentalité du côté «sysadmin» des devops de «admin» à «operations». Il s'agit de permettre aux développeurs. Leur permettre de faire des choses, leur permettre de réparer les choses, leur permettant de voir de vrais faits / mesures / graphiques sur ce qu'ils ont fait. Inversement, les développeurs doivent comprendre qu'ils ont été activés et faire le travail de surveillance des tendances de performances, de débogage des problèmes et de penser non seulement aux fonctionnalités, mais comment les déployer et comment elles affecteront la santé de l'ensemble du système / environnement .

cagenut
la source
2
+1 "noyau de devops, permettant aux développeurs à la fois de casser et de réparer l'environnement"
Ryan Gibbons
Ce qui est en conflit direct avec la fourniture de services fiables et pourquoi les développeurs peuvent parfois être des développeurs jouant des opérations sans comprendre. La compétence consiste à trouver le bon équilibre entre permettre le développement libre et le changement de ringfencing pour cacher les pauses de l'utilisateur derrière la mise en scène, la redondance, etc.
JamesRyan
2

La meilleure approche consiste à comprendre l'environnement dans lequel vous travaillez. Commencez par parler aux développeurs et aux gestionnaires. Essayez de les intégrer et de faire rebondir leurs idées. Très probablement, ils auront une bonne idée de la façon dont les choses se déroulent et si vos idées pour introduire des devops causeront des problèmes.

À partir de là, commencez à regarder les applications et présentez-les une à la fois pour résoudre les problèmes.

Matt Delves
la source
introduce them one at a time to solve problems.+1
Banjer
0

Bien que les outils et les techniques soient importants, le chemin critique est la collaboration à travers toute l'organisation. De nos jours, les opérations informatiques sont des opérations commerciales. Etsy affiche les changements de revenus sur leurs tableaux de bord, visibles pour tout le monde.

Henk Langeveld
la source