Hur man implementerar Atlassian Jira + Confluence i ett företag. Tekniska frågor

Planerar du att implementera Atlassian-mjukvara (Jira, Confluence)? Vill du inte göra grymma designmisstag, som sedan måste lösas i sista stund?

Hur man implementerar Atlassian Jira + Confluence i ett företag. Tekniska frågor
Då är du här - vi överväger implementeringen av Atlassian Jira + Confluence i ett företag, med hänsyn till olika tekniska aspekter.
Hej, jag är produktägare på RSHB och är ansvarig för utvecklingen av Lifecycle Management System (LCMS) byggt på Atlassian Jira och Confluence mjukvaruprodukter.

I den här artikeln kommer jag att beskriva de tekniska aspekterna av att bygga ett LCMS. Artikeln kommer att vara användbar för alla som planerar att implementera eller utveckla Atlassian Jira och Confluence i en företagsmiljö. Artikeln kräver inga speciella kunskaper och är designad för en initial nivå av förtrogenhet med Atlassian-produkter. Artikeln kommer att vara användbar för administratörer, produktägare, projektledare, arkitekter och alla som planerar att implementera system baserade på Atlassian-programvara.

Inledning

Artikeln kommer att diskutera de tekniska frågorna för att implementera ett Life Cycle Management System (LCMS) i en företagsmiljö. Låt oss först definiera vad detta betyder.

Vad är en företagslösning?

Detta betyder lösningen:

  1. Skalbar. Vid ökad belastning finns det en teknisk möjlighet att öka systemets kapacitet. Separat horisontell och vertikal skalning - med vertikal skalning ökas servrarnas kapacitet, med horisontell skalning ökas antalet servrar för systemdriften.
  2. Felsäker. Systemet förblir tillgängligt om ett element misslyckas. I allmänhet kräver inte företagssystem feltolerans, men vi kommer att överväga just en sådan lösning. Vi planerar att ha flera hundra konkurrenskraftiga användare i systemet, och stilleståndstiden kommer att vara mycket kritisk.
  3. Stöds. Lösningen måste stödjas av leverantören. Programvara som inte stöds bör ersättas av egen utveckling eller annan programvara som stöds.
  4. Installation Självstyrd (under förutsättning). Självstyrd är möjligheten att installera programvara inte i molnet, utan på dina egna servrar. För att vara mer exakt är dessa alla installationsalternativ som inte är SaaS. I den här artikeln kommer vi endast att överväga självstyrda installationsalternativ.
  5. Möjlighet till självständig utveckling och testning. För att organisera förutsägbara förändringar i systemet krävs ett separat system för utveckling (ändringar i själva systemet), ett testsystem (Staging) och ett produktivt system för användare.
  6. Övrigt. Stöder olika autentiseringsscenarier, stöder granskningsloggar, har en anpassad förebild, etc.

Dessa är huvudelementen i företagslösningar och tyvärr glöms de ofta bort när man designar ett system.

Vad är ett livscykelhanteringssystem (LCMS)?

Kort sagt, i vårt fall är dessa Atlassian Jira och Atlassian Confluence – ett system som tillhandahåller verktyg för att organisera lagarbete. Systemet ”påtvingar” inga regler för att organisera arbetet, utan tillhandahåller en mängd olika verktyg för arbetet, såsom Scrum, Kanban-brädor, en vattenfallsmodell och skalbar Scrum, etc.
Namnet LCMS är inte en branschterm eller en vanlig term, det är helt enkelt namnet på systemet i vår Bank. LCMS för oss är inte ett buggspårningssystem, det är inte ett Incident Management-system och ett Change Management-system.

Vad omfattar implementering?

Implementeringen av lösningen består av många tekniska och organisatoriska frågor:

  • Tilldelning av teknisk kapacitet.
  • Inköp av mjukvara.
  • Skapande av ett team för att implementera lösningen.
  • Installation och konfiguration av lösning.
  • Utveckling av lösningsarkitektur. förebild.
  • Utveckling av verksamhetsdokumentation inklusive instruktioner, föreskrifter, teknisk utformning, föreskrifter m.m.
  • Att förändra företagets processer.
  • Skapande av ett supportteam. SLA utveckling.
  • Användarutbildning.
  • Övrigt.

I den här artikeln kommer vi att överväga de tekniska aspekterna av implementeringen, utan detaljer om den organisatoriska komponenten.

Har Atlassian

Atlassian är ledande inom många segment:

Atlassians produkter har alla företagsfunktioner du behöver. Jag kommer att notera följande funktioner:

  1. Atlassians lösningar är baserade på webbservern Java Tomcat. Apache Tomcat-mjukvaran ingår i Atlassian-mjukvaran, som en del av installationen kan du inte ändra versionen av Apache Tomcat installerad med Atlassian-mjukvaran, även om versionen är föråldrad och innehåller sårbarheter. Det enda alternativet är att vänta på en uppdatering från Atlassian med en nyare version av Apache Tomcat. Nu, till exempel, har de nuvarande versionerna av Jira Apache Tomcat 8.5.42, och Confluence har Apache Tomcat 9.0.33.
  2. Användarvänligt gränssnitt, de bästa metoderna som finns tillgängliga på marknaden för denna klass av programvara implementeras.
  3. Helt anpassningsbar lösning. Med förbättringar kan du implementera vilken ändring som helst i den grundläggande funktionaliteten för användaren.
  4. Utvecklat ekosystem. Det finns flera hundra partners: https://partnerdirectory.atlassian.com, inklusive 16 partners i Ryssland. Det är genom partners i Ryssland som du kan köpa Atlassian-programvara, plugins och få utbildning. Det är partnerna som utvecklar och underhåller de flesta plugins.
  5. App Store (Plugins): https://marketplace.atlassian.com. Plugins förbättrar avsevärt funktionaliteten hos Atlassian-programvaran. Den grundläggande funktionaliteten hos Atlassian-programvaran är ganska blygsam, för nästan alla uppgifter blir det nödvändigt att installera ytterligare plug-ins gratis eller för extra pengar. Därför kan mjukvarukostnaderna bli betydligt högre än vad som ursprungligen beräknats.
    Hittills har flera tusen plugins publicerats i butiken, nästan tusen av dem har testats och validerats under programmet godkända appar från Datacenter. Sådana plugins kan anses vara stabila och lämpliga för användning i upptagna system.
    Jag råder dig att noggrant närma dig frågan om att planera plugins, detta påverkar i hög grad kostnaden för lösningen, många av plugins kan leda till systeminstabilitet och plugintillverkaren ger inte support för att lösa problemet.
  6. Utbildning och certifiering: https://www.atlassian.com/university
  7. SSO, SAML 2.0-mekanismer stöds.
  8. Stöd för skalbarhet och feltolerans är endast tillgängligt i datacenterutgåvor. Den här utgåvan kom första gången 2014 (Jira 6.3). Funktionaliteten i Data Center-utgåvorna utökas och förbättras ständigt (till exempel dök möjligheten till en enda nodinstallation upp först 2020). Tillvägagångssättet för plugins för datacenterutgåvor har förändrats mycket under 2018 med introduktionen av appar som godkänts av datacenter.
  9. Supportkostnad. Kostnaden för support från leverantören är nästan lika med hela kostnaden för mjukvarulicenser. Ett exempel på beräkning av kostnaden för licenser ges nedan.
  10. Brist på långtidsutsläpp. Det finns sk Enterprise versioner, men de, som alla andra versioner, stöds i 2 år. Med skillnaden att endast korrigeringar släpps för Enterprise-versioner, utan att lägga till ny funktionalitet.
  11. Utökade supportalternativ (för ytterligare pengar). https://www.atlassian.com/enterprise/support-services
  12. Flera varianter av DBMS stöds. Atlassian kommer med en gratis H2-databas, som inte rekommenderas för produktiv användning. Följande DBMS stöds för produktiv användning: Amazon Aurora (endast datacenter) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Det finns begränsningar för versioner som stöds och ofta stöds bara äldre versioner, men för varje DBMS finns det en version med leverantörsstöd:
    Jira-stödda plattformar,
    Confluence-stödda plattformar.

Teknisk arkitektur

Hur man implementerar Atlassian Jira + Confluence i ett företag. Tekniska frågor

Förklaringar till schemat:

  • Diagrammet visar implementeringen i vår bank, denna konfiguration ges som exempel och rekommenderas inte.
  • nginx tillhandahåller omvänd proxyfunktion för både Jira och Confluence.
  • Feltoleransen för ett DBMS implementeras med hjälp av DBMS.
  • Överföring av ändringar mellan miljöer görs med insticksprogrammet Configuration Manager för Jira.
  • AppSrv i diagrammet är en inbyggd rapporterande applikationsserver, använder inte Atlassian-programvara.
  • EasyBI-databasen skapades för att bygga kuber och rapportera med hjälp av plugin-programmet eazyBI Reports and Charts for Jira.
  • Tjänsten Confluence Synchrony (en komponent som tillåter samtidig redigering av dokument) är inte uppdelad i en separat installation och körs tillsammans med Confluence, på samma server.

Licensiering

Atlassian licensfrågor förtjänar en separat artikel, här kommer jag bara att nämna allmänna principer.
De viktigaste frågorna som vi mötte är frågorna om licensiering av datacenterutgåvor. Licensfunktioner för server- och datacenterutgåvor:

  1. Licensen för Server-utgåvan är evig och kunden kan använda programvaran även efter att licensen har löpt ut. Men efter utgången av licensen förlorar köparen rätten att få produktsupport och uppdatera programvaran till de senaste versionerna.
  2. Licensiering baseras på antalet användare i det globala behörighetssystemet 'JIRA Users'. Det spelar ingen roll om de använder systemet eller inte - även om användare aldrig har loggat in i systemet kommer alla användare att beaktas för licensen. Om antalet licensierade användare överskrids är lösningen att ta bort "JIRA Users"-behörigheten från några av användarna.
  3. Datacenterlicensen är faktiskt en prenumeration. En årlig licensavgift krävs. Vid utgången av mandatperioden kommer arbetet med systemet att blockeras.
  4. Kostnaden för licenser kan ändras över tiden. Som praktiken visar, i stort och kanske betydligt. Därför, om dina licenser kostar en summa i år, kan kostnaden för licenser öka nästa år.
  5. Licensiering görs av användare per nivå (till exempel nivå 1001-2000 användare). Det är möjligt att uppgradera till en högre nivå, mot en avgift.
  6. Om antalet licensierade användare överskrids kommer nya användare att skapas utan rätt att logga in ('JIRA Users' global behörighet).
  7. Plugins kan endast licensieras för samma antal användare som huvudprogramvaran.
  8. Endast produktiva installationer krävs för att vara licensierade, för resten kan du få en utvecklarlicens: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. För att köpa underhåll krävs köp av underhåll av Renew Software - kostnaden är cirka 50 % av kostnaden för den ursprungliga programvaran. Den här funktionen är inte tillgänglig för datacentret och gäller inte plugins - du måste betala hela kostnaden årligen för att stödja dem.
    Således kostar årlig mjukvarusupport mer än 50 % av den totala kostnaden för programvaran när det gäller Server-utgåvan och 100 % när det gäller Data Center-utgåvan - detta är betydligt mer än de flesta andra leverantörer. Enligt min åsikt är detta en betydande nackdel med Atlassian affärsmodell.

Funktioner för övergången från serverutgåvan till datacentret:

  1. Övergången från Server-utgåvan till Datacentret är betald. Pris hittar du här https://www.atlassian.com/licensing/data-center.
  2. När du byter från Server-utgåvan till Datacentret behöver du inte betala för att ändra utgåvan av plugins – plugins för Server-utgåvan kommer att fungera. Men det kommer att bli nödvändigt att förnya licenser för plugin-program för Data Center-utgåvan.
  3. Du kan använda plugins som inte har en version för användning med Data Center-utgåvor. Samtidigt kanske sådana plugins inte fungerar korrekt och det är bättre att tillhandahålla ett alternativ till sådana plugins i förväg.
  4. Uppgradering till Data Center-utgåvan görs genom att installera en ny licens. Samtidigt är licensen för Server-utgåvan fortfarande tillgänglig.
  5. Det finns inga funktionella skillnader mellan Data Center- och Server-utgåvorna för användare, alla skillnader finns endast i funktionerna för administration och installationens tekniska möjligheter.
  6. Kostnaden för programvara och plugin-program skiljer sig för server- och datacenterutgåvorna. Skillnaden i kostnad är ofta mindre än 5 % (inte väsentligt). Ett exempel på kostnadsberäkning visas nedan.

Funktionellt genomförande

Basprogramvaran Atlassian innehåller ett stort antal funktioner, men ofta är funktionerna som tillhandahålls av systemet allvarligt bristfälliga. Ibland är inte ens de enklaste funktionerna tillgängliga i grundpaketet, så plug-ins är oumbärliga för nästan alla implementeringar. För Jira-systemet använder vi följande plugins (bilden är klickbar):
Hur man implementerar Atlassian Jira + Confluence i ett företag. Tekniska frågor

För Confluence-systemet använder vi följande plugins (bilden är klickbar):
Hur man implementerar Atlassian Jira + Confluence i ett företag. Tekniska frågor

Kommentarer om tabeller med plugins:

  • Alla priser är baserade på 2000 användare;
  • Priserna baseras på angivna priser https://marketplace.atlassian.com, den verkliga kostnaden (med rabatter) är lägre;
  • Som du kan se är det totala beloppet praktiskt taget detsamma för Data Center- och Server-utgåvorna;
  • Endast plugin-program med stöd för Data Center-utgåvan valdes för användning. Vi uteslöt resten av plugins från planerna, för systemets stabilitet.

Funktionaliteten beskrivs kortfattat i kommentarskolumnen. Ytterligare plugins har utökat systemets funktionalitet:

  • Lade till flera visuella verktyg;
  • Förbättrade integrationsmekanismer;
  • Tillagda verktyg för vattenfallsmodellprojekt;
  • Tillagda verktyg för skalbar Scrum för att organisera arbetet i stora projektteam;
  • Tillagd funktionalitet för tidsspårning;
  • Tillagda verktyg för att automatisera operationer och konfigurera lösningen;
  • Tillagd funktionalitet för att förenkla och automatisera administrationen av lösningen.

Dessutom använder vi Atlassian Companion-appen. Denna applikation låter dig redigera filer i externa applikationer (MS Office) och returnera dem till Confluence (incheckning).
Applikation för användararbetsstationer (tjock klient) ALM Works Jira-klient https://marketplace.atlassian.com/apps/7070 beslutade att inte använda på grund av dåligt leverantörsstöd och negativa recensioner.
för integration med MS Project vi använder en självskriven applikation som låter dig uppdatera ärendestatus i MS Project från Jira och vice versa. I framtiden, för samma ändamål, planerar vi att använda en betald plugin Ceptah Bridge - JIRA MS Project Plugin, som är installerat som ett tillägg för MS Project.
Integration med externa applikationer implementeras genom applikationslänkar. Samtidigt är integrationer för Atlassian-applikationer förkonfigurerade och fungerar direkt efter installationen, till exempel kan du visa information om Issues i Jira på en sida i Confluence.
REST API används för att komma åt Jira- och Confluence-servrarna: https://developer.atlassian.com/server/jira/platform/rest-apis.
SOAP och XML-RPC API:erna är föråldrade och inte tillgängliga i de nya versionerna för användning.

Slutsats

Så vi har övervägt de tekniska funktionerna för att implementera ett system baserat på Atlassian-produkter. Den föreslagna lösningen är en av de möjliga lösningarna och lämpar sig väl för en företagsmiljö.

Den föreslagna lösningen är skalbar, feltolerant, innehåller tre miljöer för att organisera utveckling och testning, innehåller alla nödvändiga element för samarbete i systemet och tillhandahåller ett brett utbud av projektledningsverktyg.

Jag svarar gärna på frågor i kommentarerna.

Källa: will.com