De l’administrateur système au DevOps, ce qu’il faut savoir
La transition de l’administrateur système vers le DevOps aura un coût en temps et en efforts mais en vaudra la peine. Vos avantages comprendront de nouvelles compétences, des outils avancés et une nouvelle perspective.
Le rôle d’administrateur système est l’un des rôles les plus divers et les plus complexes en informatique. Un administrateur système doit connaître les systèmes d’exploitation, les réseaux et les bases de données. Il doit également connaître le budget, le support et les opérations.
sysadminday.com
La position d’administrateur système a évolué à mesure que les organisations évoluent. Ces dernières années, les organisations ont incorporé de nouveaux modèles pour commercialiser rapidement des produits. Ce qui leur permet de suivre le rythme de l’innovation mondiale.
Historiquement, les administrateurs système et les développeurs ont adopté des positions différentes sur la manière de pousser les produits vers les environnements de production.
- Les administrateurs système sont chargés de maintenir l’environnement de production opérationnel. Ils gèrent aussi les accords de niveau de service (SLA).
- Les développeurs veulent pouvoir pousser de nouvelles versions en production dès que possible.
- Ces nouvelles fonctionnalités pourraient casser les systèmes de production et avoir un impact sur les SLA.
Pour toutes ces raisons, de nouvelles approches comme le DevOps sont importants pour faire face à ces problèmes.
DevOps
Les administrateurs système modernes doivent être conscients des pratiques DevOps afin de tirer parti de ces approches et de participer à l’amélioration générale de leurs organisations. Ce qui aura pour effet de produire de meilleures applications et réduire le délai de commercialisation de leurs logiciels.
DevOps se veut un mode de travail transversal, qui rassemble différentes équipes et brise les cloisonnements de l’organisation.
Il est important d’identifier les aspects clés de DevOps pour les processus de développement et de livraison, qui permettent d’incorporer de courtes itérations pour pousser fréquemment le code vers la production soutenu par des processus automatisés dans le but d’augmenter la qualité du code et de réduire les impacts négatifs.
La figure suivante montre le cycle de vie DevOps et représente les processus d’intégration continue, de livraison continue et de déploiement continu.
Pour faciliter l’adoption et la transition DevOps entre chaque phase, il est important de connaître les valeurs, principes et pratiques DevOps suivants.
Valeurs DevOps
- Culture représentée par la communication humaine, les processus techniques et les outils
- Automatisation des processus
- Mesure des KPI (key Performance Indicator)
- Partager les commentaires, les meilleures pratiques et les connaissances
Principes DevOps
- Développez et testez dans un environnement de production
- Déploiement avec des processus fiables et reproductibles
- Surveiller et valider la qualité opérationnelle
- Amplifier les boucles de rétroaction
Pratiques DevOps
- Configuration libre-service
- Provisionnement automatisé
- Build continue
- Intégration continue
- Livraison continue
- Gestion automatisée des versions
- Test incrémental
Aspects clés à prendre en considération
La transition de sysadmin à DevOps implique une courbe d’apprentissage pour développer de nouvelles compétences ou améliorer celles existantes. En tant que référence générale, la feuille de route DevOps fournit un guide étape par étape pour DevOps ou tout autre rôle opérationnel. Il est destiné à vous donner une idée du paysage et non à vous inciter à choisir ce qui est branché et tendance.
Dans les sections suivantes, nous explorerons certains aspects clés qui pourraient aider à réussir cette transition.
Git et contrôle de version
En tant qu’administrateur système, vous produisez quotidiennement du code et de la documentation. Peut-être que vous utilisez déjà un système de contrôle de version, mais sinon, git est une excellente option.
Il existe plusieurs implémentations que vous pouvez utiliser en ligne pour héberger votre référentiel, telles que GitHub , GitLab et Bitbucket . De plus, si vous devez installer un service interne, Gitlab Community Edition peut également être une bonne option.
Vous pouvez trouver de nombreuses ressources en ligne pour commencer avec git, comme ce guide simple .
L’idée de base est de conserver tout votre code et votre documentation dans un système de contrôle de version, ce qui vous permet d’avoir tout l’historique de vos modifications et de pouvoir les annuler facilement en cas de besoin.
Un autre avantage d’un système de version de contrôle est qu’il vous aidera à déployer la bonne version de code à grande échelle et qu’il contribuera à la mise en œuvre d’infrastructures comme code et automatisation.
Des animaux de compagnie au bétail
Le changement d’attention des animaux de compagnie au bétail est un changement fondamental dans la façon d’organiser et d’interagir avec les infrastructures. L’analogie de Animaux de compagnie VS Bétail est devenue l’un des concepts fondamentaux d’un modèle de service DevOps. Les animaux domestiques sont chacun d’une importance vitale, mais les bovins sont interchangeables.
Cela fait allusion au concept d’infrastructure immuable , un paradigme dans lequel les serveurs ne sont jamais modifiés après leur déploiement. Si quelque chose doit être mis à jour, corrigé ou modifié de quelque manière que ce soit, de nouveaux serveurs construits à partir d’une image commune avec les modifications appropriées sont provisionnés pour remplacer les anciens.
Les avantages d’une infrastructure immuable incluent plus de cohérence et de fiabilité dans votre infrastructure et un processus de déploiement plus simple et plus prévisible.
Journaux et observabilité
Journaux
Lors de la mise à l’échelle des services, la journalisation centralisée devient plus importante car le stockage des journaux et des métriques en externe permet le débogage même lorsque l’accès au shell est restreint ou après la destruction d’un serveur. De plus, il contribue à améliorer la sécurité tout en préservant les traces en cas de compromission d’un serveur.
Observabilité
L’observabilité est un terme de la théorie du contrôle. « Dans la théorie du contrôle, l’observabilité est une mesure de la façon dont les états internes d’un système peuvent être déduits par la connaissance de ses sorties externes. L’observabilité et la contrôlabilité d’un système sont des duels mathématiques. » – Wikipédia .
Dans le monde des produits et services logiciels, l’ observabilité signifie que vous pouvez répondre à toutes les questions sur ce qui se passe à l’intérieur du système simplement en observant l’extérieur du système, sans avoir à ajouter de nouveau code pour répondre à de nouvelles questions.
Surveillance
Parfois, il y a un débat entre l’observabilité et la surveillance . La section « Monitor » de la boucle DevOps fournit les informations essentielles qui déterminent les futures itérations. La surveillance et l’observabilité sont dans une relation symbiotique, résumée par l’énoncé suivant.
« Si vous êtes observable, je peux vous surveiller. »
Après avoir rendu le système observable et après avoir collecté les données à l’aide d’un outil de surveillance, vous devez effectuer une analyse manuellement ou automatiquement.
Idempotence et automatisation
L’idempotence
L’idempotence est la propriété de certaines opérations en mathématiques et en informatique grâce auxquelles elles peuvent être appliquées plusieurs fois sans changer le résultat au-delà de l’application initiale.
Si nous appliquons cela à la programmation, l’idempotence signifie que l’état final reste le même, peu importe combien de fois le code est exécuté. Ce concept a été utilement implémenté dans des outils de gestion de configuration.
Les outils de gestion de la configuration permettent aux changements et aux déploiements d’être plus rapides, reproductibles, évolutifs, prévisibles et capables de maintenir l’état souhaité, ce qui amène les actifs contrôlés dans un état attendu.
Il existe une variété d’ outils de gestion de configuration disponibles, et chacun a des fonctionnalités spécifiques qui le rendent meilleur dans certaines situations que dans d’autres. Ansible est un outil très intéressant et un bon point de départ.
L’automatisation
L’automatisation est le besoin ultime de la pratique DevOps, et «tout automatiser» est le principe clé de DevOps. Il encapsule finalement tout, du build à la surveillance en passant par le déploiement.
Quelques avantages de l’automatisation:
- Supprime les erreurs manuelles
- Les membres de l’équipe sont responsabilisés
- Augmente le nombre de livraisons
- Réduit le délai de livraison
- Augmente la fréquence des rejets
- Fournit une rétroaction plus rapide
- Permet vitesse, fiabilité et cohérence
Comme vous pouvez le voir, l’automatisation a plusieurs avantages. Il peut vous aider réellement à gérer vos infrastructures. Mais il est également important de garder à l’esprit que l’automatisation peut également provoquer des erreurs à grande échelle. Vous devez donc être préparé et planifier à l’avance comment faire face à ces scénarios.
Sécurité par défaut
La sécurité des informations consiste essentiellement à:
- être conscient de la valeur de nos actifs informationnels,
- identifier l’expositions aux menaces et aux vulnérabilités
- réduire le niveau de risque
- mettre en œuvre des contre-mesures dans le but de préserver la confidentialité, l’intégrité et la disponibilité.
La cybersécurité est bien plus qu’une question d’informatique
Stéphane Nappo
Il existe des normes qui pourraient aider à atteindre cet objectif. Gardez à l’esprit que la sécurité de l’information est un processus important. Il doit faire partie de notre organisation et être intégré dans tous les aspects du développement de logiciels et des opérations d’infrastructure, y compris l’automatisation de la sécurité.
La sécurité par défaut , dans le logiciel, signifie que les paramètres de configuration par défaut sont les paramètres les plus sécurisés possibles.
La cybercriminalité est la plus grande menace pour chaque entreprise dans le monde.
Ginni Rommety
Conclusion
La transition de l’administrateur système vers le DevOps pourrait être plus facile ou plus difficile. En fonction de votre expérience et de vos pratiques actuelles, cela aura un coût en temps et en efforts. Mais cela en vaudra la peine face aux avantages futurs et aux nouvelles compétences.
La partie la plus importante de cette transition est de continuer à apprendre et à découvrir pendant le processus.