web-dev-qa-db-fra.com

Différence entre Devops et Gestion de la configuration logicielle

Quelle est la différence entre les opérations de développement et la gestion de la configuration logicielle?

Pour moi, cela semble être le même que tant que Devops et la gestion de la configuration logicielle sont axés sur:

  1. Établissement d'une infrastructure de développement - Etre responsable de la version Contrôle, gestion de la gestion, gestion de déploiement, gestion des dépendances, intégration continue et livraison =, etc.
  2. Utilisation des meilleures pratiques pour organiser Environnement de développeurs .
  3. Assurance qualité des processus de développement - Collecte des mesures d'efficacité du développement, travaillant à l'élimination des goulots d'étranglement du processus de développement (tests d'unité exécutés, à évaluer la couverture des tests d'unité, en cours d'exécution inspections, etc.)
  4. Gestion des infrastructures - Plateformes cibles et ses spécificités.
  5. Gestion de la version - Assurer la libération est livrée au client/client à temps.

Peut-être que je manque quelque chose? Ce lien montre que l'utilisation du terme "gestion de la configuration logicielle" prévaut. Mais toujours, quelle combinaison de mots préféreriez-vous utiliser pour décrire la plage d'activités énumérées: Opérations de développement ou Gestion de la configuration logicielle ?

16
altern

Les termes décrivent des concepts et des responsabilités très similaires, et en général Ils sont quelque peu synonymes. Le terme "Devops" est un nouveau nouveau, popularisé par la Conférence Devopdays Gand 2009 et suivant événements Devopdays . Il est mieux décrit dans ce diagramme :

enter image description here

D'autre part, la gestion de la configuration logicielle est un terme beaucoup plus établi au sein de la profession et dérive du terme non spécifique à un logiciel gestion de la configuration . La gestion de la configuration logicielle est souvent référencée dans un contexte d'ingénierie logicielle, une définition simple est donnée par Roger Pressman In "Génie logiciel: approche d'un praticien" :

est un ensemble d'activités conçues pour contrôler les changements en identifiant les produits de travail susceptibles de changer, d'établir des relations entre eux, de définir des mécanismes permettant de gérer différentes versions de ces produits de travail, de contrôler les modifications imposées et de l'audit et des rapports sur les modifications apportées.

Bien que toutes les conditions que vous faites référence soient vagues, Devops semble être une manière moins formelle de décrire davantage ou moins le même ensemble de principes que la gestion de la configuration ou la gestion de la configuration de logiciels s'il est vu du point de vue du développeur de logiciels, notamment la hiérarchisation équipes étroitement couplées :

Devops est une réponse à la prise de conscience croissante selon laquelle il existe une déconnexion entre ce qui est traditionnellement considéré comme une activité de développement et ce qui est traditionnellement considéré comme une activité des opérations. Ce déconnexion se manifeste souvent comme un conflit et une inefficacité.

Dans le même article, les similitudes avec SCM sont notées:

L'ajout au mur de confusion est la totalité trop courante dans l'outillage de développement et d'opérations. Jetez un coup d'œil aux outils populaires que les développeurs demandent et utilisent quotidiennement. Regardez ensuite les outils populaires que les administrateurs de systèmes demandent et utilisent quotidiennement. Avec quelques exceptions remarquables, comme des suiveurs de bogues et peut-être SCM , il est douteux que vous ne voyez pas beaucoup d'intérêt à utiliser des outils de chacun ou une intégration significative entre elles. Même s'il y a des chevauchements dans les types d'outils, les implémentations seront souvent différentes dans chaque groupe.

Quant à l'utilisation des termes, votre comparaison n'a pas vraiment de sens:

  1. SCM est un sous-ensemble de cm, pas un terme concurrentiel,
  2. Devops est un terme assez nouveau, à aucun moment de comparer contre les termes établis,
  3. DevoS dérive des opérations de développement (évidemment) mais est rarement élargie en tant que telle.
19
yannis

Personnellement étant un gestionnaire de configuration Sr. Software pour de nombreuses années (10+) J'entends les termes incompatibles dans une variété de situations de vie réelles. Il n'est pas rare pour le personnel non technique en raison de la nature relative des positions. Ils ont tous deux des rôles, des besoins et des exigences spécifiques similaires mais peuvent être clairement divisés à mon avis.

Je crois que la meilleure façon de décrire la division de ces rôles est de se concentrer sur leur relativité à l'interaction. Ce qui signifie que cela, la gestion de la configuration logicielle se concentre sur les systèmes et environnements internes, ainsi que l'intégration, le déploiement, la libération et la gestion du code source. Lorsque les opérations de développement (Devops) se concentre davantage sur l'aspect opérationnel de l'architecture d'application confrontée de l'extérieur, tout en maintenant une compréhension claire du code, car elle était destinée à être utilisée et la pratique de son environnement. Si les performances d'une machine montrent des signes de dégradation, la communication entre plusieurs applications est défectueuse, les limites de la communication et/ou de l'architecture des entreprises (BTB) en ce qui concerne un environnement de production, vous envisageriez ensuite les opérations de développeurs pour leur diagnostic et Solution.

En règle générale, dans mon expérience, le gestionnaire de configuration du logiciel peut également faire ces choses, mais cela enlève de leur cœur central de suivi, de gestion et de déploiement de configurations d'environnement et de révisions de logiciels. Gestion du logiciel qui permet de séparer les tâches, le suivi des bogues et des défauts, le suivi de projet et le cycle de vie du développement de logiciels et le menu déroulant. Ces tâches ne sont pas la principale focalisation des opérations de développement et donc moins impératifes, mais peut encore être faite.

J'ai vu de nombreux cas de la confusion de chacun et, dans chacun, il y a un peu de croisement limité. Cependant, il est très important de penser aux différences entre les responsabilités de chacune des positions indépendantes par rapport à leur objectif principal. Principalement, lors de la gestion des systèmes et du matériel utilisés en interne pour gérer la configuration des environnements et la libération du produit, vous recherchez un gestionnaire de configuration logicielle. D'autre part, lorsqu'il s'agit de la performance du système, de la surveillance, de la recherche et du diagnostic des systèmes utilisés par vos clients, vous devez consulter les opérations de développement ou Devops.

Maintenant, cela n'est pas signifié comme une déclaration, ni une réponse définitive, mais une identification personnelle des différences de chacune des positions. J'aimerais savoir si je suis hors base, ou si les choses sont plus claires par cette réponse.

6
Phyro

Vous seriez fortement poussé pour trouver une définition solide pour DevOps. C'est plus une idée qu'un travail à faire. Et c'est une idée trop nouvelle pour que tout le monde soit d'accord sur ce que cela signifie. Néanmoins, voici ma prise.

Devops est vraiment juste un nouveau terme pour la gestion de la configuration, mais il a été choisi de montrer que le rôle n'est pas un rôle d'une personne, c'est une collaboration entre l'équipe de développement et l'équipe des opérations.

Historiquement, la gestion de la configuration serait effectuée uniquement par l'équipe de développement, puis de remettre aux opérations qui le voient tout avec une suspicion profonde. Qui est assez juste, pour être honnête. Ils sont responsables de cela. Ils sont les premiers à être appelés à 4h du matin quand cela va mal. Ils devraient vraiment avoir une certaine implication dans son développement.

4
pdr

C'est la clarification simple de la question: Devops est un terme utilisé pour décrire la coordination ou la relation entre le développement (en développant les codes de programme dans l'environnement de développement) et les opérations (garantissant une hausse maximale de l'environnement de production).

La gestion de la configuration logicielle est un moyen d'atteindre cette coordination. SCM impliquait des outils et des techniques de gestion de l'automatisation du processus de développement du développement à la production (opérations)

Pour résumer, SCM connecte Dev et Ops.

Connection between Development and Operations is SCM

1
Kindson The Genius