Planen Sie die Implementierung von Atlassian-Software (Jira, Confluence)? Möchten Sie keine schwerwiegenden Designfehler machen, die Sie später auf den letzten Drücker beheben müssen?

Dann sind Sie hier genau richtig – wir betrachten die Implementierung von Atlassian Jira + Confluence in Unternehmen unter Berücksichtigung verschiedener technischer Aspekte.
Guten Tag, ich bin Produktverantwortlicher bei RSHB und verantwortlich für die Entwicklung des Lebenszyklusmanagementsystems (LMS), das auf den Softwareprodukten von Atlassian Jira und Confluence basiert.
In diesem Artikel werde ich die technischen Aspekte der Erstellung von LMS beschreiben. Der Artikel richtet sich an alle, die die Implementierung von Atlassian Jira und Confluence im Unternehmensumfeld planen oder deren Weiterentwicklung betreiben. Der Artikel erfordert keine speziellen Kenntnisse und richtet sich an Einsteiger in die Produkte von Atlassian. Er wird nützlich sein für Administratoren, Produktverantwortliche, Projektleiter, Architekten und alle, die eine Implementierung von Systemen auf Basis der Atlassian-Software planen.
Einführung
In diesem Artikel werden technische Aspekte der Implementierung eines Lebenszyklusmanagementsystems (LMS) in einer Unternehmensumgebung behandelt. Lassen Sie uns zunächst klären, was das bedeutet.
Was bedeutet eine Unternehmenslösung?
Das bedeutet eine Lösung:
- Skalierbar. Im Falle einer steigenden Last gibt es die technische Möglichkeit, die Systemleistung zu erhöhen. Es wird zwischen horizontaler und vertikaler Skalierung unterschieden – bei der vertikalen Skalierung wird die Leistung der Server erhöht, während bei der horizontalen Skalierung die Anzahl der Server für den Betrieb des Systems erhöht wird.
- Fehlertolerant. Das System bleibt verfügbar, wenn ein Element ausfällt. Allgemein ist für Unternehmenssysteme keine Fehlertoleranz erforderlich, aber wir werden eine solche Lösung betrachten. In unserem System sind mehrere Hundert konkurrierende Benutzer geplant, und Ausfallzeiten wären äußerst kritisch.
- Unterstützt. Die Lösung muss vom Anbieter unterstützt werden. Software ohne Unterstützung sollte durch eigene Entwicklungen oder durch andere unterstützte Software ersetzt werden.
- Installation von Selbstverwaltet (On-premise). Selbstverwaltet — das ist die Möglichkeit, Software nicht in der Cloud, sondern auf eigenen Servern zu installieren. Genauer gesagt, bezieht sich das auf alle Arten der Installation, die nicht SaaS sind. In diesem Artikel betrachten wir nur die Optionen für Selbstverwaltungsinstallationen.
- Die Möglichkeit für unabhängige Entwicklung und Tests. Um vorhersehbare Änderungen im System zu organisieren, sind separate Systeme erforderlich: eines für die Entwicklung (Änderungen am System selbst), ein Testsystem (Staging) und ein produktives System für die Benutzerarbeit.
- Sonstiges. Unterstützt verschiedene Authentifizierungsszenarien, bietet Audit-Protokolle und hat ein anpassbares Rollenmodell usw.
Dies sind die grundlegenden Elemente von Unternehmenslösungen, und bedauerlicherweise werden sie oft bei der Systemgestaltung übersehen.
Was ist ein Lebenszyklusmanagementsystem (LMS)?
Kurz gesagt, in unserem Fall sind das Atlassian Jira und Atlassian Confluence — Systeme, die Werkzeuge für die Organisation der Teamarbeit bereitstellen. Das System 'auferlegt' keine Regeln für die Arbeitsorganisation, sondern bietet eine Vielzahl von Werkzeugen an, darunter Scrum, Kanban-Boards, das Wasserfallmodell, skalierbares Scrum usw.
Der Name SUZHC ist kein Branchenterm oder allgemein gebräuchlicher Begriff, sondern einfach der Name des Systems in unserer Bank. Für uns ist SUZHC weder ein Bug-Tracking-System, noch ein Incident-Management-System oder ein Change-Management-System.
Was beinhaltet die Implementierung?
Die Einführung einer Lösung umfasst viele technische und organisatorische Fragen:
- Bereitstellung technischer Kapazitäten.
- Beschaffung von Software.
- Bildung eines Teams zur Implementierung der Lösung.
- Installation und Konfiguration der Lösung.
- Entwicklung der Architektur der Lösung. Rollenmodell.
- Erstellung der Betriebsdokumentation, einschließlich Anleitungen, Vorschriften, technischer Projektpläne, Richtlinien usw.
- Änderung der Unternehmensprozesse.
- Bildung eines Support-Teams. Entwicklung von SLA.
- Schulung der Benutzer.
- Sonstiges.
In diesem Artikel betrachten wir die technischen Aspekte der Implementierung, ohne in die Details der organisatorischen Komponenten einzugehen.
Besonderheiten von Atlassian
Das Unternehmen Atlassian ist in vielen Segmenten führend:
(Die Führungsposition ist auf die erfolgreiche Akquise von AgileCraft mit seiner Cloud-Lösung zurückzuführen)


Die Produkte von Atlassian bieten alle notwendigen Unternehmensfunktionen. Ich möchte folgende Merkmale hervorheben:
- Die Lösungen von Atlassian basieren auf dem Java-Webserver Tomcat. Die Software Apache Tomcat ist Teil der Atlassian-Installation, und es ist nicht möglich, die Version von Apache Tomcat zu ändern, die mit der Atlassian-Software ausgeliefert wird, auch wenn diese Version veraltet ist und Sicherheitsanfälligkeiten aufweist. Die einzige Möglichkeit besteht darin, auf ein Update von Atlassian mit einer neueren Version von Apache Tomcat zu warten. Aktuell wird beispielsweise in den neuesten Versionen von Jira Apache Tomcat 8.5.42 und in Confluence Apache Tomcat 9.0.33 verwendet.
- Eine benutzerfreundliche Oberfläche, die die besten am Markt verfügbaren Praktiken für diese Art von Software implementiert.
- Eine vollständig anpassbare Lösung. Mit Anpassungen können alle Änderungen der Grundfunktionen für den Benutzer umgesetzt werden.
- Ein umfassendes Ökosystem. Es gibt mehrere hundert Partner: , darunter 16 Partner in Russland. Die Software von Atlassian, Plugins und Schulungen können nur über Partner in Russland erworben werden. Die Partner entwickeln und unterstützen auch die meisten Plugins.
- App-Store (Plugins): . Plugins erweitern die Funktionalität von Atlassian-Software erheblich. Die grundlegenden Funktionen der Atlassian-Software sind recht bescheiden; fast immer gibt es den Bedarf, zusätzliche Plugins, entweder kostenlos oder kostenpflichtig, zu installieren. Daher können die Kosten für die Software deutlich höher ausfallen, als ursprünglich eingeschätzt.
Derzeit sind im Markt mehrere Tausend Plugins veröffentlicht, von denen fast eintausend im Rahmen des Programms für Data Center genehmigte Apps getestet und validiert wurden. Diese Plugins können als stabil und geeignet für den Einsatz in stark belasteten Systemen betrachtet werden.
Ich empfehle, beim Planen von Plugins sorgfältig vorzugehen, da dies erheblichen Einfluss auf die Kosten des gesamten Lösungsansatzes hat. Viele Plugins können zu Instabilitäten im System führen, und der Plugin-Anbieter bietet möglicherweise keinen Support zur Lösung der Probleme an. - Schulungen und Zertifizierungen:
- SSO- und SAML 2.0-Mechanismen werden unterstützt.
- Die Unterstützung für Skalierbarkeit und Ausfallsicherheit ist ausschließlich in den Data Center-Editionen verfügbar. Diese Edition wurde erstmals 2014 (Jira 6.3) eingeführt. Die Funktionalität der Data Center-Editionen wird kontinuierlich erweitert und verbessert (beispielsweise wurde die Möglichkeit der Einzelknoteninstallation erst 2020 eingeführt). Der Ansatz für Plugins in den Data Center-Editionen hat sich 2018 mit der Einführung von Data Center genehmigten Apps erheblich geändert.
- Supportkosten. Die Kosten für den Support des Anbieters entsprechen praktisch den gesamten Kosten der Softwarelizenzen. Ein Beispiel für die Berechnung der Lizenzkosten finden Sie unten.
- Fehlende Long-Term-Versionen. Es gibt sogenannte , aber auch diese, wie alle anderen Versionen, werden nur 2 Jahre lang unterstützt. Der Unterschied besteht darin, dass für Enterprise-Versionen nur Korrekturen herausgegeben werden, ohne dass neue Funktionen hinzugefügt werden.
- Erweiterte Supportoptionen (gegen zusätzliche Gebühren).
- Es werden mehrere Datenbankmanagementsysteme (DBMS) unterstützt. Die Atlassian-Software wird mit der kostenlosen Datenbank H2 geliefert, die für den produktiven Einsatz nicht empfohlen wird. Für produktive Umgebungen werden die folgenden DBMS unterstützt: Amazon Aurora (nur für Data Center), PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Es gibt Einschränkungen hinsichtlich der unterstützten Versionen, und häufig werden nur ältere Versionen unterstützt, aber für jede Datenbank gibt es eine Version mit Vendor-Support:
,
.
Technische Architektur

Erläuterungen zum Diagramm:
- Das Diagramm zeigt die Implementierung in unserer Bank; diese Konfiguration wird als Beispiel angegeben und ist nicht als Empfehlung zu verstehen.
- nginx bietet Reverse-Proxy-Funktionalität sowohl für Jira als auch für Confluence.
- Die Ausfallsicherheit des DBMS wird durch die Funktionen des DBMS selbst gewährleistet.
- Der Transfer von Änderungen zwischen Umgebungen erfolgt mithilfe des Plugins Configuration Manager for Jira.
- Der AppSrv im Diagramm ist ein eigener Anwendungsserver für Berichterstattung und verwendet keine Atlassian-Software.
- Die Datenbank EasyBI wurde zur Erstellung von Cubes und Berichten unter Verwendung des Plugins eazyBI Reports and Charts for Jira entwickelt.
- Der Confluence Synchrony-Service (eine Komponente, die gleichzeitige Dokumentenbearbeitung ermöglicht) ist nicht als separate Installation ausgewiesen und wird zusammen mit Confluence auf demselben Server ausgeführt.
Lizenzierung
Die Lizenzfragen von Atlassian verdienen einen eigenen Artikel; hier möchte ich nur die allgemeinen Prinzipien erwähnen.
Die Hauptfragen, mit denen wir konfrontiert waren, betreffen die Lizenzierung der Data Center Editionen. Besondere Lizenzierungsdetails für die Editionen Server und Data Center:
- Die Lizenz für die Server-Edition ist unbefristet, und der Käufer kann die Software auch nach Ablauf der Lizenz weiterhin nutzen. Nach Ablauf der Lizenz verliert der Käufer jedoch das Recht auf Produktsupport und Softwareupdates auf aktuelle Versionen.
- Die Lizenzierung erfolgt basierend auf der Anzahl der Benutzer mit globaler Berechtigung ‚JIRA Users‘ im System. Dabei ist es unerheblich, ob diese Benutzer das System nutzen oder nicht – selbst wenn die Benutzer das System nie betreten haben, werden alle Benutzer für die Lizenzierung berücksichtigt. Bei Überschreitung der lizenzierten Benutzeranzahl besteht die Lösung darin, die Berechtigung ‚JIRA Users‘ bei einigen Benutzern zu entfernen.
- Die Lizenz für das Data Center ist faktisch ein Abonnement. Eine jährliche Lizenzgebühr ist erforderlich. Nach Ablauf der Frist wird der Zugang zum System gesperrt.
- Die Lizenzkosten können im Laufe der Zeit variieren. Erfahrungsgemäß steigen sie, möglicherweise sogar erheblich. Deshalb kann der Preis für Lizenzen in diesem Jahr von dem im kommenden Jahr abweichen.
- Die Lizenzierung erfolgt nach Benutzertiers (z. B. Tier 1001-2000 Benutzer). Es besteht die Möglichkeit, auf ein höheres Tier mit einer zusätzlichen Zahlung zu wechseln.
- Wenn die Anzahl der lizenzierten Benutzer überschritten wird, werden neue Benutzer ohne Zugriffsrechte auf das System erstellt ('JIRA Users' globale Berechtigung).
- Plugins können nur für die gleiche Anzahl von Benutzern lizenziert werden wie die Hauptsoftware.
- Lizenzen sind nur für produktive Installationen erforderlich, für andere kann eine Entwicklerlizenz beantragt werden: .
- Um Unterstützung zu erwerben, ist der Kauf von Renew Software Maintenance erforderlich — die Kosten betragen etwa 50 % des ursprünglichen Softwarepreises. Diese Möglichkeit ist nicht für Data Center verfügbar und gilt nicht für Plugins — deren Unterstützung muss jährlich zum vollen Preis bezahlt werden.
Somit kostet die jährliche Softwareunterstützung mehr als 50 % des Gesamtpreises für die Server-Edition und 100 % für die Data Center-Edition — das ist deutlich mehr als bei den meisten anderen Anbietern. Meiner Meinung nach ist das ein erheblicher Nachteil des Geschäftsmodells von Atlassian.
Besonderheiten beim Umstieg von der Server-Edition auf die Data Center-Edition:
- Der Umstieg von der Server-Edition auf die Data Center-Edition ist kostenpflichtig. Die Kosten können hier eingesehen werden. .
- Beim Umstieg von der Server-Edition auf die Data Center-Edition ist keine Gebühr für den Wechsel von Plugins erforderlich — Plugins für die Server-Edition funktionieren weiterhin. Die Lizenzen für Plugins müssen jedoch unbedingt für die Data Center-Edition verlängert werden.
- Sie können Plugins verwenden, für die keine Version für die Data Center-Edition verfügbar ist. Solche Plugins könnten jedoch möglicherweise nicht korrekt funktionieren, daher ist es ratsam, im Voraus nach Alternativen zu suchen.
- Der Wechsel zur Data Center-Edition erfolgt durch die Installation einer neuen Lizenz. Die Lizenz für die Server-Edition bleibt dabei weiterhin verfügbar.
- Es gibt keine funktionalen Unterschiede zwischen den Data Center- und Server-Editionen für die Nutzer; alle Unterschiede betreffen ausschließlich die Verwaltungsfunktionen und technischen Installationsmöglichkeiten.
- Die Kosten für Software und Plugins variieren zwischen den Server- und Data Center-Editionen. Der Preisunterschied liegt oft bei weniger als 5 % (nicht signifikant). Ein Rechenbeispiel für die Kosten finden Sie unten.
Funktionsumfang der Implementierung
Die Grundausstattung der Atlassian-Software umfasst eine Vielzahl von Funktionen, aber oft mangelt es an bedeutenden Möglichkeiten. Manchmal sind sogar einfachste Funktionen in der Basisausstattung nicht verfügbar, weshalb Plugins bei fast jeder Implementierung unerlässlich sind. Für das Jira-System verwenden wir die folgenden Plugins (das Bild ist klickbar):
Für das Confluence-System nutzen wir die folgenden Plugins (das Bild ist klickbar):
Kommentare zu den Tabellen mit Plugins:
- Alle Preise basieren auf 2000 Nutzern;
- Es sind die Preise angegeben, die basierend auf den angegebenen Preisen gelten. , der tatsächliche Preis (mit Rabatten) liegt darunter;
- Wie wir sehen, unterscheidet sich der Gesamtbetrag praktisch nicht zwischen den Editionen Data Center und Server;
- Für die Nutzung wurden nur Plugins ausgewählt, die die Edition Data Center unterstützen. Andere Plugins haben wir aus den Plänen ausgeschlossen, um die Stabilität des Systems zu gewährleisten.
Die Funktionen sind kurz im Kommentarspalte beschrieben. Zusätzliche Plugins haben die Funktionalität des Systems erweitert:
- Einige visuelle Werkzeuge wurden hinzugefügt;
- Die Integrationsmechanismen wurden verbessert;
- Werkzeuge für Projekte nach der Wasserfallmethode wurden hinzugefügt;
- Werkzeuge für skalierbares Scrum wurden hinzugefügt, um die Arbeit großer Projektteams zu organisieren;
- Funktionen zur Zeiterfassung wurden hinzugefügt;
- Ein Werkzeug für die Automatisierung von Operationen und die Konfiguration der Lösung wurde hinzugefügt;
- Funktionen zur Vereinfachung und Automatisierung der Administration der Lösung wurden hinzugefügt.
Zusätzlich verwenden wir . Diese App ermöglicht das Bearbeiten von Dateien in externen Anwendungen (MS Office) und das Zurückgeben dieser an Confluence (Check-in).
Application für Benutzerarbeitsplätze (Fat Client) ALM Works Jira Client haben wir uns entschieden, aufgrund mangelhafter Unterstützung durch den Anbieter und negativer Bewertungen nicht zu verwenden.
Für Integrationen mit MS Project wir nutzen eine eigens entwickelte Anwendung, die es ermöglicht, Statusupdates von Issues in MS Project aus Jira und umgekehrt vorzunehmen. In Zukunft planen wir, für die gleichen Zwecke ein kostenpflichtiges Plugin zu verwenden , das als Add-in in MS Project installiert wird.
Integration mit externen Anwendungen wird über Application Links umgesetzt. Dabei sind die Integrationen für Atlassian-Anwendungen voreingestellt und funktionieren sofort nach der Konfiguration, beispielsweise kann auf der Seite in Confluence Informationen über Issues in Jira angezeigt werden.
Für den Zugriff auf die Server von Jira und Confluence wird die REST API verwendet: .
SOAP und XML-RPC API sind veraltet und in neuen Versionen nicht mehr verfügbar.
Fazit
Damit haben wir die technischen Besonderheiten der Implementierung eines Systems auf Basis der Atlassian-Produkte betrachtet. Der vorgeschlagene Lösungsvorschlag stellt eine von mehreren möglichen Lösungen dar und eignet sich gut für ein Unternehmensumfeld.
Die vorgeschlagene Lösung ist skalierbar, ausfallsicher und ermöglicht den Betrieb in drei Umgebungen für die Entwicklungs- und Testorganisation. Sie enthält alle notwendigen Elemente für die Zusammenarbeit im System und bietet eine breite Palette von Werkzeugen zur Projektverwaltung.
Gerne beantworte ich Fragen in den Kommentaren.
Quelle: habr.com


