Cum se implementează Atlassian Jira + Confluence într-o corporație. Întrebări tehnice

Intenționați să implementați software-ul Atlassian (Jira, Confluence)? Nu doriți să faceți greșeli crude de design care vor trebui apoi rezolvate în ultimul moment?

Cum se implementează Atlassian Jira + Confluence într-o corporație. Întrebări tehnice
Atunci acesta este locul pentru tine - luăm în considerare implementarea Atlassian Jira + Confluence în corporații, ținând cont de diverse aspecte tehnice.
Bună ziua, sunt Product Owner la RSHB și sunt responsabil pentru dezvoltarea unui sistem de management al ciclului de viață (LCMS) construit pe produsele software Atlassian Jira și Confluence.

În acest articol voi descrie aspectele tehnice ale construirii unui sistem de management al vieții. Articolul va fi util oricărei persoane care intenționează să implementeze sau dezvoltă Atlassian Jira și Confluence într-un mediu corporativ. Articolul nu necesită cunoștințe speciale și este destinat unui nivel inițial de familiarizare cu produsele Atlassian. Articolul va fi util administratorilor, proprietarilor de produse, managerilor de proiect, arhitecților și oricui intenționează să implementeze sisteme bazate pe software-ul Atlassian.

Introducere

Articolul va discuta problemele tehnice ale implementării unui sistem de management al ciclului de viață (LCMS) într-un mediu corporativ. Să definim mai întâi ce înseamnă asta.

Ce înseamnă o soluție corporativă?

Aceasta înseamnă soluția:

  1. Scalabil. Dacă sarcina crește, este posibil din punct de vedere tehnic să creșteți capacitatea sistemului. Ele separă scalarea orizontală și verticală - cu scalarea verticală, puterea serverelor crește, cu scalarea orizontală crește numărul de servere pentru sistem.
  2. Tolerant la erori. Sistemul va rămâne disponibil dacă un element eșuează. În general, sistemele corporative nu necesită toleranță la erori, dar vom lua în considerare doar o astfel de soluție. Intenționăm să avem câteva sute de utilizatori competitivi în sistemul nostru, iar timpul de nefuncționare va fi foarte critic.
  3. Sprijinit. Soluția trebuie să fie susținută de furnizor. Software-ul neacceptat trebuie înlocuit cu software proprietar sau alt software acceptat.
  4. Instalare Autogestionat (La locație). Autogestionat este capacitatea de a instala software nu în cloud, ci pe propriile servere. Pentru a fi mai precis, acestea sunt toate opțiuni de instalare non-SaaS. În acest articol vom lua în considerare opțiunile de instalare numai pentru autogestionare.
  5. Posibilitatea de dezvoltare și testare independentă. Pentru a organiza schimbări previzibile în sistem, este necesar un sistem separat de dezvoltare (modificări în sistemul în sine), un sistem de testare (Staging) și un sistem productiv pentru utilizatori.
  6. Mai mult. Acceptă diverse scenarii de autentificare, acceptă jurnalele de audit, are un model de rol personalizabil etc.

Acestea sunt elementele principale ale soluțiilor de întreprindere și, din păcate, sunt adesea uitate atunci când proiectați un sistem.

Ce este un sistem de management al ciclului de viață (LCMS)?

Pe scurt, în cazul nostru acestea sunt Atlassian Jira și Atlassian Confluence - un sistem care oferă instrumente pentru organizarea muncii în echipă. Sistemul nu „impune” reguli pentru organizarea muncii, ci oferă o varietate de instrumente pentru lucru, inclusiv Scrum, panouri Kanban, un model în cascadă, Scrum scalabil etc.
Numele LMS nu este un termen industrial sau un concept folosit în mod obișnuit, este pur și simplu numele sistemului din Banca noastră. Pentru noi, LMS nu este un sistem de urmărire a erorilor, nici un sistem de management al incidentelor sau un sistem de management al schimbărilor.

Ce include implementarea?

Implementarea soluției constă în multe probleme tehnice și organizatorice:

  • Alocarea capacității tehnice.
  • Achiziție software.
  • Crearea unei echipe pentru implementarea soluției.
  • Instalarea si configurarea solutiei.
  • Dezvoltarea arhitecturii soluției. Model.
  • Elaborarea documentației operaționale, inclusiv instrucțiuni, reglementări, proiectare tehnică, reglementări etc.
  • Schimbarea proceselor companiei.
  • Crearea unei echipe de suport. Dezvoltare SLA.
  • Instruirea utilizatorilor.
  • Mai mult.

În acest articol ne vom uita la aspectele tehnice ale implementării, fără detalii despre componenta organizatorică.

Caracteristici Atlassian

Atlassian este lider în multe segmente:

Produsele Atlassian oferă toate caracteristicile pentru întreprinderi de care aveți nevoie. Voi nota următoarele caracteristici:

  1. Soluțiile Atlassian se bazează pe serverul web Java Tomcat. Software-ul Apache Tomcat este inclus cu software-ul Atlassian ca parte a instalării; nu puteți modifica versiunea Apache Tomcat instalată ca parte a software-ului Atlassian, chiar dacă versiunea este învechită și conține vulnerabilități. Singura opțiune este să așteptați o actualizare de la Atlassian, cu o versiune mai nouă de Apache Tomcat. Acum, de exemplu, versiunile actuale de Jira au Apache Tomcat 8.5.42, iar Confluence are Apache Tomcat 9.0.33.
  2. Interfață ușor de utilizat, cele mai bune practici disponibile pe piață pentru această clasă de software sunt implementate.
  3. Soluție complet personalizabilă. Cu modificări, puteți implementa orice modificare a funcționalității de bază pentru utilizator.
  4. Ecosistem dezvoltat. Există câteva sute de parteneri: https://partnerdirectory.atlassian.com, inclusiv 16 parteneri din Rusia. Prin intermediul partenerilor din Rusia puteți cumpăra software Atlassian, plugin-uri și puteți urma cursuri de formare. Partenerii sunt cei care dezvoltă și sprijină majoritatea pluginurilor.
  5. Magazin de aplicații (pluginuri): https://marketplace.atlassian.com. Pluginurile extind semnificativ funcționalitatea software-ului Atlassian. Funcționalitatea de bază a software-ului Atlassian este destul de modestă; pentru aproape orice sarcină, devine necesar să instalați pluginuri suplimentare gratuit sau pentru bani suplimentari. Prin urmare, costurile software-ului se pot dovedi a fi semnificativ mai mari decât estimarea inițială.
    În prezent, în magazin au fost publicate câteva mii de plugin-uri, aproape o mie dintre ele au fost testate și validate în cadrul programului de aplicații aprobat de Data Center. Astfel de pluginuri pot fi considerate stabile și potrivite pentru utilizare pe sisteme ocupate.
    Vă sfătuiesc să abordați cu atenție problema planificării pluginurilor, acest lucru afectează foarte mult costul soluției, multe dintre pluginuri pot duce la instabilitatea sistemului, iar producătorul pluginului nu oferă suport pentru rezolvarea problemei.
  6. Training si certificari: https://www.atlassian.com/university
  7. Sunt acceptate mecanismele SSO și SAML 2.0.
  8. Suportul pentru scalabilitate și toleranță la erori este disponibil numai în edițiile Data Center. Această ediție a apărut pentru prima dată în 2014 (Jira 6.3). Funcționalitatea edițiilor Data Center este în mod constant extinsă și îmbunătățită (de exemplu, posibilitatea instalării unui singur nod a apărut abia în 2020). Abordarea pluginurilor pentru edițiile Data Center s-a schimbat mult în 2018 odată cu introducerea aplicațiilor aprobate de Data Center.
  9. Costul suportului. Costul suportului de la furnizor este aproape egal cu costul total al licențelor software. Un exemplu de calcul al costului licențelor este prezentat mai jos.
  10. Lipsa lansărilor pe termen lung. Există așa-zise Versiuni Enterprise, dar ele, ca toate celelalte versiuni, sunt acceptate timp de 2 ani. Cu diferența că pentru versiunile Enterprise sunt lansate doar corecții, fără a adăuga noi funcționalități.
  11. Opțiuni de asistență extinse (la un cost suplimentar). https://www.atlassian.com/enterprise/support-services
  12. Sunt acceptate mai multe opțiuni DBMS. Software-ul Atlassian vine cu un SGBD H2 gratuit; acest SGBD nu este recomandat pentru utilizare productivă. Următoarele SGBD-uri sunt acceptate pentru utilizare productivă: Amazon Aurora (numai pentru centrul de date) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Există restricții privind versiunile acceptate și adesea sunt acceptate doar versiunile mai vechi, dar pentru fiecare DBMS există o versiune cu suport de furnizor:
    Platforme acceptate Jira,
    Platforme acceptate de Confluence.

Arhitectura tehnica

Cum se implementează Atlassian Jira + Confluence într-o corporație. Întrebări tehnice

Explicații pentru diagramă:

  • Diagrama prezintă implementarea în Banca noastră; această configurație este dată ca exemplu și nu este recomandată.
  • nginx oferă funcționalitate reverse-proxy atât pentru Jira, cât și pentru Confluence.
  • Toleranța la erori a SGBD este implementată prin intermediul SGBD.
  • Modificările sunt transferate între medii utilizând pluginul Configuration Manager pentru Jira.
  • AppSrv din diagramă este un server de aplicații proprietar pentru raportare și nu utilizează software-ul Atlassian.
  • Baza de date EasyBI a fost creată pentru construirea de cuburi și raportare folosind pluginul eazyBI Reports and Charts for Jira.
  • Serviciul Confluence Synchrony (o componentă care permite editarea simultană a documentelor) nu este separat într-o instalare separată și este lansat împreună cu Confluence, pe același server.

licențiere

Problemele de licențiere Atlassian merită un articol separat; aici voi menționa doar principii generale.
Principalele probleme pe care le-am întâlnit au fost probleme de licențiere pentru edițiile Data Center. Caracteristici de licențiere pentru edițiile Server și Data Center:

  1. Licența pentru ediția Server este perpetuă, iar cumpărătorul poate folosi software-ul chiar și după expirarea licenței. Dar după expirarea licenței, cumpărătorul este privat de dreptul de a primi asistență pentru produs și de a actualiza software-ul la cele mai recente versiuni.
  2. Licențierea se bazează pe numărul de utilizatori din sistemul de permisiune globală „Utilizatori JIRA”. Nu contează dacă folosesc sistemul sau nu - chiar dacă utilizatorii nu s-au autentificat niciodată în sistem, toți utilizatorii vor fi luați în considerare pentru licență. Dacă numărul de utilizatori licențiați este depășit, soluția ar fi eliminarea permisiunii „Utilizatori JIRA” de la unii utilizatori.
  3. O licență pentru Data Center este efectiv un abonament. Este necesară o taxă anuală de licență. Dacă perioada expiră, lucrul cu sistemul va fi blocat.
  4. Prețurile licenței se pot schimba în timp. După cum arată practica, într-o măsură mai mare și, poate, semnificativ. Prin urmare, dacă licențele dvs. costă aceeași sumă anul acesta, atunci costul licențelor poate crește anul viitor.
  5. Licențierea este efectuată de utilizator pe nivel (de exemplu, utilizatori de nivel 1001-2000). Este posibil să faceți upgrade la un nivel superior, cu o plată suplimentară.
  6. Dacă numărul de utilizatori licențiați este depășit, vor fi creați noi utilizatori fără drept de autentificare (permisiunea globală „Utilizatori JIRA”).
  7. Pluginurile pot fi licențiate numai pentru același număr de utilizatori ca și software-ul principal.
  8. Doar instalațiile productive trebuie să fie licențiate; pentru restul puteți obține o licență de dezvoltator: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Pentru a achiziționa întreținere, trebuie să achiziționați întreținere Renew Software - costul este de aproximativ 50% din costul software-ului original. Această funcție nu este disponibilă pentru Data Center și nu se aplică pluginurilor; pentru a le susține, va trebui să plătiți anual prețul integral.
    Astfel, suportul software anual costă mai mult de 50% din costul total al software-ului în cazul ediției Server și 100% în cazul ediției Data Center - aceasta este semnificativ mai mult decât majoritatea celorlalți furnizori. În opinia mea, acesta este un dezavantaj semnificativ al modelului de afaceri al lui Atlassian.

Caracteristici ale tranziției de la ediția Server la Data Center:

  1. Există o taxă pentru actualizarea de la ediția Server la Data Center. Costul poate fi găsit aici https://www.atlassian.com/licensing/data-center.
  2. Când treceți de la ediția Server la Data Center, nu trebuie să plătiți pentru schimbarea ediției de pluginuri - pluginurile pentru ediția Server vor continua să funcționeze. Dar va fi necesară reînnoirea licențelor pentru pluginuri pentru ediția Data Center.
  3. Este posibil să puteți utiliza pluginuri care nu au o versiune pentru utilizarea cu edițiile Data Center. Cu toate acestea, desigur, este posibil ca astfel de pluginuri să nu funcționeze corect și este mai bine să oferiți o alternativă la astfel de pluginuri în avans.
  4. Tranziția la ediția Data Center se realizează prin instalarea unei noi licențe. Cu toate acestea, licența pentru ediția Server rămâne disponibilă.
  5. Nu există diferențe funcționale între edițiile Data Center și Server pentru utilizatori; toate diferențele sunt doar în funcțiile administrative și capabilitățile tehnice de instalare.
  6. Costul software-ului și al pluginurilor variază pentru edițiile Server și Data Center. Diferența de cost este adesea mai mică de 5% (nu este semnificativă). Un exemplu de calcul al costurilor este dat mai jos.

Domeniul funcțional de implementare

Pachetul software de bază Atlassian include o cantitate imensă de capabilități, dar adesea capabilitățile oferite de sistem lipsesc grav. Uneori, chiar și cele mai simple funcții nu sunt disponibile în pachetul de bază, așa că pluginurile sunt indispensabile pentru aproape orice implementare. Pentru sistemul Jira folosim următoarele plugin-uri (poza se poate face clic):
Cum se implementează Atlassian Jira + Confluence într-o corporație. Întrebări tehnice

Pentru sistemul Confluence folosim următoarele plugin-uri (poza se poate face clic):
Cum se implementează Atlassian Jira + Confluence într-o corporație. Întrebări tehnice

Comentarii la tabelele cu pluginuri:

  • Toate prețurile sunt bazate pe 2000 de utilizatori;
  • Prețurile afișate se bazează pe prețurile afișate https://marketplace.atlassian.com, costul real (cu reduceri) este mai mic;
  • După cum puteți vedea, suma totală este practic aceeași pentru edițiile Data Center și Server;
  • Numai pluginurile care acceptă ediția Data Center sunt selectate pentru utilizare. Am exclus pluginurile rămase din planurile pentru stabilitatea sistemului.

Funcționalitatea este descrisă pe scurt în coloana Comentariu. Pluginuri suplimentare au extins funcționalitatea sistemului:

  • S-au adăugat mai multe instrumente vizuale;
  • Mecanismele de integrare au fost îmbunătățite;
  • Instrumente adăugate pentru proiecte de modele de cascadă;
  • Instrumente adăugate pentru Scrum scalabil, pentru organizarea muncii echipelor mari de proiect;
  • Funcționalitate adăugată pentru urmărirea timpului;
  • Au adăugat instrumente pentru automatizarea operațiunilor și configurarea soluției;
  • Funcționalitate adăugată pentru a simplifica și automatiza administrarea soluției.

În plus, folosim Aplicația Atlassian Companion. Această aplicație vă permite să editați fișiere în aplicații externe (MS Office) și să le returnați înapoi la Confluence (check-in).
Aplicație pentru stațiile de lucru ale utilizatorului (client gros) ALM Works Jira Client https://marketplace.atlassian.com/apps/7070 a decis să nu-l folosească din cauza suportului slab al furnizorului și a recenziilor negative.
Pentru integrare cu MS Project Folosim o aplicație auto-scrisă care vă permite să actualizați stările problemelor în MS Project de la Jira și invers. Pe viitor, în aceleași scopuri, intenționăm să folosim un plugin plătit Septah Bridge - Plugin de proiect JIRA MS, care este instalat ca supliment pentru MS Project.
Integrare cu aplicații externe implementat prin Link-uri de aplicație. În același timp, pentru aplicațiile Atlassian, integrările sunt preconfigurate și funcționează imediat după configurare, de exemplu, puteți afișa informații despre Probleme în Jira pe o pagină din Confluence.
Pentru a accesa serverele Jira și Confluence, se folosește API-ul REST: https://developer.atlassian.com/server/jira/platform/rest-apis.
API-ul SOAP și XML-RPC sunt depreciate și nu sunt disponibile pentru utilizare în versiunile mai noi.

Concluzie

Așadar, ne-am uitat la caracteristicile tehnice ale implementării unui sistem bazat pe produse Atlassian. Soluția propusă reprezintă o soluție posibilă și este potrivită pentru un mediu de întreprindere

Soluția propusă este scalabilă, tolerantă la erori, conține trei medii de organizare a dezvoltării și testării, conține toate elementele necesare colaborării în sistem și oferă o gamă largă de instrumente pentru managementul proiectelor.

Voi răspunde cu plăcere la întrebări în comentarii.

Sursa: www.habr.com