Wie man Atlassian Jira + Confluence in Unternehmen implementiert. Technische Fragen.

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?

Wie man Atlassian Jira + Confluence in Unternehmen implementiert. Technische Fragen.
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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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 Produkte von Atlassian verfĂŒgen ĂŒber alle notwendigen Unternehmensfunktionen. Ich möchte folgende Besonderheiten hervorheben:

  1. 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.
  2. Benutzerfreundliche OberflĂ€che, die besten am Markt verfĂŒgbaren Praktiken fĂŒr diese Softwareklasse wurden umgesetzt.
  3. VollstĂ€ndig anpassbare Lösung. Mit Anpassungen können alle Änderungen an den Grundfunktionen fĂŒr den Benutzer umgesetzt werden.
  4. Ausgereifte Ecosystem. Es gibt mehrere Hundert Partner: https://partnerdirectory.atlassian.com, 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.
  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, 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.
  6. Schulungen und Zertifizierungen: https://www.atlassian.com/university
  7. SSO-Mechanismen, SAML 2.0 werden unterstĂŒtzt.
  8. 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.
  9. 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.
  10. Fehlende Long Term-Versionen. Es gibt sogenannte Enterprise-Versionen, 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.
  11. Erweiterte Supportoptionen (gegen zusÀtzliche Kosten). https://www.atlassian.com/enterprise/support-services
  12. 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:
    Jira unterstĂŒtzte Plattformen,
    Confluence unterstĂŒtzte Plattformen.

Technische Architektur

Wie man Atlassian Jira + Confluence in Unternehmen implementiert. Technische Fragen.

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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. Wenn die Anzahl der lizenzierten Benutzer ĂŒberschritten wird, werden neue Benutzer ohne Berechtigung zum Systemzugang erstellt (‚JIRA Users‘ globale Berechtigung).
  7. Plugins können nur fĂŒr die gleiche Anzahl von Benutzern lizenziert werden wie die Hauptsoftware.
  8. Lizenziert werden mĂŒssen nur produktive Installationen, fĂŒr andere kann eine Entwicklerlizenz beantragt werden: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. 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:

  1. Der Wechsel von der Server-Edition zur Data Center-Edition ist kostenpflichtig. Die Kosten hierfĂŒr sind hier zu finden. https://www.atlassian.com/licensing/data-center.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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):
Wie man Atlassian Jira + Confluence in Unternehmen implementiert. Technische Fragen.

FĂŒr das Confluence-System verwenden wir die folgenden Plugins (das Bild ist klickbar):
Wie man Atlassian Jira + Confluence in Unternehmen implementiert. Technische Fragen.

Kommentare zu den Tabellen mit Plugins:

  • Alle Preise sind auf der Grundlage von 2000 Benutzern angegeben;
  • Die angegebenen Preise basieren auf den angegebenen Preisen https://marketplace.atlassian.com, 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 Atlassian Companion app. 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 https://marketplace.atlassian.com/apps/7070 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 Ceptah Bridge — JIRA MS Project Plugin, 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: https://developer.atlassian.com/server/jira/platform/rest-apis.
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

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster