Planen Sie die Einführung von Atlassian-Software (Jira, Confluence)? Möchten Sie vermeidbare Fehler im Design vermeiden, die Sie später kurzfristig lösen müssen?

Dann sind Sie hier richtig – wir betrachten die Einführung von Atlassian Jira + Confluence in Unternehmen unter Berücksichtigung verschiedener technischer Aspekte.
Guten Tag, ich bin der Produktinhaber bei RSHB und verantwortlich für die Entwicklung des Lebenszyklusmanagementsystems (LZM), das auf den Softwareprodukten von Atlassian Jira und Confluence basiert.
In diesem Artikel beschreibe ich die technischen Aspekte des Aufbaus des LZM. Der Artikel ist für alle nützlich, die die Einführung oder Entwicklung von Atlassian Jira und Confluence in einem Unternehmensumfeld planen. Der Artikel erfordert keine speziellen Kenntnisse und richtet sich an Leser mit einem grundlegenden Verständnis der Produkte von Atlassian. Er ist nützlich für Administratoren, Produktinhaber, Projektleiter, Architekten und alle, die die Einführung von Systemen auf Basis von Atlassian-Software planen.
Einführung
Der Artikel behandelt technische Fragen zur Implementierung des Lebenszyklusmanagementsystems (LZM) in einem Unternehmensumfeld. Lassen Sie uns zunächst klären, was das bedeutet.
Was bedeutet unternehmensweite Lösung?
Das bedeutet eine Lösung:
- Skalierbar. Im Falle einer erhöhten Last besteht die technische Möglichkeit, die Leistung des Systems zu erhöhen. Man unterscheidet zwischen horizontaler und vertikaler Skalierung – bei der vertikalen Skalierung wird die Leistung der Server erhöht, während bei der horizontalen Skalierung die Anzahl der Server erhöht wird, die für den Betrieb des Systems erforderlich sind.
- Fehlertolerant. Das System bleibt verfügbar, wenn ein Element ausfällt. Im Allgemeinen ist für Unternehmenssysteme keine Fehlertoleranz erforderlich, aber wir werden genau diese Art von Lösung betrachten. In unserem System sind mehrere Hundert konkurrierende Benutzer geplant, und Ausfälle wären sehr kritisch.
- Unterstützt. Die Lösung muss vom Anbieter unterstützt werden. Software ohne Unterstützung sollte durch eigene Entwicklungen oder andere unterstützte Software ersetzt werden.
- Installation Self-managed (On-premise). Self-managed bedeutet, dass die Software nicht in der Cloud, sondern auf eigenen Servern installiert werden kann. Genauer gesagt handelt es sich um alle Installationsvarianten, die nicht SaaS sind. In diesem Artikel werden wir nur die Optionen für die Installation von Self-managed betrachten.
- Die Möglichkeit zur unabhängigen Entwicklung und Testung. Um vorhersehbare Änderungen im System zu organisieren, sind separate Systeme für die Entwicklung (Änderungen am System selbst), ein Testsystem (Staging) und ein produktives System für die Benutzer erforderlich.
- Sonstiges. Unterstützt verschiedene Authentifizierungsszenarien, unterstützt Audit-Logs, verfügt über ein anpassbares Rollenmodell usw.
Dies sind die grundlegenden Elemente von Unternehmenslösungen und, leider, werden sie häufig bei der Systemgestaltung vergessen.
Was ist ein Lebenszyklusmanagementsystem (LLM)?
Kurz gesagt, in unserem Fall ist das Atlassian Jira und Atlassian Confluence – ein System, das Werkzeuge für die Organisation der Gruppenarbeit bereitstellt. Das System "diktieren" keine Regeln zur Organisation der Arbeit, sondern bietet eine Vielzahl von Werkzeugen, darunter Scrum, Kanban-Boards, das Wasserfallmodell, skalierbares Scrum usw.
Der Name LLM ist kein branchenspezifischer Begriff oder allgemein bekanntes Konzept; es ist einfach der Name des Systems in unserer Bank. LLM ist für uns kein Bug-Tracking-System, kein System zur Verwaltung von Vorfällen und kein System zur Verwaltung von Änderungen.
Was umfasst die Implementierung?
Die Implementierung einer Lösung besteht aus vielen technischen und organisatorischen Fragen:
- Bereitstellung technischer Ressourcen.
- Einkauf von Software.
- Bildung eines Implementierungsteams.
- Installation und Konfiguration der Lösung.
- Entwicklung der Architektur der Lösung. Rollenmodell.
- Erstellung der Betriebsdokumentation, einschließlich Anleitungen, Vorschriften, technischer Projekte, Regelungen usw.
- Änderung der Unternehmensprozesse.
- Bildung eines Support-Teams. Entwicklung von SLA.
- Schulung der Benutzer.
- Sonstiges.
In diesem Artikel werden wir die technischen Aspekte der Implementierung behandeln, ohne ins Detail der organisatorischen Komponente einzutauchen.
Besonderheiten von Atlassian
Das Unternehmen Atlassian ist in vielen Segmenten führend:
(Die Führungsrolle ist auf die erfolgreiche Übernahme von AgileCraft mit seiner Cloud-Lösung zurückzuführen)


Die Produkte von Atlassian verfügen über alle notwendigen Unternehmensfunktionen. Ich möchte folgende Besonderheiten hervorheben:
- Die Atlassian-Lösungen basieren auf dem Java-Server Tomcat. Die Apache Tomcat-Software ist Bestandteil der Atlassian-Software und kann nicht geändert werden, auch wenn die 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.
- Benutzerfreundliche Oberfläche, die besten am Markt verfügbaren Praktiken für diese Softwareklasse wurden umgesetzt.
- Vollständig anpassbare Lösung. Mit Anpassungen können alle Änderungen an den Grundfunktionen für den Benutzer umgesetzt werden.
- Ausgereifte Ecosystem. Es gibt mehrere Hundert Partner: , darunter 16 Partner in Russland. Software von Atlassian, Plugins und Schulungen können nur über Partner in Russland erworben werden. Die meisten Plugins werden von diesen Partnern entwickelt und unterstützt.
- App-Store (Plugins): . Plugins erweitern die Funktionalität der Atlassian-Software erheblich. Die Grundfunktionalität der Atlassian-Software ist recht bescheiden, und für nahezu jede Aufgabe besteht die Notwendigkeit, zusätzliche Plugins kostenlos oder gegen zusätzliche Kosten zu installieren. Daher können die Ausgaben für die Software erheblich höher ausfallen als ursprünglich eingeschätzt.
Derzeit sind im Store mehrere Tausend Plugins veröffentlicht, von denen fast eintausend entsprechend dem Programm für genehmigte Data Center-Apps getestet und validiert wurden. Solche Plugins können als stabil und für den Einsatz in stark belasteten Systemen geeignet angesehen werden.
Ich empfehle, das Thema Plugin-Planung sorgfältig zu berücksichtigen, da dies die Kosten der Lösung stark beeinflusst. Viele der Plugins können zu Instabilitäten des Systems führen, und der Hersteller des Plugins bietet möglicherweise keinen Support zur Lösung des Problems an. - Schulungen und Zertifizierungen:
- SSO-Mechanismen, SAML 2.0 werden unterstützt.
- Unterstützung für Skalierbarkeit und Ausfallsicherheit gibt es nur in den Data Center-Editionen. Diese Edition wurde erstmals 2014 (Jira 6.3) eingeführt. Die Funktionalität der Data Center-Editionen wird ständig erweitert und überarbeitet (zum Beispiel wurde die Möglichkeit der Einzelknoteninstallation erst 2020 eingeführt). Der Ansatz zu Plugins in den Data Center-Editionen hat sich 2018 mit der Einführung der genehmigten Data Center-Apps erheblich geändert.
- Kosten für den Support. Die Kosten für den Support vom Anbieter entsprechen praktisch den vollen Lizenzkosten der Software. Ein Beispiel zur Berechnung der Lizenzkosten finden Sie weiter unten.
- Fehlende Long Term-Versionen. Es gibt sogenannte , aber diese sowie alle anderen Versionen werden nur 2 Jahre unterstützt. Mit dem Unterschied, dass für Enterprise-Versionen nur Fehlerbehebungen veröffentlicht werden, ohne neue Funktionen hinzuzufügen.
- Erweiterte Supportoptionen (gegen zusätzliche Kosten).
- Es werden mehrere Datenbanksysteme unterstützt. Die Atlassian-Software wird mit der kostenlosen Datenbank H2 geliefert, die nicht für den produktiven Einsatz empfohlen wird. Für den produktiven Einsatz werden die folgenden Datenbanksysteme unterstützt: Amazon Aurora (nur Data Center), PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Es gibt Einschränkungen bezüglich der unterstützten Versionen, und häufig werden nur ältere Versionen unterstützt, aber für jedes Datenbanksystem gibt es eine Version mit Unterstützung durch den Anbieter:
,
.
Technische Architektur

Erläuterungen zum Diagramm:
- Das Diagramm zeigt die Umsetzung in unserer Bank, diese Konfiguration wird als Beispiel angegeben und ist nicht als Empfehlung zu verstehen.
- Nginx bietet Reverse-Proxy-Funktionalitäten sowohl für Jira als auch für Confluence.
- Die Ausfallsicherheit des Datenbanksystems wird durch die Datenbank selbst gewährleistet.
- Änderungen zwischen den Umgebungen werden mit dem Plugin Configuration Manager for Jira übertragen.
- AppSrv im Diagramm ist ein eigener Anwendungsserver für Reporting, der keine Atlassian-Software verwendet.
- Die Datenbank EasyBI wurde zur Erstellung von Würfeln und Reporting mit dem Plugin eazyBI Reports and Charts for Jira entwickelt.
- Der Confluence Synchrony-Dienst (eine Komponente, die gleichzeitige Dokumentenbearbeitung ermöglicht) ist nicht in eine separate Installation ausgelagert und wird zusammen mit Confluence auf demselben Server gestartet.
Lizenzierung
Die Fragen zur Lizenzierung 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-Versionen. Die Besonderheiten der Lizenzierung für die Versionen Server und Data Center:
- Die Lizenz für die Server-Version ist zeitlich unbegrenzt und der Käufer kann die Software auch nach Ablauf der Lizenz weiterhin verwenden. Nach Ablauf der Lizenz verliert der Käufer jedoch das Recht, Unterstützung für das Produkt zu erhalten und die Software auf die aktuellen Versionen zu aktualisieren.
- Die Lizenzierung erfolgt nach der Anzahl der Benutzer im System ‚JIRA Users‘ mit globalen Berechtigungen. Dabei spielt es keine Rolle, ob die Benutzer das System nutzen oder nicht – selbst wenn die Benutzer das System noch nie betreten haben, werden alle Benutzer für die Lizenz berücksichtigt. Bei Überschreitung der Anzahl der lizenzierten Benutzer besteht die Lösung darin, die Berechtigungen ‚JIRA Users‘ für einige Benutzer zu entziehen.
- Die Lizenz für das Data Center ist faktisch ein Abonnement. Es ist eine jährliche Zahlung der Lizenzgebühr erforderlich. Nach Ablauf der Frist wird die Nutzung des Systems gesperrt.
- Die Lizenzkosten können sich im Laufe der Zeit ändern. Die Erfahrung zeigt, dass sie tendenziell ansteigen und möglicherweise erheblich steigen. Daher kann es sein, dass die Lizenzkosten in diesem Jahr eine bestimmte Summe betragen, im nächsten Jahr jedoch ansteigen.
- Die Lizenzierung erfolgt nach Benutzern pro Tier (zum Beispiel 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 Berechtigung zum Systemzugang erstellt (‚JIRA Users‘ globale Berechtigung).
- Plugins können nur für die gleiche Anzahl von Benutzern lizenziert werden wie die Hauptsoftware.
- Lizenziert werden müssen nur produktive Installationen, für andere kann eine Entwicklerlizenz beantragt werden: .
- Für den Erwerb von Support ist der Kauf der Erneuerung der Softwarewartung erforderlich – die Kosten belaufen sich auf etwa 50% des ursprünglichen Softwarepreises. Diese Möglichkeit ist für das Data Center nicht verfügbar und gilt nicht für Plugins – für deren Support muss jährlich der volle Preis bezahlt werden.
Somit kostet die jährliche Softwareunterstützung über 50% des vollen Softwarepreises im Server-Editionsfall und 100% im Fall der Data Center-Edition – das ist erheblich mehr als bei den meisten anderen Anbietern. Meiner Meinung nach ist das ein erheblicher Nachteil des Geschäftsmodells von Atlassian.
Besonderheiten beim Wechsel von der Server-Edition zur Data Center-Edition:
- Der Wechsel von der Server-Edition zur Data Center-Edition ist kostenpflichtig. Die Kosten hierfür sind hier zu finden. .
- Beim Wechsel von der Server-Edition zur Data Center-Edition ist keine Gebühr für den Wechsel der Plugins erforderlich – die Plugins für die Server-Edition funktionieren weiterhin. Die Lizenzverlängerung für die Plugins muss jedoch zwingend für die Data Center-Edition erfolgen.
- Sie können Plugins verwenden, für die es keine Version für die Data Center-Editionen gibt. Diese Plugins können natürlich nicht korrekt funktionieren, daher ist es besser, im Voraus Alternativen zu diesen Plugins vorzusehen.
- Der Wechsel zur Data Center-Edition erfolgt durch die Installation einer neuen Lizenz. Gleichzeitig bleibt die Lizenz für die Server-Edition weiterhin verfügbar.
- Es gibt keine funktionalen Unterschiede zwischen den Data Center- und Server-Editionen für Benutzer; alle Unterschiede beziehen sich nur auf die Verwaltung und technische Installationsmöglichkeiten.
- Die Kosten für Software und Plugins unterscheiden sich zwischen den Server- und Data Center-Editionen. Der Preisunterschied beträgt häufig weniger als 5 % (nicht entscheidend). Ein Beispiel zur Berechnung der Kosten ist unten angegeben.
Funktionsumfang der Implementierung
Die Grundausstattung der Atlassian-Software umfasst eine riesige Anzahl von Möglichkeiten, aber oft sind die von der Software bereitgestellten Funktionen stark unzureichend. Manchmal sind sogar die einfachsten Funktionen in der Grundausstattung nicht verfügbar, weshalb Plugins bei fast jeder Implementierung unverzichtbar sind. Für das Jira-System verwenden wir die folgenden Plugins (das Bild ist klickbar):
Für das Confluence-System verwenden wir die folgenden Plugins (das Bild ist klickbar):
Kommentare zu den Tabellen mit Plugins:
- Alle Preise sind auf der Grundlage von 2000 Benutzern angegeben;
- Die angegebenen Preise basieren auf den angegebenen Preisen , die tatsächlichen Kosten (mit Rabatten) liegen darunter;
- Wie wir sehen, unterscheidet sich der Gesamtbetrag praktisch nicht zwischen den Data Center- und Server-Editionen;
- Für die Verwendung wurden nur Plugins mit Unterstützung für die Data Center-Edition ausgewählt. Alle anderen Plugins haben wir aus den Plänen ausgeschlossen, um die Stabilität des Systems zu gewährleisten.
Die Funktionalität ist kurz im Kommentarspalte beschrieben. Zusätzliche Plugins haben die Funktionalität des Systems erweitert:
- Einige visuelle Werkzeuge wurden hinzugefügt;
- Die Integrationsmechanismen wurden verbessert;
- Ein Werkzeug für Projekte im Wasserfallmodell wurde hinzugefügt;
- Ein Werkzeug für skalierbare Scrum-Methoden wurde hinzugefügt, um die Arbeit großer Projektteams zu organisieren;
- Funktionalität zur Zeiterfassung wurde hinzugefügt;
- Ein Werkzeug zur Automatisierung von Operationen und zur Konfiguration der Lösung wurde hinzugefügt;
- Funktionalität zum Vereinfachen und Automatisieren der Administration der Lösung wurde hinzugefügt.
Zusätzlich verwenden wir . Diese Anwendung ermöglicht es, Dateien in externen Anwendungen (MS Office) zu bearbeiten und sie anschließend wieder in Confluence zurückzugeben (Check-in).
Anwendung für Benutzerarbeitsplätze (dicker Client) ALM Works Jira Client haben wir uns entschieden, aufgrund schlechter Unterstützung durch den Anbieter und negativer Bewertungen nicht zu verwenden.
Für Integrationen mit MS Project wir verwenden eine selbstentwickelte Anwendung, die es ermöglicht, den Status von Issues in MS Project aus Jira und umgekehrt zu aktualisieren. Zukünftig planen wir, für dieselben Zwecke ein kostenpflichtiges Plugin zu nutzen , das als Add-On 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 Einrichtung, z.B. können Informationen über Issues in Jira auf einer Seite in Confluence angezeigt werden.
Für den Zugang zu den Jira- und Confluence-Servern wird die REST API verwendet: .
SOAP- und XML-RPC-APIs sind veraltet und in den neuen Versionen nicht mehr verfügbar.
Fazit
Wir haben also die technischen Merkmale der Implementierung eines Systems auf Basis von Atlassian-Produkten betrachtet. Die vorgeschlagene Lösung stellt eine der möglichen Lösungen dar und ist gut für eine Unternehmensumgebung geeignet.
Die vorgeschlagene Lösung ist skalierbar, fehlertolerant, enthält drei Umgebungen für die Entwicklung und das Testen und bietet alle notwendigen Elemente für die Zusammenarbeit im System sowie eine breite Palette an Werkzeugen für das Projektmanagement.
Ich beantworte gerne Fragen in den Kommentaren.
Quelle: habr.com


