OAP Flashcards
Qu’est-ce que OAP?
Outils et appui à la performance….OAP est une équipe devOps
A qui OAP fournit des outils?
L’équipe OAP fournit des outils aux pôles POBR et POSS.
Quelle est la mission d’OAP indust?
Industrialisation et automatisation des chaines de fabrication logicielle….A la CNAV l’industrialisation concerne …les outils qui permettent de déployer les applications métiers développé par la DPESI
Qu’est-ce que l’industrialisation?
En relation avec la démarche dite “agile”, l’industrialisation de la production logicielle a pour objectif de déterminer les tâches répétitives, sans valeur ajoutée, dans le but de les rendre automatiques. C’est la mise en place d’usines logicielles, basées sur l’intégration continue et l’automatisation (majoritairement de tests). L’objectif global est le gain de temps afin de pouvoir le consacrer à d’autres tâches qui ne peuvent être automatisées.
Quelles sont les différentes équipe d’OAP? Et quelles sont leurs différents rôle?
-OAP indust (industrialisation de tâches d’intégration répétitives)
-OPA exploit (exploitation)
-OAP dev (développement d’outils tels que le bdle etc..)
-OAP Raas (recueil , analyse, accompagnement et support)
Qu’est-ce qu’un intégrateur d’application?
En quoi est-ce que l’industrialisation de logicielle est-elle bénéfique?
L’industrialisation logicielle est tout d’abord motivée par une démarche de qualité. L’objectif est de diminuer au maximum l’erreur humaine qui est belle et bien présente, notamment au sein de tâches répétitives lors de développements logiciels. La gestion de ces erreurs représente un coût très important, qui peut être réduit grâce à l’industrialisation logicielle.
Cette démarche est bénéfique, car elle réduit l’erreur humaine donc sécurise le logiciel, diminue le besoin en ressource, augmente la vitesse de production et de fait, engendre moins de coûts sur le long terme.
Qu’est-ce que le DevOps?
Le DevOps est une démarche qui consiste à faire collaborer étroitement les équipes de développement & études avec les équipes des opérations et d’exploitation. Cette collaboration a pour but d’automatiser et d’intégrer les processus entre ces deux équipes, dans une responsabilité commune du succès ou de l’échec.
**Moi=> récupération du principe agile d’itération régulière et de fléxibilité et d’adaptabilité. En effet plutôt que de faire un cycle unique (que l’on ne va pas itérer donc) de fabrication de logicielle avec des phases de dev, test, déploiement on va itérer de façon régulière et continu le cycle de fabrication d’un logicielle (dès qu’il y a modification du code ce qui nécessite un merge, on déclenche les tests puis le déploiement. On réitère ce processe autant de fois que nécessaire jusqu’à le fabrication totale et effective du logicielle.
Quel est l’avantage du DevOps?
Interrogez l’équipe : où sont les douleurs et qu’est-ce qui en est la cause ? Les réponses à la 1ère question sont un indicateur sur les actions à mener et celles de la seconde question peuvent aider à définir les priorités. En automatisant ce qui cause le plus de douleurs non seulement vous gagnerez en efficacité mais surtout vous rassurerez l’équipe. L’enjeu est également de réduire l’intervention humaine sur les tâches répétitives, de limiter les risques d’erreurs et, surtout, de permettre aux développeurs de se focaliser sur des tâches à plus haute valeur ajoutée. La peur liée à l’automatisation se transforme alors en source de motivation.
-Automatisation : évite les erreurs dues aux saisies manuelles ou manipulations, oblige à réfléchir sur les processus et les rôles de chacun et libère du temps -Adaptation : permet de s’adapter en temps réel aux contraintes réglementaires, au contexte du marché et d’aborder le virage de la transformation digitale -Productivité et qualité : livraison des applications plus rapidement incluant un processus d’amélioration continu -Valeur ajoutée : le temps gagné grâce à l’automatisation permet de se concentrer sur la valeur de la solution et de mieux prendre en compte le point de vue du client
Quel est l’avantage de l’industrialisation?
Les bénéfices liés à l’industrialisation des développements et des processus associés sont multiples. On pense bien évidemment à la réduction des temps de déploiement et donc des coûts des projets de développement. L’enjeu est également de réduire l’intervention humaine sur les tâches répétitives, de limiter les risques d’erreurs et, surtout, de permettre aux développeurs de se focaliser sur des tâches à plus haute valeur ajoutée.
Qu’est-ce qu’un usine logicielle?
Il s’agit avant tout d’un concept qui s’inspire évidemment de la notion d’usine dans le monde réel.
Dans cette optique, l’organisation est découpée comme une chaîne de production où les tâches répétitives seront automatisées comme le lancement régulier de la compilation, des tests unitaires, du déploiement.
De qui est constitué une usine logicielle?
L’usine logicielle est constituée d’un ensemble de frameworks (avec une notion de composabilité et d’orchestration des services applicatifs), de librairies et d’outils dont certains sont fournis clés en main par un éditeur. Les outils majeurs dans une usine logicielle comprennent notamment ceux qui permettent la gestion du cycle de vie d’un projet. Les projets deviennent managés avec par exemple des tableaux de bord.
Qu’est-ce qu’implique le DevOps?
Cela nécessite une réorganisation culturelle et organisationnelle de l’entreprise, ainsi que l’utilisation d’outils et de pratiques adaptées pour améliorer la qualité, la rapidité et la valeur ajoutée de la production de logiciels.
Qu’est-ce que l’intégration continue?
L’intégration continue (CI) permet aux développeurs de fusionner plus fréquemment leurs modifications de code dans une « branche » partagée, souvent critique et qui doit être protégée. Les opérations réalisées par l’intégration continue doivent garantir cette protection. Les modifications à fusionner sont automatiquement testées pour détecter le moindre conflit entre le code existant et le nouveau (à tous les niveaux, classes, fonctions, modules…). Les dysfonctionnements éventuels sont ainsi résolus très tôt, plus fréquemment et plus rapidement.
Qu’est-ce que la distribution continue?
Après l’automatisation des tests unitaires dans le cadre de l’intégration continue, la distribution continue automatise la publication du code validé dans un référentiel. La distribution continue permet de disposer d’une base de code toujours prête à être déployée dans un environnement de production.