Domaine h : Délivrance et fonctionnement des applications
Ce domaine couvre les compétences liées au déploiement et à la maintenance des applications
Compétences opérationnelles
h1 - Définir la plateforme appropriée pour la livraison des applications
0 objectifsLes informaticiennes et informaticiens analysent les diverses exigences relatives au fonctionnement des applications et définissent la plateforme appropriée: Ils analysent tout d’abord les exigences prédéfinies et identifient les dépendances entre les composants (microservices, logiciels existants, applications/interfaces). Sur cette base, ils déterminent la plateforme appropriée au fonctionnement de l’application (cloud, sur site, client, hybride, multicloud). Ils définissent ensuite le modèle de couches (SaaS, PaaS, IaaS) en fonction des conditions cadres de la partie prenante (p. ex. coûts, responsabilités, mise en œuvre). Ils identifient les exigences de sécurité (protection des données incluse) devant être remplies par la plateforme et choisissent les services appropriés. Ils évaluent les ressources requises et les sélectionnent en fonction des recommandations de l’opérateur de la plateforme (performance, besoins en espace de stockage, disponibilité, coûts, accès). Ils veillent à trouver des solutions économiques et écologiques. Ils vérifient ensuite la cohérence de leur choix en collaboration avec leur équipe et/ou la partie prenante, procèdent à d’éventuelles adaptations et consignent les résultats.
h2 - Définir le processus de livraison des applications
0 objectifsLes informaticiennes et informaticiens définissent le processus de livraison des applications ainsi que les techniques et outils à utiliser: Pour la définition du processus de livraison, ils se basent sur le modèle de procédure défini (p. ex. scrum). Ils analysent tout d’abord les dépendances entre les différents composants en regard du processus de livraison. Ils intègrent également les migrations planifiables (Code First, schéma de base de données, de données) en tenant compte de l’architecture. Ils déterminent les pratiques d’intégration appropriées (p. ex. Git flow, tronc, intégration continue) en fonction du type d’application et du modèle de procédure choisi et les consignent. Ils définissent aussi les pratiques de déploiement adéquates (p. ex. déploiement continu, livraison continue) et les consignent. Enfin, ils déterminent la gestion des artefacts appropriée (p. ex. registre de conteneur) et la consignent.
h3 - Implémenter le processus de livraison des applications
0 objectifsLes informaticiennes et informaticiens implémentent le processus de livraison des applications selon la procédure définie: Si cela n’a pas encore été fait, ils établissent une preuve de concept (proof of concept [PoC] pour la solution choisie (→ a3.5). Ils implémentent ensuite le processus de livraison défini. Ils installent les services, écrivent les scripts d’automatisation et définissent les variables d’environnement en utilisant les méthodes et outils appropriés (p. ex. pipeline CI/CD, CLI, YAML). Ils mettent à disposition les composants (environnement d’exécution/services) et empaquètent l’application (p. ex. docker, conteneur). Ils administrent et versionnent les artefacts. Pour ce faire, ils adoptent une démarche structurée, contrôlent régulièrement leur travail en vue d’identifier des erreurs et, le cas échéant, les suppriment. Enfin, ils vérifient l’entier du processus de livraison de l’application selon la procédure applicable (p. ex. check-list) et testent la capacité de fonctionnement / l’interaction des applications au moyen d’un concept de tests (p. ex. test d’intégration). Tout au long des différentes étapes, ils font preuve de ténacité et appliquent une procédure rigoureuse en vue d’améliorer et d’optimiser le processus de livraison.
h4 - Surveiller les applications et les interfaces et résoudre les problèmes en cours de fonctionnement
6 objectifsLes informaticiennes et informaticiens surveillent les applications et les interfaces, prennent des mesures en vue de maintenir la stabilité et résolvent, si nécessaire, les problèmes survenant en cours de fonctionnement: Pour la surveillance ou le monitorage d’une application, ils définissent tout d’abord tout ce qui doit être enregistré (métriques) et configurent les systèmes en conséquence (profondeur de journal [log depth], points de mesure). Ils intègrent dans l’application des mesures vue de détecter rapidement les utilisations abusives et les menaces. Ils effectuent le monitorage à intervalles réguliers et vérifient l’état de l’application sur la base des informations enregistrées. Si nécessaire, ils procèdent à une analyse, p. ex. en cas de message d’erreur transmis par le client ou le système. Pour circonscrire le problème, ils reproduisent l’erreur. Ce faisant, ils adoptent une démarche analytique et font preuve de ténacité jusqu’à l’identification de l’erreur. Ils vérifient par ailleurs l’actualité et les paramètres de sécurité des applications et des interfaces. A cet effet, ils lisent régulièrement les communications des fabricants des frameworks et services utilisés. Sur la base de l’analyse des erreurs, ils déterminent une procédure pour résoudre les problèmes et, selon les conséquences induites par celle-ci, ils en discutent en équipe ou avec la partie prenante concernée. Ce faisant, ils adoptent une démarche prospective et mettent en œuvre à temps les mesures définies (p. ex. cycle de vie du logiciel: planifier et installer les mises à jour/correctifs, renouvellement des certificats de sécurité, adaptations de la configuration). Ils consignent de façon claire et compréhensible les problèmes et mesures et complètent, si nécessaire, les cas de test.