Como implementar Atlassian Jira + Confluence em corporações. Questões técnicas

Você está planejando a implementação do software Atlassian (Jira, Confluence)? Não quer cometer erros graves no design que serão difíceis de resolver no último minuto?

Como implementar Atlassian Jira + Confluence em corporações. Questões técnicas
Então, você está no lugar certo — vamos considerar a implementação do Atlassian Jira + Confluence em uma corporação, levando em conta vários aspectos técnicos.
Olá, sou o Proprietário do Produto do RSHB e sou responsável pelo desenvolvimento do Sistema de Gestão do Ciclo de Vida (SGCV) baseado nos produtos da Atlassian Jira e Confluence.

Neste artigo, descreverei os aspectos técnicos da construção do SGCV. O artigo será útil para todos que planejam implementar ou estão desenvolvendo o Atlassian Jira e Confluence em um ambiente corporativo. O artigo não requer conhecimentos especiais e é voltado para iniciantes que estão se familiarizando com os produtos da Atlassian. Será útil para administradores, proprietários de produtos, gerentes de projeto, arquitetos e todos que planejam implementar sistemas baseados no software da Atlassian.

Introdução

O artigo abordará questões técnicas sobre a implementação do Sistema de Gestão do Ciclo de Vida (SGCV) em um ambiente corporativo. Vamos primeiro definir o que isso significa.

E o que significa uma solução corporativa?

Isso significa uma solução:

  1. Escalável. Em caso de aumento da carga, existe a possibilidade técnica de aumentar a capacidade do sistema. Há duas formas de escalabilidade: a escalabilidade vertical, onde aumenta-se a potência dos servidores, e a escalabilidade horizontal, onde se aumenta o número de servidores para o funcionamento do sistema.
  2. Resiliente. O sistema permanecerá acessível mesmo se um dos componentes falhar. Em geral, para sistemas corporativos, a resiliência não é necessária, mas estaremos considerando precisamente tal solução. Em nosso sistema, planeja-se ter várias centenas de usuários concorrentes, e os períodos de inatividade serão muito críticos.
  3. Suportável. A solução deve estar sob suporte do fornecedor. Software sem suporte deve ser substituído por desenvolvimentos internos ou por outro software que ofereça suporte.
  4. Instalação Auto gerenciado (On-premise). Auto gerenciado é a possibilidade de instalar o software não na nuvem, mas em servidores próprios. Para ser mais preciso, trata-se de todas as opções de instalação que não são SaaS. Neste artigo, abordaremos apenas opções de instalação auto gerenciadas.
  5. Possibilidade de desenvolvimento e teste independentes. Para organizar mudanças previsíveis no sistema, são necessárias sistemas separados para desenvolvimento (mudanças no próprio sistema), sistema de teste (Staging) e um sistema produtivo para o trabalho dos usuários.
  6. Outro. Suporta vários cenários de autenticação, mantém logs de auditoria, possui um modelo de roles configurável, etc.

Estes são os elementos principais das soluções corporativas e, infelizmente, muitas vezes são esquecidos ao projetar o sistema.

E o que é um Sistema de Gestão do Ciclo de Vida (SGCV)?

Resumidamente, no nosso caso, é o Atlassian Jira e o Atlassian Confluence — uma sistemática que fornece ferramentas para organizar o trabalho colaborativo. O sistema não 'impoe' regras de organização do trabalho, mas oferece uma diversidade de ferramentas para trabalho, incluindo Scrum, quadros Kanban, modelos em cascata, Scrum escalável, etc.
O nome SGCV não é um termo do setor ou um conceito comum, é apenas o nome do sistema no nosso Banco. Para nós, o SGCV não é um sistema de rastreamento de bugs, não é um sistema de Gestão de Incidentes ou Gestão de Mudanças.

O que envolve a implementação?

A implementação da solução consiste em muitas questões técnicas e organizacionais:

  • Alocação de recursos técnicos.
  • Aquisição de software.
  • Criação de uma equipe para a implementação da solução.
  • Instalação e configuração da solução.
  • Desenvolvimento da arquitetura da solução. Modelo de roles.
  • Desenvolvimento de documentação operacional, incluindo manuais, regulamentos, projetos técnicos, normativas, etc.
  • Mudança dos processos da empresa.
  • Criação de uma equipe de suporte. Desenvolvimento de SLA.
  • Treinamento de usuários.
  • Outro.

Neste artigo, abordaremos os aspectos técnicos da implementação, sem detalhes sobre a parte organizacional.

Particularidades da Atlassian

A empresa Atlassian é líder em muitos segmentos:

Os produtos da Atlassian possuem todas as funções corporativas necessárias. Destaco as seguintes características:

  1. As soluções Atlassian são baseadas no servidor web Java Tomcat. O software Apache Tomcat vem incluído no pacote Atlassian como parte da instalação, e não é possível alterar a versão do Apache Tomcat instalada com o software Atlassian, mesmo que a versão esteja desatualizada e contenha vulnerabilidades. A única opção é aguardar as atualizações da Atlassian, que trarão versões mais recentes do Apache Tomcat. Atualmente, por exemplo, nas versões atuais do Jira está o Apache Tomcat 8.5.42, e no Confluence está o Apache Tomcat 9.0.33.
  2. Interface amigável, com as melhores práticas disponíveis no mercado para esta classe de software.
  3. Solução totalmente personalizável. Com desenvolvimentos, é possível implementar qualquer alteração na funcionalidade básica para o usuário.
  4. Ecosistema avançado. Existem várias centenas de parceiros: https://partnerdirectory.atlassian.com, incluindo 16 parceiros na Rússia. É através dos parceiros na Rússia que é possível adquirir o software Atlassian, plugins e obter treinamento. Os parceiros desenvolvem e suportam a maioria dos plugins.
  5. Loja de aplicativos (plugins): https://marketplace.atlassian.com. Os plugins ampliam significativamente a funcionalidade do software Atlassian. A funcionalidade básica do software Atlassian é bastante modesta, e praticamente para quaisquer tarefas, surge a necessidade de instalar plugins adicionais, gratuitos ou pagos. Portanto, os custos com o software podem acabar sendo significativamente maiores do que o inicialmente estimado.
    Atualmente, a loja possui vários milhares de plugins, quase mil deles foram testados e validados no programa de aplicativos aprovados para Data Center. Esses plugins podem ser considerados estáveis e adequados para uso em sistemas sobrecarregados.
    Recomendo abordar cuidadosamente a questão do planejamento de plugins, pois isso afeta significativamente o custo da solução; muitos plugins podem levar à instabilidade do sistema, e o fabricante do plugin pode não oferecer suporte para resolver o problema.
  6. Treinamento e certificações: https://www.atlassian.com/university
  7. Mecanismos SSO e SAML 2.0 são suportados.
  8. O suporte à escalabilidade e à tolerância a falhas existe apenas nas edições Data Center. Essa edição apareceu pela primeira vez em 2014 (Jira 6.3). A funcionalidade das edições Data Center está sempre sendo expandida e atualizado (por exemplo, a possibilidade de instalação de nó único surgiu apenas em 2020). A abordagem aos plugins para edições Data Center mudou significativamente em 2018 com a introdução de aplicativos aprovados para Data Center.
  9. Custo de suporte. O custo de suporte do fornecedor é praticamente igual ao custo total das licenças de software. Um exemplo de cálculo das licenças é apresentado abaixo.
  10. Ausência de versões de Long Term. Existem as chamadas versões Enterprise, mas, assim como todas as outras versões, são suportadas por 2 anos. Com a diferença de que, para as versões Enterprise, são lançados apenas correções, sem a adição de novas funcionalidades.
  11. Opções de suporte avançadas (por um custo adicional). https://www.atlassian.com/enterprise/support-services
  12. Várias opções de SGBD são suportadas. O software Atlassian é fornecido com um SGBD gratuito, o H2, que não é recomendado para uso produtivo. Para uso produtivo, os seguintes SGBDs são suportados: Amazon Aurora (apenas no Data Center) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Existem limitações nas versões suportadas e muitas vezes apenas versões antigas são suportadas, mas para cada SGBD existe uma versão com suporte do fornecedor:
    Plataformas suportadas pelo Jira,
    Plataformas suportadas pelo Confluence.

Arquitetura técnica

Como implementar Atlassian Jira + Confluence em corporações. Questões técnicas

Explicações sobre o diagrama:

  • O diagrama apresenta a implementação em nosso Banco, esta configuração é fornecida como exemplo e não é recomendada.
  • O nginx fornece funcionalidade de reverse-proxy tanto para o Jira quanto para o Confluence.
  • A robustez do SGBD é realizada pelos próprios recursos do SGBD.
  • A transferência de mudanças entre ambientes é feita usando o plugin Configuration Manager for Jira.
  • AppSrv no diagrama é um servidor de aplicativos próprio para relatórios, que não utiliza o software Atlassian.
  • O banco de dados EasyBI foi criado para construir cubos e relatórios usando o plugin eazyBI Reports and Charts for Jira.
  • O serviço Confluence Synchrony (componente que permite edição simultânea de documentos) não é destacado em uma instalação separada e é iniciado junto com o Confluence, no mesmo servidor.

Licenciamento

Questões de licenciamento da Atlassian merecem um artigo separado, aqui eu mencionarei apenas os princípios gerais.
As principais questões que enfrentamos foram sobre o licenciamento das edições Data Center. As particularidades de licenciamento para as edições Server e Data Center:

  1. A licença para a edição Server é perpétua e o comprador pode usar o software mesmo após a expiração da licença. Mas após a expiração da licença, o comprador perde o direito de receber suporte para o produto e de atualizar o software para versões atuais.
  2. A licenciamento é feito com base na quantidade de usuários na permissão global 'JIRA Users'. Não importa se eles usam o sistema ou não — mesmo que os usuários nunca tenham acessado o sistema, todos serão contabilizados para a licença. No caso de exceder o número de usuários licenciados, a solução será remover a permissão 'JIRA Users' de parte dos usuários.
  3. A licença para o Data Center é, de fato, uma assinatura. É necessário o pagamento anual da licença. Após o vencimento, o acesso ao sistema será bloqueado.
  4. O custo das licenças pode variar ao longo do tempo. Conforme a prática tem demonstrado, geralmente para cima e, possivelmente, de forma significativa. Portanto, se este ano as licenças custam uma quantia, no próximo ano o custo pode aumentar.
  5. O licenciamento é feito por usuários por tier (por exemplo, faixa de 1001-2000 usuários). Há possibilidade de se mudar para um tier superior com pagamento adicional.
  6. Se o número de usuários licenciados for ultrapassado, novos usuários serão criados sem o direito de acessar o sistema ('JIRA Users' permissão global).
  7. Os plugins podem ser licenciados apenas para o mesmo número de usuários que o software principal.
  8. É necessário licenciar apenas as instalações produtivas; para outras, é possível obter uma licença de desenvolvedor: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Para adquirir suporte, é necessário comprar a renovação da manutenção de software — o custo equivale a aproximadamente 50% do custo do software original. Essa possibilidade não está disponível para o Data Center e não se aplica a plugins — para seu suporte, será necessário pagar o valor total anualmente.
    Assim, o suporte anual do software custa mais de 50% do valor total do software no caso da edição Server e 100% para a edição Data Center — isso é significativamente mais alto do que a maioria dos outros fornecedores. Na minha opinião, isso é uma desvantagem significativa do modelo de negócios da Atlassian.

Características da transição da edição Server para o Data Center:

  1. A transição da edição Server para o Data Center é paga. O custo pode ser encontrado aqui. https://www.atlassian.com/licensing/data-center.
  2. Ao migrar da edição Server para o Data Center, não é necessário pagar pela troca de edição para plugins — os plugins para a edição Server continuarão funcionando. No entanto, será obrigatório renovar as licenças para plugins na edição Data Center.
  3. Você pode usar plugins que não possuem uma versão para as edições Data Center. No entanto, é claro que esses plugins podem não funcionar corretamente, e é melhor ter uma alternativa em mente para esses plugins.
  4. A transição para a edição Data Center é realizada através da instalação de uma nova licença. A licença para a edição Server continua disponível.
  5. Não há diferenças funcionais entre as edições Data Center e Server para os usuários; todas as diferenças estão apenas nas funcionalidades de administração e nas capacidades técnicas de instalação.
  6. Os preços de software e plugins diferem entre as edições Server e Data Center. A diferença de preço muitas vezes é inferior a 5% (não é significativa). Um exemplo de cálculo de custo é apresentado abaixo.

Escopo funcional da implementação

A entrega básica do software Atlassian inclui uma enorme quantidade de funcionalidades, mas frequentemente as capacidades fornecidas pelo sistema são bastante limitadas. Às vezes, até mesmo as funções mais simples estão ausentes na entrega básica, por isso plugins são praticamente indispensáveis em qualquer implementação. Para o sistema Jira, usamos os seguintes plugins (a imagem é clicável):
Como implementar Atlassian Jira + Confluence em corporações. Questões técnicas

Para o sistema Confluence, usamos os seguintes plugins (a imagem é clicável):
Como implementar Atlassian Jira + Confluence em corporações. Questões técnicas

Comentários sobre tabelas com plugins:

  • Todos os preços são baseados em 2000 usuários;
  • Os preços apresentados são baseados nos preços indicados https://marketplace.atlassian.com, o custo real (com descontos) é menor;
  • Como podemos ver, o valor total praticamente não difere entre as edições Data Center e Server;
  • Para uso, selecionamos apenas plugins que suportam a edição Data Center. Os outros plugins foram excluídos dos planos para garantir a estabilidade do sistema.

A funcionalidade está resumida na coluna Comentário. Plugins adicionais ampliaram as capacidades do sistema:

  • Foram adicionadas várias ferramentas visuais;
  • Melhorados os mecanismos de integração;
  • Adicionado toolkit para projetos no modelo Waterfall;
  • Adicionado toolkit para Scrum escalável, para organizar o trabalho de grandes equipes de projeto;
  • Adicionado funcionalidade para controle de tempo;
  • Adicionado toolkit para automação de operações e configuração da solução;
  • Adicionado funcionalidade para simplificação e automação da administração da solução.

Além disso, usamos Atlassian Companion appEste aplicativo permite editar arquivos em aplicativos externos (MS Office) e retorná-los ao Confluence (check-in).
Aplicativo para estações de trabalho dos usuários (cliente pesado) ALM Works Jira Client https://marketplace.atlassian.com/apps/7070 decidimos não usar devido ao suporte ruim do fornecedor e críticas negativas.
Para integrações com o MS Project usamos um aplicativo personalizado que permite atualizar os status das Issues no MS Project a partir do Jira e vice-versa. No futuro, para os mesmos fins, planejamos usar um plugin pago. Ceptah Bridge — Plugin JIRA MS Project, que é instalado como um complemento no MS Project.
Integração com aplicativos externos é realizada através de Application Links. Para aplicativos Atlassian, as integrações são pré-configuradas e funcionam imediatamente após a configuração, por exemplo, é possível exibir na página do Confluence informações sobre as Issues no Jira.
Para acessar os servidores Jira e Confluence, é usado o REST API: https://developer.atlassian.com/server/jira/platform/rest-apis.
SOAP e XML-RPC API estão obsoletos e não estão disponíveis nas novas versões para uso.

Conclusão

Assim, examinamos as características técnicas da implementação do sistema baseado em produtos Atlassian. A solução proposta representa uma das possíveis soluções e é bem adequada para um ambiente corporativo.

A solução proposta é escalável, tolerante a falhas, mantém três ambientes para organização de desenvolvimento e testes, contém todos os elementos necessários para colaboração no sistema e oferece uma ampla gama de ferramentas para gerenciamento de projetos.

Estou à disposição para responder a perguntas nos comentários.

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster