Cómo implementar Atlassian Jira + Confluence en una corporación. Preguntas técnicas

¿Planea implementar el software Atlassian (Jira, Confluence)? ¿No quiere cometer errores de diseño crueles, que luego deben resolverse en el último momento?

Cómo implementar Atlassian Jira + Confluence en una corporación. Preguntas técnicas
Entonces está aquí: estamos considerando la implementación de Atlassian Jira + Confluence en una corporación, teniendo en cuenta varios aspectos técnicos.
Hola, soy Product Owner en RSHB y soy responsable del desarrollo del Sistema de gestión del ciclo de vida (LCMS) basado en los productos de software Atlassian Jira y Confluence.

En este artículo describiré los aspectos técnicos de la construcción de un LCMS. El artículo será útil para cualquier persona que planee implementar o desarrollar Atlassian Jira y Confluence en un entorno corporativo. El artículo no requiere conocimientos especiales y está diseñado para un nivel inicial de familiaridad con los productos de Atlassian. El artículo será útil para administradores, propietarios de productos, gerentes de proyectos, arquitectos y todos los que planean 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 (LCMS) en un entorno corporativo. Primero definamos lo que esto significa.

¿Qué es una solución empresarial?

Esto significa que la solución:

  1. Escalable. En caso de aumento de carga, existe la posibilidad técnica de aumentar la capacidad del sistema. Escalado horizontal y vertical separados: con el escalado vertical, aumenta la capacidad de los servidores, con el escalado horizontal, aumenta la cantidad de servidores para la operación del sistema.
  2. A prueba de fallos. El sistema permanecerá disponible si falla un elemento. En general, los sistemas corporativos no requieren tolerancia a fallas, pero consideraremos tal solución. Planeamos tener varios cientos de usuarios competitivos en el sistema, y ​​el tiempo de inactividad será muy crítico.
  3. Soportado. La solución debe ser respaldada por el proveedor. El software sin soporte debe ser reemplazado por un desarrollo interno u otro software compatible.
  4. Instalación Autogestionado (en la premisa). La autogestión es la capacidad de instalar software no en la nube, sino en sus propios servidores. Para ser más precisos, todas estas son opciones de instalación que no son SaaS. En este artículo, consideraremos solo las opciones de instalación autogestionadas.
  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 propio sistema), un sistema de prueba (Staging) y un sistema productivo para que los usuarios trabajen.
  6. Другое. 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 empresariales y, lamentablemente, a menudo se olvidan al diseñar un sistema.

¿Qué es un Sistema de Gestión del Ciclo de Vida (LCMS)?

En resumen, en nuestro caso, se trata de Atlassian Jira y Atlassian Confluence, un sistema que brinda herramientas para organizar el trabajo en equipo. El sistema no “impone” reglas para organizar el trabajo, pero proporciona una variedad de herramientas para el trabajo, como Scrum, tableros Kanban, un modelo en cascada, Scrum escalable, etc.
El nombre 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, LCMS no es un sistema de seguimiento de errores, no es un sistema de gestión de incidentes ni un sistema de gestión de cambios.

¿Qué incluye la implementación?

La implementación de la solución consta de muchas cuestiones técnicas y organizativas:

  • 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.
  • Elaboración de documentación operativa, incluyendo instructivos, reglamentos, diseño técnico, reglamentos, etc.
  • Cambiar los procesos de la empresa.
  • Creación de un equipo de apoyo. desarrollo SLA.
  • Entrenamiento de usuario.
  • Другое.

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

Características de Atlassian

Atlassian es líder en muchos segmentos:

