Comment implémenter Atlassian Jira + Confluence dans une entreprise. Questions techniques

Vous envisagez d'implémenter un logiciel Atlassian (Jira, Confluence) ? Vous ne voulez pas commettre d'erreurs de conception cruelles, qui doivent ensuite être résolues au dernier moment ?

Comment implémenter Atlassian Jira + Confluence dans une entreprise. Questions techniques
Alors vous êtes ici - nous envisageons la mise en œuvre d'Atlassian Jira + Confluence dans une entreprise, en tenant compte de divers aspects techniques.
Bonjour, Je suis Product Owner chez RSHB et je suis responsable du développement du système de gestion du cycle de vie (LCMS) basé sur les produits logiciels Atlassian Jira et Confluence.

Dans cet article, je vais décrire les aspects techniques de la construction d'un LCMS. L'article sera utile à toute personne qui envisage d'implémenter ou de développer Atlassian Jira et Confluence dans un environnement d'entreprise. L'article ne nécessite pas de connaissances particulières et est conçu pour un niveau initial de familiarité avec les produits Atlassian. L'article sera utile aux administrateurs, aux propriétaires de produits, aux chefs de projet, aux architectes et à tous ceux qui envisagent de mettre en œuvre des systèmes basés sur les logiciels Atlassian.

introduction

L'article traitera des problèmes techniques liés à la mise en œuvre d'un système de gestion du cycle de vie (LCMS) dans un environnement d'entreprise. Définissons d'abord ce que cela signifie.

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

Cela signifie que la solution :

  1. Évolutif. En cas d'augmentation de la charge, il existe une possibilité technique d'augmenter la capacité du système. Mise à l'échelle horizontale et verticale séparée - avec la mise à l'échelle verticale, la capacité des serveurs est augmentée, avec la mise à l'échelle horizontale, le nombre de serveurs pour le fonctionnement du système est augmenté.
  2. Sécurité intégrée. Le système restera disponible en cas de défaillance d'un élément. En général, les systèmes d'entreprise ne nécessitent pas de tolérance aux pannes, mais nous envisagerons une telle solution. Nous prévoyons d'avoir plusieurs centaines d'utilisateurs concurrents dans le système, et les temps d'arrêt seront très critiques.
  3. Prise en charge. La solution doit être prise en charge par le fournisseur. Les logiciels non pris en charge doivent être remplacés par un développement interne ou un autre logiciel pris en charge.
  4. Installation Autogéré (sur place). L'autogestion est la possibilité d'installer des logiciels non pas dans le cloud, mais sur vos propres serveurs. Pour être plus précis, ce sont toutes des options d'installation non SaaS. Dans cet article, nous ne considérerons que les options d'installation autogérées.
  5. Possibilité de développement et de tests indépendants. Pour organiser des changements prévisibles dans le système, un système de développement séparé (changements dans le système lui-même), un système de test (Staging) et un système productif pour les utilisateurs sont nécessaires.
  6. Другое. Prend en charge divers scénarios d'authentification, prend en charge les journaux d'audit, dispose d'un modèle de rôle personnalisé, etc.

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

Qu'est-ce qu'un système de gestion du cycle de vie (LCMS) ?

En bref, dans notre cas, ce sont Atlassian Jira et Atlassian Confluence - un système qui fournit des outils pour organiser le travail d'équipe. Le système n'« impose » pas de règles d'organisation du travail, mais fournit une variété d'outils pour le travail, tels que Scrum, des tableaux Kanban, un modèle en cascade, un Scrum évolutif, etc.
Le nom LCMS n'est pas un terme de l'industrie ou un terme courant, c'est simplement le nom du système de notre Banque. Pour nous, LCMS n'est pas un système de suivi des bogues, ce n'est pas un système de gestion des incidents et un système de gestion des changements.

Que comprend la mise en œuvre ?

La mise en place de la solution comporte de nombreux enjeux techniques et organisationnels :

  • Allocation des capacités techniques.
  • Achat de logiciels.
  • Création d'une équipe pour implémenter la solution.
  • Installation et paramétrage de la solution.
  • Développement d'architectures de solutions. modèle.
  • Élaboration de la documentation opérationnelle, y compris les instructions, les règlements, la conception technique, les règlements, etc.
  • Modification des processus de l'entreprise.
  • Création d'une équipe d'assistance. Développement SLA.
  • Formation des utilisateurs.
  • Другое.

