Quelle est la différence entre Sysadmin et DevOps Engineer?


40

Lorsque vous postulez à un emploi, vous pouvez généralement trouver deux types d’emplois similaires: Ingénieur Sysadmin et Ingénieur DevOps .

Les deux traitent de la configuration du serveur et garantissent le bon fonctionnement des systèmes informatiques. Il peut être difficile de faire la différence entre les deux. Quelles sont les principales différences entre eux?




Les termes SRE et sysadmin sont différents.
Kenorb

2
Je vous suggère d'inclure une définition pour sysadmin et de permettre aux personnes interrogées de comparer cela au rôle de DevOps. Personnellement, je pense que DevOps n’est même pas un rôle ... alors j’aurais mon mot à dire sur le sujet.
Evgeny

1
@Evgeny Dites-le aux agences de recrutement.
Kenorb

Réponses:


54

Principalement, DevOps n'est pas un rôle (lorsqu'il est utilisé en tant que tel, il s'agit davantage d'un mot à la mode qu'un véritable rôle).

DevOps est en gros un modèle d'organisation visant à briser le silo entre développeurs et administrateurs système.
L'objectif principal est de constituer des équipes avec les développeurs et les administrateurs système (généralement les testeurs) responsables d'un produit (application) à partir de sa définition, des décisions d'architecture jusqu'à la maintenance en cours d'exécution de ce produit.
Chaque membre de l'équipe participera à la décision sur le cycle de vie complet du produit, un développeur effectuera certaines tâches de l'administrateur système en production et un administrateur système participera à la phase de conception du produit pour éviter les mises en garde du point de vue de l'infrastructure. par exemple.

Dans l'idéal, un administrateur système ferait également partie de l'équipe de développement du produit. Dans la réalité, le code administrateur système contiendrait davantage de la configuration du produit et des solutions de surveillance, tout en permettant de faire part de ses préoccupations à d'autres membres de l'équipe afin d'éviter beaucoup de malentendus. sur le processus de déploiement.


9
Tellement ceci ... DevOps n'est pas un rôle. Vous "faites" l'administration système d'une manière différente en tant que "partie" d'une culture DevOps.
Ken Mugrage

2
Certaines organisations dans lesquelles j'ai travaillé (peut-être plus par hasard que par le design) ont poussé cela à l'extrême: nous n'avions pas d'administrateur système dédié et tout le travail de l'administrateur système a été effectué par des développeurs "normaux". (Dans cette organisation particulière, de nombreux développeurs étaient des administrateurs système très expérimentés. Nous n'avons donc jamais ressenti le besoin d'engager quelqu'un de spécialiste dans ce domaine.)
Curt J. Sampson

"DevOps est en gros un modèle d'organisation", le fragment de code le plus éclairant que j'ai lu jusqu'à présent.
Webwoman

Peut-être pouvez-vous préciser que DevOps! = NoOps
sgargel le

20

Version courte

DevOps combine une culture organisationnelle, des méthodes de travail agiles / lean et une automatisation logicielle qui, lorsqu'elles sont appliquées à l'administration et aux opérations des systèmes, permettent à ces fonctions de fonctionner avec le même niveau d'agilité que les équipes de développement agiles ou lean.

Version longue

Les idées derrière DevOps sont issues des communautés Systèmes, Opérations et Agile. Patrick Debois a présenté à Agile 2008 une présentation intitulée «Agile Infrastructure», dans laquelle il a souligné la disparité entre le mode de fonctionnement des trois fonctions au sein d'une organisation:

  1. Équipes de développement agiles - Équipes agiles écrivant du code.
  2. Équipes d’administrations des systèmes - Création d’une infrastructure pour exécuter le logiciel.
  3. Équipes d’opérations - Prise en charge des applications et de l’infrastructure dans Production / Live.

La proposition de Debois consistait à unifier les trois façons de travailler ensemble, notamment en faisant passer les équipes d’administration des systèmes et les équipes des opérations d’un modèle en cascade à un modèle agile. À cette fin, Debois a créé DevOpsDays 2009 à Gand, en Belgique, en prononçant par inadvertance l’expression DevOps .

L’idée de DevOps a trouvé un écho chez les auteurs de la série de livres VisibleOps: Gene Kim, George Spafford et Kevin Behr; qui a ensuite écrit le projet Phoenix et le manuel DevOps . Les deux ouvrages expliquent comment Agile et Lean peuvent avoir un impact positif sur les équipes d’administration et d’exploitation des systèmes.


1
Excellent résumé! Meilleur que j'ai jamais vu sur l'histoire derrière cette philosophie et style d'ingénierie.
Jesse Adelman

9

En tant qu'ingénieur DevOps issu du monde des opérations, vous passerez de la création et du déploiement manuels de serveurs et de logiciels à la création de scripts pour l’installation de logiciels sur vos serveurs, tels que BASH, PowerShell, Python, etc. Les scripts sont cool et commencent à explorer des moyens plus sophistiqués d’ automatiser le déploiement .

Finalement, vous auriez opté pour un outil de gestion de la configuration Chef, Puppet, Ansible ou autre pour vous aider à gérer l’état de votre parc de systèmes. Au fur et à mesure que vos compétences en matière d'automatisation du déploiement d'applications et de gestion de système mûrissaient, ainsi que vos outils, vous êtes récemment entré dans le domaine de « Infrastructure as Code » et vous l'utilisez non seulement pour automatiser le déploiement de logiciels, mais également pour l'infrastructure et les environnements requis. piloter le logiciel lors du passage de l’entreprise au nuage.

Maintenant, vous cuisinez au gaz. Au fil du temps, vous avez découvert les avantages liés à l'utilisation d'outils centrés sur les développeurs, tels que le contrôle de source, pour gérer les modules, les recettes et les modèles constituant votre arsenal d'outils de déploiement et de gestion.

Lorsque vous avez rejoint l' équipe de DevOps , vous avez été initié au cycle de vie du développement logiciel et au concept d' intégration continue . Mais ces développeurs publiaient les changements rapidement et pour continuer, tu travaillais plus étroitement avec les développeurs! Vous avez vécu l'urgence imposé à l'équipe de développement de changer TOUT TEMPS, ce qui va à l'encontre du vieux paradigme opérationnel du " si ce n'est pas cassé, ne le répare pas ". Plus besoin de vous vanter de la disponibilité du système, vous êtes dans une infrastructure jetable .

Vous avez remarqué que le passage à DevOps était plus que travailler avec les développeurs , ou utiliser de nouveaux outils et techniques , mais il y avait un changement culturel distinct dans l'équipe, un changement qui a touché l'ensemble de l'organisation. Vous travailliez comme une équipe soudée avec des responsabilités partagées , un outillage partagé et des objectifs partagés .

Vous avez utilisé vos compétences en déploiement automatisé et les avez intégrées au pipeline " CICD " orchestré par un " serveur d'intégration continue " comme Jenkins , Bamboo ou Code Pipeline . Maintenant, lorsque les développeurs poussent du nouveau code, vos scripts, outils et modèles créent de nouveaux environnements à la demande, incitent les frameworks de test à faire leur travail et suppriment les environnements de pré-production une fois que les voyants verts sont allumés, en respectant les idées de " livraison continue ".

Au fur et à mesure que le nouveau code se fraye un chemin à travers les étapes CICD, vous, les développeurs et les entreprises, êtes convaincus que la mise à jour ne se brisera pas lorsqu'elle sera mise en production. Il reste encore du chemin à parcourir avant que l’équipe ne passe au « déploiement continu ». Vous devez encore vous contenter des détails de l’automatisation de la capacité de déploiement bleu / vert , et la décision est essentiellement commerciale. Pour le moment, vous êtes satisfait du fait que le nombre d'appels à 3h du matin a diminué et que les sev-1 et les sev-2 ont diminué.

Même si vous obtenez un sev-1, vous ne tirez plus toute la nuit de sommeil avec les gérants. Vous pouvez facilement publier la version précédente via le pipeline CICD et remettre le système en ligne rapidement. L’entreprise a constaté que la stabilité des systèmes informatiques s’était améliorée malgré la rapidité des changements .

