Come implementare Atlassian Jira + Confluence in un'azienda. Domande tecniche

Hai intenzione di implementare il software Atlassian (Jira, Confluence)? Non vuoi commettere crudeli errori di progettazione che poi dovranno essere risolti all’ultimo momento?

Come implementare Atlassian Jira + Confluence in un'azienda. Domande tecniche
Allora questo è il posto che fa per te: stiamo valutando l'implementazione di Atlassian Jira + Confluence nelle aziende, tenendo conto di vari aspetti tecnici.
Salve, sono un Product Owner presso RSHB e sono responsabile dello sviluppo di un sistema di gestione del ciclo di vita (LCMS) basato sui prodotti software Atlassian Jira e Confluence.

In questo articolo descriverò gli aspetti tecnici della costruzione di un sistema di gestione della vita. L'articolo sarà utile a chiunque stia pianificando di implementare o sviluppare Atlassian Jira e Confluence in un ambiente aziendale. L'articolo non richiede conoscenze particolari ed è destinato a un livello iniziale di familiarità con i prodotti Atlassian. L'articolo sarà utile ad amministratori, proprietari di prodotti, project manager, architetti e chiunque intenda implementare sistemi basati sul software Atlassian.

Introduzione

L'articolo discuterà le questioni tecniche relative all'implementazione di un sistema di gestione del ciclo di vita (LCMS) in un ambiente aziendale. Definiamo innanzitutto cosa significa.

Cosa significa soluzione aziendale?

Ciò significa che la soluzione:

  1. Scalabile. Se il carico aumenta è tecnicamente possibile aumentare la capacità del sistema. Separano il ridimensionamento orizzontale e verticale: con il ridimensionamento verticale aumenta la potenza dei server, con il ridimensionamento orizzontale aumenta il numero di server per il sistema.
  2. Tollerante agli errori. Il sistema rimarrà disponibile se un elemento fallisce. In generale, i sistemi aziendali non richiedono la tolleranza agli errori, ma prenderemo in considerazione proprio questa soluzione. Prevediamo di avere diverse centinaia di utenti competitivi nel nostro sistema e i tempi di inattività saranno molto critici.
  3. Supportato. La soluzione deve essere supportata dal fornitore. Il software non supportato deve essere sostituito con software proprietario o altro software supportato.
  4. Installazione Autogestito (In sede). L'autogestione è la possibilità di installare software non nel cloud, ma sui propri server. Per essere più precisi, queste sono tutte opzioni di installazione non SaaS. In questo articolo prenderemo in considerazione le opzioni di installazione solo per l'Autogestita.
  5. Possibilità di sviluppo e test indipendenti. Per organizzare i cambiamenti prevedibili nel sistema, sono necessari un sistema separato per lo sviluppo (cambiamenti nel sistema stesso), un sistema di test (Staging) e un sistema produttivo per gli utenti.
  6. Другое. Supporta vari scenari di autenticazione, supporta i registri di controllo, ha un modello di ruolo personalizzabile, ecc.

Questi sono gli elementi principali delle soluzioni aziendali e, purtroppo, spesso vengono dimenticati quando si progetta un sistema.

Che cos'è un sistema di gestione del ciclo di vita (LCMS)?

In breve, nel nostro caso si tratta di Atlassian Jira e Atlassian Confluence, un sistema che fornisce strumenti per organizzare il lavoro di squadra. Il sistema non “impone” regole per l’organizzazione del lavoro, ma fornisce una varietà di strumenti di lavoro, tra cui Scrum, schede Kanban, un modello a cascata, Scrum scalabile, ecc.
Il nome LMS non è un termine di settore o un concetto di uso comune, è semplicemente il nome del sistema della nostra Banca. Per noi, LMS non è un sistema di tracciamento dei bug, né un sistema di gestione degli incidenti o un sistema di gestione del cambiamento.

Cosa include l'implementazione?

L’implementazione della soluzione comporta numerose questioni tecniche e organizzative:

  • Assegnazione della capacità tecnica.
  • Acquisto del software.
  • Creazione di un team per implementare la soluzione.
  • Installazione e configurazione della soluzione.
  • Sviluppo dell'architettura della soluzione. Modello di ruolo.
  • Sviluppo della documentazione operativa, comprese istruzioni, regolamenti, progettazione tecnica, regolamenti, ecc.
  • Cambiare i processi aziendali.
  • Creazione di un team di supporto. Sviluppo degli SLA.
  • Formazione degli utenti.
  • Другое.

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

Caratteristiche Atlassiane

Atlassian è leader in molti segmenti:

I prodotti Atlassian forniscono tutte le funzionalità aziendali di cui hai bisogno. Noterò le seguenti caratteristiche:

  1. Le soluzioni Atlassian sono basate sul server web Java Tomcat. Il software Apache Tomcat è incluso nel software Atlassian come parte dell'installazione; non è possibile modificare la versione di Apache Tomcat installata come parte del software Atlassian, anche se la versione è obsoleta e contiene vulnerabilità. L'unica opzione è attendere un aggiornamento da Atlassian, con una versione più recente di Apache Tomcat. Ora, ad esempio, le versioni attuali di Jira hanno Apache Tomcat 8.5.42 e Confluence ha Apache Tomcat 9.0.33.
  2. Vengono implementate l'interfaccia intuitiva e le migliori pratiche disponibili sul mercato per questa classe di software.
  3. Soluzione completamente personalizzabile. Con le modifiche è possibile implementare qualsiasi cambiamento nelle 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. È attraverso i partner in Russia che puoi acquistare software Atlassian, plug-in e seguire corsi di formazione. Sono i partner che sviluppano e supportano la maggior parte dei plugin.
  5. Negozio di applicazioni (plugin): https://marketplace.atlassian.com. I plugin espandono in modo significativo la funzionalità del software Atlassian. La funzionalità di base del software Atlassian è piuttosto modesta; per quasi tutte le attività diventa necessario installare plug-in aggiuntivi gratuitamente o dietro compenso aggiuntivo. Pertanto, i costi del software potrebbero rivelarsi significativamente più elevati di quanto inizialmente stimato.
    Attualmente nello store sono state pubblicate diverse migliaia di plugin, quasi un migliaio di essi sono stati testati e convalidati nell'ambito del programma di app approvate da Data Center. Tali plugin possono essere considerati stabili e adatti all'uso su sistemi occupati.
    Ti consiglio di affrontare con attenzione la questione della pianificazione dei plugin, ciò incide notevolmente sul costo della soluzione, molti plugin possono portare all'instabilità del sistema e il produttore del plugin non fornisce supporto per risolvere il problema.
  6. Formazione e certificazioni: https://www.atlassian.com/university
  7. Sono supportati i meccanismi SSO e SAML 2.0.
  8. Il supporto per la scalabilità e la tolleranza agli errori è disponibile solo nelle edizioni Data Center. Questa edizione è apparsa 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 a nodo singolo è apparsa solo nel 2020). L'approccio ai plug-in per le edizioni Data Center è cambiato molto nel 2018 con l'introduzione delle app approvate da Data Center.
  9. Costo del supporto. Il costo del supporto da parte del fornitore è quasi pari al costo totale delle licenze software. Di seguito è riportato un esempio di calcolo del costo delle licenze.
  10. Mancanza di versioni a lungo termine. Ci sono i cosiddetti Versioni aziendali, ma, come tutte le altre versioni, sono supportate per 2 anni. Con la differenza che per le versioni Enterprise vengono rilasciati solo i fix, senza aggiungere nuove funzionalità.
  11. Opzioni di supporto estese (a costo aggiuntivo). https://www.atlassian.com/enterprise/support-services
  12. Sono supportate diverse opzioni DBMS. Il software Atlassian viene fornito con un DBMS H2 gratuito; questo DBMS non è consigliato per l'uso produttivo. Per l'uso produttivo sono supportati i seguenti DBMS: Amazon Aurora (solo Data Center) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Esistono restrizioni sulle versioni supportate e spesso sono supportate solo le versioni precedenti, ma per ogni DBMS esiste una versione con supporto del fornitore:
    Piattaforme supportate da Jira,
    Piattaforme supportate da Confluence.

Architettura tecnica

Come implementare Atlassian Jira + Confluence in un'azienda. Domande tecniche

Spiegazioni per il diagramma:

  • Lo schema mostra l'implementazione nella nostra Banca; questa configurazione è data a titolo esemplificativo e non è consigliata.
  • nginx fornisce funzionalità proxy inverso sia per Jira che per Confluence.
  • La tolleranza agli errori del DBMS viene implementata tramite il DBMS.
  • Le modifiche vengono trasferite tra ambienti utilizzando il plugin Configuration Manager per Jira.
  • AppSrv nel diagramma è un server applicativo proprietario per la reportistica e non utilizza il software Atlassian.
  • Il database EasyBI è stato creato per creare cubi e creare report utilizzando il plug-in eazyBI Reports and Charts for Jira.
  • Il servizio Confluence Synchrony (un componente che consente la modifica simultanea di documenti) non è separato in un'installazione separata e viene avviato insieme a Confluence, sullo stesso server.

licenza

Le questioni legate alle licenze Atlassian meritano un articolo a parte; qui citerò solo i principi generali.
I problemi principali che abbiamo riscontrato riguardavano problemi di licenza per le edizioni Data Center. Funzionalità di licenza 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. Ma dopo la scadenza della licenza, l'acquirente perde il diritto di ricevere supporto per il prodotto e aggiornare il software alle versioni più recenti.
  2. La licenza si basa sul numero di utenti nel sistema di autorizzazione globale "Utenti JIRA". Non importa se utilizzano il sistema o meno: anche se gli utenti non hanno mai effettuato l'accesso al sistema, tutti gli utenti verranno presi in considerazione per la licenza. Se il numero di utenti con licenza viene superato, la soluzione sarebbe rimuovere l'autorizzazione "Utenti JIRA" da alcuni utenti.
  3. Una licenza Data Center è effettivamente un abbonamento. È richiesto un canone annuale di licenza. Se il periodo scade, il lavoro con il sistema verrà bloccato.
  4. I prezzi delle licenze possono variare nel tempo. Come dimostra la pratica, in misura maggiore e, forse, in modo significativo. Pertanto, se le tue licenze costano lo stesso importo quest'anno, l'anno prossimo il costo delle licenze potrebbe aumentare.
  5. La licenza viene effettuata per utente in base al livello (ad esempio, utenti di livello 1001-2000). È possibile passare ad un livello superiore, con un pagamento aggiuntivo.
  6. Se il numero di utenti con licenza viene superato, verranno creati nuovi utenti senza diritto di accesso (autorizzazione globale 'Utenti JIRA').
  7. I plugin possono essere concessi in licenza solo per lo stesso numero di utenti del software principale.
  8. Solo le installazioni produttive necessitano di licenza; per il resto puoi ottenere una licenza Developer: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Per acquistare la manutenzione, è necessario acquistare la manutenzione Renew Software: il costo è circa il 50% del costo del software originale. Questa funzionalità non è disponibile per Data Center e non si applica ai plugin; per supportarli dovrai pagare annualmente il prezzo intero.
    Pertanto, il supporto software annuale costa oltre il 50% del costo totale del software nel caso dell'edizione Server e il 100% nel caso dell'edizione Data Center: questo è molto più della maggior parte degli altri fornitori. A mio parere, questo è uno svantaggio significativo del modello di business di Atlassian.

Caratteristiche del passaggio dall'edizione Server al Data Center:

  1. L'aggiornamento dall'edizione Server a Data Center è a pagamento. Il costo può essere trovato qui https://www.atlassian.com/licensing/data-center.
  2. Quando si passa dall'edizione Server a Data Center, non è necessario pagare per cambiare l'edizione dei plugin: i plugin per l'edizione Server continueranno a funzionare. Ma sarà necessario rinnovare le licenze dei plugin per l'edizione Data Center.
  3. Potresti essere in grado di utilizzare plug-in che non dispongono di una versione per l'utilizzo con le edizioni Data Center. Naturalmente, tuttavia, tali plugin potrebbero non funzionare correttamente ed è meglio fornire in anticipo un'alternativa a tali plugin.
  4. Il passaggio all'edizione Data Center viene effettuato installando una nuova licenza. La licenza per l'edizione Server resta tuttavia ancora disponibile.
  5. Non ci sono differenze funzionali tra le edizioni Data Center e Server per gli utenti; tutte le differenze riguardano solo le funzioni amministrative e le capacità di installazione tecnica.
  6. Il costo del software e dei plugin varia per le edizioni Server e Data Center. La differenza di costo è spesso inferiore al 5% (non significativa). Di seguito è riportato un esempio di calcolo dei costi.

Ambito funzionale di implementazione

Il pacchetto software Atlassian di base include un'enorme quantità di funzionalità, ma spesso le funzionalità fornite dal sistema sono gravemente carenti. A volte anche le funzioni più semplici non sono disponibili nel pacchetto base, quindi i plugin sono indispensabili per quasi tutte le implementazioni. Per il sistema Jira utilizziamo i seguenti plugin (immagine cliccabile):
Come implementare Atlassian Jira + Confluence in un'azienda. Domande tecniche

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

Commenti sulle tabelle con plugin:

  • Tutti i prezzi sono basati su 2000 utenti;
  • I prezzi indicati si basano sui prezzi indicati https://marketplace.atlassian.com, il costo reale (al netto degli sconti) è inferiore;
  • Come puoi vedere l'importo totale è praticamente lo stesso per le edizioni Data Center e Server;
  • Vengono selezionati per l'uso solo i plugin che supportano l'edizione Data Center. Abbiamo escluso i restanti plugin dai piani per la stabilità del sistema.

La funzionalità è brevemente descritta nella colonna Commento. Plugin aggiuntivi hanno ampliato la funzionalità del sistema:

  • Aggiunti diversi strumenti visivi;
  • I meccanismi di integrazione sono stati migliorati;
  • Aggiunti strumenti per progetti di modelli a cascata;
  • Aggiunti strumenti per Scrum scalabile, per organizzare il lavoro di grandi team di progetto;
  • Aggiunta funzionalità per il monitoraggio del tempo;
  • Aggiunti strumenti per automatizzare le operazioni e configurare la soluzione;
  • Aggiunte funzionalità per semplificare e automatizzare l'amministrazione della soluzione.

Inoltre usiamo Applicazione Atlassian Companion. Questa applicazione consente di modificare file in applicazioni esterne (MS Office) e restituirli a Confluence (check-in).
Applicazione per postazioni utente (thick client) ALM funziona con il client Jira https://marketplace.atlassian.com/apps/7070 ho deciso di non utilizzarlo a causa dello scarso supporto del fornitore e delle recensioni negative.
per integrazione con MS Project Utilizziamo un'applicazione scritta autonomamente che ti consente di aggiornare gli stati dei problemi in MS Project da Jira e viceversa. In futuro, per gli stessi scopi, prevediamo di utilizzare un plugin a pagamento Septah Bridge - Plug-in del progetto JIRA MS, che viene installato come componente aggiuntivo di MS Project.
Integrazione con applicazioni esterne implementato tramite collegamenti applicativi. Allo stesso tempo, per le applicazioni Atlassian, le integrazioni sono preconfigurate e funzionano immediatamente dopo la configurazione, ad esempio è possibile visualizzare informazioni sui problemi in Jira in una pagina in Confluence.
Per accedere ai server Jira e Confluence viene utilizzata l'API REST: https://developer.atlassian.com/server/jira/platform/rest-apis.
Le API SOAP e XML-RPC sono deprecate e non sono disponibili per l'uso nelle versioni più recenti.

conclusione

Quindi, abbiamo esaminato le caratteristiche tecniche dell'implementazione di un sistema basato sui prodotti Atlassian. La soluzione proposta rappresenta una possibile soluzione e ben si adatta ad un ambiente aziendale

La soluzione proposta è scalabile, tollerante ai guasti, contiene tre ambienti per l'organizzazione dello sviluppo e dei test, contiene tutti gli elementi necessari per la collaborazione nel sistema e fornisce un'ampia gamma di strumenti per la gestione del progetto.

Sarò felice di rispondere alle domande nei commenti.

Fonte: habr.com