Los productos de Atlassian tienen todas las características empresariales que necesitas. Señalaré las siguientes características:

  1. Las soluciones de Atlassian se basan en el servidor web Java Tomcat. El software Apache Tomcat se incluye con el software Atlassian, como parte de la instalación, no puede cambiar la versión de Apache Tomcat instalada con el software Atlassian, incluso si la versión está desactualizada y contiene vulnerabilidades. La única opción es esperar una actualización de Atlassian con una versión más nueva de Apache Tomcat. Ahora, por ejemplo, las versiones actuales de Jira tienen Apache Tomcat 8.5.42 y Confluence tiene Apache Tomcat 9.0.33.
  2. Interfaz conveniente, se implementan las mejores prácticas disponibles en el mercado para esta clase de software.
  3. Solución totalmente personalizable. Con mejoras, puede implementar cualquier cambio en la funcionalidad básica para el usuario.
  4. Ecosistema desarrollado. Hay varios cientos de socios: https://partnerdirectory.atlassian.com, incluidos 16 socios en Rusia. Es a través de socios en Rusia que puede comprar software y complementos de Atlassian y obtener capacitación. Son los socios quienes desarrollan y mantienen la mayoría de los complementos.
  5. Tienda de aplicaciones (complementos): https://marketplace.atlassian.com. Los complementos mejoran en gran medida la funcionalidad del software Atlassian. La funcionalidad básica del software Atlassian es bastante modesta, para casi cualquier tarea es necesario instalar complementos adicionales de forma gratuita o por dinero extra. Por lo tanto, los costos de software pueden ser significativamente más altos que los estimados originalmente.
    Hasta la fecha, se han publicado varios miles de complementos en la tienda, casi mil de ellos han sido probados y validados bajo el programa de aplicaciones aprobado por Data Center. Dichos complementos pueden considerarse estables y adecuados para su uso en sistemas ocupados.
    Le aconsejo que aborde con cuidado el tema de la planificación de complementos, esto afecta en gran medida el costo de la solución, muchos de los complementos pueden provocar inestabilidad en el sistema y el fabricante del complemento no brinda soporte para resolver el problema.
  6. Entrenamiento y Certificación: https://www.atlassian.com/university
  7. Se admiten los mecanismos SSO, SAML 2.0.
  8. El soporte para escalabilidad y tolerancia a fallas solo está disponible en las ediciones Data Center. Esta edición apareció por primera vez en 2014 (Jira 6.3). La funcionalidad de las ediciones del Centro de datos se amplía y mejora constantemente (por ejemplo, la posibilidad de una instalación de un solo nodo apareció solo en 2020). El enfoque de los complementos para las ediciones de Data Center ha cambiado mucho en 2018 con la introducción de las aplicaciones aprobadas de Data Center.
  9. Costo de soporte. El costo de soporte del proveedor es casi igual al costo total de las licencias de software. A continuación se muestra un ejemplo de cómo calcular el costo de las licencias.
  10. Falta de lanzamientos a largo plazo. Hay los llamados Versiones empresariales, pero, como todas las demás versiones, son compatibles durante 2 años. Con la diferencia de que solo se lanzan correcciones para las versiones Enterprise, sin agregar nuevas funcionalidades.
  11. Opciones de soporte extendidas (por dinero adicional). https://www.atlassian.com/enterprise/support-services
  12. Se admiten varias variantes de DBMS. Atlassian viene con una base de datos H2 gratuita, que no se recomienda para uso productivo. Los siguientes DBMS son compatibles para uso productivo: Amazon Aurora (solo centro de datos) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Hay restricciones en las versiones admitidas y, a menudo, solo se admiten las versiones anteriores, pero para cada DBMS hay una versión con soporte del proveedor:
    Plataformas compatibles con Jira,
    Plataformas compatibles con Confluence.

Arquitectura técnica

Cómo implementar Atlassian Jira + Confluence en una corporación. Preguntas técnicas

Explicaciones para el esquema:

  • El diagrama muestra la implementación en nuestro Banco, esta configuración se da como ejemplo y no es recomendable.
  • nginx proporciona funcionalidad de proxy inverso tanto para Jira como para Confluence.
  • La tolerancia a fallas de DBMS se implementa por medio de DBMS.
  • La transferencia de cambios entre entornos se realiza mediante el complemento Configuration Manager for Jira.
  • AppSrv en el diagrama es un servidor de aplicaciones de informes nativo, no utiliza el software Atlassian.
  • La base de datos EasyBI se creó para crear cubos e informes utilizando el complemento eazyBI Reports and Charts for Jira.
  • El servicio Confluence Synchrony (un componente que permite la edición simultánea de documentos) no está separado en una instalación separada y se ejecuta junto con Confluence, en el mismo servidor.

la concesión de licencias

Los temas de licencias de Atlassian merecen un artículo aparte, aquí mencionaré solo principios generales.
Los principales problemas que encontramos son los problemas de licencias de las ediciones de Data Center. Funciones de licencia para las ediciones Server y Data Center:

  1. La licencia de la edición Server es perpetua y el cliente puede utilizar el software incluso después de que la licencia haya caducado. Pero una vez que la licencia caduca, el comprador pierde el derecho a recibir soporte del producto y actualizar el software a las últimas versiones.
  2. La concesión de licencias se basa en la cantidad de usuarios en el sistema de permisos global 'Usuarios de JIRA'. No importa si usan el sistema o no, incluso si los usuarios nunca han iniciado sesión en el sistema, todos los usuarios se tendrán en cuenta para la licencia. Si se supera el número de usuarios con licencia, la solución es eliminar el permiso de 'Usuarios de JIRA' de algunos de los usuarios.
  3. La licencia del centro de datos es en realidad una suscripción. Se requiere una tarifa de licencia anual. Al vencimiento del plazo, se bloqueará el trabajo con el sistema.
  4. El costo de las licencias puede cambiar con el tiempo. Como muestra la práctica, en gran medida y, quizás, significativamente. Por lo tanto, si sus licencias cuestan una cantidad este año, el próximo año el costo de las licencias puede aumentar.
  5. La concesión de licencias la realizan los usuarios por nivel (por ejemplo, usuarios de nivel 1001-2000). Es posible actualizar a un nivel superior, con un recargo.
  6. Si se supera el número de usuarios con licencia, se crearán nuevos usuarios sin derecho a iniciar sesión (permiso global de 'Usuarios de JIRA').
  7. Los complementos solo se pueden licenciar para el mismo número de usuarios que el software principal.
  8. Solo se requiere licencia para las 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, se requiere la compra de mantenimiento de Renew Software - el costo es de aproximadamente el 50% del costo del software original. Esta función no está disponible para el centro de datos y no se aplica a los complementos; deberá pagar el costo total anualmente para admitirlos.
    Por lo tanto, el soporte de software anual 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 comercial de Atlassian.

Características de la transición de la edición Server a la Data Center:

  1. La transición de la edición Server a Data Center es de pago. El precio se puede encontrar aquí https://www.atlassian.com/licensing/data-center.
  2. Al cambiar de la edición del servidor al centro de datos, no necesita pagar por cambiar la edición de los complementos; los complementos para la edición del servidor funcionarán. Pero será necesario renovar licencias de complementos para la edición Data Center.
  3. Puede usar complementos que no tienen una versión para usar con las ediciones de Data Center. Al mismo tiempo, por supuesto, es posible que dichos complementos no funcionen correctamente y es mejor proporcionar una alternativa a dichos complementos por adelantado.
  4. La actualización a la edición Data Center se realiza instalando una nueva licencia. Al mismo tiempo, la licencia para la edición Server todavía está disponible.
  5. No hay diferencias funcionales entre las ediciones Data Center y Server para los usuarios, todas las diferencias son solo en las funciones para la administración y las capacidades técnicas de la instalación.
  6. El costo del software y los complementos difiere para las ediciones Server y Data Center. La diferencia en el costo es a menudo menos del 5% (no esencial). A continuación se muestra un ejemplo de cálculo de costos.

Alcance funcional de la implementación

El paquete de software básico de Atlassian incluye una gran cantidad de funciones, pero a menudo faltan las funciones proporcionadas por el sistema. A veces, incluso las funciones más simples no están disponibles en el paquete básico, por lo que los complementos son indispensables para casi cualquier implementación. Para el sistema Jira, usamos los siguientes complementos (se puede hacer clic en la imagen):
Cómo implementar Atlassian Jira + Confluence en una corporación. Preguntas técnicas

Para el sistema Confluence, usamos los siguientes complementos (se puede hacer clic en la imagen):
Cómo implementar Atlassian Jira + Confluence en una corporación. Preguntas técnicas

Comentarios sobre tablas con complementos:

  • Todos los precios se basan en 2000 usuarios;
  • Los precios se basan en los precios indicados. https://marketplace.atlassian.com, el costo real (con descuentos) es menor;
  • Como ves, el importe total es prácticamente el mismo para las ediciones Data Center y Server;
  • Solo se seleccionaron para su uso complementos compatibles con la edición Data Center. Excluimos el resto de complementos de los planes, por 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 modelos en cascada;
  • Se agregaron herramientas para Scrum escalable para organizar el trabajo de grandes equipos de proyectos;
  • Funcionalidad agregada para el seguimiento del tiempo;
  • Se agregaron herramientas para automatizar operaciones y configurar la solución;
  • Se agregó funcionalidad para simplificar y automatizar la administración de la solución.

Además, utilizamos Aplicación complementaria de Atlassian. Esta aplicación le permite editar archivos en aplicaciones externas (MS Office) y devolverlos a Confluence (check-in).
Aplicación para estaciones de trabajo de usuarios (cliente grueso) Cliente de Jira de ALM Works https://marketplace.atlassian.com/apps/7070 decidió no utilizar debido al apoyo deficiente del proveedor y las críticas negativas.
para integración con MS Project usamos una aplicación autoescrita que le permite actualizar los estados de los problemas en MS Project desde Jira y viceversa. En el futuro, para los mismos propósitos, planeamos usar un complemento pago Puente Ceptah - Complemento JIRA MS Project, que se instala como complemento para MS Project.
Integración con aplicaciones externas implementado a través de los enlaces de la aplicación. Al mismo tiempo, las integraciones para las aplicaciones de Atlassian están preconfiguradas y funcionan inmediatamente después de la configuración; por ejemplo, puede mostrar información sobre problemas en Jira en una página en Confluence.
La API REST se utiliza para acceder a los servidores de Jira y Confluence: https://developer.atlassian.com/server/jira/platform/rest-apis.
Las API SOAP y XML-RPC están obsoletas y no están disponibles en las nuevas versiones para su uso.

Conclusión

Entonces, hemos considerado las características técnicas de implementar un sistema basado en productos Atlassian. La solución propuesta es una de las posibles soluciones y es adecuada para un entorno corporativo.

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

Estaré encantado de responder preguntas en los comentarios.

Fuente: habr.com