So implementieren Sie Atlassian Jira + Confluence in einem Unternehmen. Technische Fragen

Planen Sie die Implementierung von Atlassian-Software (Jira, Confluence)? Sie möchten keine groben Designfehler begehen, die dann erst im letzten Moment behoben werden müssen?

So implementieren Sie Atlassian Jira + Confluence in einem Unternehmen. Technische Fragen
Dann sind Sie hier – wir überlegen unter Berücksichtigung verschiedener technischer Aspekte die Einführung von Atlassian Jira + Confluence in einem Konzern.
Hallo, ich bin Product Owner bei RSHB und verantwortlich für die Entwicklung des Lifecycle Management Systems (LCMS), das auf den Softwareprodukten Atlassian Jira und Confluence basiert.

In diesem Artikel beschreibe ich die technischen Aspekte des Aufbaus eines LCMS. Der Artikel ist für jeden nützlich, der Atlassian Jira und Confluence in einer Unternehmensumgebung implementieren oder weiterentwickeln möchte. Der Artikel erfordert keine besonderen Kenntnisse und ist für eine erste Vertrautheit mit Atlassian-Produkten konzipiert. Der Artikel wird für Administratoren, Produktbesitzer, Projektmanager, Architekten und alle nützlich sein, die Systeme auf Basis der Atlassian-Software implementieren möchten.

Einführung

In dem Artikel werden die technischen Probleme bei der Implementierung eines Life Cycle Management Systems (LCMS) in einer Unternehmensumgebung erörtert. Lassen Sie uns zunächst definieren, was das bedeutet.

Was ist eine Unternehmenslösung?

Das bedeutet die Lösung:

  1. Skalierbar. Im Falle einer Belastungserhöhung besteht die technische Möglichkeit, die Kapazität des Systems zu erhöhen. Getrennte horizontale und vertikale Skalierung – bei vertikaler Skalierung wird die Kapazität der Server erhöht, bei horizontaler Skalierung erhöht sich die Anzahl der Server für den Systembetrieb.
  2. Ausfallsicher. Das System bleibt verfügbar, wenn ein Element ausfällt. Im Allgemeinen erfordern Unternehmenssysteme keine Fehlertoleranz, wir werden jedoch eine solche Lösung in Betracht ziehen. Wir planen, mehrere hundert konkurrierende Benutzer im System zu haben, und Ausfallzeiten werden sehr kritisch sein.
  3. Unterstützt. Die Lösung muss vom Anbieter unterstützt werden. Nicht unterstützte Software sollte durch Eigenentwicklung oder andere unterstützte Software ersetzt werden.
  4. Einstellung Selbstverwaltet (vor Ort). Selbstverwaltet ist die Möglichkeit, Software nicht in der Cloud, sondern auf Ihren eigenen Servern zu installieren. Genauer gesagt handelt es sich hierbei allesamt um Nicht-SaaS-Installationsoptionen. In diesem Artikel betrachten wir nur selbstverwaltete Installationsoptionen.
  5. Möglichkeit der unabhängigen Entwicklung und Prüfung. Um vorhersehbare Änderungen im System zu organisieren, ist ein separates System für die Entwicklung (Änderungen im System selbst), ein Testsystem (Staging) und ein Produktivsystem für die Arbeit der Benutzer erforderlich.
  6. Mehr. Unterstützt verschiedene Authentifizierungsszenarien, unterstützt Audit-Protokolle, verfügt über ein benutzerdefiniertes Rollenmodell usw.

Dies sind die Hauptelemente von Unternehmenslösungen und leider werden sie beim Entwurf eines Systems oft vergessen.

Was ist ein Life Cycle Management System (LCMS)?

