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

Planerar du att implementera Atlassian-programvara (Jira, Confluence)? Vill du undvika allvarliga designfel som mÄste lösas i sista stund?

Hur man implementerar Atlassian Jira + Confluence i företag. Tekniska frÄgor
DĂ„ Ă€r du pĂ„ rĂ€tt stĂ€lle – vi diskuterar implementeringen av Atlassian Jira + Confluence i företag med hĂ€nsyn till olika tekniska aspekter.
Hej, jag Àr produktÀgare pÄ RSHB och ansvarar för utvecklingen av Livscykelhanteringssystemet (LHS) som Àr byggt pÄ programvarorna Atlassian Jira och Confluence.

I denna artikel kommer jag att beskriva de tekniska aspekterna av att bygga LHS. Artikeln kommer att vara till nytta för alla som planerar att implementera eller utveckla Atlassian Jira och Confluence i en företagsmiljö. Den krÀver inga specialkunskaper och Àr riktad mot nybörjare som vill lÀra sig mer om Atlassians produkter. Artikeln kommer att vara anvÀndbar för administratörer, produktÀgare, projektledare, arkitekter och alla som planerar att implementera system baserade pÄ Atlassians mjukvara.

Introduktion

I artikeln kommer vi att diskutera de tekniska frÄgorna kring implementeringen av Livscykelhanteringssystemet (LHS) i företagsmiljöer. LÄt oss först definiera vad detta innebÀr.

Vad betyder företagslösning?

Det betyder en lösning som Àr:

  1. Skalbar. Vid ökad belastning finns det tekniska möjligheter att öka systemets kapacitet. Man skiljer mellan horisontell och vertikal skalning — vid vertikal skalning ökar man serverkapaciteten, och vid horisontell skalning ökar man antalet servrar som systemet arbetar med.
  2. Felresistent. Systemet förblir tillgÀngligt om en komponent slutar fungera. Generellt krÀvs det ingen felresistens för företagslösningar, men vi kommer att övervÀga just en sÄdan lösning. I vÄrt system planeras flera hundra konkurrerande anvÀndare, och driftstopp kommer att vara mycket kritiska.
  3. Supportat. Lösningen mÄste ha stöd frÄn leverantören. Mjukvara utan support mÄste ersÀttas med interna utvecklingar eller annan mjukvara med support.
  4. Installation SjĂ€lvhanterad (On-premise). SjĂ€lvförvaltad — innebĂ€r att man kan installera programvara inte i molnet, utan pĂ„ egna servrar. Mer specifikt handlar det om alla installationsalternativ som inte Ă€r SaaS. I den hĂ€r artikeln kommer vi att fokusera pĂ„ alternativ för endast SjĂ€lvförvaltad installation.
  5. Möjlighet till oberoende utveckling och testning. För att organisera förutsÀgbara förÀndringar i systemet krÀvs separata system för utveckling (Àndringar i sjÀlva systemet), testsystem (Staging) och produktionssystem för anvÀndarnas arbete.
  6. Annat. Stöder olika autentiseringsscenarier, har stöd för loggar, har en anpassningsbar rollmodell etc.

Detta Àr grundlÀggande element i företagslösningar och, tyvÀrr, glöms de ofta bort vid systemdesign.

Vad Àr ett System för livscykelhantering (SLH)?

Kort sagt, i vĂ„rt fall handlar det om Atlassian Jira och Atlassian Confluence — system som erbjuder verktyg för att organisera kollektivt arbete. Systemet "imponerar" inte arbetsregler, utan erbjuder en mĂ„ngfald av verktyg för arbete, inklusive Scrum, Kanban-tavlor, vattendalsmodell, och skalerbar Scrum etc.
Namnet SLH Àr inte ett branschspecifikt term eller allmÀnt vedertaget begrepp, det Àr helt enkelt namnet pÄ systemet i vÄr bank. SLH för oss Àr inte ett system för buggrapportering, inte ett system för incidenthantering eller förÀndringshantering.

Vad ingÄr i implementeringen?

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

  • Uppdelning av tekniska resurser.
  • Inköp av programvara.
  • Skapande av ett implementeringsteam.
  • Installera och konfigurera lösningen.
  • Utveckling av lösningens arkitektur. Rollmodell.
  • Utveckling av driftsdokumentation, inklusive instruktioner, regler, tekniska projekt, policys etc.
  • Ändring av företagets processer.
  • Skapande av supportteam. Utveckling av SLA.
  • Utbildning av anvĂ€ndare.
  • Annat.

I denna artikel kommer vi att se pÄ de tekniska aspekterna av implementeringen, utan detaljer om den organisatoriska sidan.

Egenskaper hos Atlassian

Företaget Atlassian Àr ledande inom mÄnga segment:

Produkter frÄn Atlassian har alla nödvÀndiga företagsfunktioner. Jag vill lyfta fram följande egenskaper:

  1. Atlassians lösningar baseras pÄ webbservern Java Tomcat. Apache Tomcat-programvaran ingÄr i Atlassians programvara som en del av installationen; det gÄr inte att Àndra versionen av Apache Tomcat som ingÄr i Atlassian-programvaran, Àven om versionen Àr förÄldrad och har sÀkerhetsproblem. Det enda alternativet Àr att vÀnta pÄ en uppdatering frÄn Atlassian som innehÄller en nyare version av Apache Tomcat. Just nu, till exempel, innehÄller de aktuella versionerna av Jira Apache Tomcat 8.5.42, medan Confluence innehÄller Apache Tomcat 9.0.33.
  2. Ett anvÀndarvÀnligt grÀnssnitt, som implementerar de bÀsta branschpraxis som finns tillgÀngliga för denna programvaruklass.
  3. Ett helt anpassningsbart lösning. Med anpassningar kan vilken Àndring som helst av den grundlÀggande funktionaliteten för anvÀndaren genomföras.
  4. En utvecklad ekosystem. Det finns flera hundra partners: https://partnerdirectory.atlassian.com, inklusive 16 partners i Ryssland. Det Àr genom partners i Ryssland som man kan köpa Atlassians programvara, plugins och genomgÄ utbildning. Det Àr ocksÄ partners som utvecklar och stöder de flesta plugins.
  5. Appbutik (plugins): https://marketplace.atlassian.com. Plugins utökar avsevÀrt funktionaliteten i Atlassians programvara. GrundlÀggande funktionalitet i Atlassians programvara Àr ganska modest, och nÀstan alltid uppstÄr en behov av att installera ytterligare plugins, gratis eller mot extra kostnad. DÀrför kan kostnaderna för programvaran bli mycket högre Àn vad som först berÀknades.
    För nÀrvarande finns det flera tusen plugins publicerade i butiken, nÀstan tusen av dem har testats och validerats enligt programmet för Data Center-godkÀnda appar. SÄdana plugins kan betraktas som stabila och lÀmpliga för anvÀndning i belastade system.
    Jag rekommenderar att noggrant planera plugins, eftersom detta kraftigt pÄverkar kostnaden för lösningen. MÄnga av plugins kan leda till systeminstabilitet och tillverkaren av plugin kan inte erbjuda support för att lösa problemet.
  6. Utbildning och certifieringar: https://www.atlassian.com/university
  7. SSO-, SAML 2.0-mekanismer stöds.
  8. Stöd för skalbarhet och felöverlevnad finns endast i Data Center-versionerna. Denna version introducerades för första gÄngen 2014 (Jira 6.3). Funktionaliteten för Data Center-versionerna utökas och förbÀttras stÀndigt (till exempel sÄ kom möjligheten för single node installation först 2020). TillvÀgagÄngssÀttet för plugins för Data Center-versionerna förÀndrades kraftigt 2018 med införandet av Data Center-godkÀnda appar.
  9. Kostnad för support. Kostnaden för support frÄn leverantören ligger i praktiken nÀra den fulla kostnaden för licenserna för programvaran. Exempel pÄ berÀkning av licenskostnader ges nedan.
  10. Avsaknad av lÄngsiktiga releaser. Det finns sÄ kallade Enterprise-versioner, men precis som alla andra versioner stöds de i 2 Är. Med den skillnaden att för Enterprise-versioner slÀpps endast bugfixar, utan att ny funktionalitet lÀggs till.
  11. Utökade supportalternativ (till extra kostnad). https://www.atlassian.com/enterprise/support-services
  12. Flera databashanterare stöds. Atlassian-programvaran levereras med den kostnadsfria databashanteraren H2, denna databashanterare rekommenderas inte för produktionsanvÀndning. För produktionsbruk stöds följande databashanterare: Amazon Aurora (endast Data Center), PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Det finns begrÀnsningar för stödda versioner, och ofta stöds endast Àldre versioner, men för varje databashanterare finns det en version med leverantörsstöd:
    Jira supported platforms,
    Confluence supported platforms.

Teknisk arkitektur

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

Förklaringar till schemat:

  • Schemat visar en implementation i vĂ„r bank, denna konfiguration presenteras som exempel och Ă€r inte en rekommenderad.
  • nginx tillhandahĂ„ller funktionalitet för reverse-proxy bĂ„de för Jira och Confluence.
  • Felöverlevnad för databashanterare realiseras genom databashanterarens egna medel.
  • Överföring av Ă€ndringar mellan miljöer sker med hjĂ€lp av pluginen Configuration Manager for Jira.
  • AppSrv pĂ„ schemat Ă€r en egen applikationsserver för rapportering och anvĂ€nder ingen Atlassian-programvara.
  • DB EasyBI Ă€r skapad för att bygga kuber och rapporter med hjĂ€lp av pluginen eazyBI Reports and Charts for Jira.
  • TjĂ€nsten Confluence Synchrony (komponenten som möjliggör samtidig redigering av dokument) Ă€r inte separat installerad och körs tillsammans med Confluence, pĂ„ samma server.

Licensiering

FrÄgor kring Atlassian-licenser förtjÀnar en egen artikel, hÀr nÀmner jag endast de allmÀnna principerna.
De viktigaste frÄgorna vi stötte pÄ rör licensiering av Data Center-utgÄvor. Egenskaperna för licensiering av Server- och Data Center-utgÄvor:

  1. Licensen för Server-utgÄvan Àr etern och köparen kan anvÀnda programvaran Àven efter att licensen har löpt ut. Men efter utgÄng av licensen förlorar köparen rÀtten att fÄ produktstöd och uppdatera programvaran till aktuella versioner.
  2. Licensiering görs baserat pĂ„ antalet anvĂ€ndare med global behörighet ‘JIRA Users’. Det spelar ingen roll om de anvĂ€nder systemet eller inte – Ă€ven om anvĂ€ndarna aldrig har loggat in i systemet, kommer alla anvĂ€ndare att beaktas för licensen. Om antalet licensierade anvĂ€ndare överskrids, kommer lösningen att vara att ta bort fullmakten ‘JIRA Users’ frĂ„n vissa anvĂ€ndare.
  3. Licensen för Data Center Ă€r faktiskt en prenumeration. Årlig betalning av licensen krĂ€vs. Vid utgĂ„ng av termen kommer arbetet med systemet att blockeras.
  4. Licenskostnader kan förÀndras över tid. Som erfarenheten visar, ofta uppÄt och möjligen betydligt. SÄ om dina licenser kostar en summa i Är, kan kostnaden för licenserna öka nÀsta Är.
  5. Licensering sker per anvÀndare genom tier (till exempel nivÄ 1001-2000 anvÀndare). Det finns möjlighet att uppgradera till en högre tier mot en extra kostnad.
  6. Vid överskridande av antalet licensierade anvĂ€ndare kommer nya anvĂ€ndare att skapas utan rĂ€tt att logga in i systemet (‘JIRA Users’ global permission).
  7. Plugins kan licensieras endast för samma antal anvÀndare som huvudprogramvaran.
  8. Licensiering krÀvs endast för produktionsinstallationer, medan utvecklingslicens kan erhÄllas för andra: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. För att köpa support krĂ€vs köp av Renew Software maintenance – kostnaden Ă€r ungefĂ€r 50 % av kostnaden för den ursprungliga programvaran. Detta alternativ Ă€r inte tillgĂ€ngligt för Data Center och gĂ€ller inte för plugins – för deras support mĂ„ste den fulla kostnaden betalas Ă„rligen.
    SĂ„ledes kostar Ă„rlig support för programvaran mer Ă€n 50 % av det fulla priset för programvaran för Server-utgĂ„van och 100 % för Data Center-utgĂ„van – detta Ă€r betydligt mer Ă€n för de flesta andra leverantörer. Enligt min Ă„sikt Ă€r detta en betydande nackdel med Atlassians affĂ€rsmodell.

SÀrskilda aspekter av övergÄngen frÄn Server-utgÄvan till Data Center:

  1. ÖvergĂ„ngen frĂ„n Server edition till Data Center Ă€r betalningspliktig. Kostnaden kan hittas hĂ€r https://www.atlassian.com/licensing/data-center.
  2. Vid övergĂ„ng frĂ„n Server edition till Data Center krĂ€vs ingen betalning för att byta edition av plugins – plugins för Server edition kommer att fungera. Men licenser för plugins mĂ„ste förnyas för Data Center edition.
  3. Du kan anvÀnda plugins för vilka det inte finns en version för Data Center editions. Men naturligtvis kan sÄdana plugins fungera inkorrekt, sÄ det Àr bÀttre att förutsÀga ett alternativ till sÄdana plugins.
  4. ÖvergĂ„ngen till Data Center edition görs genom att installera en ny licens. Licensen för Server edition förblir fortfarande tillgĂ€nglig.
  5. Det finns inga funktionella skillnader mellan Data Center och Server editions för anvÀndare, alla skillnader ligger i administrationsfunktioner och tekniska installationsmöjligheter.
  6. Kostnaden för mjukvara och plugins skiljer sig mellan Server och Data Center editions. Skillnaden i kostnad Àr ofta mindre Àn 5% (inte betydande). Ett exempel pÄ kostnadsberÀkning ges nedan.

OmfÄng av implementering

Basleveransen av Atlassian-mjukvara inkluderar ett stort antal funktioner, men ofta Àr funktionen som tillhandahÄlls av systemet otillrÀcklig. Ibland saknas Àven de enklaste funktionerna i basleveransen, dÀrför Àr plugins praktiskt taget nödvÀndiga för varje implementation. För Jira-systemet anvÀnder vi följande plugins (bilden Àr klickbar):
Hur man implementerar Atlassian Jira + Confluence i 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 företag. Tekniska frÄgor

Kommentarer till tabeller med plugins:

  • Alla priser baseras pĂ„ 2000 anvĂ€ndare;
  • Priserna Ă€r baserade pĂ„ angivna priser https://marketplace.atlassian.com, det verkliga priset (med rabatter) blir lĂ€gre;
  • Som vi ser, skiljer sig den slutliga summan knappt mellan Data Center och Server editions;
  • Endast plugins med stöd för Data Center edition har valts för anvĂ€ndning. Övriga plugins har uteslutits frĂ„n planerna för systemets stabilitet.

Funktionaliteten beskrivs kort i Kommentar-kolumnen. Ytterligare plugins har utökat systemets funktionalitet:

  • NĂ„gra visuella verktyg har lagts till;
  • Integrationsmekanismerna har förbĂ€ttrats;
  • Verktyg har lagts till för vattenfallsmodellprojekt;
  • Verktyg har lagts till för skalbart Scrum, för att organisera arbetet i stora projektteam;
  • Funktionalitet för tidshantering har lagts till;
  • Verktyg för automatisering av operationer och konfiguration av lösningen har lagts till;
  • Funktionalitet för att förenkla och automatisera administrationen av lösningen har lagts till.

Dessutom anvÀnder vi Atlassian Companion app. Denna applikation möjliggör redigering av filer i externa applikationer (MS Office) och att returnera dem till Confluence (check-in).
Applikation för anvÀndarnas arbetsstationer (tjock klient) ALM Works Jira Client https://marketplace.atlassian.com/apps/7070 beslöt vi att inte anvÀnda pÄ grund av dÄligt stöd frÄn leverantören och negativa recensioner.
För integrationer med MS Project vi anvĂ€nder en egenutvecklad applikation som gör det möjligt att uppdatera status pĂ„ frĂ„gor i MS Project frĂ„n Jira och vice versa. I framtiden planerar vi att anvĂ€nda en betald plugin för samma syften. Ceptah Bridge — JIRA MS Project Plugin, som installeras som ett tillĂ€gg pĂ„ MS Project.
Integration med externa applikationer genomförs via Application Links. För Atlassian-applikationer Àr integrationerna förkonfigurerade och fungerar omedelbart efter instÀllning, till exempel kan information om frÄgor i Jira visualiseras pÄ en sida i Confluence.
REST API anvÀnds för Ätkomst till Jira- och Confluence-servrarna: https://developer.atlassian.com/server/jira/platform/rest-apis.
SOAP och XML-RPC API Àr avvecklade och inte tillgÀngliga i nya versioner för anvÀndning.

Slutsats

SÄ vi har granskat de tekniska aspekterna av att implementera systemet baserat pÄ Atlassians produkter. Den föreslagna lösningen representerar en av möjliga lösningar och passar bra för en företagsmiljö.

Den föreslagna lösningen Àr skalbar, redundant, och innehÄller tre miljöer för utveckling och testning, innehÄller alla nödvÀndiga element för samarbete i systemet och erbjuder ett brett utbud av verktyg för projektledning.

Jag svarar gÀrna pÄ frÄgor i kommentarerna.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster