Come implementare Atlassian Jira + Confluence in azienda. Questioni tecniche

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

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

In questo articolo descriverò aspetti tecnici della costruzione del SGCL. L'articolo sarà utile a chiunque stia pianificando l'implementazione o si occupi dello sviluppo di Atlassian Jira e Confluence in un ambiente aziendale. Non richiede conoscenze speciali ed è destinato a un livello iniziale di familiarizzazione con i prodotti Atlassian. Sarà utile per amministratori, product owner, project manager, architetti, e chiunque stia pianificando l'implementazione di sistemi basati su software Atlassian.

Introduzione

L'articolo esaminerà questioni tecniche relative all'implementazione del Sistema di Gestione del Ciclo di Vita (SGCL) in un ambiente aziendale. Iniziamo definendo cosa significa.

E cosa significa una soluzione aziendale?

Significa una soluzione:

  1. Scalabile. In caso di aumento del carico, c'è la possibilità tecnica di aumentare 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 per far funzionare il sistema.
  2. Resistente ai guasti. Il sistema rimarrà disponibile nel caso di guasto di un elemento. In generale, per i sistemi aziendali non è richiesta una resistenza ai guasti, ma noi considereremo proprio una soluzione di questo tipo. Nella nostra azienda si prevede la presenza di alcune centinaia 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 con sviluppi interni o un altro software con supporto.
  4. Installazione Self-managed (On-premise). Self-managed è la possibilità di installare software non nel cloud, ma sui propri server. Per essere più precisi, è qualsiasi opzione di installazione che non sia SaaS. In questo articolo ci concentreremo solo sulle opzioni di installazione Self-managed.
  5. Possibilità di sviluppo e test indipendenti. Per organizzare cambiamenti prevedibili nel sistema, sono necessarie sistemi separati per lo sviluppo (cambiamenti nel sistema stesso), sistema di test (Staging) e sistema produttivo per il lavoro degli utenti.
  6. Altro. Supporta vari scenari di autenticazione, mantiene log di audit, ha un modello di ruolo personalizzabile, ecc.

Questi sono gli elementi fondamentali delle soluzioni aziendali e, sfortunatamente, spesso vengono dimenticati durante la progettazione del sistema.

Che cos'è un Sistema di Gestione del Ciclo di Vita (SGCV)?

In sintesi, nel nostro caso è Atlassian Jira e Atlassian Confluence, un sistema che fornisce strumenti per organizzare il lavoro di gruppo. Il sistema non 'impose' regole di organizzazione del lavoro, ma offre una varietà di strumenti per lavorare, inclusi Scrum, bacheche Kanban, modello a cascata, Scrum scalabile, ecc.
Il nome SGCV non è un termine settoriale o un concetto di uso comune, è semplicemente il nome del sistema nella nostra Banca. SGCV non è un sistema di tracciamento dei bug, né un sistema di gestione degli incidenti o di gestione delle modifiche.

Cosa comprende l'implementazione?

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

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

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

Caratteristiche di Atlassian

L'azienda Atlassian è leader in molti segmenti:

I prodotti dell'azienda Atlassian possiedono tutte le funzionalità aziendali necessarie. Vorrei evidenziare le seguenti caratteristiche:

  1. Le soluzioni Atlassian si basano sul server web Java Tomcat. Il software Apache Tomcat viene fornito con il software Atlassian come parte dell'installazione; non è possibile modificare la versione di Apache Tomcat installata con il software Atlassian, anche se la versione è obsoleta e presenta vulnerabilità. L'unica opzione è attendere aggiornamenti da Atlassian con una versione più recente di Apache Tomcat. Attualmente, ad esempio, nelle versioni attuali di Jira è presente Apache Tomcat 8.5.42, mentre in Confluence è presente Apache Tomcat 9.0.33.
  2. Un'interfaccia intuitiva, sono state implementate le migliori pratiche disponibili sul mercato per questa categoria di software.
  3. Soluzione completamente personalizzabile. Con modifiche si può realizzare qualsiasi cambiamento delle funzionalità di base per l'utente.
  4. Un ecosistema ampio. Ci sono diverse centinaia di partner: https://partnerdirectory.atlassian.com, tra cui 16 partner in Russia. È possibile acquistare il software Atlassian, i plugin e seguire corsi di formazione solo tramite i partner in Russia. Sono proprio i partner a sviluppare e mantenere la maggior parte dei plugin.
  5. Negozio delle applicazioni (plugin): https://marketplace.atlassian.com. I plugin espandono notevolmente le funzionalità del software Atlassian. Le funzionalità di base del software Atlassian sono piuttosto modeste e praticamente per ogni compito si rende necessario installare ulteriori plugin, gratuitamente o a pagamento. Pertanto, i costi del software possono risultare significativamente superiori a quanto inizialmente stimato.
    Attualmente, nel negozio sono pubblicati diverse migliaia di plugin, quasi mille dei quali sono stati testati e convalidati secondo il programma Data Center approved apps. Questi plugin possono essere considerati stabili e adatti per l'uso in sistemi sovraccarichi.
    Consiglio di prestare particolare attenzione alla pianificazione dei plugin, poiché ciò influisce notevolmente sul costo della soluzione; molti plugin possono portare a instabilità del sistema e il produttore del plugin potrebbe non fornire supporto per la risoluzione dei problemi.
  6. Formazione e certificazioni: https://www.atlassian.com/university
  7. Sono supportati i meccanismi SSO e SAML 2.0.
  8. Il supporto della scalabilità e dell'alta disponibilità è disponibile solo nelle edizioni Data Center. Questa edizione è stata introdotta per la prima volta nel 2014 (Jira 6.3). La funzionalità delle edizioni Data Center viene costantemente ampliata e migliorata (ad esempio, la possibilità di installazione su 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 da parte del fornitore è praticamente pari al costo totale delle licenze software. Un esempio di calcolo dei costi delle licenze è fornito di seguito.
  10. Assenza di versioni Long Term. Ci sono così chiamate versioni Enterprise, ma anche queste, come tutte le altre versioni, sono supportate per 2 anni. Con la differenza che per le versioni Enterprise vengono rilasciate solo correzioni, senza aggiungere nuove funzionalità.
  11. Opzioni di supporto avanzate (a pagamento). https://www.atlassian.com/enterprise/support-services
  12. Vengono supportate diverse opzioni di DBMS. Il software Atlassian viene fornito con il DBMS gratuito H2, ma questo DBMS non è raccomandato per l'uso in produzione. Per l'uso in produzione sono supportati i seguenti DBMS: Amazon Aurora (solo per Data Center), PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Ci sono limitazioni sulle versioni supportate e spesso vengono supportate solo versioni più vecchie, ma per ogni DBMS è disponibile una versione con supporto da parte del fornitore:
    Piattaforme supportate da Jira,
    Piattaforme supportate da Confluence.

Architettura tecnica

Come implementare Atlassian Jira + Confluence in azienda. Questioni tecniche

Note allo schema:

  • Lo schema mostra l'implementazione nella nostra banca, questa configurazione è fornita come esempio e non è raccomandata.
  • nginx fornisce funzionalità di reverse-proxy sia per Jira che per Confluence.
  • L'alta disponibilità del DBMS viene realizzata attraverso i mezzi del DBMS.
  • Il trasferimento delle modifiche tra gli ambienti avviene tramite il plugin Configuration Manager for Jira.
  • AppSrv nello schema è un proprio server di applicazioni per la reportistica, non utilizza il software Atlassian.
  • Il database EasyBI è stato creato per costruire cubi e report utilizzando il plugin eazyBI Reports and Charts for Jira.
  • Il servizio Confluence Synchrony (componente che consente la modifica contemporanea dei documenti) non è stato separato in un'installazione a sé stante e viene avviato insieme a Confluence, sullo stesso server.

Licensing

Le questioni relative alle licenze Atlassian meritano un articolo separato; qui menzionerò solo i principi generali.
Le principali domande che ci siamo posti riguardano le licenze delle edizioni Data Center. Caratteristiche delle licenze per le edizioni Server e Data Center:

  1. La licenza per l'edizione Server è perpetua e il cliente può utilizzare il software anche dopo la scadenza della licenza. Tuttavia, dopo la scadenza della licenza, il cliente perde il diritto di ricevere supporto per il prodotto e di aggiornare il software alle versioni attuali.
  2. La licenza viene concessa in base al numero di utenti nell'autorizzazione globale ‘JIRA Users’. In questo caso, non importa se gli utenti utilizzano il sistema o meno: anche se gli utenti non hanno mai effettuato l'accesso al sistema, tutti gli utenti saranno conteggiati per la licenza. Nel caso in cui il numero di utenti autorizzati superi il limite, la soluzione sarà revocare l'autorizzazione ‘JIRA Users’ a una parte degli utenti.
  3. La licenza per Data Center è in effetti un abbonamento. È richiesto un pagamento annuale per la licenza. Alla scadenza del termine, l'accesso al sistema sarà bloccato.
  4. Il costo delle licenze può variare nel tempo. Come dimostra la pratica, in aumento e, possibilmente, in modo significativo. Pertanto, se quest'anno le licenze costano una certa somma, l'anno successivo il costo delle licenze potrebbe aumentare.
  5. La licenza è basata sul numero di utenti per tier (ad esempio, livello 1001-2000 utenti). È possibile passare a un tier superiore con un pagamento supplementare.
  6. Nel caso in cui il numero di utenti autorizzati superi il limite, nuovi utenti saranno creati senza diritto di accesso al sistema (‘JIRA Users’ global permission).
  7. I plugin possono essere autorizzati solo per lo stesso numero di utenti del software principale.
  8. È necessario licenziare solo le installazioni produttive, per le altre è possibile ottenere una licenza Developer: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Per acquistare supporto, è necessario acquistare il rinnovo della manutenzione software — il costo è circa il 50% del costo del software iniziale. Questa opzione non è disponibile per Data Center e non si applica ai plugin: per il loro supporto sarà necessario pagare l'intero importo annualmente.
    Pertanto, il supporto annuale del software costa oltre il 50% del costo totale del software nel caso dell'edizione Server e il 100% nel caso dell'edizione Data Center: questo è significativamente più alto rispetto alla maggior parte degli altri fornitori. A mio avviso, questo rappresenta un notevole svantaggio del modello di business di Atlassian.

Caratteristiche del passaggio dall'edizione Server a Data Center:

  1. Il passaggio dalla versione Server a Data Center è a pagamento. È possibile trovare i costi qui https://www.atlassian.com/licensing/data-center.
  2. Durante il passaggio dalla versione Server a Data Center non è necessario pagare per la modifica dei plugin: i plugin per la versione Server continueranno a funzionare. Tuttavia, sarà obbligatorio rinnovare le licenze per i plugin già per la versione Data Center.
  3. È possibile utilizzare plugin per i quali non esiste una versione compatibile con le edizioni Data Center. Tuttavia, è chiaro che tali plugin potrebbero non funzionare correttamente e sarebbe meglio prevedere in anticipo un'alternativa per questi plugin.
  4. Il passaggio alla versione Data Center avviene mediante l'installazione di una nuova licenza. La licenza per la versione Server rimarrà comunque disponibile.
  5. Non ci sono differenze funzionali tra le edizioni Data Center e Server per gli utenti; tutte le differenze riguardano solo le funzioni di amministrazione e le capacità tecniche di installazione.
  6. Il costo del software e dei plugin varia tra le edizioni Server e Data Center. La differenza di prezzo è spesso inferiore al 5% (non è rilevante). Un esempio di calcolo del costo è fornito di seguito.

Volume funzionale dell'implementazione

La fornitura base del software Atlassian include un'enorme quantità di funzionalità, ma spesso le possibilità offerte dal sistema sono fortemente insufficienti. A volte, anche le funzioni più semplici non sono disponibili nella fornitura base, per cui è praticamente impossibile fare a meno di 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 sulle tabelle con i plugin:

  • Tutti i prezzi sono calcolati su una base di 2000 utenti;
  • I prezzi sono basati sui prezzi indicati https://marketplace.atlassian.com, il costo reale (con sconti) risulta inferiore;
  • Come possiamo vedere, l'importo finale non differisce praticamente tra le edizioni Data Center e Server;
  • Per l'utilizzo sono stati selezionati solo plugin che supportano l'edizione Data Center. Gli altri plugin sono stati esclusi dai piani per 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;
  • Aggiunto un toolkit per i progetti secondo il modello a cascata;
  • Aggiunto un toolkit per Scrum scalabile, per organizzare il lavoro di grandi team di progetto;
  • Aggiunta la funzionalità per la gestione del tempo;
  • Aggiunti strumenti per l'automazione delle operazioni e la configurazione della soluzione;
  • Aggiunta la funzionalità per semplificare e automatizzare l'amministrazione della soluzione.

In aggiunta, utilizziamo l'app Atlassian Companion. Questa applicazione consente di modificare i 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 utilizzare a causa di un cattivo supporto da parte del fornitore e 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 le stesse finalità, prevediamo di utilizzare un plugin a pagamento Ceptah Bridge — JIRA MS Project Plugin, che viene installato come componente aggiuntivo su MS Project.
Integrazione con applicazioni esterne realizzata attraverso Application Links. In questo modo, per le applicazioni Atlassian, le integrazioni sono preconfigurate e funzionano subito dopo la configurazione, ad esempio, è possibile visualizzare sulla pagina in Confluence informazioni sulle Issues in Jira.
Per accedere ai server Jira e Confluence si utilizza REST API: https://developer.atlassian.com/server/jira/platform/rest-apis.
API SOAP e XML-RPC deprecate e non disponibili nelle nuove versioni per l'uso.

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, tollerante ai guasti, contiene tre ambienti per l'organizzazione dello sviluppo e dei test, comprende tutti gli elementi necessari per la collaborazione nel sistema e fornisce un'ampia gamma 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