Cómo implementar Atlassian Jira + Confluence en una corporación. Problemas técnicos

¿Planea introducir el software Atlassian (Jira, Confluence)? ¿Desea cometer graves errores de diseño que tendrá que resolver en el último momento?


Entonces aquí está: estamos considerando la introducción de Atlassian Jira + Confluence en una corporación teniendo en cuenta varios aspectos técnicos.
Hola, soy el jefe del Centro de competencia de productos de Atlassian en el Banco Agrícola Ruso (Rosselkhozbank) y soy responsable del desarrollo del Sistema de Gestión del Ciclo de Vida (SLC) basado en los productos de software Jira y Confluence.

En este artículo describiré los aspectos técnicos de la construcción de un LMS. El artículo será útil para cualquier persona que planee implementar o desarrollar sistemas basados ​​en el software Atlassian en un entorno corporativo. El artículo no requiere conocimientos especiales y está diseñado para el nivel inicial de conocimiento de los productos Atlassian. El artículo será útil para administradores, propietarios de productos, gerentes de proyectos, arquitectos, todos los que planeen implementar sistemas basados ​​en el software Atlassian.

Introducción


El artículo discutirá los problemas técnicos de la implementación de un Sistema de Gestión del Ciclo de Vida (LMS) en un entorno corporativo. Primero determinemos qué significa eso.

¿Qué significa una decisión corporativa?


Esto significa una solución:

  1. Escalable En caso de aumento de carga, existe la posibilidad técnica de aumentar la capacidad del sistema. Escala horizontal y vertical separada: con la escala vertical, la capacidad de los servidores aumenta, con la escala horizontal, aumenta el número de servidores para que el sistema funcione.
  2. . . , . .
  3. . . .
  4. Self-managed (On-premise). Self-managed — , . , SaaS. Self-managed.
  5. Posibilidad de desarrollo y pruebas independientes. Para organizar cambios predecibles en el sistema, se requiere un sistema separado para el desarrollo (cambios en el sistema), un sistema de prueba (Puesta en escena) y un sistema productivo para que los usuarios trabajen.
  6. Otro Admite varios escenarios de autenticación, admite registros de auditoría, tiene un modelo de rol personalizado, etc.

Estos son los elementos principales de las soluciones corporativas y, desafortunadamente, a menudo se olvidan al diseñar un sistema.

¿Y qué es un Sistema de Gestión del Ciclo de Vida (LMS)?


En resumen, en nuestro caso, estos son Atlassian Jira y Atlassian Confluence, un sistema que proporciona herramientas para organizar el trabajo en equipo. El sistema no "impone" las reglas para organizar el trabajo, pero proporciona una variedad de herramientas para el trabajo, como Scrum, tableros Kanban, un modelo en cascada y un Scrum escalable, etc.
El nombre del LCMS no es un término de la industria o un término común, es simplemente el nombre del sistema en nuestro Banco. Para nosotros, SLC no es un sistema de seguimiento de errores, no es un sistema de gestión de incidentes o un sistema de gestión de cambios.
En el sistema, por supuesto, existe una funcionalidad para el seguimiento de errores, y para registrar incidentes, y para gestionar cambios. Y para ciertas tareas se utiliza esta funcionalidad. Pero no se puede decir que todos los errores o todos los incidentes o todos los cambios se registran en nuestro sistema. En cada caso, sus propios detalles. Si una unidad usa Jira y hace un cambio allí, entonces para este cambio, este equipo puede decidir mantener allí todos los errores, todos los cambios, todos los incidentes. Pero esta es una solución local para un equipo separado, para una tarea específica.

¿Qué incluye la implementación?


La implementación de la solución consta de muchos problemas técnicos y organizativos:

  • Asignación de capacidades técnicas.
  • Compra de software.
  • Creación de un equipo para implementar la solución.
  • Instalación y configuración de la solución.
  • Desarrollo de arquitectura de soluciones. Modelo a seguir.
  • Desarrollo de documentación operativa, incluyendo instrucciones, regulaciones, diseño técnico, regulaciones, etc.
  • Cambiar los procesos de la empresa.
  • Creación de un equipo de soporte. Desarrollo de SLA.
  • Entrenamiento de usuario.
  • Otro

En este artículo consideraremos los aspectos técnicos de la implementación, sin detalles sobre el componente organizacional.

Características de Atlassian


Atlassian es líder en muchos segmentos:


Los productos Atlassian tienen todas las características corporativas esenciales. Notaré las siguientes características:

  1. Atlassian - Java Tomcat. Apache Tomcat Atlassian, , - Apache Tomcat, Atlassian, . , , — Atlassian . , Atlassian, Apache Tomcat. , , Jira Apache Tomcat 8.5.42, Confluence Apache Tomcat 9.0.33 ( , Tomcat ).
    ( Max Max Atlassian User Group Moscow, Tomcat.)
  2. , .
  3. . .
  4. . : https://partnerdirectory.atlassian.com, 16 . Atlassian, , . .
  5. (): https://marketplace.atlassian.com. Atlassian. Atlassian , . , .
    , Data Center approved apps. .
    , , .
  6. : https://www.atlassian.com/university
  7. SSO, SAML 2.0.
  8. Data Center. 2014 (Jira 6.3). Data Center (, single node installation 2020 ). Data Center, 2018 Data Center approved apps.
  9. . , . .
  10. Long Term . Enterprise , , , 2 . , Enterprise , .
  11. ( ). https://www.atlassian.com/enterprise/support-services
  12. Se admiten varias opciones de DBMS. El software Atlassian viene con un DBMS H2 gratuito; este DBMS no se recomienda para uso productivo. Los siguientes DBMS son compatibles para uso productivo: Amazon Aurora (solo Data Center) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Existen restricciones en las versiones compatibles y, a menudo, solo se admiten versiones antiguas, pero para cada DBMS hay una versión con soporte del proveedor:
    plataformas compatibles con Jira ,
    plataformas compatibles con Confluence .

Arquitectura técnica




Explicaciones para el esquema:

  • El diagrama muestra la implementación en nuestro Banco, esta configuración se da a modo de ejemplo y no se recomienda.
  • nginx proporciona funcionalidad de proxy inverso tanto para Jira como para Confluence.
  • La tolerancia a fallos DBMS se implementa mediante herramientas DBMS.
  • Los cambios entre entornos se transfieren mediante el complemento Configuration Manager para Jira.
  • AppSrv en el diagrama es su propio servidor de aplicaciones para generar informes; no utiliza el software Atlassian.
  • La base de datos EasyBI se creó para construir cubos e informes utilizando el complemento eazyBI Reports and Charts for Jira.
  • El servicio de sincronización de Confluence (un componente que permite la edición simultánea de documentos) no está asignado a una instalación separada y se ejecuta junto con Confluence en el mismo servidor.

Licencia


Los problemas de licencia de Atlassian merecen un artículo separado, aquí mencionaré solo principios generales.
Los principales problemas que encontramos fueron problemas de licencia para las ediciones del Centro de datos. Funciones de licencia para las ediciones de servidor y centro de datos:

  1. Server . .
  2. 'JIRA Users' global permission. , — , . , 'JIRA Users' .
  3. Data Center . . , .
  4. . , , , . , .
  5. tier (, 1001-2000 ). tier, .
  6. , ('JIRA Users' global permission).
  7. , .
  8. La licencia solo requiere instalaciones productivas, para el resto puede obtener una licencia de desarrollador: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html .
  9. Para comprar mantenimiento, debe comprar Mantenimiento de renovación de software: el costo es aproximadamente el 50% del costo del software inicial. Esta función no está disponible para el Centro de datos y no se aplica a los complementos; para admitirlos, deberá pagar el costo total anualmente.
    Por lo tanto, el soporte anual de software cuesta más del 50% del costo total del software en el caso de la edición Server y el 100% en el caso de la edición Data Center; esto es significativamente más que la mayoría de los otros proveedores. En mi opinión, esta es una desventaja significativa del modelo de negocios de Atlassian.

Características de la transición de la edición del servidor al centro de datos:

  1. Server Data Center . https://www.atlassian.com/licensing/data-center.
  2. Server Data Center — Server . Data Center.
  3. , Data Center. , , .
  4. Data Center . Server - .
  5. Data Center Server , .
  6. Server Data Center. 5% ( ). .


La entrega básica del software Atlassian incluye una gran cantidad de características, pero a menudo las capacidades proporcionadas por el sistema son deficientes. A veces, incluso las funciones más simples no están disponibles en la distribución básica, por lo que los complementos no se pueden prescindir de casi ninguna implementación. Es importante comprender que Jira es una plataforma, aquí puede programar cualquier funcionalidad y complementos; esta es una implementación paga de funcionalidad adicional. Para el sistema Jira, utilizamos los siguientes complementos (se puede hacer clic en la imagen): Para el sistema Confluence utilizamos los siguientes complementos (se puede hacer clic en la imagen): Comentarios sobre tablas con complementos:







  • Todos los precios se basan en 2000 usuarios;
  • Los precios se dan en base a los precios cotizados en https://marketplace.atlassian.com , el costo real (con descuentos) es menor;
  • Como puede ver, la cantidad total es prácticamente la misma para las ediciones de Data Center y Server;
  • Solo se seleccionaron para su uso los complementos con soporte para la edición del Centro de datos. Los complementos restantes los hemos excluido de los planes para la estabilidad del sistema.

La funcionalidad se describe brevemente en la columna Comentario. Los complementos adicionales han ampliado la funcionalidad del sistema:

  • Se agregaron varias herramientas visuales;
  • Mecanismos de integración mejorados;
  • Se agregaron herramientas para proyectos de acuerdo con el modelo de cascada;
  • Se agregaron herramientas para Scrum escalable, para organizar el trabajo de grandes equipos de proyecto;
  • Funcionalidad agregada para el seguimiento del tiempo;
  • Se agregaron herramientas para automatizar operaciones y configurar soluciones;
  • Funcionalidad agregada para simplificar y automatizar la administración de la solución.

Además, utilizamos un complemento de nuestro propio diseño.
Planeamos instalar la aplicación Atlassian Companion en las estaciones de trabajo de los usuarios . Esta aplicación le permite editar archivos en aplicaciones externas (MS Office) y devolverlos a Confluence (check-in).
La aplicación para estaciones de trabajo de usuarios (cliente grueso) ALM Works Jira Client https://marketplace.atlassian.com/apps/7070 decidió no utilizarla debido a la mala asistencia del proveedor y las críticas negativas.
Para la integración con MS Project , utilizamos una aplicación autoescrita que le permite actualizar los estados de emisión en MS Project desde Jira y viceversa. En el futuro, para los mismos fines, planeamos usar un complemento pagoCeptah Bridge - JIRA MS Project Plugin , que se instala como un complemento en MS Project.
La integración con aplicaciones externas se implementa a través de enlaces de aplicación. Al mismo tiempo, para las aplicaciones de Atlassian, las integraciones están preconfiguradas y funcionan inmediatamente después de la configuración, por ejemplo, puede mostrar información sobre Problemas en Jira en la página Confluencia.
Para acceder a los servidores Jira y Confluence, se utiliza la API REST: https://developer.atlassian.com/server/jira/platform/rest-apis .
SOAP y la API XML-RPC están en desuso y no están disponibles en nuevas versiones para su uso.

Conclusión


Entonces, examinamos las características técnicas de la implementación del sistema basado en productos Atlassian. La solución propuesta es una de las posibles soluciones y es muy adecuada para el entorno corporativo.

La solución propuesta es escalable, tolerante a fallas, contiene tres entornos para organizar el desarrollo y las pruebas, contiene todos los elementos necesarios para trabajar juntos en el sistema y proporciona una amplia gama de herramientas de gestión de proyectos.

Estaré encantado de responder preguntas en los comentarios.

All Articles