¿Está planeando la implementación del software de Atlassian (Jira, Confluence)? ¿No quiere cometer errores graves en el diseño que luego le cueste resolver en el último momento?

Entonces, este es el lugar adecuado: estamos considerando la implementación de Atlassian Jira + Confluence en la corporación, teniendo en cuenta diversos aspectos técnicos.
Hola, soy el propietario del producto en RSHB y soy responsable del desarrollo del Sistema de Gestión del Ciclo de Vida (SGCV) construido sobre los productos de software de Atlassian Jira y Confluence.
En este artículo describiré los aspectos técnicos de la construcción del SGCV. El artículo será útil para todos aquellos que planeen implementar o estén desarrollando Atlassian Jira y Confluence en un entorno corporativo. No se requieren conocimientos especializados y está dirigido a un nivel inicial de familiarización con los productos de Atlassian. Será útil para administradores, propietarios de productos, líderes de proyectos, arquitectos y todos los que estén planeando la implementación de sistemas basados en el software de Atlassian.
Introducción
El artículo abordará cuestiones técnicas sobre la implementación del Sistema de Gestión del Ciclo de Vida (SGCV) en un entorno corporativo. Primero, definamos qué significa esto.
¿Y qué significa una solución corporativa?
Significa una solución:
- Escalable. En caso de aumento de carga, existe la posibilidad técnica de aumentar la capacidad del sistema. Se distingue entre escalado horizontal y vertical; en el escalado vertical se incrementa la potencia de los servidores, mientras que en el escalado horizontal se aumenta la cantidad de servidores para el funcionamiento del sistema.
- Tolerante a fallos. El sistema seguirá estando disponible si un elemento falla. En general, para sistemas corporativos no se requiere tolerancia a fallos, pero consideraremos precisamente este tipo de solución. En nuestro sistema, se prevé que haya varios cientos de usuarios concurrentes y los tiempos de inactividad serán muy críticos.
- Soportado. La solución debe estar respaldada por el proveedor. El software sin soporte debe ser reemplazado por desarrollos internos u otro software que cuente con soporte.
- Instalación Autogestionado (On-premise). Autogestionado — es la posibilidad de instalar software no en la nube, sino en servidores propios. Para ser más precisos, se refiere a todas las opciones de instalación que no son SaaS. En este artículo, solo abordaremos las opciones de instalación autogestionadas.
- Posibilidad de desarrollo y pruebas independientes. Para organizar cambios predecibles en el sistema, se requieren sistemas separados para desarrollo (cambios en el propio sistema), un sistema de pruebas (Staging) y un sistema productivo para la operación de los usuarios.
- Otro. Soporta diversos escenarios de autenticación, mantiene registros de auditoría, cuenta con un modelo de roles personalizable, etc.
Estos son elementos clave de soluciones empresariales y, desafortunadamente, a menudo se olvidan durante la planificación del sistema.
¿Y qué es un Sistema de Gestión del Ciclo de Vida (SGCV)?
En breve, en nuestro caso, se trata de Atlassian Jira y Atlassian Confluence — un sistema que proporciona herramientas para organizar el trabajo colectivo. El sistema no 'imparte' reglas sobre cómo organizar el trabajo, sino que ofrece una variedad de herramientas, incluyendo Scrum, tableros Kanban, el modelo en cascada, Scrum escalable, etc.
El nombre SGCV no es un término sectorial ni un concepto de uso común, simplemente es el nombre del sistema en nuestro Banco. Para nosotros, el SGCV no es un sistema de seguimiento de errores, ni 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 múltiples cuestiones técnicas y organizativas:
- Asignación de recursos técnicos.
- Adquisición de software.
- Creación de un equipo para la implementación de la solución.
- Instalación y configuración de la solución.
- Desarrollo de la arquitectura de la solución. Modelo de roles.
- Desarrollo de la documentación operativa, incluyendo instrucciones, regulaciones, proyecto técnico, normas, etc.
- Cambio de procesos en la empresa.
- Creación de un equipo de soporte. Desarrollo de SLA.
- Capacitación de usuarios.
- Otro.
En este artículo, discutiremos los aspectos técnicos de la implementación, sin entrar en detalles sobre la parte organizativa.
Características de Atlassian
La empresa Atlassian es líder en muchos segmentos:
(El liderazgo se debe a la exitosa adquisición de AgileCraft con su solución en la nube)


Los productos de Atlassian cuentan con todas las funciones corporativas necesarias. Destacaré las siguientes características:
- Las soluciones de Atlassian se basan en el servidor web Java Tomcat. El software Apache Tomcat se incluye en el software de Atlassian como parte de la instalación, y no se puede cambiar la versión de Apache Tomcat instalada con el software de 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 reciente de Apache Tomcat. Actualmente, por ejemplo, las versiones más recientes de Jira incluyen Apache Tomcat 8.5.42, mientras que Confluence usa Apache Tomcat 9.0.33.
- Interfaz amigable, se han implementado las mejores prácticas disponibles en el mercado para este tipo de software.
- Solución completamente personalizable. Con modificaciones se puede implementar cualquier cambio en la funcionalidad básica para el usuario.
- Ecosistema desarrollado. Hay varios cientos de socios: , incluidos 16 socios en Rusia. A través de los socios en Rusia se puede comprar el software de Atlassian, los complementos y recibir capacitación. Los socios desarrollan y mantienen la mayoría de los complementos.
- Tienda de aplicaciones (complementos): . Los complementos amplían significativamente la funcionalidad del software de Atlassian. La funcionalidad básica del software de Atlassian es bastante modesta, por lo que, para casi cualquier tarea, es necesario instalar complementos adicionales, ya sea de forma gratuita o por un costo adicional. Por lo tanto, los costos del software pueden ser significativamente más altos de lo que se estaba evaluando inicialmente.
Actualmente, hay varios miles de complementos publicados en la tienda, casi mil de ellos han sido probados y validados bajo el programa de aplicaciones aprobadas por Data Center. Estos complementos pueden considerarse estables y adecuados para su uso en sistemas sobrecargados.
Recomiendo abordar con cuidado la planificación de complementos, esto afecta significativamente el costo de la solución, muchos de los complementos pueden causar inestabilidad en el sistema y el fabricante del complemento puede no brindar soporte para resolver el problema. - Capacitación y certificaciones:
- Se admiten mecanismos SSO, SAML 2.0.
- El soporte para escalabilidad y tolerancia a fallos 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 Data Center se está ampliando y mejorando constantemente (por ejemplo, la posibilidad de instalación de un solo nodo solo apareció en 2020). La gestión de complementos para las ediciones Data Center cambió significativamente en 2018 con la introducción de aplicaciones aprobadas por Data Center.
- Costo del soporte. El costo del soporte del proveedor es prácticamente equivalente al costo total de las licencias de software. Un ejemplo del cálculo del costo de las licencias se presenta a continuación.
- Ausencia de lanzamientos a largo plazo. Existen lo que se llaman , pero al igual que todas las demás versiones, tienen un soporte de 2 años. Con la diferencia de que para las versiones Enterprise solo se lanzan correcciones, sin añadir nuevas funcionalidades.
- Opciones ampliadas de soporte (por un costo adicional).
- Se admiten varias bases de datos. El software de Atlassian se entrega con la base de datos gratuita H2, esta base de datos no se recomienda para uso en producción. Para el uso en producción son compatibles las siguientes bases de datos: Amazon Aurora (solo Data Center), PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Existen limitaciones en las versiones soportadas, y, a menudo, solo se soportan versiones antiguas, pero para cada base de datos hay una versión con soporte del proveedor:
,
.
Arquitectura técnica

Explicaciones del diagrama:
- En el diagrama se presenta la implementación en nuestro Banco, esta configuración se proporciona como ejemplo y no es recomendada.
- nginx proporciona funcionalidad de reverse-proxy tanto para Jira como para Confluence.
- La tolerancia a fallos de la base de datos se implementa mediante los medios de la propia base de datos.
- La transferencia de cambios entre entornos se lleva a cabo utilizando el complemento Configuration Manager for Jira.
- AppSrv en el diagrama es un servidor de aplicaciones propio para informes, no utiliza software de Atlassian.
- La base de datos EasyBI fue creada para construir cubos e informes utilizando el complemento eazyBI Reports and Charts for Jira.
- El servicio Confluence Synchrony (componente que permite la edición simultánea de documentos) no se despliega como una instalación separada y se ejecuta junto con Confluence en el mismo servidor.
Licenciamiento
Las cuestiones de licenciamiento de Atlassian merecen un artículo por separado, aquí mencionaré solo los principios generales.
Las principales preguntas que enfrentamos son sobre la licencia de las ediciones Data Center. Características de la licencia para las ediciones Server y Data Center:
- La licencia para la edición Server es perpetua y el comprador puede utilizar el software incluso después de que expire la licencia. Sin embargo, tras la expiración de la licencia, el comprador pierde el derecho a recibir soporte para el producto y a actualizar el software a las versiones actuales.
- La licenciamiento se realiza en función del número de usuarios en el permiso global ‘JIRA Users’. No importa si los usuarios utilizan el sistema o no; incluso si los usuarios nunca han accedido al sistema, todos ellos serán contabilizados para la licencia. Si se excede el número de usuarios licenciados, la solución será eliminar el privilegio ‘JIRA Users’ de algunos usuarios.
- La licencia para Data Center es, en realidad, una suscripción. Se requiere un pago anual de la licencia. Al expirar el periodo, el acceso al sistema será bloqueado.
- El costo de las licencias puede cambiar con el tiempo. Como muestra la práctica, este cambio suele ser al alza y, posiblemente, de manera significativa. Por lo tanto, si este año el costo de las licencias es una cantidad, el próximo año el costo de las licencias podría aumentar.
- La licenciamiento se realiza por usuarios según el nivel (por ejemplo, nivel de 1001 a 2000 usuarios). Existe la posibilidad de cambiar a un nivel superior con un pago adicional.
- Si se excede el número de usuarios licenciados, se crearán nuevos usuarios sin derecho a acceder al sistema (‘JIRA Users’ global permission).
- Los complementos solo pueden licenciarse para el mismo número de usuarios que el software principal.
- Se requiere licenciar solo las instalaciones productivas; para las demás se puede obtener una licencia de desarrollador: .
- Para adquirir soporte, es necesario comprar el Renew Software maintenance; el costo es aproximadamente el 50% del costo del software original. Esta opción no está disponible para Data Center y no se aplica a los complementos; para su soporte habrá que pagar el costo total anualmente.
Por lo tanto, el soporte anual del 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 otros vendedores. En mi opinión, este es un gran inconveniente del modelo de negocio de Atlassian.
Características de la transición de la edición Server a Data Center:
- La transición de la edición Server a Data Center es de pago. El costo se puede encontrar aquí .
- Al cambiar de la edición Server a Data Center, no es necesario pagar por el cambio de edición de los complementos: los complementos para la edición Server seguirán funcionando. Sin embargo, será necesario renovar las licencias para los complementos en la edición Data Center.
- Puede utilizar complementos que no tienen una versión para la edición Data Center. Sin embargo, estos complementos pueden funcionar incorrectamente, por lo que es mejor prever una alternativa a esos complementos.
- La transición a la edición Data Center se realiza instalando una nueva licencia. La licencia para la edición Server seguirá estando disponible.
- No hay diferencias funcionales entre las ediciones Data Center y Server para los usuarios; todas las diferencias están en las funciones de administración y capacidades técnicas de instalación.
- El costo del software y los complementos difiere entre las ediciones Server y Data Center. La diferencia de precio a menudo es inferior al 5% (no es significativa). Un ejemplo de cálculo del costo se presenta a continuación.
Volumen funcional de implementación
La entrega básica del software de Atlassian incluye una gran cantidad de funciones, pero a menudo las capacidades proporcionadas por el sistema son insuficientes. A veces, incluso las funciones más simples no están disponibles en la entrega básica, por lo que se requieren complementos para prácticamente cualquier implementación. Para el sistema Jira utilizamos los siguientes complementos (la imagen es clicable):
Para el sistema Confluence utilizamos los siguientes complementos (la imagen es clicable):
Comentarios sobre las tablas con complementos:
- Todos los precios se calculan sobre la base de 2000 usuarios;
- Los precios se presentan basados en los precios indicados , el costo real (con descuentos) resulta ser menor;
- Como podemos ver, el monto total prácticamente no difiere entre las ediciones Data Center y Server;
- Se han seleccionado complementos solo con soporte para la edición Data Center. Los demás complementos han sido excluidos de los planes, para la estabilidad del sistema.
Las funcionalidades están brevemente descritas en la columna Comentario. Los complementos adicionales han ampliado la funcionalidad del sistema:
- Se han añadido varias herramientas visuales;
- Se han mejorado los mecanismos de integración;
- Se ha añadido un conjunto de herramientas para proyectos en modelo cascada;
- Se ha añadido un conjunto de herramientas para Scrum escalable, para organizar el trabajo de grandes equipos de proyecto;
- Se ha añadido la funcionalidad para el seguimiento del tiempo;
- Se ha añadido herramientas para la automatización de operaciones y la configuración de la solución;
- Se ha añadido funcionalidad para simplificar y automatizar la administración de la solución.
Además, utilizamos . Esta aplicación permite editar archivos en aplicaciones externas (MS Office) y devolverlos a Confluence (check-in).
Aplicación para los puestos de trabajo de los usuarios (cliente pesado) ALM Works Jira Client decidimos no usar debido a la mala soporte del proveedor y a las críticas negativas.
Para integraciones con MS Project utilizamos una aplicación hecha a medida que permite actualizar el estado de los Issue en MS Project desde Jira y viceversa. En el futuro, para los mismos fines, planeamos usar un plugin de pago. , que se instala como un complemento en MS Project.
La integración con aplicaciones externas se realiza a través de Application Links. En este caso, las integraciones para aplicaciones de Atlassian están preconfiguradas y funcionan inmediatamente después de la configuración, por ejemplo, se puede mostrar en la página de Confluence la información sobre los Issues en Jira.
Para acceder a los servidores de Jira y Confluence se utiliza el REST API: .
API de SOAP y XML-RPC obsoletas y no están disponibles en nuevas versiones para su uso.
Conclusión
Así que hemos revisado las características técnicas de la implementación del sistema basado en productos de Atlassian. La solución propuesta es una de las posibles soluciones y se adapta bien a un entorno corporativo.
La solución propuesta es escalable, tolerante a fallos, contiene tres entornos para la organización del desarrollo y pruebas, incluye todos los elementos necesarios para la colaboración en el sistema y ofrece una amplia gama de herramientas para la gestión de proyectos.
Estaré encantado de responder a las preguntas en los comentarios.
Fuente: habr.com


