Come implementare Atlassian Jira + Confluence in azienda. Questioni tecniche

Stai pianificando l’implementazione del software Atlassian (Jira, Confluence)? Non vuoi commettere gravi errori nella progettazione, che poi dovrai risolvere all'ultimo minuto?

Come implementare Atlassian Jira + Confluence in azienda. Questioni tecniche
Allora sei nel posto giusto: analizziamo l'implementazione di Atlassian Jira + Confluence in azienda tenendo conto dei vari aspetti tecnici.
Salve, sono il Product Owner presso RSHB e sono responsabile dello sviluppo del Sistema di Gestione del Ciclo di Vita (SGCV) basato sui prodotti software Atlassian Jira e Confluence.

In questo articolo descriverò gli aspetti tecnici della creazione del SGCV. L'articolo sarà utile per chiunque pianifichi l’implementazione o si occupi dello sviluppo di Atlassian Jira e Confluence in un ambiente aziendale. Non richiede conoscenze specialistiche ed è destinato a un livello introduttivo di familiarità con i prodotti Atlassian. Sarà utile per amministratori, product owner, project manager, architetti e chiunque pianifichi l'implementazione di sistemi basati su software Atlassian.

Introduzione

Nell'articolo verranno analizzati gli aspetti tecnici dell'implementazione di un Sistema di Gestione del Ciclo di Vita (SGCV) in un ambiente aziendale. Iniziamo definendo cosa significa.

Cosa si intende per soluzione aziendale?

Si tratta di una soluzione:

  1. Scalabile. In caso di aumento del carico, esiste la possibilità tecnica di ampliare la potenza del sistema. Si distingue tra scalabilità orizzontale e verticale: nella scalabilità verticale si aumenta la potenza dei server, mentre nella scalabilità orizzontale si aumenta il numero di server utilizzati dal sistema.
  2. Resistenti ai guasti. Il sistema rimarrà disponibile anche in caso di guasto di un componente. In generale, per i sistemi aziendali non è richiesta la tolleranza agli errori, ma considereremo proprio questa soluzione. Il nostro sistema prevede migliaia di utenti concorrenti e i tempi di inattività saranno molto critici.
  3. Supportato. La soluzione deve essere supportata dal fornitore. Il software senza supporto deve essere sostituito da sviluppi interni o da altro software con supporto.
  4. Installazione Gestito autonomamente. (On-premise). Self-managed — la possibilità di installare software non nel cloud, ma sui propri server. In altre parole, comprende tutte le opzioni di installazione che non sono SaaS. In questo articolo, esamineremo solo le opzioni di installazione Self-managed.
  5. Possibilità di sviluppo e test indipendenti. Per garantire cambiamenti prevedibili nel sistema, sono necessarie sistemi separati per lo sviluppo (modifiche al sistema stesso), sistemi di testing (Staging) e sistemi di produzione per il lavoro degli utenti.
  6. Altro. Supporta vari scenari di autenticazione, mantiene log di audit, ha un modello di ruoli configurabile, ecc.

Questi sono gli elementi principali delle soluzioni aziendali e, sfortunatamente, spesso vengono dimenticati nella progettazione del sistema.

Che cos'è il Sistema di gestione del ciclo di vita (SLC)?

In breve, nel nostro caso si tratta di Atlassian Jira e Atlassian Confluence — un sistema che fornisce strumenti per organizzare il lavoro collettivo. Il sistema non "imponi" regole per l'organizzazione del lavoro, ma offre una varietà di strumenti per la gestione, come Scrum, bacheche Kanban, modelli a cascata e Scrum scalabile, ecc.
Il nome del SUZC non è un termine di settore né un concetto di uso comune; è semplicemente il nome del sistema nel nostro Banco. Per noi, il SUZC non è un sistema di bug tracking, né un sistema di gestione degli incidenti o un sistema di gestione delle modifiche.

Cosa include l'implementazione?

L'implementazione della soluzione consiste in molteplici questioni tecniche e organizzative:

  • Allocazione delle risorse tecniche.
  • Acquisto del software.
  • Creazione del team di implementazione della soluzione.
  • Installazione e configurazione della soluzione.
  • Sviluppo dell'architettura della soluzione. Modello dei ruoli.
  • Sviluppo della documentazione operativa, incluse istruzioni, normative, progetto tecnico, regolamenti, ecc.
  • Modifica dei processi aziendali.
  • Creazione del team di supporto. Sviluppo del SLA.
  • Formazione degli utenti.
  • Altro.

In questo articolo esamineremo gli aspetti tecnici dell'implementazione, senza entrare nei dettagli della componente organizzativa.

Caratteristiche di Atlassian

La società Atlassian è leader in molti segmenti:

I prodotti Atlassian offrono tutte le funzionalità aziendali necessarie. Ecco alcune caratteristiche principali:

  1. Le soluzioni Atlassian si basano sul server web Java Tomcat. Il software Apache Tomcat è incluso nell'installazione di Atlassian e non è possibile modificare la versione di Apache Tomcat fornita, anche se la versione è obsoleta e contiene vulnerabilità. L'unica possibilità è attendere un aggiornamento da Atlassian con una versione più recente di Apache Tomcat. Attualmente, ad esempio, nelle versioni aggiornate di Jira è presente Apache Tomcat 8.5.42, mentre in Confluence si utilizza Apache Tomcat 9.0.33.
  2. Interfaccia user-friendly, basata sulle migliori pratiche disponibili sul mercato per questa classe di software.
  3. Soluzione completamente personalizzabile. Con le opportune modifiche, è possibile implementare qualsiasi cambiamento delle funzionalità di base per l'utente.
  4. Ecosistema sviluppato. Ci sono diverse centinaia di partner: https://partnerdirectory.atlassian.com, di cui 16 partner in Russia. È proprio tramite i partner russi che è possibile acquistare il software Atlassian, i plugin e seguire corsi di formazione. Sono i partner a sviluppare e mantenere la maggior parte dei plugin.
  5. Negozio delle applicazioni (plugin): https://marketplace.atlassian.com. I plug-in ampliano notevolmente le funzionalità del software Atlassian. Le funzionalità di base del software Atlassian sono piuttosto limitate; praticamente per qualsiasi necessità si rende necessario installare plug-in aggiuntivi, gratuitamente o a pagamento. Pertanto, i costi del software possono risultare significativamente superiori rispetto a quanto inizialmente previsto.
    Attualmente, nel marketplace sono pubblicati diverse migliaia di plug-in, quasi mille dei quali sono stati testati e convalidati attraverso il programma Data Center approved apps. Questi plug-in possono essere considerati stabili e adatti per l'uso in sistemi ad alto carico.
    Consiglio di prestare particolare attenzione alla pianificazione dei plug-in, poiché questo influisce notevolmente sul costo della soluzione; molti di questi plug-in possono portare a instabilità del sistema e il produttore del plug-in potrebbe non fornire supporto per risolvere il problema.
  6. Formazione e certificazioni: https://www.atlassian.com/university
  7. Sono supportati meccanismi SSO, SAML 2.0.
  8. Il supporto per la scalabilità e la tolleranza ai guasti è disponibile solo nelle edizioni Data Center. Questa edizione è stata introdotta per la prima volta nel 2014 (Jira 6.3). Le funzionalità delle edizioni Data Center continuano ad espandersi e ad essere perfezionate (ad esempio, la possibilità di installazione su un singolo nodo è stata introdotta solo nel 2020). L'approccio ai plugin per le edizioni Data Center è cambiato notevolmente nel 2018 con l'introduzione delle app approvate per Data Center.
  9. Costo del supporto. Il costo del supporto dal fornitore è praticamente pari al costo completo delle licenze software. Un esempio di calcolo del costo delle licenze è riportato di seguito.
  10. Mancanza di rilasci a lungo termine. Ci sono le cosiddette versioni Enterprise, ma, come tutte le altre versioni, sono supportate per 2 anni. Con la differenza che per le versioni Enterprise vengono rilasciati solo fix, senza aggiunta di nuove funzionalità.
  11. Opzioni di supporto avanzate (a pagamento). https://www.atlassian.com/enterprise/support-services
  12. Supporta diverse opzioni di DBMS. Il software di Atlassian viene fornito con un database H2 gratuito, ma non è consigliato per l'uso in produzione. Per l'uso in produzione, sono supportati i seguenti DBMS: Amazon Aurora (solo Data Center), PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Ci sono limitazioni riguardanti le versioni supportate e spesso vengono supportate solo le versioni più vecchie, ma per ogni DBMS è disponibile una versione con supporto da parte del vendor.
    Piattaforme supportate da Jira,
    Piattaforme supportate da Confluence.

Architettura tecnica

Come implementare Atlassian Jira + Confluence in azienda. Questioni tecniche

Spiegazioni sul diagramma:

  • Il diagramma mostra l'implementazione nel nostro Banco, questa configurazione è fornita come esempio e non è raccomandata.
  • nginx offre funzionalità di reverse proxy sia per Jira che per Confluence.
  • La resilienza del DBMS è realizzata tramite le funzionalità del DBMS.
  • Il trasferimento delle modifiche tra gli ambienti avviene utilizzando il plugin Configuration Manager for Jira.
  • AppSrv nel diagramma è un server applicativo proprietario per reportistica, non utilizza il software di Atlassian.
  • Il database EasyBI è stato creato per costruire cubi e report utilizzando il plugin eazyBI Reports and Charts for Jira.
  • Il servizio Confluence Synchrony (il componente che consente la modifica simultanea dei documenti) non è installato separatamente e viene eseguito insieme a Confluence sullo stesso server.

Licenze

Le questioni relative alle licenze Atlassian meritano un articolo a parte, qui menzionerò solo i principi generali.
Le principali questioni con cui ci siamo confrontati riguardano le licenze delle edizioni Data Center. Le peculiarità delle licenze per le edizioni Server e Data Center:

  1. La licenza per l'edizione Server è perpetua e l'acquirente può utilizzare il software anche dopo la scadenza della licenza. Tuttavia, dopo la scadenza, l'acquirente perde il diritto di ricevere supporto per il prodotto e di aggiornare il software alle versioni più recenti.
  2. La licenza viene rilasciata in base al numero di utenti con autorizzazione globale 'JIRA Users'. Non importa se gli utenti accedano al sistema o meno: anche se non hanno mai effettuato il login, tutti gli utenti saranno considerati ai fini della licenza. In caso di superamento del numero di utenti licenziati, la soluzione consiste nel revocare l'autorizzazione 'JIRA Users' a un certo numero di utenti.
  3. La licenza per il Data Center è fondamentalmente un abbonamento. È richiesta una quota annuale per la licenza. Al termine del periodo, l'accesso al sistema sarà bloccato.
  4. Il costo delle licenze può cambiare nel tempo. In genere, aumenta, e potrebbe farlo in modo significativo. Pertanto, se quest'anno le licenze hanno un certo prezzo, il prossimo anno il costo potrebbe salire.
  5. Le licenze vengono concesse per numero di utenti per tier (ad esempio, livello da 1001 a 2000 utenti). È possibile passare a un tier superiore, con un pagamento aggiuntivo.
  6. Se il numero di utenti licenziati viene superato, i nuovi utenti verranno creati senza il diritto di accesso al sistema (permesso globale 'JIRA Users').
  7. I plugin possono essere licenziati solo per lo stesso numero di utenti della principale applicazione software.
  8. È necessario licenziare solo le installazioni di produzione; per le altre è possibile ottenere una licenza per sviluppatori: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Per acquistare il supporto, è necessario acquistare il mantenimento software Renew - il costo è pari a circa il 50% del prezzo originale del software. Questa possibilità non è disponibile per Data Center e non si applica ai plugin - per il loro supporto sarà necessario pagare il prezzo pieno annualmente.
    Di conseguenza, il supporto annuale del software costa oltre il 50% del prezzo totale del software nel caso della versione Server e il 100% nel caso della versione Data Center - questo è notevolmente più alto rispetto alla maggior parte degli altri fornitori. A mio avviso, questo è un significativo svantaggio del modello di business di Atlassian.

Caratteristiche del passaggio dalla versione Server a Data Center:

  1. Il passaggio dalla versione Server a Data Center è a pagamento. È possibile trovare il costo qui. https://www.atlassian.com/licensing/data-center.
  2. Non è necessario pagare per il cambio di edizione dei plugin durante il passaggio dalla versione Server a Data Center - i plugin per la versione Server continueranno a funzionare. Tuttavia, sarà necessario rinnovare le licenze per i plugin per la versione Data Center.
  3. Puoi utilizzare plugin di cui non esiste una versione per le edizioni Data Center. Tuttavia, è chiaro che tali plugin potrebbero non funzionare correttamente, quindi è consigliabile prevedere un'alternativa per questi plugin.
  4. Il passaggio alla versione Data Center avviene installando una nuova licenza. La licenza per la versione Server resta comunque disponibile.
  5. Non ci sono differenze funzionali tra le edizioni Data Center e Server per gli utenti, tutte le differenze riguardano solo le funzionalità di amministrazione e le capacità tecniche di installazione.
  6. Il costo del software e dei plugin varia per le edizioni Server e Data Center. La differenza di prezzo è spesso inferiore al 5% (non è fondamentale). Un esempio di calcolo del costo è fornito di seguito.

Ambito funzionale dell'implementazione

La fornitura base del software Atlassian include un'enorme quantità di funzionalità, ma spesso le funzionalità fornite dal sistema sono insufficiente. A volte anche le funzioni più semplici non sono disponibili nella fornitura base, quindi è praticamente impossibile fare a meno dei plugin in qualsiasi implementazione. Per il sistema Jira utilizziamo i seguenti plugin (l'immagine è cliccabile):
Come implementare Atlassian Jira + Confluence in azienda. Questioni tecniche

Per il sistema Confluence utilizziamo i seguenti plugin (l'immagine è cliccabile):
Come implementare Atlassian Jira + Confluence in azienda. Questioni tecniche

Commenti alle tabelle con plugin:

  • Tutti i prezzi sono calcolati su base di 2000 utenti;
  • Sono forniti i prezzi basati sui costi indicati https://marketplace.atlassian.com, il costo reale (con sconti) risulta inferiore;
  • Come vediamo, il costo finale non cambia praticamente per le edizioni Data Center e Server;
  • Sono stati selezionati solo plugin con supporto per l'edizione Data Center. Gli altri plugin sono stati esclusi dai piani, per garantire la stabilità del sistema.

Le funzionalità sono brevemente descritte nella colonna Commento. Plugin aggiuntivi hanno ampliato le funzionalità del sistema:

  • Aggiunti diversi strumenti visivi;
  • Migliorati i meccanismi di integrazione;
  • Aggiunti strumenti per progetti secondo il modello a cascata;
  • Aggiunti strumenti per Scrum scalabile, per organizzare il lavoro di grandi squadre di progetto;
  • Aggiunta funzionalità per la registrazione del tempo;
  • Aggiunti strumenti per l'automazione delle operazioni e la configurazione della soluzione;
  • Aggiunta funzionalità per semplificare e automatizzare l'amministrazione della soluzione.

Inoltre, utilizziamo l'app Atlassian Companion. Questa applicazione consente di modificare file in applicazioni esterne (MS Office) e reinserirli in Confluence (check-in).
Applicazione per i posti di lavoro degli utenti (client pesante) ALM Works Jira Client https://marketplace.atlassian.com/apps/7070 abbiamo deciso di non utilizzarlo a causa del supporto scarso da parte del fornitore e delle recensioni negative.
Per integrazioni con MS Project utilizziamo un'applicazione personalizzata che consente di aggiornare gli stati delle issue in MS Project da Jira e viceversa. In futuro, per gli stessi scopi, intendiamo utilizzare un plugin a pagamento Ceptah Bridge — Plugin JIRA MS Project, che si installa come componente aggiuntivo su MS Project.
Integrazione con applicazioni esterne realizzata tramite Application Links. Per le applicazioni Atlassian, le integrazioni sono preimpostate e funzionano subito dopo la configurazione; ad esempio, è possibile visualizzare sulla pagina di Confluence informazioni sulle issue in Jira.
Per accedere ai server Jira e Confluence si utilizza l'API REST: https://developer.atlassian.com/server/jira/platform/rest-apis.
l'API SOAP e XML-RPC è deprecata e non disponibile nelle nuove versioni.

Conclusione

Quindi, abbiamo esaminato le caratteristiche tecniche dell'implementazione del sistema basato sui prodotti Atlassian. La soluzione proposta rappresenta una delle possibili soluzioni ed è ben adatta per un ambiente aziendale.

La soluzione proposta è scalabile, resistente ai guasti, supporta tre ambienti per lo sviluppo e il test, contiene tutti gli elementi necessari per la collaborazione nel sistema e offre un ampio spettro di strumenti per la gestione dei progetti.

Sarò felice di rispondere alle domande nei commenti.

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster