Hvordan implementere Atlassian Jira + Confluence i et selskap. Tekniske spørsmål

Planlegger du å implementere Atlassian-programvare (Jira, Confluence)? Vil du ikke gjøre grusomme designfeil, som da må løses i siste øyeblikk?

Hvordan implementere Atlassian Jira + Confluence i et selskap. Tekniske spørsmål
Da er du her - vi vurderer implementeringen av Atlassian Jira + Confluence i et selskap, med hensyn til ulike tekniske aspekter.
Hei, jeg er produkteier hos RSHB og er ansvarlig for utviklingen av Lifecycle Management System (LCMS) bygget på Atlassian Jira og Confluence programvareprodukter.

I denne artikkelen vil jeg beskrive de tekniske aspektene ved å bygge et LCMS. Artikkelen vil være nyttig for alle som planlegger å implementere eller utvikle Atlassian Jira og Confluence i et bedriftsmiljø. Artikkelen krever ingen spesiell kunnskap og er designet for et innledende nivå av kjennskap til Atlassian-produkter. Artikkelen vil være nyttig for administratorer, produkteiere, prosjektledere, arkitekter og alle som planlegger å implementere systemer basert på Atlassian-programvare.

Innledning

Artikkelen vil diskutere de tekniske spørsmålene ved implementering av et livssyklusstyringssystem (LCMS) i et bedriftsmiljø. La oss først definere hva dette betyr.

Hva er en bedriftsløsning?

Dette betyr løsningen:

  1. Skalerbar. Ved økt belastning er det en teknisk mulighet for å øke kapasiteten på systemet. Separat horisontal og vertikal skalering - med vertikal skalering økes kapasiteten til servere, med horisontal skalering økes antall servere for systemdriften.
  2. Feilsikker. Systemet vil forbli tilgjengelig hvis ett element svikter. Generelt krever ikke bedriftssystemer feiltoleranse, men vi vil vurdere nettopp en slik løsning. Vi planlegger å ha flere hundre konkurransedyktige brukere i systemet, og nedetid vil være svært kritisk.
  3. Støttes. Løsningen må støttes av leverandøren. Ikke-støttet programvare bør erstattes av egenutvikling eller annen støttet programvare.
  4. Installasjon Selvstyrt (på premisset). Selvstyrt er muligheten til å installere programvare ikke i skyen, men på dine egne servere. For å være mer presis er disse alle installasjonsalternativer som ikke er SaaS. I denne artikkelen vil vi kun vurdere selvstyrte installasjonsalternativer.
  5. Mulighet for selvstendig utvikling og testing. For å organisere forutsigbare endringer i systemet kreves et eget system for utvikling (endringer i selve systemet), et testsystem (Staging) og et produktivt system for brukere.
  6. Mer. Støtter ulike autentiseringsscenarier, støtter revisjonslogger, har en tilpasset rollemodell, etc.

Dette er hovedelementene i bedriftsløsninger, og dessverre glemmes de ofte når man designer et system.

Hva er et livssyklusstyringssystem (LCMS)?

Kort sagt, i vårt tilfelle er disse Atlassian Jira og Atlassian Confluence – et system som gir verktøy for å organisere teamarbeid. Systemet «pålegger» ikke regler for organisering av arbeid, men gir en rekke verktøy for arbeid, som Scrum, Kanban-tavler, en fossefallsmodell og skalerbar Scrum, etc.
Navnet LCMS er ikke et bransjebegrep eller et vanlig begrep, det er ganske enkelt navnet på systemet i banken vår. LCMS for oss er ikke et feilsporingssystem, det er ikke et Incident Management-system og et Change Management-system.

Hva inkluderer implementering?

Implementeringen av løsningen består av mange tekniske og organisatoriske spørsmål:

  • Tildeling av teknisk kapasitet.
  • Kjøp av programvare.
  • Opprettelse av et team for å implementere løsningen.
  • Installasjon og konfigurering av løsningen.
  • Utvikling av løsningsarkitektur. forbilde.
  • Utvikling av driftsdokumentasjon, herunder instrukser, forskrifter, teknisk utforming, forskrifter mv.
  • Endring av bedriftsprosesser.
  • Opprettelse av et støtteteam. SLA utvikling.
  • Brukeropplæring.
  • Mer.

I denne artikkelen vil vi vurdere de tekniske aspektene ved implementering, uten detaljer om den organisatoriske komponenten.

Har Atlassian

Atlassian er ledende innen mange segmenter:

Atlassians produkter har alle bedriftsfunksjonene du trenger. Jeg vil merke meg følgende funksjoner:

  1. Atlassian-løsninger er basert på Java Tomcat-nettserveren. Apache Tomcat-programvare er inkludert med Atlassian-programvaren, som en del av installasjonen kan du ikke endre versjonen av Apache Tomcat installert med Atlassian-programvare, selv om versjonen er utdatert og inneholder sårbarheter. Det eneste alternativet er å vente på en oppdatering fra Atlassian med en nyere versjon av Apache Tomcat. Nå, for eksempel, har de nåværende versjonene av Jira Apache Tomcat 8.5.42, og Confluence har Apache Tomcat 9.0.33.
  2. Praktisk grensesnitt, de beste fremgangsmåtene som er tilgjengelige på markedet for denne klassen programvare er implementert.
  3. Fullt tilpassbar løsning. Med forbedringer kan du implementere enhver endring i den grunnleggende funksjonaliteten for brukeren.
  4. Utviklet økosystem. Det er flere hundre partnere: https://partnerdirectory.atlassian.com, inkludert 16 partnere i Russland. Det er gjennom partnere i Russland du kan kjøpe Atlassian-programvare, plugins og få opplæring. Det er partnerne som utvikler og vedlikeholder de fleste plugins.
  5. App Store (programtillegg): https://marketplace.atlassian.com. Plugins forbedrer funksjonaliteten til Atlassian-programvaren betydelig. Den grunnleggende funksjonaliteten til Atlassian-programvaren er ganske beskjeden, for nesten enhver oppgave blir det nødvendig å installere ekstra plug-ins gratis eller for ekstra penger. Derfor kan programvarekostnadene være betydelig høyere enn opprinnelig estimert.
    Til dags dato har flere tusen plugins blitt publisert i butikken, nesten tusen av dem er testet og validert under programmet for datasenter godkjente apper. Slike plugins kan betraktes som stabile og egnet for bruk i travle systemer.
    Jeg anbefaler deg å forholde deg nøye til spørsmålet om planlegging av plugins, dette påvirker kostnadene for løsningen i stor grad, mange av pluginene kan føre til systemustabilitet og plugin-produsenten gir ikke støtte for å løse problemet.
  6. Opplæring og sertifisering: https://www.atlassian.com/university
  7. SSO, SAML 2.0-mekanismer støttes.
  8. Støtte for skalerbarhet og feiltoleranse er kun tilgjengelig i datasenterutgaver. Denne utgaven dukket først opp i 2014 (Jira 6.3). Funksjonaliteten til datasenterutgavene blir stadig utvidet og forbedret (for eksempel dukket muligheten for en enkelt nodeinstallasjon opp først i 2020). Tilnærmingen til plug-ins for datasenterutgaver har endret seg mye i 2018 med introduksjonen av datasentergodkjente apper.
  9. Støttekostnad. Kostnaden for støtte fra leverandøren er nesten lik hele kostnaden for programvarelisenser. Et eksempel på beregning av kostnadene for lisenser er gitt nedenfor.
  10. Mangel på langsiktige utgivelser. Det er såkalte Enterprise-versjoner, men de, som alle andre versjoner, støttes i 2 år. Med den forskjellen at bare rettelser utgis for Enterprise-versjoner, uten å legge til ny funksjonalitet.
  11. Utvidede støttealternativer (for ekstra penger). https://www.atlassian.com/enterprise/support-services
  12. Flere varianter av DBMS støttes. Atlassian kommer med en gratis H2-database, som ikke anbefales for produktiv bruk. Følgende DBMS støttes for produktiv bruk: Amazon Aurora (kun datasenter) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Det er begrensninger på støttede versjoner og ofte støttes bare eldre versjoner, men for hver DBMS er det en versjon med leverandørstøtte:
    Jira støttede plattformer,
    Confluence-støttede plattformer.

Teknisk arkitektur

Hvordan implementere Atlassian Jira + Confluence i et selskap. Tekniske spørsmål

Forklaringer til ordningen:

  • Diagrammet viser implementeringen i banken vår, denne konfigurasjonen er gitt som et eksempel og anbefales ikke.
  • nginx gir omvendt proxy-funksjonalitet for både Jira og Confluence.
  • Feiltoleransen til et DBMS implementeres ved hjelp av DBMS.
  • Overføring av endringer mellom miljøer gjøres ved å bruke Configuration Manager for Jira-plugin.
  • AppSrv i diagrammet er en innfødt rapporteringsapplikasjonsserver, bruker ikke Atlassian-programvare.
  • EasyBI-databasen ble opprettet for å bygge kuber og rapportere ved å bruke eazyBI Reports and Charts for Jira-plugin.
  • Confluence Synchrony-tjenesten (en komponent som tillater samtidig redigering av dokumenter) er ikke separert i en separat installasjon og kjører sammen med Confluence, på samme server.

lisensiering

Atlassian-lisensspørsmål fortjener en egen artikkel, her vil jeg bare nevne generelle prinsipper.
De viktigste problemene vi møtte er spørsmålene om lisensiering av datasenterutgaver. Lisensfunksjoner for server- og datasenterutgaver:

  1. Lisensen for Server-utgaven er evigvarende og kunden kan bruke programvaren selv etter at lisensen har utløpt. Men etter at lisensen utløper, mister kjøperen retten til å motta produktstøtte og oppdatere programvaren til de nyeste versjonene.
  2. Lisensering er basert på antall brukere i 'JIRA Users' globale tillatelsessystem. Det spiller ingen rolle om de bruker systemet eller ikke - selv om brukere aldri har logget på systemet, vil alle brukere bli tatt i betraktning for lisensen. Hvis antallet lisensierte brukere overskrides, er løsningen å fjerne 'JIRA-brukere'-tillatelsen fra noen av brukerne.
  3. Datasenterlisensen er faktisk et abonnement. En årlig lisensavgift kreves. Ved utløp av termin vil arbeid med systemet være blokkert.
  4. Kostnaden for lisenser kan endre seg over tid. Som praksis viser, på en stor måte og kanskje betydelig. Derfor, hvis lisensene dine koster ett beløp i år, kan kostnadene for lisenser øke neste år.
  5. Lisensering utføres av brukere etter nivå (for eksempel nivå 1001-2000 brukere). Det er mulig å oppgradere til et høyere nivå, mot et pristillegg.
  6. Hvis antallet lisensierte brukere overskrides, vil nye brukere bli opprettet uten rett til å logge på ('JIRA Users' global tillatelse).
  7. Plugins kan bare lisensieres for samme antall brukere som hovedprogramvaren.
  8. Bare produktive installasjoner kreves for å være lisensiert, for resten kan du få en utviklerlisens: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. For å kjøpe vedlikehold kreves kjøp av Renew Software-vedlikehold - kostnaden er omtrent 50 % av kostnaden for den originale programvaren. Denne funksjonen er ikke tilgjengelig for datasenteret og gjelder ikke for plugins - du må betale hele kostnaden årlig for å støtte dem.
    Dermed koster årlig programvarestøtte mer enn 50 % av totalkostnaden for programvaren når det gjelder Server-utgaven og 100 % når det gjelder Data Center-utgaven – dette er betydelig mer enn de fleste andre leverandører. Etter min mening er dette en betydelig ulempe ved Atlassian-forretningsmodellen.

Funksjoner ved overgangen fra Server-utgaven til Datasenteret:

  1. Overgangen fra Server-utgaven til Datasenteret er betalt. Pris finner du her https://www.atlassian.com/licensing/data-center.
  2. Når du bytter fra Server-utgaven til Datasenteret, trenger du ikke betale for å endre utgaven av plugins - pluginene for Server-utgaven vil fungere. Men det vil være nødvendig å fornye lisenser for plug-ins for Data Center-utgaven.
  3. Du kan bruke plugins som ikke har en versjon for bruk med datasenterutgaver. Samtidig kan det selvfølgelig hende at slike plugins ikke fungerer som de skal, og det er bedre å tilby et alternativ til slike plugins på forhånd.
  4. Oppgradering til Data Center-utgaven gjøres ved å installere en ny lisens. Samtidig er lisensen for Server-utgaven fortsatt tilgjengelig.
  5. Det er ingen funksjonelle forskjeller mellom Datasenter- og Server-utgavene for brukere, alle forskjeller er kun i funksjonene for administrasjon og de tekniske egenskapene til installasjonen.
  6. Kostnaden for programvare og plugin-moduler varierer for Server- og Data Center-utgavene. Forskjellen i kostnad er ofte mindre enn 5 % (ikke avgjørende). Et eksempel på kostnadsberegning er vist nedenfor.

Funksjonelt implementeringsomfang

Base Atlassian-programvarepakken inkluderer et stort antall funksjoner, men ofte mangler funksjonene som tilbys av systemet sterkt. Noen ganger er selv de enkleste funksjonene ikke tilgjengelige i grunnpakken, så plug-ins er uunnværlige for nesten enhver implementering. For Jira-systemet bruker vi følgende plugins (bildet er klikkbart):
Hvordan implementere Atlassian Jira + Confluence i et selskap. Tekniske spørsmål

For Confluence-systemet bruker vi følgende plugins (bildet er klikkbart):
Hvordan implementere Atlassian Jira + Confluence i et selskap. Tekniske spørsmål

Kommentarer til tabeller med plugins:

  • Alle priser er basert på 2000 brukere;
  • Prisene er basert på de oppgitte prisene https://marketplace.atlassian.com, den reelle kostnaden (med rabatter) er lavere;
  • Som du kan se, er totalbeløpet praktisk talt det samme for Datasenter- og Server-utgavene;
  • Bare plug-ins med støtte for Data Center-utgaven ble valgt for bruk. Vi ekskluderte resten av pluginene fra planene, for stabiliteten til systemet.

Funksjonaliteten er kort beskrevet i kommentarkolonnen. Ytterligere plugins har utvidet funksjonaliteten til systemet:

  • Lagt til flere visuelle verktøy;
  • Forbedrede integreringsmekanismer;
  • Lagt til verktøy for fossemodellprosjekter;
  • Lagt til verktøy for skalerbar Scrum for å organisere arbeidet til store prosjektteam;
  • Lagt til funksjonalitet for tidsregistrering;
  • Lagt til verktøy for å automatisere operasjoner og konfigurere løsningen;
  • Lagt til funksjonalitet for å forenkle og automatisere administrasjonen av løsningen.

I tillegg bruker vi Atlassian Companion-appen. Denne applikasjonen lar deg redigere filer i eksterne applikasjoner (MS Office) og returnere dem til Confluence (innsjekking).
Applikasjon for brukerarbeidsstasjoner (tykk klient) ALM Works Jira-klient https://marketplace.atlassian.com/apps/7070 bestemte seg for ikke å bruke på grunn av dårlig leverandørstøtte og negative anmeldelser.
For integrasjon med MS Project vi bruker en selvskrevet applikasjon som lar deg oppdatere problemstatuser i MS Project fra Jira og omvendt. I fremtiden, for de samme formålene, planlegger vi å bruke en betalt plugin Ceptah Bridge - JIRA MS Project Plugin, som er installert som et tillegg for MS Project.
Integrasjon med eksterne applikasjoner implementert gjennom applikasjonslenker. Samtidig er integrasjoner for Atlassian-applikasjoner forhåndskonfigurert og fungerer umiddelbart etter oppsett, for eksempel kan du vise informasjon om Issues i Jira på en side i Confluence.
REST API brukes for å få tilgang til Jira- og Confluence-serverne: https://developer.atlassian.com/server/jira/platform/rest-apis.
SOAP- og XML-RPC-API-ene er utdatert og ikke tilgjengelig i de nye versjonene for bruk.

Konklusjon

Så vi har vurdert de tekniske funksjonene ved å implementere et system basert på Atlassian-produkter. Den foreslåtte løsningen er en av de mulige løsningene og er godt egnet for et bedriftsmiljø.

Den foreslåtte løsningen er skalerbar, feiltolerant, inneholder tre miljøer for organisering av utvikling og testing, inneholder alle nødvendige elementer for samarbeid i systemet og gir et bredt spekter av prosjektstyringsverktøy.

Jeg svarer gjerne på spørsmål i kommentarfeltet.

Kilde: www.habr.com