Hvordan implementere Atlassian Jira + Confluence i virksomheder. Tekniske spørgsmål

Planlægger du implementering af Atlassian-software (Jira, Confluence)? Ønsker du ikke at begå dyre fejl i designet, som du senere skal håndtere i sidste øjeblik?

Hvordan implementere Atlassian Jira + Confluence i virksomheder. Tekniske spørgsmål
Så er dette stedet for dig — vi overvejer implementeringen af Atlassian Jira + Confluence i en virksomhed med fokus på forskellige tekniske aspekter.
Hej, jeg er produkt ejer hos RSHB og ansvarlig for udviklingen af Systemet til Livscyklusstyring (SLC) baseret på softwareprodukterne fra Atlassian Jira og Confluence.

I denne artikel vil jeg beskrive de tekniske aspekter af opbygningen af SLC. Artiklen vil være nyttig for alle, der planlægger en implementering eller arbejder med udviklingen af Atlassian Jira og Confluence i en virksomhed. Artiklen kræver ikke særlige kundskaber og er rettet imod begyndere, der ønsker at lære om Atlassians produkter. Den vil være nyttig for administratorer, produktejere, projektledere, arkitekter og alle, der planlægger implementeringen af systemer baseret på Atlassians software.

Introduktion

Artiklen vil behandle de tekniske spørgsmål vedrørende implementeringen af Systemet til Livscyklusstyring (SLC) i et virksomhedsmiljø. Lad os først definere, hvad dette betyder.

Og hvad betyder et virksomheds­løsning?

Det betyder en løsning:

  1. Skalerbar. Hvis belastningen stiger, findes der tekniske muligheder for at øge systemets kapacitet. Der skelnes mellem horisontal og vertikal skalering — ved vertikal skalering øges servernes kapacitet, mens der ved horisontal skalering øges antallet af servere, der arbejder i systemet.
  2. Fejltolerant. Systemet forbliver tilgængeligt, hvis en komponent svigter. Generelt kræver virksomhedssystemer ikke fejltolerance, men vi vil overveje denne type løsning. I vores system planlægges der flere hundrede konkurrencebrugere, og nedetid vil være meget kritisk.
  3. Supporteret. Løsningen skal være supporteret af leverandøren. Software uden support skal erstattes af interne udviklinger eller anden software med support.
  4. Installation Self-managed (On-premise). Self-managed betyder muligheden for at installere software ikke i skyen, men på egne servere. For at være mere præcis er det alle installationsmuligheder, der ikke er SaaS. I denne artikel vil vi kun overveje installationsmulighederne for Self-managed.
  5. Mulighed for uafhængig udvikling og testning. For at organisere forudsigelige ændringer i systemet kræves separate systemer til udvikling (ændringer i selve systemet), testsystem (Staging) og produktionssystem til brugernes arbejde.
  6. Andet. Understøtter forskellige autentificeringsscenarier, understøtter revisionslogger, har en konfigurerbar rollemodel osv.

Dette er grundlæggende elementer i virksomhedsløsninger, og desværre bliver de ofte glemt ved systemdesign.

Hvad er et Livscyklusstyringssystem (LSS)?

Kort sagt, i vores tilfælde er det Atlassian Jira og Atlassian Confluence — et system der leverer værktøjer til organisering af kollektivt arbejde. Systemet 'pålægger' ikke regler for organiseringen af arbejdet, men tilbyder en række værktøjer, både Scrum, Kanban-tavler, vandfaldsmodellen, skalerbar Scrum osv.
Navnet LSS er ikke et branchemæssigt eller alment term, men blot navnet på systemet i vores Bank. LSS er ikke et bug-tracking system, ikke et Incident Management system og ikke et Change Management system.

Hvad indebærer implementeringen?

Implementeringen af løsningen består af mange tekniske og organisatoriske spørgsmål:

  • Tildeling af tekniske ressourcer.
  • Indkøb af software.
  • Oprettelse af et implementeringsteam.
  • Installation og konfiguration af løsningen.
  • Udvikling af løsningsarkitektur. Rollemodel.
  • Udvikling af driftsdokumentation, inklusive instruktioner, bekendtgørelser, tekniske projekter, retningslinjer osv.
  • Ændring af virksomhedens processer.
  • Oprettelse af et supportteam. Udvikling af SLA.
  • Uddannelse af brugere.
  • Andet.

I denne artikel vil vi se på de tekniske aspekter af implementeringen uden detaljer om de organisatoriske komponenter.

Funktioner ved Atlassian

Virksomheden Atlassian er førende inden for mange segmenter:

Produkter fra Atlassian har alle nødvendige virksomhedsfunktioner. Jeg vil fremhæve følgende funktioner:

  1. Atlassian-løsningerne er baseret på webserveren Java Tomcat. Apache Tomcat-software følger med Atlassian-softwaren som en del af installationen, og det er ikke muligt at ændre versionen af Apache Tomcat, der er installeret med Atlassian-softwaren, selvom versionen er forældet og indeholder sårbarheder. Den eneste mulighed er at vente på opdateringer fra Atlassian med en nyere version af Apache Tomcat. For eksempel følger Apache Tomcat 8.5.42 med de aktuelle versioner af Jira, mens Confluence leverer Apache Tomcat 9.0.33.
  2. Brugervenligt interface, der implementerer de bedste praksisser tilgængelige på markedet for denne type software.
  3. Fuldt tilpasselig løsning. Med tilpasninger kan man realisere enhver ændring af den grundlæggende funktionalitet for brugeren.
  4. Udviklet økosystem. Der er flere hundrede partnere: https://partnerdirectory.atlassian.com, herunder 16 partnere i Rusland. Det er netop gennem partnere i Rusland, man kan købe Atlassian-software, plugins og gennemføre træning. Det er også partnerne, der udvikler og vedligeholder de fleste plugins.
  5. App-butik (plugins): https://marketplace.atlassian.com. Plugins udvider funktionaliteten af Atlassian-softwaren betydeligt. Den grundlæggende funktionalitet af Atlassian-softwaren er ganske beskeden, og der opstår næsten altid behov for at installere yderligere plugins gratis eller mod betaling. Derfor kan omkostningerne ved softwaren ende med at være betydeligt højere end først vurderet.
    I øjeblikket er der offentliggjort flere tusinde plugins i butikken, næsten tusinde af dem er testet og valideret gennem programmet Data Center approved apps. Disse plugins kan betragtes som stabile og egnede til brug i belastede systemer.
    Jeg anbefaler at være omhyggelig med planlægningen af plugins, da dette har stor indflydelse på omkostningerne ved løsningen, og mange af plugins kan føre til systeminstabilitet, og plugin-producenten yder muligvis ikke støtte til at løse problemet.
  6. Uddannelse og certificering: https://www.atlassian.com/university
  7. SSO og SAML 2.0 support understøttes.
  8. Support til skalerbarhed og fejlresistens findes kun i Data Center-versionerne. Denne version så første gang dagens lys i 2014 (Jira 6.3). Funktionaliteten af Data Center-versionerne udvides og forbedres løbende (for eksempel blev muligheden for single node installation først introduceret i 2020). Tilgangen til plugins for Data Center-versioner ændrede sig betydeligt i 2018 med indførelsen af Data Center approved apps.
  9. Prisen for support. Prisen for support fra leverandøren svarer stort set til den fulde pris for softwarelicenser. Et eksempel på beregning af licensomkostninger er angivet nedenfor.
  10. Manglende Long Term udgivelser. Der findes såkaldte Enterprise versioner, men ligesom alle de andre versioner understøttes de i 2 år. Forskellen er, at der kun frigives rettelser til Enterprise versionerne uden tilføjelse af ny funktionalitet.
  11. Udvidede supportmuligheder (mod et ekstra gebyr). https://www.atlassian.com/enterprise/support-services
  12. Flere databaseadministrationssystemer understøttes. Atlassians software leveres med gratis H2 database, men denne database anbefales ikke til produktionsbrug. Til produktionsbrug understøttes følgende databaser: Amazon Aurora (kun Data Center) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Der er begrænsninger på de understøttede versioner, og der understøttes ofte kun ældre versioner, men for hver database er der en version med leverandørsupport:
    Jira understøttede platforme,
    Confluence understøttede platforme.

Teknisk arkitektur

Hvordan implementere Atlassian Jira + Confluence i virksomheder. Tekniske spørgsmål

Forklaringer til diagrammet:

  • Diagrammet viser implementeringen i vores Bank, denne konfiguration gives som eksempel og er ikke anbefalet.
  • nginx tilbyder reverse-proxy funktionalitet til både Jira og Confluence.
  • Failover for databaseadministrationssystemet realiseres gennem databaseadministrationssystemets midler.
  • Overførsel af ændringer mellem miljøer foretages ved brug af plugin'et Configuration Manager for Jira.
  • AppSrv i diagrammet er en egen applikationsserver til rapportering, og bruger ikke Atlassian software.
  • EasyBI databasen er oprettet til at bygge kuber og rapportering ved hjælp af plugin'et eazyBI Reports and Charts for Jira.
  • Confluence Synchrony tjenesten (komponenten der muliggør samtidig redigering af dokumenter) er ikke udskilt i en separat installation og kører sammen med Confluence på den samme server.

Licensering

Licensspørgsmål for Atlassian fortjener en separat artikel, her vil jeg kun nævne de generelle principper.
De vigtigste spørgsmål, som vi stødte på, er relateret til licenser for Data Center udgivelser. Specifikationer for licensering for Server og Data Center udgivelser:

  1. Licensen til Server udgaven er livslang, og køberen kan bruge softwaren selv efter licensen er udløbet. Men efter licensens udløb mister køberen retten til at modtage support for produktet og opdatere softwaren til de nyeste versioner.
  2. Licensiering sker baseret på antallet af brugere med 'JIRA Users' global tilladelse. Det er ligegyldigt, om de bruger systemet eller ej — selv hvis brugerne aldrig har været indlogget i systemet, vil alle brugere blive medregnet til licensen. Hvis antallet af licenserede brugere overskrides, vil løsningen være at fjerne 'JIRA Users' tilladelsen fra nogle af brugerne.
  3. Licensen til Data Center fungerer faktisk som et abonnement. Der kræves årlig betaling for licensen. Ved udløb af perioden vil adgangen til systemet blive blokkeret.
  4. Prisen på licenser kan ændre sig over tid. Som erfaren viser, typisk i stigende retning og muligvis væsentligt. Derfor, hvis dine licenser i år koster en bestemt sum, kan prisen stige næste år.
  5. Licensiering sker efter brugere pr. niveau (for eksempel niveau 1001-2000 brugere). Det er muligt at opgradere til et højere niveau mod betaling.
  6. Hvis antallet af licenserede brugere overskrides, vil nye brugere blive oprettet uden ret til at logge ind i systemet ('JIRA Users' global tilladelse).
  7. Plugins kan kun licensieres for det samme antal brugere som hovedsoftwaren.
  8. Licensiering er kun nødvendig for produktionsinstallationer; for de andre kan der opnås en Developer license: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. For at købe support kræves det at købe Renew Software maintenance — prisen svarer omtrent til 50% af prisen på den oprindelige software. Denne mulighed er ikke tilgængelig for Data Center og gælder ikke for plugins — for deres support skal man betale fuld pris årligt.
    Således koster årlig software support mere end 50% af den fulde softwarepris for Server-udgaven og 100% for Data Center-udgaven — dette er betydeligt mere end de fleste andre leverandører. Efter min mening er dette en væsentlig ulempe ved Atlassians forretningsmodel.

Detaljer om overgangen fra Server-udgaven til Data Center:

  1. Overgangen fra Server-udgaven til Data Center er betalingspligtig. Prisen kan findes her. https://www.atlassian.com/licensing/data-center.
  2. Ved overgangen fra Server-udgaven til Data Center er det ikke nødvendigt at betale for ændringen af licenserne til plugins — plugins til Server-udgaven vil fungere. Men licenserne til plugins skal forlænges, når det bliver Data Center-udgaven.
  3. Du kan bruge plugins, som ikke har en version til brug med Data Center-udgaver. Disse plugins kan dog muligvis fungere fejlbehæftet, så det er bedst at forberede et alternativ til sådanne plugins på forhånd.
  4. Overgangen til Data Center-udgaven sker ved at installere en ny licens. Licensen til Server-udgaven forbliver dog stadig tilgængelig.
  5. Der er ingen funktionelle forskelle mellem Data Center- og Server-udgaverne for brugerne; forskellene ligger kun i administrationsfunktioner og de tekniske muligheder for installation.
  6. Priserne for software og plugins varierer mellem Server- og Data Center-udgaverne. Forskel i prisen er ofte mindre end 5% (ikke væsentligt). Et eksempel på prisberegning er vist nedenfor.

Funktionsomfang for implementering

Den grundlæggende levering af Atlassian-software inkluderer et stort antal funktioner, men ofte er funktionerne, som systemet tilbyder, ikke tilstrækkelige. Nogle gange er også de mest basale funktioner ikke tilgængelige i den grundlæggende levering, så plugins er næsten nødvendige ved enhver implementering. Til Jira-systemet bruger vi følgende plugins (billedet er klikbart):
Hvordan implementere Atlassian Jira + Confluence i virksomheder. Tekniske spørgsmål

Til Confluence-systemet bruger vi følgende plugins (billedet er klikbart):
Hvordan implementere Atlassian Jira + Confluence i virksomheder. Tekniske spørgsmål

Kommentarer til tabeller med plugins:

  • Alle priser er baseret på 2000 brugere;
  • Priserne er angivet baseret på de angivne priser https://marketplace.atlassian.com, den faktiske pris (med rabatter) ender med at være lavere;
  • Som vi kan se, adskiller den samlede sum sig ikke væsentligt for Data Center- og Server-udgaverne;
  • Plugins er udvalgt udelukkende med støtte til Data Center-udgaven. De øvrige plugins er blevet ekskluderet fra planerne for systemets stabilitet.

Funktionaliteten er kortfattet beskrevet i kommentaren. Yderligere plugins har udvidet systemets funktionalitet:

  • Tilføjet flere visuelle værktøjer;
  • Integrationsmekanismerne er forbedret;
  • Tilføjet værktøjer til projekter efter vandfaldsmodellen;
  • Tilføjet værktøjer til skalerbar Scrum til organisering af større projektteams;
  • Tilføjet funktionalitet til tidsregistrering;
  • Tilføjet værktøjer til automatisering af operationer og konfiguration af løsningen;
  • Tilføjet funktionalitet til forenkling og automatisering af administrationen af løsningen.

Desuden bruger vi Atlassian Companion appDenne app giver mulighed for at redigere filer i eksterne applikationer (MS Office) og returnere dem tilbage til Confluence (check-in).
Applikation til brugerarbejdspladser (tyk klient) ALM Works Jira Client https://marketplace.atlassian.com/apps/7070 valgte ikke at bruge det på grund af dårlig support fra leverandøren og negative anmeldelser.
For integrationer med MS Project vi bruger en skræddersyet applikation, der gør det muligt at opdatere status for Issues i MS Project fra Jira og omvendt. I fremtiden planlægger vi at bruge et betalt plugin til de samme formål. Ceptah Bridge — JIRA MS Project Plugin, som installeres som et tilføjelsesprogram til MS Project.
Integration med eksterne applikationer implementeres gennem Application Links. For Atlassian-applikationer er integrationerne forudkonfigurerede og fungerer straks efter opsætning; for eksempel kan man vise information om Issues i Jira på en side i Confluence.
Adgang til Jira- og Confluence-serverne sker via REST API: https://developer.atlassian.com/server/jira/platform/rest-apis.
SOAP og XML-RPC API er blevet deaktiveret og er ikke tilgængelige i de nye versioner.

Konklusion

Så vi har gennemgået de tekniske aspekter ved implementeringen af systemet baseret på Atlassian-produkter. Den foreslåede løsning er en af de mulige løsninger og passer godt til et virksomhedsmiljø.

Den foreslåede løsning er skalerbar, fejl-tolerant, indeholder tre miljøer til udvikling og test, og omfatter alle nødvendige elementer til samarbejde i systemet samt et bredt udvalg af værktøjer til projektstyring.

Jeg svarer gerne på spørgsmål i kommentarerne.

Kilde: habr.com

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster