Com implementar Atlassian Jira + Confluence en una empresa. Qüestions tècniques

Teniu previst implementar programari Atlassian (Jira, Confluence)? No voleu cometre errors de disseny cruels, que després s'han de resoldre a l'últim moment?

Com implementar Atlassian Jira + Confluence en una empresa. Qüestions tècniques
Aleshores esteu aquí: estem considerant la implementació d'Atlassian Jira + Confluence en una corporació, tenint en compte diversos aspectes tècnics.
Hola, sóc propietari del producte a RSHB i sóc responsable del desenvolupament del sistema de gestió del cicle de vida (LCMS) basat en productes de programari Atlassian Jira i Confluence.

En aquest article descriuré els aspectes tècnics de la creació d'un LCMS. L'article serà útil per a qualsevol persona que tingui previst implementar o desenvolupar Atlassian Jira i Confluence en un entorn corporatiu. L'article no requereix coneixements especials i està dissenyat per a un nivell inicial de familiaritat amb els productes Atlassian. L'article serà útil per a administradors, propietaris de productes, gestors de projectes, arquitectes i tothom que tingui previst implementar sistemes basats en programari Atlassian.

Introducció

L'article tractarà els problemes tècnics de la implementació d'un sistema de gestió del cicle de vida (LCMS) en un entorn corporatiu. Primer definim què significa això.

Què és una solució empresarial?

Això vol dir la solució:

  1. Escalable. En cas d'augment de càrrega, hi ha la possibilitat tècnica d'augmentar la capacitat del sistema. Escalat horitzontal i vertical separat: amb l'escala vertical, s'augmenta la capacitat dels servidors, amb l'escala horitzontal, s'augmenta el nombre de servidors per al funcionament del sistema.
  2. A prova de fallades. El sistema romandrà disponible si falla un element. En general, els sistemes corporatius no requereixen tolerància a errors, però considerarem aquesta solució. Tenim previst tenir diversos centenars d'usuaris competitius al sistema i el temps d'inactivitat serà molt crític.
  3. Admet. La solució ha de comptar amb el suport del venedor. El programari no compatible s'ha de substituir per un desenvolupament intern o un altre programari compatible.
  4. Instal · lació Autogestionat (en la premissa). L'autogestió és la possibilitat d'instal·lar programari no al núvol, sinó als vostres propis servidors. Per ser més precisos, totes aquestes són opcions d'instal·lació no SaaS. En aquest article, considerarem només les opcions d'instal·lació autogestionades.
  5. Possibilitat de desenvolupament i proves independents. Per organitzar canvis previsibles en el sistema, es requereix un sistema de desenvolupament separat (canvis en el propi sistema), un sistema de proves (Staging) i un sistema productiu per als usuaris.
  6. Més Admet diversos escenaris d'autenticació, admet registres d'auditoria, té un model de rol personalitzat, etc.

Aquests són els elements principals de les solucions empresarials i, malauradament, sovint s'obliden a l'hora de dissenyar un sistema.

Què és un sistema de gestió del cicle de vida (LCMS)?

En resum, en el nostre cas, es tracta d'Atlassian Jira i Atlassian Confluence, un sistema que proporciona eines per organitzar el treball en equip. El sistema no "imposa" regles per organitzar el treball, sinó que proporciona una varietat d'eines per al treball, com ara Scrum, taulers Kanban, un model de cascada i Scrum escalable, etc.
El nom LCMS no és un terme de la indústria o un terme comú, és simplement el nom del sistema al nostre banc. LCMS per a nosaltres no és un sistema de seguiment d'errors, no és un sistema de gestió d'incidències ni un sistema de gestió de canvis.

Què inclou la implementació?

La implementació de la solució consta de molts problemes tècnics i organitzatius:

  • Assignació de capacitats tècniques.
  • Compra de programari.
  • Creació d'un equip per implementar la solució.
  • Instal·lació i configuració de la solució.
  • Desenvolupament d'arquitectura de solucions. model a seguir.
  • Elaboració de la documentació operativa, incloent instruccions, reglaments, disseny tècnic, reglaments, etc.
  • Canvi de processos de l'empresa.
  • Creació d'un equip de suport. Desenvolupament de SLA.
  • Formació d'usuaris.
  • Més

En aquest article, considerarem els aspectes tècnics de la implementació, sense detalls sobre el component organitzatiu.

Característiques Atlassian

Atlassian és líder en molts segments:

Els productes d'Atlassian tenen totes les característiques empresarials que necessiteu. Notaré les següents característiques:

  1. Les solucions d'Atlassian es basen en el servidor web Java Tomcat. El programari Apache Tomcat s'inclou amb el programari Atlassian, com a part de la instal·lació, no podeu canviar la versió d'Apache Tomcat instal·lada amb el programari Atlassian, encara que la versió estigui obsoleta i contingui vulnerabilitats. L'única opció és esperar una actualització d'Atlassian amb una versió més recent d'Apache Tomcat. Ara, per exemple, les versions actuals de Jira tenen Apache Tomcat 8.5.42 i Confluence té Apache Tomcat 9.0.33.
  2. Interfície convenient, s'implementen les millors pràctiques disponibles al mercat per a aquesta classe de programari.
  3. Solució totalment personalitzable. Amb les millores, podeu implementar qualsevol canvi en la funcionalitat bàsica per a l'usuari.
  4. Ecosistema desenvolupat. Hi ha diversos centenars de socis: https://partnerdirectory.atlassian.com, incloent 16 socis a Rússia. És a través de socis a Rússia que podeu comprar programari, connectors d'Atlassian i rebre formació. Són els socis els que desenvolupen i mantenen la majoria dels connectors.
  5. App Store (connectors): https://marketplace.atlassian.com. Els connectors milloren molt la funcionalitat del programari Atlassian. La funcionalitat bàsica del programari Atlassian és força modesta, per a gairebé qualsevol tasca es fa necessari instal·lar complements addicionals de forma gratuïta o per diners addicionals. Per tant, els costos del programari poden ser significativament superiors als estimats inicialment.
    Fins ara, s'han publicat diversos milers de connectors a la botiga, gairebé un miler d'ells s'han provat i validat sota el programa d'aplicacions aprovades per Data Center. Aquests connectors es poden considerar estables i adequats per utilitzar-los en sistemes ocupats.
    Us recomano que abordeu amb cura el problema de la planificació dels connectors, això afecta molt el cost de la solució, molts dels connectors poden provocar inestabilitat del sistema i el fabricant del connector no ofereix suport per resoldre el problema.
  6. Formació i certificació: https://www.atlassian.com/university
  7. S'admeten els mecanismes SSO, SAML 2.0.
  8. El suport per a l'escalabilitat i la tolerància a errors només està disponible a les edicions de Data Center. Aquesta edició va aparèixer per primera vegada el 2014 (Jira 6.3). La funcionalitat de les edicions de Data Center s'amplia i millora constantment (per exemple, la possibilitat d'instal·lar un sol node va aparèixer només el 2020). L'enfocament dels complements per a les edicions de Data Center ha canviat molt el 2018 amb la introducció d'aplicacions aprovades per Data Center.
  9. Cost de suport. El cost del suport del venedor és gairebé igual al cost total de les llicències de programari. A continuació es mostra un exemple de càlcul del cost de les llicències.
  10. Manca de llançaments a llarg termini. Hi ha els anomenats Versions empresarials, però, com totes les altres versions, són compatibles durant 2 anys. Amb la diferència que només es publiquen correccions per a les versions Enterprise, sense afegir noves funcionalitats.
  11. Opcions de suport ampliades (per diners addicionals). https://www.atlassian.com/enterprise/support-services
  12. S'admeten diverses variants de DBMS. Atlassian inclou una base de dades H2 gratuïta, que no es recomana per a un ús productiu. Els SGBD següents són compatibles per a un ús productiu: Amazon Aurora (només per al centre de dades) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Hi ha restriccions a les versions admeses i sovint només s'admeten versions anteriors, però per a cada DBMS hi ha una versió amb suport de proveïdors:
    Plataformes compatibles amb Jira,
    Plataformes compatibles amb Confluence.

Arquitectura tècnica

Com implementar Atlassian Jira + Confluence en una empresa. Qüestions tècniques

Explicacions de l'esquema:

  • El diagrama mostra la implementació al nostre banc, aquesta configuració es posa com a exemple i no és recomanable.
  • nginx proporciona funcionalitat de proxy invers tant per a Jira com per a Confluence.
  • La tolerància a errors d'un SGBD s'implementa mitjançant el SGBD.
  • La transferència de canvis entre entorns es fa mitjançant el connector Configuration Manager for Jira.
  • AppSrv al diagrama és un servidor d'aplicacions d'informes natiu, no utilitza programari Atlassian.
  • La base de dades EasyBI es va crear per crear cubs i generar informes mitjançant el connector eazyBI Reports and Charts for Jira.
  • El servei Confluence Synchrony (un component que permet l'edició simultània de documents) no està separat en una instal·lació independent i s'executa juntament amb Confluence, al mateix servidor.

Llicències

Els problemes de llicència d'Atlassian mereixen un article a part, aquí només esmentaré els principis generals.
Els principals problemes que hem trobat són els problemes de llicència de les edicions del Data Center. Funcions de llicència per a les edicions de servidor i centre de dades:

  1. La llicència per a l'edició del servidor és perpètua i el client pot utilitzar el programari fins i tot després que la llicència hagi caducat. Però un cop caduca la llicència, el comprador perd el dret a rebre assistència del producte i actualitzar el programari a les últimes versions.
  2. La llicència es basa en el nombre d'usuaris del sistema de permisos global "Usuaris JIRA". No importa si utilitzen el sistema o no; fins i tot si els usuaris mai no han iniciat sessió al sistema, tots els usuaris es tindran en compte per a la llicència. Si se supera el nombre d'usuaris amb llicència, la solució és eliminar el permís "Usuaris JIRA" d'alguns usuaris.
  3. La llicència del centre de dades és en realitat una subscripció. Es requereix una taxa de llicència anual. En finalitzar el termini, es bloquejarà el treball amb el sistema.
  4. El cost de les llicències pot canviar amb el temps. Com demostra la pràctica, de manera gran i, potser, significativament. Per tant, si les vostres llicències costen una quantitat aquest any, l'any vinent el cost de les llicències pot augmentar.
  5. La llicència la fan els usuaris per nivell (per exemple, usuaris de nivell 1001-2000). És possible actualitzar a un nivell superior, amb un recàrrec.
  6. Si se supera el nombre d'usuaris amb llicència, es crearan usuaris nous sense dret a iniciar sessió (permís global 'Usuaris JIRA').
  7. Els connectors només es poden llicenciar per al mateix nombre d'usuaris que el programari principal.
  8. Només cal que les instal·lacions productives tinguin llicència, per a la resta podeu obtenir una llicència de desenvolupador: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Per comprar manteniment, cal comprar el manteniment de Renew Software: el cost és aproximadament el 50% del cost del programari original. Aquesta funció no està disponible per al centre de dades i no s'aplica als connectors; haureu de pagar el cost total anualment per donar-los suport.
    Així, el suport anual del programari costa més del 50% del cost total del programari en el cas de l'edició del servidor i el 100% en el cas de l'edició del centre de dades, això és significativament més que la majoria dels altres venedors. Al meu entendre, aquest és un desavantatge important del model de negoci d'Atlassian.

Característiques de la transició de l'edició del servidor al centre de dades:

  1. La transició de l'edició del servidor al centre de dades és de pagament. El preu es pot consultar aquí https://www.atlassian.com/licensing/data-center.
  2. Quan canvieu de l'edició del servidor al centre de dades, no cal que pagueu per canviar l'edició dels connectors; els connectors de l'edició del servidor funcionaran. Però caldrà renovar les llicències dels complements per a l'edició Data Center.
  3. Podeu utilitzar connectors que no tinguin una versió per utilitzar-los amb les edicions de Data Center. Al mateix temps, per descomptat, aquests connectors poden no funcionar correctament i és millor proporcionar una alternativa a aquests connectors amb antelació.
  4. L'actualització a l'edició Data Center es fa instal·lant una nova llicència. Al mateix temps, la llicència per a l'edició del servidor encara està disponible.
  5. No hi ha diferències funcionals entre les edicions Data Center i Server per als usuaris, totes les diferències es troben només en les funcions d'administració i les capacitats tècniques de la instal·lació.
  6. El cost del programari i els complements és diferent per a les edicions del servidor i del centre de dades. La diferència de cost sovint és inferior al 5% (no essencial). A continuació es mostra un exemple de càlcul de costos.

Àmbit funcional d'implementació

El paquet de programari base d'Atlassian inclou un gran nombre de funcions, però sovint les característiques proporcionades pel sistema manquen molt. De vegades, fins i tot les funcions més senzilles no estan disponibles al paquet bàsic, de manera que els complements són indispensables per a gairebé qualsevol implementació. Per al sistema Jira, utilitzem els següents connectors (es pot fer clic a la imatge):
Com implementar Atlassian Jira + Confluence en una empresa. Qüestions tècniques

Per al sistema Confluence, utilitzem els complements següents (es pot fer clic a la imatge):
Com implementar Atlassian Jira + Confluence en una empresa. Qüestions tècniques

Comentaris sobre taules amb connectors:

  • Tots els preus es basen en 2000 usuaris;
  • Els preus es basen en els preus indicats https://marketplace.atlassian.com, el cost real (amb descomptes) és menor;
  • Com podeu veure, l'import total és pràcticament el mateix per a les edicions Data Center i Server;
  • Només s'han seleccionat els connectors compatibles amb l'edició Data Center. Vam excloure la resta de connectors dels plans, per a l'estabilitat del sistema.

La funcionalitat es descriu breument a la columna Comentari. Els complements addicionals han ampliat la funcionalitat del sistema:

  • S'han afegit diverses eines visuals;
  • Mecanismes d'integració millorats;
  • S'han afegit eines per a projectes de models de cascada;
  • S'han afegit eines per a Scrum escalable per organitzar el treball dels grans equips de projecte;
  • Funcionalitat afegida per al seguiment del temps;
  • S'han afegit eines per automatitzar operacions i configurar la solució;
  • Funcionalitat afegida per simplificar i automatitzar l'administració de la solució.

A més, fem servir Aplicació Atlassian Companion. Aquesta aplicació us permet editar fitxers en aplicacions externes (MS Office) i retornar-los a Confluence (check-in).
Aplicació per a estacions de treball d'usuari (client gruixut) ALM Works Jira Client https://marketplace.atlassian.com/apps/7070 va decidir no utilitzar-lo a causa del mal suport del proveïdor i de les ressenyes negatives.
Per integració amb MS Project utilitzem una aplicació autoescrita que us permet actualitzar els estats dels problemes a MS Project des de Jira i viceversa. En el futur, amb les mateixes finalitats, pensem utilitzar un connector de pagament Ceptah Bridge - Connector del projecte JIRA MS, que s'instal·la com a complement per a MS Project.
Integració amb aplicacions externes implementat mitjançant enllaços d'aplicació. Al mateix temps, les integracions per a les aplicacions d'Atlassian estan preconfigurades i funcionen immediatament després de la configuració; per exemple, podeu mostrar informació sobre problemes a Jira en una pàgina de Confluence.
L'API REST s'utilitza per accedir als servidors Jira i Confluence: https://developer.atlassian.com/server/jira/platform/rest-apis.
Les API SOAP i XML-RPC estan obsoletes i no estan disponibles a les noves versions per utilitzar-les.

Conclusió

Així doncs, hem considerat les característiques tècniques d'implementar un sistema basat en productes Atlassian. La solució proposada és una de les possibles solucions i s'adapta molt bé a un entorn corporatiu.

La solució proposada és escalable, tolerant a errors, conté tres entorns per organitzar el desenvolupament i les proves, conté tots els elements necessaris per a la col·laboració en el sistema i ofereix una àmplia gamma d'eines de gestió de projectes.

Estaré encantat de respondre les preguntes als comentaris.

Font: www.habr.com