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

Planen Sie die Einführung von Atlassian-Software (Jira, Confluence)? Möchten Sie schwerwiegende Designfehler machen, die Sie im letzten Moment lösen müssen?


Dann sind Sie hier - wir erwägen die Einführung von Atlassian Jira + Confluence in einem Unternehmen unter Berücksichtigung verschiedener technischer Aspekte.
Hallo, ich bin Leiter des Atlassian Product Competence Center bei der Russischen Landwirtschaftsbank (Rosselkhozbank) und verantwortlich für die Entwicklung des Life Cycle Management Systems (SLC) auf Basis von Jira- und Confluence-Softwareprodukten.

In diesem Artikel werde ich die technischen Aspekte des Aufbaus eines LMS beschreiben. Der Artikel ist nützlich für alle, die planen, Systeme basierend auf Atlassian-Software in einer Unternehmensumgebung zu implementieren oder zu entwickeln. Der Artikel erfordert keine besonderen Kenntnisse und ist für die anfängliche Bekanntschaft mit Atlassian-Produkten konzipiert. Der Artikel ist nützlich für Administratoren, Produktbesitzer, Projektmanager, Architekten und alle, die Systeme implementieren möchten, die auf Atlassian-Software basieren.

Einführung


In diesem Artikel werden die technischen Probleme bei der Implementierung eines Life Cycle Management Systems (LMS) in einer Unternehmensumgebung erläutert. Lassen Sie uns zunächst feststellen, was das bedeutet.

Was bedeutet eine Unternehmensentscheidung?


Dies bedeutet eine Lösung:

  1. Skalierbar. Bei erhöhter Last besteht die technische Möglichkeit, die Kapazität des Systems zu erhöhen. Separate horizontale und vertikale Skalierung - Mit der vertikalen Skalierung erhöht sich die Kapazität der Server, mit der horizontalen Skalierung erhöht sich die Anzahl der Server, auf denen das System arbeiten kann.
  2. . . , . .
  3. . . .
  4. Self-managed (On-premise). Self-managed — , . , SaaS. Self-managed.
  5. Möglichkeit der unabhängigen Entwicklung und Erprobung. Um vorhersehbare Änderungen im System zu organisieren, sind ein separates System für die Entwicklung (Änderungen im System), ein Testsystem (Staging) und ein Produktivsystem erforderlich, damit Benutzer arbeiten können.
  6. Andere Es unterstützt verschiedene Authentifizierungsszenarien, unterstützt Überwachungsprotokolle, verfügt über ein benutzerdefiniertes Vorbild usw.

Dies sind die Hauptelemente von Unternehmenslösungen und werden beim Entwurf eines Systems leider häufig vergessen.

Und was ist ein Life Cycle Management System (LMS)?


Kurz gesagt, in unserem Fall sind dies Atlassian Jira und Atlassian Confluence - ein System, das Tools zur Organisation der Teamarbeit bereitstellt. Das System „legt“ keine Regeln für die Organisation der Arbeit fest, bietet jedoch eine Vielzahl von Werkzeugen für die Arbeit, z. B. Scrum, Kanban-Boards, ein Wasserfallmodell und ein skalierbares Scrum usw.
Der Name des LCMS ist kein Branchenbegriff oder ein allgemeiner Begriff, sondern lediglich der Name des Systems in unserer Bank. Für uns ist SLC kein Bug-Tracking-System, kein Incident-Management-System oder Change-Management-System.
Im System gibt es natürlich Funktionen zur Fehlerverfolgung, zur Aufzeichnung von Vorfällen und zur Verwaltung von Änderungen. Und für bestimmte Aufgaben wird diese Funktionalität verwendet. Es kann jedoch nicht gesagt werden, dass alle Fehler oder alle Vorfälle oder alle Änderungen in unserem System aufgezeichnet werden. In jedem Fall seine eigenen Besonderheiten. Wenn eine Einheit Jira verwendet und dort eine Änderung vornimmt, kann dieses Team für diese Änderung entscheiden, alle Fehler, alle Änderungen, alle Vorfälle dort zu belassen. Dies ist jedoch eine lokale Lösung für ein separates Team für eine bestimmte Aufgabe.

Was beinhaltet die Implementierung?


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

  • Zuweisung technischer Kapazitäten.
  • Softwarekauf.
  • Schaffung eines Teams zur Implementierung der Lösung.
  • Installation und Konfiguration der Lösung.
  • Entwicklung der Lösungsarchitektur. Vorbild.
  • Entwicklung der Betriebsdokumentation, einschließlich Anweisungen, Vorschriften, technischer Gestaltung, Vorschriften usw.
  • Unternehmensprozesse ändern.
  • Aufbau eines Support-Teams. SLA-Entwicklung.
  • Benutzerschulung.
  • Andere

In diesem Artikel werden die technischen Aspekte der Implementierung ohne Details zur organisatorischen Komponente betrachtet.

Atlassian Merkmale


Atlassian ist in vielen Segmenten führend:


Atlassian-Produkte verfügen über alle wesentlichen Unternehmensfunktionen. Ich werde die folgenden Merkmale bemerken:

  1. Atlassian - Java Tomcat. Apache Tomcat Atlassian, , - Apache Tomcat, Atlassian, . , , — Atlassian . , Atlassian, Apache Tomcat. , , Jira Apache Tomcat 8.5.42, Confluence Apache Tomcat 9.0.33 ( , Tomcat ).
    ( Max Max Atlassian User Group Moscow, Tomcat.)
  2. , .
  3. . .
  4. . : https://partnerdirectory.atlassian.com, 16 . Atlassian, , . .
  5. (): https://marketplace.atlassian.com. Atlassian. Atlassian , . , .
    , Data Center approved apps. .
    , , .
  6. : https://www.atlassian.com/university
  7. SSO, SAML 2.0.
  8. Data Center. 2014 (Jira 6.3). Data Center (, single node installation 2020 ). Data Center, 2018 Data Center approved apps.
  9. . , . .
  10. Long Term . Enterprise , , , 2 . , Enterprise , .
  11. ( ). https://www.atlassian.com/enterprise/support-services
  12. Es werden mehrere DBMS-Optionen unterstützt. Die Atlassian-Software wird mit einem kostenlosen H2-DBMS geliefert. Dieses DBMS wird nicht für den produktiven Einsatz empfohlen. Die folgenden DBMS werden für die produktive Verwendung unterstützt: Amazon Aurora (nur Rechenzentrum) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Es gibt Einschränkungen für unterstützte Versionen und häufig werden nur alte Versionen unterstützt. Für jedes DBMS gibt es jedoch eine Version mit Herstellerunterstützung:
    Jira-unterstützte Plattformen ,
    Confluence-unterstützte Plattformen .

Technische Architektur




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-Funktionen für Jira und Confluence.
  • Die DBMS-Fehlertoleranz wird von DBMS-Tools implementiert.
  • Änderungen zwischen Umgebungen werden mit dem Configuration Manager für Jira-Plugin übertragen.
  • AppSrv im Diagramm ist ein eigener Anwendungsserver für die Berichterstellung, verwendet keine Atlassian-Software.
  • Die EasyBI-Datenbank wurde zum Erstellen von Cubes und Berichten mithilfe des eazyBI-Plugins "Berichte und Diagramme für Jira" erstellt.
  • Der Confluence Synchrony-Dienst (eine Komponente, die die gleichzeitige Bearbeitung von Dokumenten ermöglicht) ist keiner separaten Installation zugeordnet und wird zusammen mit Confluence auf demselben Server gestartet.

Lizenzierung


Atlassian Lizenzprobleme verdienen einen separaten Artikel, hier werde ich nur allgemeine Prinzipien erwähnen.
Die Hauptprobleme, auf die wir gestoßen sind, waren Lizenzprobleme für Data Center-Editionen. Lizenzierungsfunktionen für Server- und Rechenzentrumseditionen:

  1. Server . .
  2. 'JIRA Users' global permission. , — , . , 'JIRA Users' .
  3. Data Center . . , .
  4. . , , , . , .
  5. tier (, 1001-2000 ). tier, .
  6. , ('JIRA Users' global permission).
  7. , .
  8. Für die Lizenzierung sind nur produktive Installationen erforderlich. Für den Rest erhalten Sie eine Entwicklerlizenz: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html .
  9. Um die Wartung zu erwerben, müssen Sie die Wartung der Software erneuern erwerben. Die Kosten betragen ungefähr 50% der Kosten der ursprünglichen Software. Diese Funktion ist für das Rechenzentrum nicht verfügbar und gilt nicht für Plugins. Um sie zu unterstützen, müssen Sie die vollen Kosten jährlich bezahlen.
    Somit kostet der jährliche Software-Support mehr als 50% der Gesamtkosten der Software bei der Server Edition und 100% bei der Data Center Edition - dies ist deutlich mehr als bei den meisten anderen Anbietern. Meiner Meinung nach ist dies ein deutliches Minus des Geschäftsmodells von Atlassian.

Funktionen des Übergangs von der Server Edition zum Rechenzentrum:

  1. Server Data Center . https://www.atlassian.com/licensing/data-center.
  2. Server Data Center — Server . Data Center.
  3. , Data Center. , , .
  4. Data Center . Server - .
  5. Data Center Server , .
  6. Server Data Center. 5% ( ). .


Die grundlegende Bereitstellung von Atlassian-Software umfasst eine Vielzahl von Funktionen, aber häufig fehlen die vom System bereitgestellten Funktionen erheblich. Manchmal sind selbst die einfachsten Funktionen in der Basisdistribution nicht verfügbar, sodass auf Plug-Ins bei fast jeder Implementierung nicht verzichtet werden kann. Es ist wichtig zu verstehen, dass Jira eine Plattform ist. Hier können Sie alle Funktionen und Plugins programmieren - dies ist eine kostenpflichtige Implementierung zusätzlicher Funktionen. Für das Jira-System verwenden wir die folgenden Plugins (das Bild ist anklickbar): Für das Confluence-System verwenden wir die folgenden Plugins (das Bild ist anklickbar): Kommentare zu Tabellen mit Plugins:







  • Alle Preise basieren auf 2000 Benutzern;
  • Die Preise basieren auf den unter https://marketplace.atlassian.com angegebenen Preisen . Die tatsächlichen Kosten (mit Rabatten) sind niedriger.
  • Wie Sie sehen können, ist der Gesamtbetrag für die Editionen von Data Center und Server praktisch gleich.
  • Es wurden nur Plugins mit Unterstützung für Data Center Edition zur Verwendung ausgewählt. Die restlichen Plugins haben wir aus den Plänen für Systemstabilität ausgeschlossen.

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

  • Mehrere visuelle Werkzeuge hinzugefügt;
  • Verbesserte Integrationsmechanismen;
  • Werkzeuge für Projekte nach dem Wasserfallmodell hinzugefügt;
  • Tools für skalierbares Scrum hinzugefügt, um die Arbeit großer Projektteams zu organisieren;
  • Funktionalität zur Zeiterfassung hinzugefügt;
  • Tools zur Automatisierung von Vorgängen und zur Konfiguration von Lösungen hinzugefügt;
  • Es wurden Funktionen hinzugefügt, um die Verwaltung der Lösung zu vereinfachen und zu automatisieren.

Zusätzlich verwenden wir ein Plug-In unseres eigenen Designs.
Wir planen, die Atlassian Companion-App auf Benutzerarbeitsstationen zu installieren . Mit dieser Anwendung können Sie Dateien in externen Anwendungen (MS Office) bearbeiten und an Confluence zurückgeben (Einchecken).
Die Anwendung für Benutzerarbeitsstationen (Thick Client) ALM Works Jira Client https://marketplace.atlassian.com/apps/7070 wurde aufgrund mangelnder Unterstützung durch Anbieter und negativer Bewertungen nicht verwendet.
Für die Integration in MS Project verwenden wir eine selbst geschriebene Anwendung, mit der Sie den Problemstatus in MS Project von Jira aus aktualisieren können und umgekehrt. Für die gleichen Zwecke planen wir in Zukunft die Verwendung eines kostenpflichtigen Plug-InsCeptah Bridge - JIRA MS Project Plugin , das als Add-On für MS Project installiert ist.
Die Integration mit externen Anwendungen erfolgt über Application Links. Gleichzeitig sind für Atlassian-Anwendungen die Integrationen vorkonfiguriert und funktionieren unmittelbar nach der Konfiguration. Sie können beispielsweise Informationen zu Problemen in Jira auf der Confluence-Seite 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 .
SOAP und die XML-RPC-API sind veraltet und in neuen Versionen nicht mehr verfügbar.

Fazit


Daher haben wir die technischen Merkmale der Implementierung des auf Atlassian-Produkten basierenden Systems untersucht. Die vorgeschlagene Lösung ist eine der möglichen Lösungen und eignet sich gut für die Unternehmensumgebung.

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

Gerne beantworte ich Fragen in den Kommentaren.

All Articles