Kurz gesagt handelt es sich in unserem Fall um Atlassian Jira und Atlassian Confluence – ein System, das Tools zur Organisation der Teamarbeit bereitstellt. Das System „erlegt“ keine Regeln für die Arbeitsorganisation auf, sondern stellt eine Vielzahl von Werkzeugen für die Arbeit bereit, wie z. B. Scrum, Kanban-Boards, ein Wasserfallmodell und skalierbares Scrum usw.
Der Name LCMS ist kein Branchenbegriff oder gebräuchlicher Begriff, sondern lediglich der Name des Systems in unserer Bank. Für uns ist LCMS kein Bug-Tracking-System, kein Incident-Management-System und kein Change-Management-System.

Was beinhaltet die Umsetzung?

Die Umsetzung der Lösung besteht aus vielen technischen und organisatorischen Fragen:

  • Zuweisung technischer Kapazitäten.
  • Kauf von Software.
  • Bildung eines Teams zur Umsetzung der Lösung.
  • Installation und Konfiguration der Lösung.
  • Entwicklung einer Lösungsarchitektur. Vorbild.
  • Entwicklung der Betriebsdokumentation, einschließlich Anweisungen, Vorschriften, technischer Entwurf, Vorschriften usw.
  • Unternehmensprozesse verändern.
  • Aufbau eines Support-Teams. SLA-Entwicklung.
  • Benutzerschulung.
  • Mehr.

In diesem Artikel betrachten wir die technischen Aspekte der Umsetzung, ohne näher auf die organisatorische Komponente einzugehen.

Funktionen von Atlassian

Atlassian ist in vielen Segmenten führend:

Die Produkte von Atlassian verfügen über alle Unternehmensfunktionen, die Sie benötigen. Ich werde die folgenden Funktionen beachten:

  1. Atlassian-Lösungen basieren auf dem Java Tomcat-Webserver. Die Apache Tomcat-Software ist in der Atlassian-Software enthalten. Im Rahmen der Installation können Sie die mit der Atlassian-Software installierte Version von Apache Tomcat nicht ändern, selbst wenn die Version veraltet ist und Schwachstellen enthält. Die einzige Möglichkeit besteht darin, auf ein Update von Atlassian mit einer neueren Version von Apache Tomcat zu warten. Mittlerweile verfügen die aktuellen Versionen von Jira beispielsweise über Apache Tomcat 8.5.42 und Confluence über Apache Tomcat 9.0.33.
  2. Komfortable Schnittstelle, die auf dem Markt für diese Softwareklasse verfügbaren Best Practices sind implementiert.
  3. Vollständig anpassbare Lösung. Mit Verbesserungen können Sie jede Änderung der Grundfunktionalität für den Benutzer umsetzen.
  4. Entwickeltes Ökosystem. Es gibt mehrere hundert Partner: https://partnerdirectory.atlassian.com, darunter 16 Partner in Russland. Über Partner in Russland können Sie Atlassian-Software und Plugins kaufen und Schulungen erhalten. Es sind die Partner, die die meisten Plugins entwickeln und warten.
  5. App Store (Plugins): https://marketplace.atlassian.com. Plugins erweitern die Funktionalität der Atlassian-Software erheblich. Die Grundfunktionalität der Atlassian-Software ist recht bescheiden, für fast jede Aufgabe ist es notwendig, zusätzliche Plug-Ins kostenlos oder gegen Aufpreis zu installieren. Daher können die Softwarekosten deutlich höher ausfallen als ursprünglich geschätzt.
    Bis heute wurden mehrere tausend Plugins im Store veröffentlicht, fast tausend davon wurden im Rahmen des Data Center Approval Apps-Programms getestet und validiert. Solche Plugins können als stabil und für den Einsatz in ausgelasteten Systemen geeignet angesehen werden.
    Ich empfehle Ihnen, das Problem der Plugin-Planung sorgfältig anzugehen, da dies die Kosten der Lösung stark beeinflusst, viele der Plugins zu Systeminstabilität führen können und der Plugin-Hersteller keinen Support zur Lösung des Problems bietet.
  6. Schulung und Zertifizierung: https://www.atlassian.com/university
  7. SSO- und SAML 2.0-Mechanismen werden unterstützt.
  8. Unterstützung für Skalierbarkeit und Fehlertoleranz ist nur in Data Center-Editionen verfügbar. Diese Ausgabe erschien erstmals im Jahr 2014 (Jira 6.3). Die Funktionalität der Data Center-Editionen wird ständig erweitert und verbessert (z. B. erschien die Möglichkeit einer Single-Node-Installation erst im Jahr 2020). Der Ansatz für Plug-ins für Data Center-Editionen hat sich im Jahr 2018 mit der Einführung von Data Center-zugelassenen Apps stark verändert.
  9. Supportkosten. Die Kosten für den Support durch den Anbieter entsprechen nahezu den vollen Kosten für Softwarelizenzen. Nachfolgend finden Sie ein Beispiel für die Berechnung der Lizenzkosten.
  10. Mangel an Langzeitveröffentlichungen. Es gibt sogenannte Enterprise-Versionen, aber sie werden, wie alle anderen Versionen auch, 2 Jahre lang unterstützt. Mit dem Unterschied, dass für Enterprise-Versionen nur Fixes veröffentlicht werden, ohne neue Funktionalität hinzuzufügen.
  11. Erweiterte Supportoptionen (gegen zusätzliches Geld). https://www.atlassian.com/enterprise/support-services
  12. Es werden mehrere DBMS-Varianten unterstützt. Atlassian bringt eine kostenlose H2-Datenbank mit, die für den produktiven Einsatz jedoch nicht zu empfehlen ist. Die folgenden DBMS werden für den produktiven Einsatz unterstützt: Amazon Aurora (nur Data Center) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Es gibt Einschränkungen hinsichtlich der unterstützten Versionen und oft werden nur ältere Versionen unterstützt, aber für jedes DBMS gibt es eine Version mit Herstellerunterstützung:
    Von Jira unterstützte Plattformen,
    Von Confluence unterstützte Plattformen.

Technische Architektur

So implementieren Sie Atlassian Jira + Confluence in einem Unternehmen. Technische Fragen

Erläuterungen zum Schema:

  • Das Diagramm zeigt die Implementierung in unserer Bank, diese Konfiguration dient als Beispiel und wird nicht empfohlen.
  • nginx bietet Reverse-Proxy-Funktionalität für Jira und Confluence.
  • Die Fehlertoleranz eines DBMS wird durch das DBMS realisiert.
  • Die Übertragung von Änderungen zwischen Umgebungen erfolgt mit dem Configuration Manager for Jira-Plugin.
  • AppSrv im Diagramm ist ein nativer Berichtsanwendungsserver, der keine Atlassian-Software verwendet.
  • Die EasyBI-Datenbank wurde für die Erstellung von Cubes und die Berichterstellung mit dem eazyBI Reports and Charts for Jira-Plugin erstellt.
  • Der Confluence Synchrony-Dienst (eine Komponente, die die gleichzeitige Bearbeitung von Dokumenten ermöglicht) ist nicht in eine separate Installation aufgeteilt und läuft zusammen mit Confluence auf demselben Server.

Zulassung

Atlassian-Lizenzierungsfragen verdienen einen eigenen Artikel, hier werde ich nur allgemeine Grundsätze erwähnen.
Die Hauptprobleme, auf die wir gestoßen sind, sind die Probleme bei der Lizenzierung von Data Center-Editionen. Lizenzierungsfunktionen für Server- und Data Center-Editionen:

  1. Die Lizenz für die Server-Edition ist unbefristet und der Kunde kann die Software auch nach Ablauf der Lizenz nutzen. Nach Ablauf der Lizenz verliert der Käufer jedoch das Recht, Produktsupport zu erhalten und die Software auf die neuesten Versionen zu aktualisieren.
  2. Die Lizenzierung basiert auf der Anzahl der Benutzer im globalen Berechtigungssystem „JIRA-Benutzer“. Dabei spielt es keine Rolle, ob sie das System nutzen oder nicht – auch wenn sich Benutzer noch nie im System angemeldet haben, werden alle Benutzer für die Lizenz berücksichtigt. Wenn die Anzahl der lizenzierten Benutzer überschritten wird, besteht die Lösung darin, einigen Benutzern die Berechtigung „JIRA-Benutzer“ zu entziehen.
  3. Bei der Data Center-Lizenz handelt es sich eigentlich um ein Abonnement. Es ist eine jährliche Lizenzgebühr erforderlich. Nach Ablauf der Laufzeit wird die Arbeit mit dem System gesperrt.
  4. Die Lizenzkosten können sich im Laufe der Zeit ändern. Wie die Praxis zeigt, im großen und vielleicht sogar bedeutenden Ausmaß. Wenn Ihre Lizenzen in diesem Jahr also einen Betrag kosten, können die Lizenzkosten im nächsten Jahr steigen.
  5. Die Lizenzierung erfolgt durch Benutzer nach Stufe (z. B. Benutzer der Stufen 1001–2000). Ein Upgrade auf eine höhere Stufe ist gegen Aufpreis möglich.
  6. Wenn die Anzahl der lizenzierten Benutzer überschritten wird, werden neue Benutzer ohne das Recht zur Anmeldung erstellt (globale Berechtigung „JIRA-Benutzer“).
  7. Plugins können nur für die gleiche Anzahl an Benutzern lizenziert werden wie die Hauptsoftware.
  8. Nur Produktivinstallationen müssen lizenziert werden, für den Rest können Sie eine Entwicklerlizenz erwerben: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Um die Wartung zu erwerben, ist der Kauf einer Renew Software-Wartung erforderlich – die Kosten betragen etwa 50 % der Kosten der Originalsoftware. Diese Funktion ist für das Rechenzentrum nicht verfügbar und gilt nicht für Plugins – Sie müssen jährlich die vollen Kosten bezahlen, um sie zu unterstützen.
    So kostet der jährliche Software-Support bei der Server-Edition mehr als 50 % und bei der Data Center-Edition 100 % der Gesamtkosten der Software – das ist deutlich mehr als bei den meisten anderen Anbietern. Meiner Meinung nach ist dies ein wesentlicher Nachteil des Atlassian-Geschäftsmodells.

Merkmale des Übergangs von der Server-Edition zum Data Center:

  1. Der Übergang von der Server-Edition zum Data Center ist kostenpflichtig. Den Preis finden Sie hier https://www.atlassian.com/licensing/data-center.
  2. Wenn Sie von der Server-Edition zum Data Center wechseln, müssen Sie nicht für den Editionswechsel der Plugins bezahlen – die Plugins für die Server-Edition funktionieren weiterhin. Es ist jedoch erforderlich, die Lizenzen für Plug-Ins für die Data Center Edition zu erneuern.
  3. Sie können Plugins verwenden, für die es keine Version für die Verwendung mit Data Center-Editionen gibt. Gleichzeitig kann es natürlich sein, dass solche Plugins nicht richtig funktionieren und es ist besser, im Voraus eine Alternative zu solchen Plugins bereitzustellen.
  4. Das Upgrade auf die Data Center Edition erfolgt durch die Installation einer neuen Lizenz. Gleichzeitig ist die Lizenz für die Server-Edition weiterhin verfügbar.
  5. Es gibt keine funktionalen Unterschiede zwischen den Data Center- und Server-Editionen für Benutzer, alle Unterschiede bestehen nur in den Funktionen zur Verwaltung und den technischen Möglichkeiten der Installation.
  6. Die Kosten für Software und Plug-Ins unterscheiden sich für die Server- und Data Center-Editionen. Der Kostenunterschied beträgt häufig weniger als 5 % (nicht unbedingt erforderlich). Nachfolgend finden Sie ein Beispiel für die Kostenberechnung.

Funktionsumfang der Umsetzung

Das Basispaket der Atlassian-Software umfasst eine große Anzahl an Funktionen, doch oft fehlen die vom System bereitgestellten Funktionen erheblich. Manchmal sind selbst die einfachsten Funktionen nicht im Basispaket verfügbar, sodass Plug-Ins für fast jede Implementierung unverzichtbar sind. Für das Jira-System nutzen wir folgende Plugins (Bild ist anklickbar):
So implementieren Sie Atlassian Jira + Confluence in einem Unternehmen. Technische Fragen

Für das Confluence-System verwenden wir folgende Plugins (das Bild ist anklickbar):
So implementieren Sie Atlassian Jira + Confluence in einem Unternehmen. Technische Fragen

Kommentare zu Tabellen mit Plugins:

  • Alle Preise basieren auf 2000 Benutzern;
  • Die Preise basieren auf den angegebenen Preisen https://marketplace.atlassian.com, die tatsächlichen Kosten (mit Rabatten) sind niedriger;
  • Wie Sie sehen, ist der Gesamtbetrag für die Data Center- und Server-Editionen praktisch gleich;
  • Zur Verwendung wurden ausschließlich Plug-Ins mit Unterstützung für die Data Center Edition ausgewählt. Die restlichen Plugins haben wir aus Gründen der Stabilität des Systems aus den Plänen ausgeschlossen.

Die Funktionalität wird in der Kommentarspalte kurz beschrieben. Zusätzliche Plugins haben die Funktionalität des Systems erweitert:

  • Mehrere visuelle Tools hinzugefügt;
  • Verbesserte Integrationsmechanismen;
  • Werkzeuge für Wasserfallmodellprojekte hinzugefügt;
  • Tools für skalierbares Scrum hinzugefügt, um die Arbeit großer Projektteams zu organisieren;
  • Funktionalität zur Zeiterfassung hinzugefügt;
  • Hinzugefügte Tools zur Automatisierung von Abläufen und zur Konfiguration der Lösung;
  • Zusätzliche Funktionalität zur Vereinfachung und Automatisierung der Verwaltung der Lösung.

Darüber hinaus verwenden wir Atlassian Companion-App. Mit dieser Anwendung können Sie Dateien in externen Anwendungen (MS Office) bearbeiten und an Confluence zurückgeben (Einchecken).
Anwendung für Benutzerarbeitsplätze (Thick Client) ALM Works Jira-Client https://marketplace.atlassian.com/apps/7070 Aufgrund des schlechten Supports des Anbieters und der negativen Bewertungen wurde beschlossen, es nicht zu verwenden.
für Integration mit MS Project Wir verwenden eine selbstgeschriebene Anwendung, die es Ihnen ermöglicht, den Status von Problemen in MS Project von Jira aus und umgekehrt zu aktualisieren. Für die gleichen Zwecke planen wir in Zukunft den Einsatz eines kostenpflichtigen Plugins Ceptah Bridge – JIRA MS Project Plugin, das als Add-on für MS Project installiert wird.
Integration mit externen Anwendungen über Anwendungslinks implementiert. Gleichzeitig sind Integrationen für Atlassian-Anwendungen vorkonfiguriert und funktionieren sofort nach der Einrichtung, so können Sie beispielsweise Informationen zu Issues in Jira auf einer Seite in Confluence anzeigen.
Für den Zugriff auf die Jira- und Confluence-Server wird die REST-API verwendet: https://developer.atlassian.com/server/jira/platform/rest-apis.
Die SOAP- und XML-RPC-APIs sind veraltet und stehen in den neuen Versionen nicht zur Verwendung zur Verfügung.

Abschluss

Daher haben wir uns mit den technischen Merkmalen der Implementierung eines Systems auf Basis von Atlassian-Produkten befasst. Die vorgeschlagene Lösung ist eine der möglichen Lösungen und eignet sich gut für eine Unternehmensumgebung.

Die vorgeschlagene Lösung ist skalierbar, fehlertolerant, enthält drei Umgebungen zur Organisation von Entwicklung und Tests, enthält alle notwendigen Elemente für die Zusammenarbeit im System und bietet eine breite Palette von Projektmanagement-Tools.

Fragen beantworte ich gerne in den Kommentaren.

Source: habr.com