Hoe Atlassian Jira + Confluence in een bedrijf te implementeren. Technische vragen

Ben je van plan Atlassian-software (Jira, Confluence) te implementeren? Wil je geen wrede ontwerpfouten maken, die dan op het laatste moment opgelost moeten worden?

Hoe Atlassian Jira + Confluence in een bedrijf te implementeren. Technische vragen
Dan ben je hier - we overwegen de implementatie van Atlassian Jira + Confluence in een bedrijf, rekening houdend met verschillende technische aspecten.
Hallo, ik ben een Product Owner bij RSHB en ben verantwoordelijk voor de ontwikkeling van het Lifecycle Management System (LCMS) gebouwd op Atlassian Jira en Confluence softwareproducten.

In dit artikel beschrijf ik de technische aspecten van het bouwen van een LCMS. Het artikel is nuttig voor iedereen die van plan is om Atlassian Jira en Confluence in een zakelijke omgeving te implementeren of te ontwikkelen. Het artikel vereist geen speciale kennis en is bedoeld voor een eerste kennismaking met Atlassian-producten. Het artikel is nuttig voor beheerders, producteigenaren, projectmanagers, architecten en iedereen die systemen wil implementeren op basis van Atlassian-software.

Introductie

Het artikel bespreekt de technische problemen bij het implementeren van een Life Cycle Management System (LCMS) in een bedrijfsomgeving. Laten we eerst definiëren wat dit betekent.

Wat is een bedrijfsoplossing?

Dit betekent de oplossing:

  1. Schaalbaar. Bij een toename van de belasting bestaat er een technische mogelijkheid om de capaciteit van het systeem te vergroten. Afzonderlijke horizontale en verticale schaling - met verticale schaling wordt de capaciteit van servers vergroot, met horizontale schaling wordt het aantal servers voor de systeemwerking vergroot.
  2. Failsafe. Het systeem blijft beschikbaar als een element uitvalt. Over het algemeen vereisen bedrijfssystemen geen fouttolerantie, maar we zullen zo'n oplossing overwegen. We zijn van plan enkele honderden concurrerende gebruikers in het systeem te hebben, en downtime zal zeer kritiek zijn.
  3. Ondersteund. De oplossing moet worden ondersteund door de leverancier. Niet-ondersteunde software moet worden vervangen door interne ontwikkeling of andere ondersteunde software.
  4. installatie Zelfbeheerd (op locatie). Zelfbeheer is de mogelijkheid om software niet in de cloud te installeren, maar op uw eigen servers. Om preciezer te zijn, dit zijn allemaal niet-SaaS-installatieopties. In dit artikel gaan we alleen in op zelfbeheerde installatie-opties.
  5. Mogelijkheid tot onafhankelijk ontwikkelen en testen. Om voorspelbare veranderingen in het systeem te organiseren zijn een apart systeem voor ontwikkeling (veranderingen in het systeem zelf), een testsysteem (Staging) en een productief systeem voor gebruikers nodig.
  6. Meer. Ondersteunt verschillende authenticatiescenario's, ondersteunt auditlogboeken, heeft een aangepast rolmodel, etc.

Dit zijn de belangrijkste elementen van bedrijfsoplossingen en helaas worden ze vaak vergeten bij het ontwerpen van een systeem.

Wat is een Life Cycle Management Systeem (LCMS)?

Kortom, in ons geval zijn dit Atlassian Jira en Atlassian Confluence - een systeem dat tools biedt voor het organiseren van teamwerk. Het systeem "legt" geen regels op voor het organiseren van werk, maar biedt een verscheidenheid aan tools voor werk, zoals Scrum, Kanban-borden, een watervalmodel en schaalbare Scrum, enz.
De naam LCMS is geen brancheterm of gebruikelijke term, het is gewoon de naam van het systeem in onze bank. LCMS is voor ons geen bug tracking systeem, het is geen Incident Management systeem en ook geen Change Management systeem.

Wat houdt implementatie in?

De implementatie van de oplossing bestaat uit veel technische en organisatorische zaken:

  • Toewijzing van technische capaciteiten.
  • Aanschaf van programmatuur.
  • Creatie van een team om de oplossing te implementeren.
  • Installatie en configuratie van de oplossing.
  • Ontwikkeling van oplossingsarchitectuur. rolmodel.
  • Ontwikkeling van operationele documentatie, waaronder instructies, voorschriften, technisch ontwerp, voorschriften, enz.
  • Veranderende bedrijfsprocessen.
  • Oprichting van een ondersteuningsteam. SLA-ontwikkeling.
  • Gebruikerstraining.
  • Meer.

In dit artikel gaan we in op de technische aspecten van de implementatie, zonder details over de organisatorische component.

Kenmerken Atlassian

Atlassian is leider in vele segmenten:

De producten van Atlassian hebben alle zakelijke functies die je nodig hebt. Ik noteer de volgende kenmerken:

  1. Atlassian-oplossingen zijn gebaseerd op de Java Tomcat-webserver. Apache Tomcat-software wordt meegeleverd met Atlassian-software. Als onderdeel van de installatie kunt u de versie van Apache Tomcat die is geïnstalleerd met Atlassian-software niet wijzigen, zelfs niet als de versie verouderd is en kwetsbaarheden bevat. De enige optie is wachten op een update van Atlassian met een nieuwere versie van Apache Tomcat. De huidige versies van Jira hebben nu bijvoorbeeld Apache Tomcat 8.5.42 en Confluence heeft Apache Tomcat 9.0.33.
  2. Handige interface, de best practices die op de markt beschikbaar zijn voor deze klasse software zijn geïmplementeerd.
  3. Volledig aanpasbare oplossing. Met verbeteringen kunt u elke wijziging in de basisfunctionaliteit voor de gebruiker doorvoeren.
  4. Ontwikkeld ecosysteem. Er zijn enkele honderden partners: https://partnerdirectory.atlassian.com, waaronder 16 partners in Rusland. Via partners in Rusland kun je Atlassian-software, plug-ins kopen en training krijgen. Het zijn de partners die de meeste plug-ins ontwikkelen en onderhouden.
  5. App Store (plug-ins): https://marketplace.atlassian.com. Plug-ins verbeteren de functionaliteit van Atlassian-software enorm. De basisfunctionaliteit van Atlassian-software is vrij bescheiden, voor bijna elke taak is het noodzakelijk om gratis of voor extra geld extra plug-ins te installeren. Daarom kunnen softwarekosten aanzienlijk hoger zijn dan oorspronkelijk geraamd.
    Tot op heden zijn er enkele duizenden plug-ins in de winkel gepubliceerd, waarvan er bijna duizend zijn getest en gevalideerd onder het door Data Center goedgekeurde apps-programma. Dergelijke plug-ins kunnen als stabiel en geschikt worden beschouwd voor gebruik in drukke systemen.
    Ik raad je aan om het probleem van het plannen van plug-ins zorgvuldig te benaderen, dit heeft grote invloed op de kosten van de oplossing, veel van de plug-ins kunnen leiden tot systeeminstabiliteit en de fabrikant van de plug-in biedt geen ondersteuning om het probleem op te lossen.
  6. Opleiding en certificering: https://www.atlassian.com/university
  7. SSO, SAML 2.0-mechanismen worden ondersteund.
  8. Ondersteuning voor schaalbaarheid en fouttolerantie is alleen beschikbaar in Data Center-edities. Deze editie verscheen voor het eerst in 2014 (Jira 6.3). De functionaliteit van de Data Center-edities wordt voortdurend uitgebreid en verbeterd (zo verscheen de mogelijkheid van een installatie met één knooppunt pas in 2020). De benadering van plug-ins voor Data Center-edities is in 2018 sterk veranderd met de introductie van door Data Center goedgekeurde apps.
  9. Ondersteuning kosten. De kosten van ondersteuning door de leverancier zijn bijna gelijk aan de volledige kosten van softwarelicenties. Hieronder vindt u een voorbeeld van het berekenen van de kosten van licenties.
  10. Gebrek aan releases op lange termijn. Er zijn zgn Enterprise-versies, maar ze worden, net als alle andere versies, 2 jaar ondersteund. Met het verschil dat alleen fixes worden uitgebracht voor Enterprise-versies, zonder toevoeging van nieuwe functionaliteit.
  11. Uitgebreide ondersteuningsopties (voor extra geld). https://www.atlassian.com/enterprise/support-services
  12. Er worden verschillende varianten van DBMS ondersteund. Atlassian wordt geleverd met een gratis H2-database, die niet wordt aanbevolen voor productief gebruik. De volgende DBMS worden ondersteund voor productief gebruik: Amazon Aurora (alleen Data Center) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Er zijn beperkingen op ondersteunde versies en vaak worden alleen oudere versies ondersteund, maar voor elk DBMS is er een versie met leveranciersondersteuning:
    Door Jira ondersteunde platforms,
    Door Confluence ondersteunde platforms.

Technische architectuur

Hoe Atlassian Jira + Confluence in een bedrijf te implementeren. Technische vragen

Toelichtingen bij het schema:

  • Het diagram toont de implementatie in onze Bank, deze configuratie wordt als voorbeeld gegeven en wordt niet aanbevolen.
  • nginx biedt reverse-proxy-functionaliteit voor zowel Jira als Confluence.
  • De fouttolerantie van een DBMS wordt geïmplementeerd door middel van het DBMS.
  • Het overdragen van wijzigingen tussen omgevingen gebeurt met behulp van de Configuration Manager voor Jira-plug-in.
  • AppSrv in het diagram is een native rapportage-applicatieserver, maakt geen gebruik van Atlassian-software.
  • De EasyBI-database is gemaakt voor het bouwen van kubussen en rapportage met behulp van de eazyBI Reports and Charts for Jira-plug-in.
  • De Confluence Synchrony-service (een onderdeel dat het gelijktijdig bewerken van documenten mogelijk maakt) is niet gescheiden in een aparte installatie en draait samen met Confluence, op dezelfde server.

licentie

Atlassian-licentiekwesties verdienen een apart artikel, hier zal ik alleen algemene principes noemen.
De belangrijkste problemen die we tegenkwamen, zijn de problemen met het licentiëren van Data Center-edities. Licentiefuncties voor Server- en Data Center-edities:

  1. De licentie voor de Server-editie is eeuwigdurend en de klant kan de software gebruiken, zelfs nadat de licentie is verlopen. Maar nadat de licentie verloopt, verliest de koper het recht om productondersteuning te ontvangen en de software bij te werken naar de nieuwste versies.
  2. Licenties zijn gebaseerd op het aantal gebruikers in het globale machtigingssysteem 'JIRA Users'. Het maakt niet uit of ze het systeem gebruiken of niet - zelfs als gebruikers nog nooit op het systeem hebben ingelogd, worden alle gebruikers in aanmerking genomen voor de licentie. Als het aantal gelicentieerde gebruikers wordt overschreden, is de oplossing om de machtiging 'JIRA-gebruikers' van sommige gebruikers te verwijderen.
  3. De Datacenter licentie is eigenlijk een abonnement. Er is een jaarlijkse licentievergoeding vereist. Na het verstrijken van de termijn wordt het werken met het systeem geblokkeerd.
  4. De kosten van licenties kunnen in de loop van de tijd veranderen. Zoals de praktijk laat zien, in grote mate en misschien aanzienlijk. Dus als uw licenties dit jaar één bedrag kosten, kunnen de kosten van licenties volgend jaar stijgen.
  5. Licenties worden verleend door gebruikers per laag (bijvoorbeeld gebruikers van niveau 1001-2000). Tegen een meerprijs is het mogelijk om te upgraden naar een hoger niveau.
  6. Als het aantal gelicentieerde gebruikers wordt overschreden, worden nieuwe gebruikers aangemaakt zonder het recht om in te loggen ('JIRA Users' global permission).
  7. Plug-ins kunnen alleen worden gelicentieerd voor hetzelfde aantal gebruikers als de hoofdsoftware.
  8. Alleen productieve installaties hebben een licentie nodig, voor de rest kunt u een Developer-licentie krijgen: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Om onderhoud aan te schaffen, is de aanschaf van Renew Software-onderhoud vereist - de kosten zijn ongeveer 50% van de kosten van de originele software. Deze functie is niet beschikbaar voor het Data Center en is niet van toepassing op plug-ins - u moet jaarlijks de volledige kosten betalen om ze te ondersteunen.
    Jaarlijkse softwareondersteuning kost dus 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 naar mijn mening een belangrijk nadeel van het Atlassian-bedrijfsmodel.

Kenmerken van de overgang van de Server-editie naar het Data Center:

  1. De overstap van de Server-editie naar het Data Center is betaald. Prijs vind je hier https://www.atlassian.com/licensing/data-center.
  2. Wanneer u overstapt van de Server-editie naar het Data Center, hoeft u niet te betalen voor het wijzigen van de editie van de plug-ins - de plug-ins voor de Server-editie werken. Maar het zal nodig zijn om licenties voor plug-ins voor de Data Center-editie te verlengen.
  3. U kunt plug-ins gebruiken die geen versie hebben voor gebruik met Data Center-edities. Tegelijkertijd kunnen dergelijke plug-ins natuurlijk niet correct werken en is het beter om van tevoren een alternatief voor dergelijke plug-ins te bieden.
  4. Upgraden naar de Data Center-editie gebeurt door een nieuwe licentie te installeren. Tegelijkertijd is de licentie voor de Server-editie nog steeds beschikbaar.
  5. Er zijn geen functionele verschillen tussen de Data Center- en Server-edities voor gebruikers, alle verschillen zitten alleen in de functies voor beheer en de technische mogelijkheden van de installatie.
  6. De kosten van software en plug-ins verschillen voor de Server- en Data Center-edities. Het verschil in kosten is vaak minder dan 5% (niet essentieel). Hieronder ziet u een voorbeeld van een kostenberekening.

Functionele uitvoeringsomvang

Het basissoftwarepakket van Atlassian bevat een groot aantal functies, maar vaak ontbreken de functies van het systeem ernstig. Soms zijn zelfs de eenvoudigste functies niet in het basispakket aanwezig, waardoor plug-ins voor vrijwel elke implementatie onmisbaar zijn. Voor het Jira-systeem gebruiken we de volgende plug-ins (de afbeelding is aanklikbaar):
Hoe Atlassian Jira + Confluence in een bedrijf te implementeren. Technische vragen

Voor het Confluence-systeem gebruiken we de volgende plug-ins (de afbeelding is aanklikbaar):
Hoe Atlassian Jira + Confluence in een bedrijf te implementeren. Technische vragen

Opmerkingen over tabellen met plug-ins:

  • Alle prijzen zijn gebaseerd op 2000 gebruikers;
  • Prijzen zijn gebaseerd op de aangegeven prijzen https://marketplace.atlassian.com, de werkelijke kosten (met kortingen) zijn lager;
  • Zoals je kunt zien, is het totale bedrag praktisch hetzelfde voor de Data Center- en Server-edities;
  • Alleen plug-ins met ondersteuning voor de Data Center-editie werden geselecteerd voor gebruik. We hebben de rest van de plug-ins uitgesloten van de plannen, voor de stabiliteit van het systeem.

De functionaliteit wordt kort beschreven in de kolom Commentaar. Extra plug-ins hebben de functionaliteit van het systeem uitgebreid:

  • Verschillende visuele hulpmiddelen toegevoegd;
  • Verbeterde integratiemechanismen;
  • Tools toegevoegd voor watervalmodelprojecten;
  • Tools toegevoegd voor schaalbare Scrum om het werk van grote projectteams te organiseren;
  • Toegevoegde functionaliteit voor urenregistratie;
  • Hulpmiddelen toegevoegd voor het automatiseren van bewerkingen en het configureren van de oplossing;
  • Toegevoegde functionaliteit om het beheer van de oplossing te vereenvoudigen en te automatiseren.

Daarnaast gebruiken we Atlassian Companion-app. Met deze applicatie kun je bestanden in externe applicaties (MS Office) bewerken en terugsturen naar Confluence (inchecken).
Applicatie voor gebruikerswerkstations (thick client) ALM Works Jira-client https://marketplace.atlassian.com/apps/7070 besloten om het niet te gebruiken vanwege slechte ondersteuning door leveranciers en negatieve recensies.
Voor integratie met MS Project we gebruiken een zelfgeschreven applicatie waarmee je vanuit Jira Issue-statussen in MS Project kunt updaten en vice versa. In de toekomst zijn we van plan om voor dezelfde doeleinden een betaalde plug-in te gebruiken Ceptah Bridge - JIRA MS Project-plug-in, dat is geïnstalleerd als een add-on voor MS Project.
Integratie met externe applicaties geïmplementeerd via Application Links. Tegelijkertijd zijn integraties voor Atlassian-applicaties voorgeconfigureerd en werken ze direct na installatie. Je kunt bijvoorbeeld informatie over Issues in Jira weergeven op een pagina in Confluence.
De REST API wordt gebruikt om toegang te krijgen tot de Jira- en Confluence-servers: https://developer.atlassian.com/server/jira/platform/rest-apis.
De SOAP- en XML-RPC-API's zijn verouderd en niet beschikbaar in de nieuwe versies voor gebruik.

Conclusie

We hebben dus nagedacht over de technische kenmerken van het implementeren van een systeem op basis van Atlassian-producten. De voorgestelde oplossing is één van de mogelijke oplossingen en past goed in een corporate omgeving.

De voorgestelde oplossing is schaalbaar, fouttolerant, bevat drie omgevingen voor het organiseren van ontwikkeling en testen, bevat alle noodzakelijke elementen voor samenwerking in het systeem en biedt een breed scala aan projectmanagementtools.

Ik beantwoord graag vragen in de comments.

Bron: www.habr.com