Comment déployer Atlassian Jira + Confluence dans une entreprise. Questions techniques

Vous envisagez d'implémenter des logiciels Atlassian (Jira, Confluence) ? Vous ne voulez pas commettre des erreurs graves dans la conception qui devront être résolues à la dernière minute ?

Comment déployer Atlassian Jira + Confluence dans une entreprise. Questions techniques
Alors vous êtes au bon endroit — nous examinons l'implémentation d'Atlassian Jira + Confluence dans les entreprises en tenant compte de divers aspects techniques.
Bonjour, je suis Responsable de produit chez RSHB et je suis en charge du développement du Système de gestion du cycle de vie (SGCV) basé sur les produits logiciels d'Atlassian Jira et Confluence.

Dans cet article, je décrirai les aspects techniques de la construction du SGCV. L'article sera utile à tous ceux qui prévoient d'implémenter ou qui s'occupent du développement d'Atlassian Jira et Confluence dans un environnement d'entreprise. Ce document ne nécessite pas de connaissances particulières et est destiné à un niveau initial de familiarisation avec les produits d'Atlassian. Il sera utile aux administrateurs, aux responsables de produit, aux chefs de projet, aux architectes, et à tous ceux qui envisagent d'implémenter des systèmes basés sur les logiciels Atlassian.

Introduction

L'article abordera les questions techniques liées à l'implémentation du Système de gestion du cycle de vie (SGCV) dans un environnement d'entreprise. Commençons par définir ce que cela signifie.

Qu'est-ce qu'une solution d'entreprise ?

Cela signifie une solution :

  1. Scalable. En cas d'augmentation de la charge, il existe une possibilité technique d'augmenter la puissance du système. On distingue le dimensionnement horizontal et vertical : dans le dimensionnement vertical, la puissance des serveurs est augmentée, tandis que dans le dimensionnement horizontal, le nombre de serveurs utilisés par le système augmente.
  2. Tolérant aux pannes. Le système restera accessible en cas de défaillance d'un élément. En général, pour les systèmes d'entreprise, la tolérance aux pannes n'est pas requise, mais nous considérerons une telle solution. Notre système prévoit plusieurs centaines d'utilisateurs concurrents et les temps d'arrêt seront très critiques.
  3. Soutenable. La solution doit être prise en charge par le fournisseur. Les logiciels non soutenus doivent être remplacés par des développements internes ou d'autres logiciels avec support.
  4. Installation Géré par soi-même (Sur site). Géré par soi-même signifie la possibilité d'installer des logiciels non pas dans le cloud, mais sur ses propres serveurs. Pour être plus précis, cela inclut toutes les options d'installation qui ne sont pas SaaS. Dans cet article, nous examinerons uniquement les options d'installation gérées par soi-même.
  5. La possibilité de développement et de test indépendant. Pour organiser des changements prévisibles dans le système, des systèmes distincts sont nécessaires pour le développement (modifications dans le système lui-même), le système de test (Staging) et le système de production pour le travail des utilisateurs.
  6. Autre. Prend en charge divers scénarios d'authentification, prend en charge des journaux d'audit, dispose d'un modèle de rôle configurable, etc.

Ce sont des éléments essentiels des solutions d'entreprise et, malheureusement, ils sont souvent oubliés lors de la conception du système.

Qu'est-ce qu'un Système de Gestion du Cycle de Vie (SGCV) ?

En bref, dans notre cas, c'est Atlassian Jira et Atlassian Confluence - un système qui fournit des outils pour organiser le travail collectif. Ce système ne «impose» pas de règles d'organisation du travail, mais fournit divers outils de travail, y compris Scrum, des tableaux Kanban, un modèle en cascade, Scrum évolutif, etc.
Le nom SGCV n'est pas un terme sectoriel ou une notion d'usage courant, c'est simplement le nom du système dans notre Banque. SGCV pour nous n'est pas un système de suivi des bogues, ni un système de gestion des incidents et un système de gestion des changements.

Qu'inclut l'implémentation ?

L'implémentation de la solution consiste en de nombreuses questions techniques et organisationnelles :

  • Mise à disposition des capacités techniques.
  • Achat de logiciels.
  • Création d'une équipe pour l'implémentation de la solution.
  • Installation et configuration de la solution.
  • Développement de l'architecture de la solution. Modèle de rôle.
  • Développement de la documentation opérationnelle, y compris des instructions, des règlements, un projet technique, des dispositions, etc.
  • Changement des processus de l'entreprise.
  • Création d'une équipe de support. Développement de SLA.
  • Formation des utilisateurs.
  • Autre.

Dans cet article, nous examinerons les aspects techniques de l'implémentation, sans entrer dans les détails de la composante organisationnelle.

Particularités d'Atlassian

La société Atlassian est un leader dans de nombreux segments :

Les produits de la société Atlassian disposent de toutes les fonctionnalités d'entreprise nécessaires. Je vais souligner les caractéristiques suivantes :

  1. Les solutions Atlassian reposent sur le serveur web Java Tomcat. Le logiciel Apache Tomcat est inclus dans le logiciel Atlassian en tant que partie de l'installation, et il n'est pas possible de changer la version d'Apache Tomcat incluse dans le logiciel Atlassian, même si la version est obsolète et comporte des vulnérabilités. La seule option est d'attendre une mise à jour de la part d'Atlassian avec une version plus récente d'Apache Tomcat. Actuellement, par exemple, les versions récentes de Jira incluent Apache Tomcat 8.5.42, tandis que Confluence utilise Apache Tomcat 9.0.33.
  2. Une interface conviviale, mettant en œuvre les meilleures pratiques disponibles sur le marché pour cette catégorie de logiciels.
  3. Solution entièrement personnalisable. Avec des modifications, il est possible de mettre en œuvre n'importe quel changement de la fonctionnalité de base pour l'utilisateur.
  4. Écosystème développé. Il existe plusieurs centaines de partenaires : https://partnerdirectory.atlassian.com, dont 16 partenaires en Russie. C'est par le biais des partenaires en Russie que l'on peut acheter le logiciel Atlassian, des plugins, et suivre des formations. Ce sont les partenaires qui développent et maintiennent la plupart des plugins.
  5. Boutique d'applications (plugins) : https://marketplace.atlassian.com. Les plugins étendent considérablement les fonctionnalités du logiciel Atlassian. Les fonctionnalités de base du logiciel Atlassian sont assez modestes, et presque toutes les tâches nécessitent l'installation de plugins supplémentaires, gratuits ou payants. Par conséquent, les coûts liés au logiciel peuvent s'avérer bien plus élevés que prévu initialement.
    À l'heure actuelle, plusieurs milliers de plugins sont publiés dans la boutique, près d'un millier d'entre eux ayant été testés et validés dans le cadre du programme Data Center approved apps. Ces plugins peuvent être considérés comme stables et adaptés à une utilisation dans des systèmes sous forte charge.
    Je recommande d'aborder la question de la planification des plugins avec soin, car cela influence fortement le coût de la solution, de nombreux plugins peuvent entraîner une instabilité du système et le fournisseur du plugin peut ne pas offrir de support pour résoudre le problème.
  6. Formations et certifications : https://www.atlassian.com/university
  7. Les mécanismes SSO, SAML 2.0 sont supportés.
  8. Le support de la scalabilité et de la résilience n'est présent que dans les éditions Data Center. Cette édition est apparue pour la première fois en 2014 (Jira 6.3). Les fonctionnalités des éditions Data Center sont constamment élargies et améliorées (par exemple, la possibilité d'installation sur un seul nœud n'est apparue qu'en 2020). L'approche sur les plugins pour les éditions Data Center a considérablement changé en 2018 avec l'introduction des Data Center approved apps.
  9. Coût du support. Le coût du support du fournisseur est pratiquement équivalent au coût total des licences logicielles. Un exemple de calcul du coût des licences est présenté ci-dessous.
  10. Absence de versions Long Term. Il existe ce que l'on appelle des versions Enterprise, mais elles, comme toutes les autres versions, sont supportées pendant 2 ans. Avec la différence que pour les versions Enterprise, seules des corrections sont publiées, sans ajout de nouvelles fonctionnalités.
  11. Options de support étendues (avec des frais supplémentaires). https://www.atlassian.com/enterprise/support-services
  12. Plusieurs systèmes de gestion de bases de données sont pris en charge. Les logiciels Atlassian sont livrés avec le SGBD gratuit H2, qui n'est pas recommandé pour une utilisation en production. Pour une utilisation en production, les SGBD suivants sont pris en charge : Amazon Aurora (uniquement Data Center), PostgreSQL, Azure SQL, MySQL, Oracle DB, MS SQL Server. Il existe des restrictions sur les versions prises en charge, et seules les anciennes versions sont souvent supportées, mais pour chaque SGBD, il existe une version avec support du fournisseur :
    Plateformes prises en charge par Jira,
    Plateformes prises en charge par Confluence.

Architecture technique

Comment déployer Atlassian Jira + Confluence dans une entreprise. Questions techniques

Explications du schéma :

  • Le schéma présente une réalisation dans notre Banque, cette configuration est donnée comme exemple et n'est pas recommandée.
  • nginx offre des fonctionnalités de reverse-proxy à la fois pour Jira et pour Confluence.
  • La haute disponibilité des SGBD est mise en œuvre par les moyens des SGBD.
  • Le transfert des changements entre les environnements est effectué à l'aide du plugin Configuration Manager for Jira.
  • AppSrv sur le schéma est notre propre serveur d'applications pour la génération de rapports, n'utilisant pas les logiciels Atlassian.
  • La base de données EasyBI est conçue pour construire des cubes et des rapports avec le plugin eazyBI Reports and Charts for Jira.
  • Le service Confluence Synchrony (composant permettant l'édition simultanée de documents) n'est pas installé séparément et s'exécute conjointement avec Confluence, sur le même serveur.

Licencement

Les questions de licence d'Atlassian méritent un article à part, ici je ne mentionnerai que les principes généraux.
Les principales questions auxquelles nous avons été confrontés concernent les questions de licence des éditions Data Center. Les particularités de la licence pour les éditions Server et Data Center :

  1. La licence pour l'édition Server est perpétuelle et l'acheteur peut utiliser le logiciel même après l'expiration de la licence. Cependant, après l'expiration de la licence, l'acheteur perd le droit de recevoir du support pour le produit et de mettre à jour le logiciel vers les versions actuelles.
  2. La licence est accordée en fonction du nombre d'utilisateurs ayant la permission globale ‘JIRA Users’ dans le système. Peu importe si ces utilisateurs utilisent le système ou non — même ceux qui ne se sont jamais connectés seront comptabilisés pour la licence. En cas de dépassement du nombre d'utilisateurs licenciés, la solution sera de retirer les droits ‘JIRA Users’ à certains utilisateurs.
  3. La licence pour Data Center est en fait un abonnement. Un paiement annuel de la licence est requis. À l'expiration de la période, l'accès au système sera bloqué.
  4. Le coût des licences peut varier avec le temps. Comme l'expérience le montre, en général à la hausse, et peut-être de manière significative. Ainsi, si cette année les licences coûtent un certain montant, le coût des licences peut augmenter l'année suivante.
  5. La licence est accordée par utilisateur par palier (par exemple, niveau 1001-2000 utilisateurs). Il est possible de passer à un palier supérieur, avec un supplément.
  6. En cas de dépassement du nombre d'utilisateurs licenciés, les nouveaux utilisateurs seront créés sans le droit d'accéder au système (‘JIRA Users’ global permission).
  7. Les plugins peuvent être licenciés uniquement pour le même nombre d'utilisateurs que le logiciel principal.
  8. Il est nécessaire de licencier uniquement les installations en production, pour les autres, il est possible de demander une Developer license : https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Pour acheter un support, il est nécessaire d'acheter le Renew Software maintenance — son coût est d'environ 50 % du coût du logiciel initial. Cette possibilité n'est pas disponible pour Data Center et ne s'applique pas aux plugins — le support nécessitera un paiement annuel complet.
    Ainsi, le support annuel du logiciel coûte plus de 50 % du coût total du logiciel pour l'édition Server et 100 % pour l'édition Data Center — c'est nettement plus que la plupart des autres fournisseurs. À mon avis, c'est un inconvénient majeur du modèle commercial d'Atlassian.

Particularités de la transition de l'édition Server vers Data Center :

  1. La transition de l'édition Server vers Data Center est payante. Le coût peut être trouvé ici https://www.atlassian.com/licensing/data-center.
  2. Lors du passage de l'édition Server à Data Center, aucun paiement pour le changement d'édition des plugins n'est nécessaire — les plugins pour l'édition Server continueront de fonctionner. Mais il sera déjà obligatoire de renouveler les licences des plugins pour l'édition Data Center.
  3. Vous pouvez utiliser des plugins pour lesquels il n'existe pas de version compatible avec les éditions Data Center. Cela dit, ces plugins peuvent fonctionner de manière incorrecte, il est donc préférable de prévoir une alternative à ces plugins.
  4. La transition vers l'édition Data Center s'effectue en installant une nouvelle licence. La licence pour l'édition Server reste toutefois accessible.
  5. Il n'y a aucune différence fonctionnelle entre les éditions Data Center et Server pour les utilisateurs ; toutes les différences concernent les fonctions d'administration et les capacités techniques d'installation.
  6. Le coût des logiciels et des plugins varie entre les éditions Server et Data Center. La différence de coût est souvent inférieure à 5 % (pas significatif). Un exemple de calcul des coûts est présenté ci-dessous.

Volume fonctionnel de l'implémentation

La livraison de base des logiciels Atlassian comprend une énorme quantité de possibilités, mais souvent les fonctionnalités fournies par le système sont fortement insuffisantes. Parfois, même les fonctions les plus simples ne sont pas disponibles dans la version de base, donc les plugins sont pratiquement indispensables dans toute implémentation. Pour le système Jira, nous utilisons les plugins suivants (l'image est cliquable) :
Comment déployer Atlassian Jira + Confluence dans une entreprise. Questions techniques

Pour le système Confluence, nous utilisons les plugins suivants (l'image est cliquable) :
Comment déployer Atlassian Jira + Confluence dans une entreprise. Questions techniques

Commentaires sur les tableaux avec plugins :

  • Tous les prix sont basés sur un calcul pour 2000 utilisateurs ;
  • Les prix sont basés sur les tarifs indiqués https://marketplace.atlassian.com, le coût réel (avec les rabais) s'avère inférieur ;
  • Comme nous le constatons, le montant final est pratiquement identique pour les éditions Data Center et Server ;
  • Seuls les plugins prenant en charge l'édition Data Center ont été sélectionnés. Les autres plugins ont été exclus des plans pour garantir la stabilité du système.

Les fonctionnalités sont brièvement décrites dans la colonne Commentaire. Des plugins supplémentaires ont élargi les fonctionnalités du système :

  • Ajout de plusieurs outils visuels ;
  • Amélioration des mécanismes d'intégration ;
  • Ajout d'outils pour les projets selon le modèle waterfall ;
  • Ajout d'outils pour un Scrum évolutif, pour organiser le travail de grandes équipes projet ;
  • Ajout de fonctionnalités pour le suivi du temps ;
  • Ajout d'outils pour l'automatisation des opérations et la configuration de la solution ;
  • Ajout de fonctionnalités pour simplifier et automatiser l'administration de la solution.

De plus, nous utilisons l'application Atlassian CompanionCette application permet d'éditer des fichiers dans des applications externes (MS Office) et de les renvoyer dans Confluence (check-in).
Application pour les postes de travail des utilisateurs (client lourd) Client ALM Works Jira https://marketplace.atlassian.com/apps/7070 décidé de ne pas l'utiliser en raison d'un mauvais support du fournisseur et d'avis négatifs.
Pour intégrations avec MS Project nous utilisons une application sur mesure qui permet de mettre à jour les statuts des problèmes dans MS Project depuis Jira et vice versa. À l'avenir, pour ces mêmes objectifs, nous prévoyons d'utiliser un plugin payant. Ceptah Bridge — Plugin JIRA MS Project, qui s'installe comme un complément sur MS Project.
Intégration avec des applications externes est réalisée via les Liens d'Application. Ainsi, pour les applications Atlassian, les intégrations sont préconfigurées et fonctionnent immédiatement après la configuration, par exemple, il est possible d'afficher sur une page dans Confluence des informations sur les problèmes dans Jira.
Pour accéder aux serveurs Jira et Confluence, nous utilisons l'API REST : https://developer.atlassian.com/server/jira/platform/rest-apis.
L'API SOAP et XML-RPC est obsolète et n'est plus disponible dans les nouvelles versions.

Conclusion

Ainsi, nous avons examiné les particularités techniques de l'implémentation d'un système basé sur les produits Atlassian. La solution proposée constitue l'une des solutions possibles et convient bien à un environnement d'entreprise.

La solution proposée est évolutive, tolérante aux pannes, comporte trois environnements pour l'organisation du développement et des tests, contient tous les éléments nécessaires à la collaboration dans le système et offre une large gamme d'outils pour la gestion de projets.

Je répondrai avec plaisir à vos questions dans les commentaires.

Source : habr.com

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster