Como implementar Atlassian Jira + Confluence em uma corporação. Problemas técnicos

Planejando introduzir o software Atlassian (Jira, Confluence)? Deseja cometer erros graves de design que precisará resolver no último momento?


Então aqui está você - estamos considerando a introdução do Atlassian Jira + Confluence em uma corporação, levando em consideração vários aspectos técnicos.
Olá, sou o chefe do Atlassian Product Competence Center do Russian Agricultural Bank (Rosselkhozbank) e sou responsável pelo desenvolvimento do Sistema de Gerenciamento do Ciclo de Vida (SLC) baseado nos produtos de software Jira e Confluence.

Neste artigo, descreverei os aspectos técnicos da construção de um LMS. O artigo será útil para quem planeja implementar ou desenvolver sistemas baseados no software Atlassian em um ambiente corporativo. O artigo não requer conhecimento especial e foi desenvolvido para o nível inicial de conhecimento dos produtos Atlassian. O artigo será útil para administradores, proprietários de produtos, gerentes de projeto, arquitetos, todos que planejam implementar sistemas baseados no software Atlassian.

Introdução


O artigo discutirá os problemas técnicos da implementação de um Sistema de Gerenciamento do Ciclo de Vida (LMS) em um ambiente corporativo. Vamos primeiro determinar o que isso significa.

O que significa uma decisão corporativa?


Isso significa uma solução:

  1. Escalável. Em caso de aumento de carga, existe a possibilidade técnica de aumentar a capacidade do sistema. Escala horizontal e vertical separada - com a escala vertical, a capacidade dos servidores aumenta, com a escala horizontal o número de servidores para o sistema funcionar.
  2. . . , . .
  3. . . .
  4. Self-managed (On-premise). Self-managed — , . , SaaS. Self-managed.
  5. Possibilidade de desenvolvimento e teste independentes. Para organizar mudanças previsíveis no sistema, são necessários um sistema separado para desenvolvimento (mudanças no sistema), um sistema de teste (teste) e um sistema produtivo para os usuários trabalharem.
  6. De outros Ele suporta vários cenários de autenticação, suporta logs de auditoria, possui um modelo personalizado, etc.

Esses são os principais elementos das soluções corporativas e, infelizmente, são frequentemente esquecidos ao projetar um sistema.

E o que é um Sistema de Gerenciamento do Ciclo de Vida (LMS)?


Em resumo, no nosso caso, são o Atlassian Jira e o Atlassian Confluence - um sistema que fornece ferramentas para organizar o trabalho em equipe. O sistema não “impõe” as regras para organizar o trabalho, mas fornece uma variedade de ferramentas para o trabalho, como Scrum, quadros Kanban, um modelo em cascata e um Scrum escalável etc.
O nome do LCMS não é um termo do setor ou um termo comum; é simplesmente o nome do sistema em nosso banco. Para nós, o SLC não é um sistema de rastreamento de bugs, não é um sistema de gerenciamento de incidentes ou sistema de gerenciamento de mudanças.
No sistema, é claro, há funcionalidade para rastreamento de bugs, registro de incidentes e gerenciamento de alterações. E para determinadas tarefas, essa funcionalidade é usada. Mas não se pode dizer que todos os erros, incidentes ou alterações são registrados em nosso sistema. Em cada caso, suas próprias especificidades. Se uma unidade usa Jira e faz uma alteração lá, então, para essa alteração, essa equipe pode decidir manter lá todos os bugs, todas as alterações, todos os incidentes. Mas esta é uma solução local para uma equipe separada, para uma tarefa específica.

O que inclui a implementação?


A implementação da solução consiste em muitos problemas técnicos e organizacionais:

  • Alocação de capacidades técnicas.
  • Compra de software.
  • Criação de uma equipe para implementar a solução.
  • Instalação e configuração da solução.
  • Desenvolvimento da arquitetura da solução. Modelo de função.
  • Desenvolvimento de documentação operacional, incluindo instruções, regulamentos, projeto técnico, regulamentos, etc.
  • Alterar os processos da empresa.
  • Criação de uma equipe de suporte. Desenvolvimento de SLA.
  • Treinamento de usuário.
  • De outros

Neste artigo, consideraremos os aspectos técnicos da implementação, sem detalhes sobre o componente organizacional.

Recursos Atlassian


Atlassian é líder em muitos segmentos:


Os produtos Atlassian têm todos os recursos corporativos essenciais. Vou observar os seguintes recursos:

  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. Várias opções de DBMS são suportadas. O software Atlassian vem com um DBMS H2 gratuito; esse DBMS não é recomendado para uso produtivo. Os seguintes DBMSs são suportados para uso produtivo: Amazon Aurora (apenas Data Center) PostgreSQL, SQL Azure, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Existem restrições nas versões suportadas e geralmente apenas nas versões antigas, mas para cada DBMS há uma versão com suporte do fornecedor:
    plataformas suportadas pelo Jira ,
    plataformas suportadas pelo Confluence .

Arquitetura técnica




Explicações para o esquema:

  • O diagrama mostra a implementação em nosso banco, essa configuração é dada como exemplo e não é recomendada.
  • O nginx fornece a funcionalidade de proxy reverso para o Jira e o Confluence.
  • A tolerância a falhas do DBMS é implementada por ferramentas DBMS.
  • As alterações entre ambientes são transferidas usando o plug-in do Gerenciador de Configurações para Jira.
  • O AppSrv no diagrama é seu próprio servidor de aplicativos para geração de relatórios; ele não usa o software Atlassian.
  • O banco de dados EasyBI foi criado para construir cubos e gerar relatórios usando o plug-in eazyBI Reports and Charts for Jira.
  • O serviço Confluence Synchrony (um componente que permite a edição simultânea de documentos) não é alocado para uma instalação separada e é iniciado juntamente com o Confluence no mesmo servidor.

Licenciamento


As questões de licenciamento da Atlassian merecem um artigo separado, aqui vou mencionar apenas princípios gerais.
Os principais problemas que encontramos foram problemas de licenciamento para edições do Data Center. Recursos de licenciamento para edições Server e Data Center:

  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. O licenciamento requer apenas instalações produtivas. No restante, você pode obter uma licença de desenvolvedor: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html .
  9. Para adquirir a manutenção, é necessário adquirir a manutenção do Renew Software - o custo é de aproximadamente 50% do custo do software inicial. Esse recurso não está disponível para o Data Center e não se aplica a plug-ins - para suportá-los, você terá que pagar o custo total anualmente.
    Portanto, o suporte anual ao software custa mais de 50% do custo total do software no caso da edição Server e 100% no caso da edição Data Center - isso é significativamente mais do que a maioria dos outros fornecedores. Na minha opinião, esse é um sinal negativo significativo do modelo de negócios da Atlassian.

Recursos da transição da edição Server para o Data Center:

  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% ( ). .


A entrega básica do software Atlassian inclui um grande número de recursos, mas geralmente os recursos fornecidos pelo sistema são escassos. Às vezes, mesmo as funções mais simples não estão disponíveis na distribuição básica, portanto, os plug-ins não podem ser dispensados ​​com quase qualquer implementação. É importante entender que o Jira é uma plataforma. Aqui você pode programar qualquer funcionalidade e plug-in - esta é uma implementação paga de funcionalidade adicional. Para o sistema Jira, usamos os seguintes plugins (a imagem é clicável): Para o sistema Confluence usamos os seguintes plugins (a imagem é clicável): Comentários sobre tabelas com plugins:







  • Todos os preços são baseados em 2000 usuários;
  • Os preços são fornecidos com base nos preços cotados em https://marketplace.atlassian.com , o custo real (com descontos) é mais baixo;
  • Como você pode ver, o valor total é praticamente o mesmo para as edições do Data Center e Server;
  • Somente plug-ins com suporte à edição do Data Center foram selecionados para uso. Os plugins restantes foram excluídos dos planos de estabilidade do sistema.

A funcionalidade é descrita brevemente na coluna Comentário. Plugins adicionais expandiram a funcionalidade do sistema:

  • Adicionadas várias ferramentas visuais;
  • Mecanismos de integração aprimorados;
  • Adicionadas ferramentas para projetos de acordo com o modelo em cascata;
  • Adicionadas ferramentas para o Scrum escalável, para organizar o trabalho de grandes equipes de projeto;
  • Funcionalidade adicionada para rastreamento de tempo;
  • Adicionadas ferramentas para automatizar operações e configurar soluções;
  • Funcionalidade adicionada para simplificar e automatizar a administração da solução.

Além disso, usamos um plug-in de nosso próprio design.
Planejamos instalar o aplicativo Atlassian Companion nas estações de trabalho dos usuários . Este aplicativo permite editar arquivos em aplicativos externos (MS Office) e devolvê-los ao Confluence (check-in).
O aplicativo para estações de trabalho do usuário (cliente espesso) O ALM Works Jira Client https://marketplace.atlassian.com/apps/7070 decidiu não usá-lo devido ao mau suporte do fornecedor e críticas negativas.
Para integração com o MS Project , usamos um aplicativo auto-escrito que permite atualizar os status de problemas no MS Project a partir do Jira e vice-versa. No futuro, para os mesmos fins, planejamos usar um plug-in pagoCeptah Bridge - JIRA MS Project Plugin , que é instalado como um complemento no MS Project.
A integração com aplicativos externos é implementada através dos Links de Aplicativos. Ao mesmo tempo, para aplicativos Atlassian, as integrações são pré-configuradas e funcionam imediatamente após a configuração, por exemplo, você pode exibir informações sobre problemas no Jira na página Confluence.
Para acessar os servidores Jira e Confluence, a API REST é usada: https://developer.atlassian.com/server/jira/platform/rest-apis .
O SOAP e a API XML-RPC foram descontinuados e não estão disponíveis em novas versões para uso.

Conclusão


Assim, examinamos os recursos técnicos da implementação do sistema baseado em produtos Atlassian. A solução proposta é uma das soluções possíveis e é adequada para o ambiente corporativo.

A solução proposta é escalável, tolerante a falhas, contém três ambientes para organizar o desenvolvimento e o teste, contém todos os elementos necessários para trabalhar em conjunto no sistema e fornece uma ampla variedade de ferramentas de gerenciamento de projetos.

Ficarei feliz em responder às perguntas nos comentários.

All Articles