Je pense qu’en tant que développeur, il sera plus difficile de devenir un «devops». Votre question a presque 3 ans. Il serait donc intéressant d’entendre comment vous trouvez le voyage. Je vais vous donner une réponse du point de vue de l’administrateur système sur les applications que vous avez mentionnées ci-dessus et, espérons-le, vous éclairera un peu ou vous donnera une perspective non technique qui expliquera en partie pourquoi une personne (administrateur ou développeur) commencerait à considérer exactement ce que vous avez demandé, par exemple, de la part de devops perspective quelle est la relation entre x, y, z ces outils sont-ils supérieurs à la somme de leurs parties?
Je pense en fait que les administrateurs système ont l'avantage, la plupart des applications que vous mentionnez dans votre question résolvent les "problèmes" de l'administrateur et fournissent ainsi un environnement de centre de données plus abstrait, ce qui est plus programmable pour les développeurs et les nouveaux " stratégie de devops (lire stratégie / équipe, devops n'est pas une personne). Alors, quelle est la relation avec les applications que vous mentionnez? Comment cela fournit-il une approche globale du service informatique?
OpenStack: un outil qui vous permet de créer votre propre cloud privé, donc comparable à quelque chose comme AWS
C'est ce que c'est, mais que fait-il? - Le système d’exploitation qui portait principalement son nom était DOS. Il exploitait votre disque en extrayant le BIOS, OpenStack exploitait votre centre de données et votre infrastructure (IaaS - est le jargon du système d’exploitation du centre de données). Désormais, votre centre de données dispose d’une API, d’une syntaxe de commande et d’une interface graphique, OpenStack peut gérer des hyperviseurs, des commutateurs, des routeurs, des pare-feu, des réseaux de stockage, des équilibreurs de charge, des hôtes de menu fixe, etc. Openstack utilise le plug-in ou la fonction particulière de votre fabricant peut exister uniquement dans le logiciel en tant que logiciel défini quelque choseou la virtualisation de la fonction réseau. En plus de cette OpenStack, et de tous les autres clouds, peuvent orchestrer leur propre infrastructure en lisant les scripts envoyés au moteur d’orchestration ou déclenchés en fonction de règles (scale-up, scale-down, etc.). Donc openstack est une couche d'abstraction géante, par exemple, je ne me soucie pas du commutateur que j'ai, donnez-moi un réseau avec cette commande, ou construisez-moi une charge compliquée, HA, disponible publiquement, mise à l'échelle automatique, nom de domaine enregistré, stockage Chose attaché - avec ce script que j'ai trouvé sur Internet.
Docker: une "machine virtuelle légère", basée sur quelques concepts de noyau Linux, pouvant être utilisée pour exécuter des processus de manière isolée, par exemple dans un environnement d'hébergement Web partagé.
Docker est une autre couche d'abstraction et, tout comme le cloud est une technologie perturbatrice, il modifie le secteur car il résout de nombreux «problèmes» opérationnels tels que les dépendances logicielles, les mises à niveau, l'isolation des données et la portabilité totale. Java est devenu populaire en raison de la portabilité du code source que les développeurs n'ont pas à prendre en compte. Une machine virtuelle Java en cours d'exécution signifie que leur code doit être exécuté sur la machine à café tant qu'elle prend en charge Java. Docker résout un problème similaire. Pour exécuter mon application, vous devez disposer d'un hôte Docker, et non, vous avez besoin de cette version de python, de ce noyau, de cette distribution Linux, etc. vers un point). Docker est en train de changer le paradigme du développement et des opérations, en traitant tout un système d'exploitation et ses services comme un binaire. nous pouvons les obtenir à partir d'un référentiel , les modifier, les modifier, les exécuter avec des paramètres, etc.
Chef: Un outil pour configurer et configurer un système d'exploitation, par exemple à l'intérieur d'une machine virtuelle.
Oui, et pas aussi perturbant que les deux premiers, Chef, marionnette, ansible, salt, responsable des opérations du centre système et une pléthore d’applications dans cet espace offrent aux développeurs et aux administrateurs un moyen de modéliser les déploiements, les mises à niveau et d’autres actions changements), il ne semble pas qu’un organisme de normalisation surveille ces efforts comme il le fait pour le cloud . Mais nous ne traitons pas avec quelque chose d'aussi définitif qu'Infrastructure, il est donc plus pénible de les apprendre et peu de choses peuvent être transférées de l'une à l'autre.
Vagrant: D'après ce que je comprends, il faut automatiser la création et la gestion des machines virtuelles: les configurer, les démarrer et les arrêter. Cela peut être fait en utilisant une machine virtuelle locale ou distante, par exemple sur une plate-forme en nuage.
C'est l'intrus dans la liste des applications que vous mentionnez, Vagrant est un outil pour les développeurs et un jouet pour les administrateurs, vous pouvez rapidement créer un environnement de développement avec vagant, par exemple, je veux développer une application Android, saisir un IDE dans vagabond, je pense qu'il sera bientôt rattrapé par Docker.
pouvez-vous me donner un conseil sur la façon d'utiliser tout cela (c'est beaucoup en même temps et je ne sais pas encore par où commencer)?
C’est la raison pour laquelle je pense que les administrateurs ont l’avantage, nous avons dû faire la plupart de ces opérations manuellement et savoir ce qui peut mal tourner, les manifestes de marionnettes, l’informatique en nuage et l’orchestration des dockers nous seront plus faciles, les développeurs vont devoir prendre beaucoup de Le conseil à tous les développeurs potentiels est d’être d’abord un administrateur.