Pourquoi les organisations ont besoin d’ingénieurs en fiabilité de site


  • FrançaisFrançais


  • Dans ce dernier article qui conclut ma série sur les meilleures pratiques pour une ingénierie de fiabilité de site (SRE) efficace, je couvre certaines des applications pratiques de l’ingénierie de fiabilité de site.

    Il existe des différences importantes entre l’ingénierie logicielle et l’ingénierie système.

    Génie logiciel

    • Se concentre uniquement sur le développement de logiciels et l’ingénierie.
    • Implique l’écriture de code pour créer des fonctionnalités utiles.
    • Du temps est consacré au développement de logiciels reproductibles et réutilisables qui peuvent être facilement étendus.
    • A une orientation vers la résolution de problèmes.
    • Le génie logiciel aide le SRE.

    Ingénierie des systèmes

    • Se concentre sur l’ensemble du système, y compris les logiciels, le matériel et toutes les technologies associées.
    • Du temps est consacré à la création, à l’analyse et à la gestion de solutions.
    • Traite de la définition des caractéristiques d’un système et alimente les exigences en génie logiciel.
    • A une orientation systémique.
    • L’ingénierie système permet la SRE.

    L’ingénieur de fiabilité du site (SRE) utilise à la fois des compétences en ingénierie logicielle et en ingénierie système, et ce faisant, ajoute de la valeur à une organisation.

    Alors que l’équipe SRE gère les systèmes de production, un SRE produit les outils les plus efficaces pour gérer et automatiser les processus manuels. Les logiciels peuvent être créés plus rapidement lorsqu’un SRE est impliqué, car la plupart du temps, le SRE crée des logiciels pour son propre usage. Comme la plupart des tâches d’un SRE sont automatisées, ce qui implique beaucoup de codage, cela introduit un mélange sain de développement et d’exploitation, ce qui est excellent pour la fiabilité du site.

    Enfin, un SRE permet à une organisation d’évoluer automatiquement et rapidement, qu’il s’agisse d’une augmentation ou d’une réduction.

    SRE et DevSecOps

    Un SRE aide à créer des systèmes de surveillance efficaces de bout en bout en utilisant des journaux, des métriques et des traces. Un SRE permet des restaurations rapides, efficaces et fiables et une mise à l’échelle automatique de l’infrastructure selon les besoins. Ceux-ci sont particulièrement efficaces lors d’une faille de sécurité.

    Avec l’avènement des architectures basées sur le cloud et les conteneurs, les pipelines de traitement de données sont devenus un élément important des architectures informatiques. Un SRE aide à configurer l’accès le plus restrictif aux pipelines de traitement de données.

    [ Download now: A guide to implementing DevSecOps ]

    Enfin, un SRE aide à développer des outils et des procédures pour gérer les incidents. Bien que la plupart de ces incidents se concentrent sur les opérations informatiques et la fiabilité, ils peuvent facilement être étendus à la sécurité. Par exemple, DevSecOps traite de l’intégration du développement, de la sécurité et des opérations en mettant fortement l’accent sur l’automatisation. C’est un domaine où les équipes de développement, de sécurité et d’exploitation travaillent ensemble pour soutenir et maintenir les applications et l’infrastructure d’une organisation.

    Concevoir des environnements informatiques SRE et de pré-production

    Un environnement de pré-production ou de non-production est un environnement utilisé par un SRE pour développer, déployer et tester.

    L’environnement de non-production est le terrain d’essai de l’automatisation. Mais ce n’est pas seulement le code d’application qui nécessite un environnement hors production. Tous les processus automatisés associés, principalement ceux développés par un SRE, nécessitent un environnement de pré-production. La plupart des organisations ont plus d’un environnement de pré-production. En ressemblant autant que possible à la production, l’environnement de pré-production améliore la confiance dans les versions. Au moins un de vos environnements hors production doit ressembler à l’environnement de production. Dans de nombreux cas, il n’est pas possible de répliquer les données de production, mais vous devez faire de votre mieux pour que les environnements de non-production correspondent le plus possible aux environnements de production.

    L’informatique de pré-production et le SRE

    Un SRE aide à créer des environnements de service d’applications identiques en utilisant l’automatisation et des outils spécialisés. Ceci est essentiel, car vous pouvez rapidement créer un environnement hors production en quelques secondes à l’aide de scripts et d’outils développés par les SRE.

    Un SRE intelligent traite la configuration comme du code pour garantir une mise en œuvre rapide des tests et du déploiement. Grâce à l’utilisation de pipelines CI/CD automatisés, les versions d’application et les correctifs peuvent être réalisés de manière transparente.

    Enfin, en développant des solutions de supervision efficaces, un SRE contribue à assurer la fiabilité d’un environnement informatique de pré-production.

    L’un des domaines étroitement liés à l’informatique de pré-production est le développement de la boucle interne.

    Exécution sur le développement de la boucle interne

    Imaginez deux boucles, une boucle interne et une boucle externe, formant la boucle DevOps. Dans la boucle interne, vous codez, créez, exécutez et déboguez. Ce cycle se produit principalement sur le poste de travail d’un développeur ou dans un autre environnement hors production.

    Une fois que le code est prêt, il est déplacé vers la boucle externe, où le processus commence par la révision du code, la construction, le déploiement, les tests d’intégration, la sécurité et la conformité, et enfin la version de pré-production.

    De nombreux processus de la boucle externe et de la boucle interne sont automatisés par le SRE.

    (Robert Kimani, CC BY-SA 40)

    Développement SRE et boucle interne

    Le SRE accélère le développement de la boucle interne en permettant un développement rapide et itératif en fournissant des outils pour le déploiement conteneurisé. De nombreux outils développés par un SRE tournent autour de l’automatisation et de l’orchestration des conteneurs, à l’aide d’outils tels que Podman, Docker, Kubernetes ou de plateformes comme OpenShift.

    Un SRE développe également des outils pour aider à déboguer les plantages avec des outils tels que les outils d’analyse de vidage de tas Java et les outils d’analyse de vidage de thread Java.

    Valeur globale du SRE

    En utilisant à la fois l’ingénierie système et l’ingénierie logicielle, une organisation SRE fournit des solutions percutantes. Un SRE aide à mettre en œuvre DevSecOps là où le développement, la sécurité et les opérations se croisent avec un accent principal sur l’automatisation.

    Les principes SRE aident à maximiser la fonction des environnements de pré-production en utilisant des outils et des processus fournis par les organisations SRE, de sorte que l’on peut facilement faire tourner un environnement de non-production en quelques secondes. Une organisation SRE permet un développement efficace de la boucle interne en développant et en fournissant les outils nécessaires.

    • Amélioration de l’expérience de l’utilisateur final : Il s’agit de s’assurer que les utilisateurs des applications et des services obtiennent la meilleure expérience possible. Cela inclut la disponibilité des applications ou des services. Les applications doivent être opérationnelles en permanence et doivent être saines.
    • Minimise ou élimine les pannes : C’est mieux pour les utilisateurs et les développeurs.
    • Automatisation: Comme le dit le proverbe, vous devriez toujours essayer de vous automatiser hors du travail que vous effectuez actuellement manuellement.
    • Échelle: À l’ère des applications cloud natives et des services conteneurisés, une évolutivité automatisée massive est essentielle pour qu’un SRE puisse évoluer de manière sûre et rapide.
    • Intégré: Les principes et processus adoptés par l’organisation SRE peuvent être, et dans de nombreux cas, doivent être étendus à d’autres parties de l’organisation, comme avec DevSecOps.

    Le SRE est un élément précieux dans une organisation efficace. Comme démontré au cours de cette série, les avantages de la SRE affectent de nombreux départements et processus.

    Lectures complémentaires

    Vous trouverez ci-dessous quelques liens GitHub vers quelques-unes de mes ressources SRE préférées :

    Source

    La Rédaction

    L'équipe rédactionnnelle du site

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Copy code