Vous vous émerveillez de la façon dont vous gérez les ressources nécessaires à la gestion du logiciel dans votre entreprise, en particulier lorsque vous repensez à son état actuel et à la quantité de sang que vous avez laissée sur des rails dans le centre de données ...


6

Sysadmin vs. DevOps (vue personnelle)

Certaines entreprises parlent de Dev, d'Ops et de Test. Si quelque chose doit être testé, ils disent: "Le test devrait le faire". Si quelque chose devait être développé, Dev le ferait et si un logiciel devait être déployé, Ops le ferait.

Selon moi et ce que j'ai constaté dans plusieurs entreprises, cela se traduit par un état d'esprit qui consiste à "jeter le par-dessus le mur", ce qui entraîne des frictions entre les personnes et les équipes. Personnellement, j’ai parfois l’impression que les gens travaillent individuellement et que c’est ce que j’ai fait, je n’ai rien à faire au lieu de travailler en équipe.

Selon moi, DevOps signifie que tout le monde dans une équipe est responsable et occupé avec le développement, les tests et les opérations. Il n'y a pas de moi dans une équipe et pas de départements séparés. Tout le monde devrait libérer. Bien sûr, il y a des spécialités, mais à mon avis, tout le monde devrait pouvoir faire au moins 25% de son travail dans tous les domaines. Par exemple, si quelqu'un était un développeur à l'époque, il devrait être possible de modifier un code de gestion de la configuration, par exemple le chef et le logiciel à déployer.

Les références

Administrateur système

Selon Wikipedia :

Un administrateur système, ou administrateur système, est une personne responsable de la maintenance, de la configuration et du fonctionnement fiable des systèmes informatiques. en particulier les ordinateurs multi-utilisateurs, tels que les serveurs.

L'administrateur système veille à ce que le temps de disponibilité, les performances, les ressources et la sécurité des ordinateurs qu'il gère répondent aux besoins des utilisateurs, sans dépasser le budget.

Pour répondre à ces besoins, un administrateur système peut acquérir, installer ou mettre à niveau des composants et logiciels informatiques. fournir une automatisation de routine; maintenir les politiques de sécurité; dépanner; former ou superviser le personnel; ou offrir un support technique pour les projets.

DevOps

Selon Wikipedia :

DevOps (un composé composé de "développement" et d '"opérations") est un processus de développement et de livraison de logiciels qui met l'accent sur la communication et la collaboration entre les professionnels de la gestion de produits, du développement de logiciels et des opérations. Pour ce faire, il automatise et surveille le processus d'intégration, de test, de déploiement et d'infrastructure logicielle en établissant une culture et un environnement dans lesquels la création, le test et la publication de logiciels peuvent être effectués rapidement, fréquemment et de manière plus fiable.

DevOps

entrez la description de l'image ici

Chaîne d'outils DevOps

entrez la description de l'image ici


1
Un seul petit commentaire: à mon humble avis, à condition que l’ensemble de l’équipe couvre bien chaque aspect des zones de développement / exploitation / tests et dispose d’une bonne communication, il n’est pas absolument nécessaire que chaque membre de l’équipe couvre également chacune de ces zones. Bien sûr, c'est une bonne chose si cela se produit, mais l' exiger peut devenir inutilement coûteux dans certains cas.
Dan Cornilescu

2

Un administrateur système est responsable de la maintenance et de la configuration des serveurs. Il lui incombe d’assurer à l’utilisateur les performances, la disponibilité et la sécurité qu’il recherche. Définir le rôle d'un ingénieur DevOps est un peu plus difficile car il n'y a pas de chemin de carrière officiel et DevOps lui-même peut prendre de nombreuses formes.

Un ingénieur DevOps peut être, par exemple, un développeur intéressé par les opérations de réseau et de déploiement ou un administrateur système passionné par le codage et les scripts. La transition d’administrateur système à ingénieur DevOps n’est pas très difficile. En fait, cet article décrit très bien le processus.

Beaucoup de gens diraient même que cette transition d'administrateur système à ingénieur DevOps est essentielle car le poste d'administrateur système deviendra obsolète à l'avenir. Même si de nombreux serveurs hérités ont besoin de maintenance et que les administrateurs système possèdent beaucoup de «connaissances tribales», la position de l'administrateur système deviendra de plus en plus rare.


-1

Il y aura des serveurs que vous n'entendez pas courir dans des centres de données. Tout va être un logiciel. Stockage, réseau, systèmes, sécurité, centres de données; SDN, pare-feu, NFV, stockage, serveurs, etc. Les administrateurs système n'ayant pas d'expérience en développement logiciel, une expérience SDLC (je ne veux même pas dire que les scripts Perl, Powershell, etc.) vont probablement disparaître. Les environnements distribués, évolutifs et virtualisés, composés principalement de nuages, évoluent horizontalement et non verticalement.


J'ose dire que les administrateurs système se développent verticalement, DevOps (ou OpsDev) se développent horizontalement. Vous pouvez voir le même schéma de l'évolution des microservices à partir des monolithes. Je préférerais choisir l’ingénieur DevOps dans une équipe logicielle et non dans une équipe système / opérationnelle.

Parce que l'équipe des opérations / système exécute simplement ce que l'équipe de logiciels construit.

  • Les administrateurs système ne construisent pas / compilent les noyaux Linux / FreeBSD / windows, etc., pas plus que les ingénieurs en logiciels ne construisent / compilent des applications.
  • Les administrateurs système ne suivent pas le cycle de développement du logiciel (SDLC).
  • Les administrateurs système ne font pas partie de la chaîne de production (processus CI / CD).
  • Sysadmin commence à fonctionner après la fin du déploiement / du déploiement / déploiement continu.

    Et si vous interrompez et assignez le déploiement / la livraison, il se peut que
    l'équipe logicielle soit le créateur du système / l'équipe d'exploitation composée principalement des coureurs / gardiens.

On dirait qu’il n’ya pas de serveur / système à administrer, pas besoin d’administrateur système.

L'informatique sans serveur est un modèle d'exécution de l'informatique en nuage dans lequel le fournisseur d'informatique en nuage joue le rôle de serveur et gère de manière dynamique l'allocation des ressources de la machine. La tarification est basée sur la quantité réelle de ressources consommée par une application, plutôt que sur des unités de capacité achetées à l' avance.

Une personne de l'équipe logicielle sait déjà comment construire, maintenir, même coder (SRE vs DevOps / OpsDev).


Je me demande pourquoi il s’appelle DevOps mais pas OpsDev? est-ce lié à la direction entre les deux?

* Au milieu de nulle part, je n'ai pas commencé à écrire sur le stockage défini par logiciel, c'est en réaction à un commentaire maintenant supprimé à ce sujet *

À propos du stockage défini par logiciel

  • Le stockage défini par logiciel (SDS) est un terme marketing qui désigne un logiciel de stockage de données informatiques pour le provisioning et la gestion basés sur des stratégies, indépendamment du matériel sous-jacent. Stockage défini par logiciel

  • EMC a annoncé son tout premier produit open source: Project CoprHD. CoprHD est un contrôleur d’automatisation et de gestion de stockage défini par logiciel. La récente décision d’EMC d’ouvrir le code source ouvert est au cœur de notre stratégie visant à offrir une valeur ajoutée aux entreprises mondiales alors que nous entrons dans une zone de croissance et de changements extrêmes. En tant que leader mondial du stockage et de la gestion des informations, il appartient à EMC de montrer la voie en matière de stockage défini par logiciel (SDS) .

  • CoprHD est un contrôleur de stockage et une plate-forme API ouverts définis par logiciel. Il permet la gestion basée sur des règles et l'automatisation en nuage des ressources de stockage pour les fournisseurs de stockage de blocs, d'objets et de fichiers, CoprHD.


1
N'ajoutez pas de nom appelant dans votre réponse, maintenez-la en ligne avec la question, encore une fois, je vous recommande de lire Comment répondre à titre indicatif.
Tensibai
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.