Dans cet article, nous aborderons les aspects techniques de mise en œuvre, sans détails sur le volet organisationnel.

Fonctionnalités Atlassian

Atlassian est leader dans de nombreux segments :

Les produits Atlassian disposent de toutes les fonctionnalités d'entreprise dont vous avez besoin. Je noterai les caractéristiques suivantes :

  1. Les solutions Atlassian sont basées sur le serveur Web Java Tomcat. Le logiciel Apache Tomcat est inclus avec le logiciel Atlassian, dans le cadre de l'installation, vous ne pouvez pas modifier la version d'Apache Tomcat installée avec le logiciel Atlassian, même si la version est obsolète et contient des vulnérabilités. La seule option est d'attendre une mise à jour d'Atlassian avec une version plus récente d'Apache Tomcat. Maintenant, par exemple, les versions actuelles de Jira ont Apache Tomcat 8.5.42 et Confluence a Apache Tomcat 9.0.33.
  2. Interface pratique, les meilleures pratiques disponibles sur le marché pour cette classe de logiciels sont mises en œuvre.
  3. Solution entièrement personnalisable. Avec les améliorations, vous pouvez implémenter n'importe quel changement dans 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 l'intermédiaire de partenaires en Russie que vous pouvez acheter des logiciels et des plug-ins Atlassian et suivre une formation. Ce sont les partenaires qui développent et maintiennent la plupart des plugins.
  5. Boutique d'applications (plugins) : https://marketplace.atlassian.com. Les plugins améliorent considérablement les fonctionnalités des logiciels Atlassian. La fonctionnalité de base du logiciel Atlassian est assez modeste, pour presque toutes les tâches, il devient nécessaire d'installer des plug-ins supplémentaires gratuitement ou moyennant de l'argent supplémentaire. Par conséquent, les coûts des logiciels peuvent être considérablement plus élevés que ceux initialement estimés.
    A ce jour, plusieurs milliers de plugins ont été publiés dans le store, près d'un millier d'entre eux ont été testés et validés dans le cadre du programme d'applications approuvées Data Center. Ces plugins peuvent être considérés comme stables et adaptés à une utilisation dans des systèmes occupés.
    Je vous conseille d'aborder attentivement la question de la planification des plugins, cela affecte considérablement le coût de la solution, de nombreux plugins peuvent entraîner une instabilité du système et le fabricant du plugin ne fournit pas de support pour résoudre le problème.
  6. Formation et certification : https://www.atlassian.com/university
  7. Les mécanismes SSO et SAML 2.0 sont pris en charge.
  8. La prise en charge de l'évolutivité et de la tolérance aux pannes n'est disponible que dans les éditions Data Center. Cette édition est apparue pour la première fois en 2014 (Jira 6.3). La fonctionnalité des éditions Data Center est constamment étendue et améliorée (par exemple, la possibilité d'une installation d'un seul nœud n'est apparue qu'en 2020). L'approche des plug-ins pour les éditions Data Center a beaucoup changé en 2018 avec l'introduction des applications approuvées Data Center.
  9. Coût de prise en charge. Le coût du support du fournisseur est presque égal au coût total des licences logicielles. Un exemple de calcul du coût des licences est donné ci-dessous.
  10. Manque de versions à long terme. Il y a ce qu'on appelle Versions d'entreprise, mais elles, comme toutes les autres versions, sont prises en charge pendant 2 ans. À la différence que seuls les correctifs sont publiés pour les versions Enterprise, sans ajouter de nouvelles fonctionnalités.
  11. Options d'assistance étendues (pour de l'argent supplémentaire). https://www.atlassian.com/enterprise/support-services
  12. Plusieurs variantes de SGBD sont prises en charge. Atlassian est livré avec une base de données H2 gratuite, qui n'est pas recommandée pour une utilisation productive. Les SGBD suivants sont pris en charge pour une utilisation productive : Amazon Aurora (centre de données uniquement) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Il existe des restrictions sur les versions prises en charge et souvent seules les anciennes versions sont prises en charge, mais pour chaque SGBD, il existe une version prise en charge par le fournisseur :
    Plateformes prises en charge par Jira,
    Plateformes prises en charge par Confluence.

Architecture technique

Comment implémenter Atlassian Jira + Confluence dans une entreprise. Questions techniques

Explications du schéma :

  • Le schéma montre l'implémentation dans notre Banque, cette configuration est donnée à titre d'exemple et n'est pas recommandée.
  • nginx fournit une fonctionnalité de proxy inverse pour Jira et Confluence.
  • La tolérance aux pannes d'un SGBD est implémentée au moyen du SGBD.
  • Le transfert des modifications entre les environnements s'effectue à l'aide du plug-in Configuration Manager for Jira.
  • AppSrv dans le diagramme est un serveur d'application de création de rapports natif, n'utilise pas le logiciel Atlassian.
  • La base de données EasyBI a été créée pour créer des cubes et générer des rapports à l'aide du plug-in eazyBI Reports and Charts for Jira.
  • Le service Confluence Synchrony (un composant qui permet l'édition simultanée de documents) n'est pas séparé dans une installation séparée et fonctionne avec Confluence, sur le même serveur.

licence

Les questions de licences Atlassian méritent un article séparé, ici je ne mentionnerai que les principes généraux.
Les principaux problèmes que nous avons rencontrés sont les problèmes de licence des éditions Data Center. Fonctionnalités de licence pour les éditions Server et Data Center :

  1. La licence de l'édition Server est perpétuelle et le client peut utiliser le logiciel même après l'expiration de la licence. Mais après l'expiration de la licence, l'acheteur perd le droit de recevoir une assistance produit et de mettre à jour le logiciel vers les dernières versions.
  2. La licence est basée sur le nombre d'utilisateurs dans le système d'autorisation global « JIRA Users ». Peu importe qu'ils utilisent le système ou non - même si les utilisateurs ne se sont jamais connectés au système, tous les utilisateurs seront pris en compte pour la licence. Si le nombre d'utilisateurs sous licence est dépassé, la solution consiste à supprimer l'autorisation « Utilisateurs JIRA » de certains utilisateurs.
  3. La licence Data Center est en fait un abonnement. Une redevance annuelle est exigée. À l'expiration du terme, le travail avec le système sera bloqué.
  4. Le coût des licences peut changer au fil du temps. Comme le montre la pratique, de manière considérable et, peut-être, de manière significative. Par conséquent, si vos licences coûtent un montant cette année, le coût des licences peut augmenter l'année prochaine.
  5. L'octroi de licences est effectué par les utilisateurs par niveau (par exemple, les utilisateurs de niveau 1001-2000). Il est possible de passer à un niveau supérieur, moyennant un supplément.
  6. Si le nombre d'utilisateurs licenciés est dépassé, de nouveaux utilisateurs seront créés sans droit de connexion (permission globale 'JIRA Users').
  7. Les plugins ne peuvent être concédés sous licence que pour le même nombre d'utilisateurs que le logiciel principal.
  8. Seules les installations productives doivent être licenciées, pour le reste vous pouvez obtenir une licence Développeur : https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Pour acheter la maintenance, l'achat de la maintenance Renew Software est nécessaire - le coût est d'environ 50 % du coût du logiciel d'origine. Cette fonctionnalité n'est pas disponible pour le centre de données et ne s'applique pas aux plugins - vous devrez payer le coût total chaque année pour les prendre en charge.
    Ainsi, le support logiciel annuel coûte plus de 50 % du coût total du logiciel dans le cas de l'édition Server et 100 % dans le cas de l'édition Data Center - c'est nettement plus que la plupart des autres fournisseurs. À mon avis, il s'agit d'un inconvénient majeur du modèle économique d'Atlassian.

Caractéristiques de la transition de l'édition Server vers le Data Center :

  1. La transition de l'édition Server vers le Data Center est payante. Le prix peut être trouvé ici https://www.atlassian.com/licensing/data-center.
  2. Lorsque vous passez de l'édition Server au Data Center, vous n'avez pas besoin de payer pour changer l'édition des plugins - les plugins de l'édition Server fonctionneront. Mais il faudra renouveler les licences des plug-ins pour l'édition Data Center.
  3. Vous pouvez utiliser des plugins qui n'ont pas de version à utiliser avec les éditions Data Center. Dans le même temps, bien sûr, ces plugins peuvent ne pas fonctionner correctement et il est préférable de fournir une alternative à ces plugins à l'avance.
  4. La mise à niveau vers l'édition Data Center s'effectue en installant une nouvelle licence. Dans le même temps, la licence pour l'édition Server est toujours disponible.
  5. Il n'y a pas de différences fonctionnelles entre les éditions Data Center et Server pour les utilisateurs, toutes les différences concernent uniquement les fonctions d'administration et les capacités techniques de l'installation.
  6. Le coût des logiciels et des plug-ins diffère pour les éditions Server et Data Center. La différence de coût est souvent inférieure à 5% (pas indispensable). Un exemple de calcul des coûts est présenté ci-dessous.

Périmètre fonctionnel de mise en œuvre

Le progiciel Atlassian de base comprend un grand nombre de fonctionnalités, mais souvent les fonctionnalités fournies par le système font cruellement défaut. Parfois, même les fonctions les plus simples ne sont pas disponibles dans le package de base, les plug-ins sont donc indispensables pour presque toutes les implémentations. Pour le système Jira, nous utilisons les plugins suivants (l'image est cliquable) :
Comment implémenter Atlassian Jira + Confluence dans une entreprise. Questions techniques

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

Commentaires sur les tables avec plugins :

  • Tous les prix sont basés sur 2000 utilisateurs ;
  • Les prix sont basés sur les prix indiqués https://marketplace.atlassian.com, le coût réel (avec remises) est inférieur ;
  • Comme vous pouvez le voir, le montant total est pratiquement le même pour les éditions Data Center et Server ;
  • Seuls les plug-ins prenant en charge l'édition Data Center ont été sélectionnés pour être utilisés. Nous avons exclu le reste des plugins des plans, pour la stabilité du système.

La fonctionnalité est brièvement décrite dans la colonne Commentaire. Des plugins supplémentaires ont étendu les fonctionnalités du système :

  • Ajout de plusieurs outils visuels ;
  • Mécanismes d'intégration améliorés;
  • Ajout d'outils pour les projets de modèles de cascade ;
  • Ajout d'outils pour Scrum évolutif pour organiser le travail des grandes équipes de projet ;
  • Fonctionnalité ajoutée pour le suivi du temps ;
  • Ajout d'outils pour automatiser les opérations et configurer la solution ;
  • Ajout de fonctionnalités pour simplifier et automatiser l'administration de la solution.

De plus, nous utilisons Application Atlassian Companion. Cette application vous permet de modifier des fichiers dans des applications externes (MS Office) et de les renvoyer à Confluence (archivage).
Application pour les postes utilisateurs (client lourd) ALM fonctionne avec le client Jira https://marketplace.atlassian.com/apps/7070 a décidé de ne pas l'utiliser en raison du mauvais support du fournisseur et des critiques négatives.
Pour intégration avec MS Project nous utilisons une application auto-écrite qui vous permet de mettre à jour les statuts des problèmes dans MS Project à partir de Jira et vice versa. À l'avenir, dans le même but, nous prévoyons d'utiliser un plugin payant Pont Ceptah - Plugin JIRA MS Project, qui est installé en tant que module complémentaire pour MS Project.
Intégration avec des applications externes mis en œuvre via des liens d'application. Dans le même temps, les intégrations pour les applications Atlassian sont préconfigurées et fonctionnent immédiatement après la configuration. Par exemple, vous pouvez afficher des informations sur les problèmes dans Jira sur une page dans Confluence.
L'API REST est utilisée pour accéder aux serveurs Jira et Confluence : https://developer.atlassian.com/server/jira/platform/rest-apis.
Les API SOAP et XML-RPC sont obsolètes et ne sont pas disponibles dans les nouvelles versions d'utilisation.

Conclusion

Ainsi, nous avons considéré les caractéristiques techniques de mise en œuvre d'un système basé sur les produits Atlassian. La solution proposée est l'une des solutions possibles et est bien adaptée à un environnement d'entreprise.

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

Je serai heureux de répondre aux questions dans les commentaires.

Source: habr.com