Plant u de implementatie van Atlassian-software (Jira, Confluence)? Wilt u geen ernstige fouten maken in het ontwerp die op het laatste moment moeten worden opgelost?

Dan is dit de plek voor u ā we bekijken de implementatie van Atlassian Jira + Confluence in een bedrijf met inachtneming van verschillende technische aspecten.
Hallo, ik ben de Producteigenaar bij RSHB en verantwoordelijk voor de ontwikkeling van het Lifecycle Management System (LMS) dat is gebouwd op de softwareproducten van Atlassian Jira en Confluence.
In dit artikel beschrijf ik de technische aspecten van het bouwen van het LMS. Het artikel is nuttig voor iedereen die van plan is om Atlassian Jira en Confluence in een bedrijfsomgeving te implementeren of hieraan werkt. Het artikel vereist geen speciale kennis en is bedoeld voor beginners die met de producten van Atlassian kennismaken. Het is nuttig voor beheerders, producteigenaren, projectleiders, architecten, en iedereen die de implementatie van systemen op basis van Atlassian-software plant.
Inleiding
In het artikel zullen we de technische vragen rondom de implementatie van het Lifecycle Management System (LMS) in een bedrijfsomgeving behandelen. Laten we eerst definiƫren wat dit betekent.
Wat betekent een zakelijke oplossing?
Dit betekent een oplossing:
- Schaalbaar. Bij een toename van de belasting is er de technische mogelijkheid om de capaciteit van het systeem te vergroten. We onderscheiden horizontale en verticale schaalbaarheid ā bij verticale schaalbaarheid wordt de capaciteit van servers vergroot, terwijl bij horizontale schaalbaarheid het aantal servers voor de werking van het systeem toeneemt.
- Veerkrachtig. Het systeem blijft toegankelijk als een element uitvalt. Over het algemeen is voor bedrijfsystemen veerkracht niet vereist, maar wij zullen specifiek een dergelijke oplossing bekijken. In ons systeem zijn er plannen voor honderden concurrerende gebruikers en uitval zal erg kritisch zijn.
- Ondersteund. De oplossing moet worden ondersteund door de leverancier. Software zonder ondersteuning moet worden vervangen door eigen ontwikkelingen of andere software die wel ondersteuning biedt.
- Installatie Zelfbeheerd (On-premise). Zelfbeheerd betekent dat software niet in de cloud wordt geĆÆnstalleerd, maar op eigen servers. Om preciezer te zijn, dit omvat alle installatieopties die geen SaaS zijn. In dit artikel zullen we alleen de installatieopties voor Zelfbeheerd behandelen.
- De mogelijkheid tot onafhankelijke ontwikkeling en testing. Voor het organiseren van voorspelbare wijzigingen in het systeem zijn aparte systemen voor ontwikkeling (wijzigingen in het systeem zelf), een testomgeving (Staging) en een productieomgeving voor de gebruikers vereist.
- Anders. Ondersteunt verschillende authenticatiescenario's, ondersteunt auditlogs, heeft een configureerbaar rolmodel, enz.
Dit zijn de belangrijkste elementen van bedrijfsoplossingen en helaas worden ze vaak vergeten bij het ontwerpen van systemen.
Wat is een Lifecycle Management Systeem (LMS)?
Kortom, in ons geval is dit Atlassian Jira en Atlassian Confluence ā een systeem dat hulpmiddelen biedt voor het organiseren van teamwork. Het systeem 'dikt' geen regels voor het organiseren van werk op, maar biedt een verscheidenheid aan hulpmiddelen, zoals Scrum, Kanban-borden, de watervalmethode, schaalbare Scrum, enz.
De naam LMS is geen brancheterm of algemeen begrip, het is gewoon de naam van het systeem in onze bank. LMS is voor ons geen bug-tracking systeem, geen incidentbeheer systeem en geen wijzigingsbeheer systeem.
Wat omvat de implementatie?
De implementatie van de oplossing bestaat uit vele technische en organisatorische vragen:
- Toewijzing van technische middelen.
- Aankoop van software.
- Creƫren van een implementatieteam.
- Installatie en configuratie van de oplossing.
- Ontwikkeling van de architectuur van de oplossing. Rolmodel.
- Ontwikkeling van operationele documentatie, inclusief handleidingen, reglementen, technische projecten, bepalingen, enz.
- Wijziging van de bedrijfsprocessen.
- Creƫren van een ondersteunend team. Ontwikkeling van SLA.
- Opleiding van gebruikers.
- Anders.
In dit artikel zullen we de technische aspecten van de implementatie bespreken, zonder in detail in te gaan op de organisatorische component.
Kenmerken van Atlassian
Atlassian is leider in veel segmenten:
(Leiderschap is te danken aan de succesvolle acquisitie van AgileCraft met zijn cloudoplossing)


De producten van Atlassian beschikken over alle noodzakelijke bedrijfsfuncties. Ik wil de volgende kenmerken benadrukken:
- Atlassian-oplossingen zijn gebaseerd op de Java Tomcat-webserver. De Apache Tomcat-software wordt geleverd als onderdeel van de Atlassian-software, en het is niet mogelijk om de versie van Apache Tomcat die bij de Atlassian-software is geĆÆnstalleerd te wijzigen, zelfs niet als de versie verouderd is en kwetsbaarheden bevat. De enige optie is om te wachten op een update van Atlassian met een nieuwere versie van Apache Tomcat. Momenteel bevat bijvoorbeeld de actuele versie van Jira Apache Tomcat 8.5.42, terwijl Confluence Apache Tomcat 9.0.33 bevat.
- Gebruiksvriendelijke interface, de beste praktijken die beschikbaar zijn op de markt voor deze soort software zijn geĆÆmplementeerd.
- Volledig aanpasbare oplossing. Met aanpassingen kan elke wijziging in de basisfunctionaliteit voor de gebruiker worden gerealiseerd.
- Ontwikkeld ecosysteem. Er zijn enkele honderden partners: , waaronder 16 partners in Rusland. Het is mogelijk om de Atlassian-software, plugins en trainingen aan te schaffen via de partners in Rusland. De meeste plugins worden ontwikkeld en onderhouden door partners.
- Applicatiewinkel (plugins): . Plugins breiden de functionaliteit van Atlassian-software aanzienlijk uit. De basisfunctionaliteit van Atlassian-software is vrij bescheiden en voor bijna alle taken is er een behoefte aan aanvullende plugins, gratis of tegen betaling. Daarom kunnen de kosten voor de software aanzienlijk hoger zijn dan aanvankelijk geschat.
Momenteel zijn er enkele duizenden plugins gepubliceerd in de winkel, bijna duizend daarvan zijn getest en gevalideerd volgens het programma Data Center goedgekeurde apps. Dergelijke plugins kunnen als stabiel en geschikt voor gebruik in hoge belasting systemen worden beschouwd.
Ik raad aan om zorgvuldig na te denken over de planning van plugins, dit heeft een grote invloed op de kosten van de oplossing, veel plugins kunnen leiden tot systeeminstabiliteit en de fabrikant van de plugin biedt mogelijk geen ondersteuning voor het oplossen van problemen. - Training en certificeringen:
- Mechanismen voor SSO en SAML 2.0 worden ondersteund.
- Ondersteuning voor schaalbaarheid en fouttolerantie is alleen beschikbaar in de Data Center-edities. Deze editie werd voor het eerst geĆÆntroduceerd in 2014 (Jira 6.3). De functionaliteit van de Data Center-edities wordt voortdurend uitgebreid en verbeterd (bijvoorbeeld de mogelijkheid voor single node-installatie is pas in 2020 geĆÆntroduceerd). De benadering van plugins voor Data Center-edities is sterk veranderd in 2018 met de invoering van Data Center goedgekeurde apps.
- Ondersteuningskosten. De kosten voor ondersteuning van de vendor zijn bijna gelijk aan de totale kosten van de softwarelicenties. Een voorbeeld van de berekening van de licentiekosten wordt hieronder gepresenteerd.
- Ontbreken van lange termijn releases. Er zijn zogenaamde , maar deze, net als alle andere versies, worden 2 jaar ondersteund. Met als verschil dat voor Enterprise versies alleen bugfixes worden uitgebracht, zonder toevoeging van nieuwe functionaliteit.
- Uitgebreide ondersteuningsopties (tegen extra kosten).
- Meerdere databaseopties worden ondersteund. Atlassian-software wordt geleverd met de gratis H2-database, deze database wordt niet aanbevolen voor productief gebruik. Voor productief gebruik worden de volgende databases ondersteund: Amazon Aurora (alleen Data Center), PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Er zijn beperkingen aan de ondersteunde versies en vaak worden alleen oudere versies ondersteund, maar voor elke database is er een versie met ondersteuning van de vendor:
,
.
Technische architectuur

Uitleg bij het schema:
- Het schema toont de implementatie in onze bank, deze configuratie wordt als voorbeeld gegeven en is niet aanbevolen.
- nginx biedt functionaliteit als reverse-proxy voor zowel Jira als Confluence.
- De fouttolereantie van de database wordt gerealiseerd door de middelen van de database.
- Wijzigingen tussen omgevingen worden overgebracht met behulp van de plugin Configuration Manager for Jira.
- AppSrv in het schema is een eigen applicatieserver voor rapportages, gebruikt geen Atlassian-software.
- De EasyBI-database is gemaakt voor het opbouwen van cubes en rapportages met behulp van de plugin eazyBI Reports and Charts for Jira.
- De Confluence Synchrony-service (een component die gelijktijdige documentbewerking mogelijk maakt) is niet als een apart installatiepakket opgenomen en draait samen met Confluence op dezelfde server.
Licentieverlening
Licentievraagstukken van Atlassian verdienen een apart artikel, hier noem ik alleen de algemene principes.
De belangrijkste vragen waarmee we werden geconfronteerd, zijn de licentievraagstukken voor de Data Center-editie. Kenmerken van de licentieverdeling voor de Server- en Data Center-edities:
- De licentie voor de Server-editie is levenslang en de koper kan de software gebruiken, zelfs na vervaldatum van de licentie. Maar na de vervaldatum verliest de koper het recht om ondersteuning voor het product te ontvangen en om de software naar de actuele versies bij te werken.
- De licentie wordt verleend op basis van het aantal gebruikers met de globale toestemming āJIRA Usersā in het systeem. Het maakt niet uit of deze gebruikers het systeem daadwerkelijk gebruiken of niet ā zelfs als ze nog nooit zijn ingelogd, worden alle gebruikers meegeteld voor de licentie. In het geval van een overschrijding van het aantal gelicentieerde gebruikers, kan de beslissing worden genomen om de bevoegdheid āJIRA Usersā voor een deel van de gebruikers in te trekken.
- De licentie voor Data Center is in feite een abonnement. Jaarlijkse betaling van de licentie is vereist. Bij het verstrijken van de termijn wordt de toegang tot het systeem geblokkeerd.
- De kosten van licenties kunnen in de loop van de tijd veranderen. In de praktijk komen deze meestal hoger uit, en mogelijk aanzienlijk. Dus als uw licenties dit jaar een bepaald bedrag kosten, kan de prijs volgend jaar stijgen.
- Licenties worden vergeven per tier (bijvoorbeeld voor 1001-2000 gebruikers). Het is mogelijk om over te gaan naar een hogere tier, tegen een meerprijs.
- Bij overschrijding van het aantal gelicentieerde gebruikers worden nieuwe gebruikers aangemaakt zonder toegang tot het systeem (āJIRA Usersā globale toestemming).
- Plugins kunnen alleen worden gelicentieerd voor hetzelfde aantal gebruikers als de hoofdsoftware.
- Licenties zijn alleen vereist voor productie-installaties, voor andere installaties kan een ontwikkelaarslicentie worden verkregen: .
- Voor de aankoop van ondersteuning is de aankoop van Renew Software maintenance vereist ā de kosten zijn ongeveer 50% van de prijs van de oorspronkelijke software. Deze optie is niet beschikbaar voor Data Center en geldt niet voor plugins ā voor hun ondersteuning moet jaarlijks het volledige bedrag worden betaald.
Daarom kost jaarlijkse ondersteuning van de software meer dan 50% van de totale kosten van de software in het geval van de Server-editie en 100% in het geval van de Data Center-editie ā dit is aanzienlijk meer dan bij de meeste andere leveranciers. Dit is volgens mij een belangrijk nadeel van het bedrijfsmodel van Atlassian.
Kenmerken van de overstap van de Server-editie naar de Data Center-editie:
- De overstap van de Server-editie naar de Data Center-editie is betaald. U kunt de prijs hier vinden. .
- Bij de overstap van de Server-editie naar de Data Center-editie hoeft u geen kosten te betalen voor de wijziging van plugins ā plugins voor de Server-editie blijven functioneren. Maar voor de Data Center-editie moet u de licenties voor plugins wel verplicht verlengen.
- U kunt plugins gebruiken waarvoor geen versie beschikbaar is voor de Data Center-edities. Deze plugins kunnen natuurlijk incorrect functioneren, dus het is beter om vooraf een alternatief voor deze plugins te overwegen.
- De overstap naar de Data Center-editie gebeurt door het installeren van een nieuwe licentie. De licentie voor de Server-editie blijft nog steeds beschikbaar.
- Er zijn geen functionele verschillen tussen de Data Center- en Server-edities voor gebruikers; alle verschillen zijn alleen van toepassing op de beheermogelijkheden en technische installatiecapaciteiten.
- De kosten voor software en plugins verschillen tussen de Server- en Data Center-edities. Het prijsverschil bedraagt vaak minder dan 5% (niet wezenlijk). Een voorbeeld van de kostenberekening staat hieronder.
Functionele implementatieomvang
De standaardlevering van Atlassian-software bevat een enorme hoeveelheid mogelijkheden, maar in veel gevallen ontbreken de mogelijkheden die het systeem biedt. Soms zijn zelfs de eenvoudigste functies niet beschikbaar in de standaardlevering, zodat plugins praktisch onmisbaar zijn bij elke implementatie. Voor het Jira-systeem gebruiken we de volgende plugins (afbeelding is klikbaar):
Voor het Confluence-systeem gebruiken we de volgende plugins (afbeelding is klikbaar):
Opmerkingen bij tabellen met plugins:
- Alle prijzen zijn gebaseerd op 2000 gebruikers;
- De prijzen zijn gebaseerd op de opgegeven prijzen , de werkelijke kosten (met kortingen) zijn lager;
- Zoals we zien, verschilt het totaalbedrag praktisch niet tussen de Data Center- en Server-edities;
- Voor gebruik zijn alleen plugins geselecteerd die de Data Center-editie ondersteunen. Andere plugins hebben we uitgesloten van de plannen, voor de stabiliteit van het systeem.
De functionaliteit is kort beschreven in de kolom Opmerking. Extra plugins hebben de functionaliteit van het systeem uitgebreid:
- Er zijn verschillende visuele hulpmiddelen toegevoegd;
- De integratiemechanismen zijn verbeterd;
- Er zijn hulpmiddelen toegevoegd voor projecten volgens het watervalmodel;
- Er is functionaliteit toegevoegd voor schaalbare Scrum, voor het organiseren van grote projectteams;
- Er is functionaliteit toegevoegd voor tijdregistratie;
- Er zijn hulpmiddelen toegevoegd voor het automatiseren van operaties en het configureren van oplossingen;
- Er is functionaliteit toegevoegd voor het vereenvoudigen en automatiseren van het beheer van de oplossing.
Daarnaast gebruiken we Deze applicatie stelt je in staat om bestanden in externe applicaties (MS Office) te bewerken en ze weer terug te sturen naar Confluence (check-in).
Applicatie voor eindgebruikers (dikke client) ALM Works Jira Client besloten om het niet te gebruiken vanwege slechte ondersteuning door de leverancier en negatieve feedback.
Voor integraties met MS Project we gebruiken een maatwerkapplicatie die het mogelijk maakt om de status van issues in MS Project vanuit Jira en vice versa bij te werken. In de toekomst zijn we van plan om voor dezelfde doeleinden een betaalde plugin te gebruiken. , die wordt geĆÆnstalleerd als een add-in op MS Project.
Integratie met externe applicaties wordt gerealiseerd via Application Links. Voor Atlassian-applicaties zijn de integraties vooraf ingesteld en werken ze direct na configuratie, bijvoorbeeld door informatie over issues in Jira op een pagina in Confluence weer te geven.
Voor toegang tot de Jira- en Confluence-servers wordt de REST API gebruikt: .
SOAP en XML-RPC API zijn verouderd en niet beschikbaar in nieuwe versies voor gebruik.
Conclusie
Dus, we hebben de technische aspecten van de implementatie van een systeem op basis van Atlassian-producten besproken. De voorgestelde oplossing is een van de mogelijke oplossingen en is goed geschikt voor een zakelijke omgeving.
De voorgestelde oplossing is schaalbaar, fouttolerant, bevat drie omgevingen voor ontwikkelings- en testorganisatie, bevat alle noodzakelijke elementen voor samenwerking binnen het systeem en biedt een breed scala aan tools voor projectbeheer.
Ik beantwoord met plezier vragen in de opmerkingen.
Bron: habr.com


