Jak wdrożyć Atlassian Jira + Confluence w korporacji. Pytania techniczne

Planujesz wdrożenie oprogramowania Atlassian (Jira, Confluence)? Nie chcesz popełniać okrutnych błędów projektowych, które następnie trzeba rozwiązywać w ostatniej chwili?

Jak wdrożyć Atlassian Jira + Confluence w korporacji. Pytania techniczne
No to trafiłeś – rozważamy wdrożenie Atlassian Jira + Confluence w korporacji, biorąc pod uwagę różne aspekty techniczne.
Witam, jestem Product Ownerem w RSHB i odpowiadam za rozwój systemu zarządzania cyklem życia (LCMS) zbudowanego w oparciu o oprogramowanie Atlassian Jira i Confluence.

W tym artykule opiszę techniczne aspekty budowy LCMS. Artykuł przyda się każdemu, kto planuje wdrożenie lub rozwój Atlassian Jira i Confluence w środowisku korporacyjnym. Artykuł nie wymaga specjalnej wiedzy i jest przeznaczony dla wstępnego poziomu znajomości produktów Atlassian. Artykuł będzie przydatny dla administratorów, właścicieli produktów, kierowników projektów, architektów i wszystkich, którzy planują wdrażanie systemów opartych na oprogramowaniu Atlassian.

Wprowadzenie

W artykule zostaną rozważone techniczne kwestie związane z wdrażaniem Systemu Zarządzania Cyklem Życia (LCMS) w środowisku korporacyjnym. Najpierw zdefiniujmy, co to oznacza.

Co to jest rozwiązanie dla przedsiębiorstw?

Oznacza to rozwiązanie:

  1. Skalowalne. W przypadku zwiększenia obciążenia istnieje techniczna możliwość zwiększenia wydajności systemu. Oddzielne skalowanie poziome i pionowe - przy skalowaniu pionowym zwiększa się pojemność serwerów, przy skalowaniu poziomym zwiększa się ilość serwerów do obsługi systemu.
  2. Odporne na uszkodzenia. System pozostanie dostępny w przypadku awarii jednego elementu. Generalnie systemy korporacyjne nie wymagają odporności na awarie, ale rozważymy właśnie takie rozwiązanie. Planujemy mieć w systemie kilkuset konkurencyjnych użytkowników, a przestoje będą bardzo krytyczne.
  3. Utrzymany. Rozwiązanie musi być wspierane przez dostawcę. Nieobsługiwane oprogramowanie należy zastąpić oprogramowaniem wewnętrznym lub innym obsługiwanym oprogramowaniem.
  4. Instalacja Samozarządzający (na miejscu). Samozarządzanie to możliwość instalowania oprogramowania nie w chmurze, ale na własnych serwerach. Mówiąc ściślej, są to wszystkie opcje instalacji inne niż SaaS. W tym artykule rozważymy tylko opcje instalacji samodzielnie zarządzanej.
  5. Możliwość samodzielnego rozwoju i testowania. Aby zorganizować przewidywalne zmiany w systemie, potrzebny jest odrębny system do programowania (zmiany w samym systemie), system testowy (Staging) i system produktywny, w którym użytkownicy mogą pracować.
  6. Inne. Obsługuje różne scenariusze uwierzytelniania, obsługuje dzienniki audytu, ma niestandardowy wzór do naśladowania itp.

To główne elementy rozwiązań korporacyjnych i niestety często zapomina się o nich projektując system.

Co to jest system zarządzania cyklem życia (LCMS)?

W skrócie w naszym przypadku są to Atlassian Jira i Atlassian Confluence – system dostarczający narzędzia do organizacji pracy zespołowej. System nie „narzuca” zasad organizacji pracy, ale udostępnia różnorodne narzędzia do pracy, takie jak Scrum, tablice Kanban, model wodospadu, skalowalny Scrum itp.
Nazwa LCMS nie jest terminem branżowym ani potocznym, jest to po prostu nazwa systemu w naszym Banku. LCMS nie jest dla nas systemem śledzenia błędów, nie jest systemem zarządzania incydentami i systemem zarządzania zmianami.

Co obejmuje wdrożenie?

Wdrożenie rozwiązania wiąże się z wieloma kwestiami technicznymi i organizacyjnymi:

  • Alokacja możliwości technicznych.
  • Zakup oprogramowania.
  • Utworzenie zespołu w celu wdrożenia rozwiązania.
  • Instalacja i konfiguracja rozwiązania.
  • Rozwój architektury rozwiązań. wzór do naśladowania.
  • Opracowanie dokumentacji eksploatacyjnej, w tym instrukcji, regulaminów, projektu technicznego, regulaminów itp.
  • Zmiana procesów w firmie.
  • Utworzenie zespołu wsparcia. Rozwój SLA.
  • Trening użytkownika.
  • Inne.

W tym artykule rozważymy techniczne aspekty wdrożenia, bez szczegółów dotyczących elementu organizacyjnego.

Zawiera Atlassiana

Atlassian jest liderem w wielu segmentach:

Produkty Atlassian posiadają wszystkie funkcje, których potrzebujesz dla przedsiębiorstw. Zwrócę uwagę na następujące funkcje:

  1. Rozwiązania Atlassian oparte są na serwerze WWW Java Tomcat. Oprogramowanie Apache Tomcat jest dołączone do oprogramowania Atlassian, w ramach instalacji nie można zmienić wersji Apache Tomcat zainstalowanej z oprogramowaniem Atlassian, nawet jeśli wersja ta jest nieaktualna i zawiera luki. Jedyną opcją jest poczekanie na aktualizację ze strony Atlassian z nowszą wersją Apache Tomcat. Teraz na przykład aktualne wersje Jira mają Apache Tomcat 8.5.42, a Confluence ma Apache Tomcat 9.0.33.
  2. Wygodny interfejs, zaimplementowano najlepsze praktyki dostępne na rynku dla tej klasy oprogramowania.
  3. W pełni konfigurowalne rozwiązanie. Dzięki ulepszeniom możesz wdrożyć dowolną zmianę w podstawowej funkcjonalności dla użytkownika.
  4. Rozwinięty ekosystem. Partnerów jest kilkuset: https://partnerdirectory.atlassian.com, w tym 16 partnerów w Rosji. To za pośrednictwem partnerów w Rosji możesz kupić oprogramowanie Atlassian, wtyczki i odbyć szkolenia. To partnerzy opracowują i utrzymują większość wtyczek.
  5. Sklep z aplikacjami (wtyczki): https://marketplace.atlassian.com. Wtyczki znacznie zwiększają funkcjonalność oprogramowania Atlassian. Podstawowa funkcjonalność oprogramowania Atlassian jest dość skromna, do niemal każdego zadania konieczna jest instalacja dodatkowych wtyczek za darmo lub za dodatkową opłatą. Dlatego koszty oprogramowania mogą być znacznie wyższe niż pierwotnie szacowano.
    Do tej pory w sklepie opublikowano kilka tysięcy wtyczek, prawie tysiąc z nich zostało przetestowanych i zweryfikowanych w ramach programu aplikacji zatwierdzonych przez Data Center. Takie wtyczki można uznać za stabilne i odpowiednie do stosowania w obciążonych systemach.
    Radzę ostrożnie podejść do kwestii planowania wtyczek, ma to ogromny wpływ na koszt rozwiązania, wiele wtyczek może prowadzić do niestabilności systemu, a producent wtyczek nie zapewnia wsparcia w rozwiązaniu problemu.
  6. Szkolenia i certyfikacja: https://www.atlassian.com/university
  7. Obsługiwane są mechanizmy SSO, SAML 2.0.
  8. Obsługa skalowalności i odporności na awarie jest dostępna tylko w wersjach Data Center. Ta edycja pojawiła się po raz pierwszy w 2014 roku (Jira 6.3). Funkcjonalność edycji Data Center jest stale poszerzana i udoskonalana (przykładowo możliwość instalacji na jednym węźle pojawiła się dopiero w 2020 roku). Podejście do wtyczek do edycji Data Center bardzo się zmieniło w 2018 roku wraz z wprowadzeniem aplikacji zatwierdzonych przez Data Center.
  9. Koszt wsparcia. Koszt wsparcia ze strony dostawcy jest prawie równy pełnemu kosztowi licencji na oprogramowanie. Poniżej znajduje się przykład obliczenia kosztu licencji.
  10. Brak długoterminowych wydań. Istnieją tzw Wersje korporacyjne, ale one, podobnie jak wszystkie inne wersje, są wspierane przez 2 lata. Z tą różnicą, że wydawane są tylko poprawki dla wersji Enterprise, bez dodawania nowych funkcjonalności.
  11. Rozszerzone opcje wsparcia (za dodatkowe pieniądze). https://www.atlassian.com/enterprise/support-services
  12. Obsługiwanych jest kilka wariantów DBMS. Atlassian jest dostarczany z bezpłatną bazą danych H2, która nie jest zalecana do użytku produktywnego. Do zastosowań produkcyjnych obsługiwane są następujące systemy DBMS: Amazon Aurora (tylko Data Center) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Istnieją ograniczenia dotyczące obsługiwanych wersji i często obsługiwane są tylko starsze wersje, ale dla każdego systemu DBMS istnieje wersja ze wsparciem dostawcy:
    Platformy obsługiwane przez Jira,
    Platformy obsługiwane przez Confluence.

Architektura techniczna

Jak wdrożyć Atlassian Jira + Confluence w korporacji. Pytania techniczne

Objaśnienia do diagramu:

  • Schemat przedstawia wdrożenie w naszym Banku, konfiguracja ta jest podana przykładowo i nie jest zalecana.
  • nginx zapewnia funkcję odwrotnego proxy zarówno dla Jira, jak i Confluence.
  • Odporność na błędy systemu DBMS jest realizowana za pomocą systemu DBMS.
  • Przenoszenie zmian pomiędzy środowiskami odbywa się za pomocą wtyczki Configuration Manager for Jira.
  • AppSrv na schemacie to natywny serwer aplikacji raportującej, nie korzystający z oprogramowania Atlassian.
  • Baza danych EasyBI została stworzona z myślą o budowaniu kostek i raportowaniu za pomocą wtyczki eazyBI Reports and Charts for Jira.
  • Usługa Confluence Synchrony (komponent umożliwiający jednoczesną edycję dokumentów) nie jest wydzielona w osobnej instalacji i działa razem z Confluence, na tym samym serwerze.

Licencjonowanie

Zagadnienia licencyjne Atlassian zasługują na osobny artykuł, tutaj wspomnę jedynie o zasadach ogólnych.
Głównymi kwestiami, które napotkaliśmy, są kwestie licencjonowania edycji Data Center. Funkcje licencjonowania wersji Server i Data Center:

  1. Licencja na wersję Server jest bezterminowa i Klient może korzystać z oprogramowania nawet po wygaśnięciu licencji. Jednak po wygaśnięciu licencji kupujący traci prawo do otrzymania wsparcia produktu i aktualizacji oprogramowania do najnowszych wersji.
  2. Licencjonowanie opiera się na liczbie użytkowników w globalnym systemie uprawnień „JIRA Users”. Nie ma znaczenia, czy korzystają z systemu, czy nie – nawet jeśli użytkownicy nigdy nie logowali się do systemu, wszyscy użytkownicy będą brani pod uwagę przy licencji. W przypadku przekroczenia liczby licencjonowanych użytkowników rozwiązaniem jest usunięcie uprawnień „Użytkownicy JIRA” części użytkowników.
  3. Licencja Data Center jest w istocie subskrypcją. Wymagana jest roczna opłata licencyjna. Po upływie tego terminu praca z systemem zostanie zablokowana.
  4. Koszt licencji może zmieniać się z biegiem czasu. Jak pokazuje praktyka, w dużym stopniu i być może znacznie. Dlatego jeśli w tym roku Twoje licencje będą kosztować jedną kwotę, to w przyszłym roku koszt licencji może wzrosnąć.
  5. Licencjonowanie odbywa się według użytkowników według poziomu (na przykład użytkownicy na poziomie 1001–2000). Istnieje możliwość przejścia na wyższy poziom za dopłatą.
  6. W przypadku przekroczenia liczby licencjonowanych użytkowników, nowi użytkownicy zostaną utworzeni bez prawa do logowania (globalne zezwolenie „Użytkownicy JIRA”).
  7. Wtyczki mogą być licencjonowane tylko dla tej samej liczby użytkowników, co oprogramowanie główne.
  8. Licencje wymagają tylko instalacji produktywnych, na resztę można uzyskać licencję programisty: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Aby wykupić konserwację, wymagany jest zakup usługi Renew Software - koszt wynosi około 50% kosztu oryginalnego oprogramowania. Ta funkcja nie jest dostępna dla Data Center i nie ma zastosowania do wtyczek – aby je obsługiwać, będziesz musiał co roku płacić pełny koszt.
    Zatem roczne wsparcie oprogramowania kosztuje ponad 50% całkowitego kosztu oprogramowania w przypadku edycji Server i 100% w przypadku edycji Data Center - to znacznie więcej niż u większości innych dostawców. Moim zdaniem jest to istotna wada modelu biznesowego Atlassian.

Cechy przejścia z edycji Server do Data Center:

  1. Przejście z wersji Server na Data Center jest płatne. Cenę można znaleźć tutaj https://www.atlassian.com/licensing/data-center.
  2. Przechodząc z edycji Server na Data Center nie musisz płacić za zmianę edycji wtyczek - wtyczki do edycji Server będą działać. Konieczne będzie jednak odnowienie licencji na wtyczki do edycji Data Center.
  3. Możesz używać wtyczek, które nie mają wersji do użytku z edycjami Data Center. Jednocześnie oczywiście takie wtyczki mogą nie działać poprawnie i lepiej wcześniej zapewnić alternatywę dla takich wtyczek.
  4. Aktualizacja do wersji Data Center odbywa się poprzez zainstalowanie nowej licencji. Jednocześnie nadal dostępna jest licencja na edycję Server.
  5. Nie ma żadnych różnic funkcjonalnych pomiędzy wersjami Data Center i Server dla użytkowników, wszystkie różnice dotyczą jedynie funkcji administracyjnych i możliwości technicznych instalacji.
  6. Koszt oprogramowania i wtyczek różni się w przypadku wersji Server i Data Center. Różnica w kosztach jest często mniejsza niż 5% (nie jest to istotne). Poniżej przedstawiono przykładową kalkulację kosztów.

Zakres funkcjonalny realizacji

Podstawowy pakiet oprogramowania Atlassian zawiera ogromną liczbę funkcji, ale często brakuje funkcji zapewnianych przez system. Czasem nawet najprostsze funkcje nie są dostępne w pakiecie podstawowym, dlatego wtyczki są niezbędne przy niemal każdej implementacji. Dla systemu Jira wykorzystujemy następujące wtyczki (obrazek można kliknąć):
Jak wdrożyć Atlassian Jira + Confluence w korporacji. Pytania techniczne

Dla systemu Confluence wykorzystujemy następujące wtyczki (obrazek można kliknąć):
Jak wdrożyć Atlassian Jira + Confluence w korporacji. Pytania techniczne

Komentarze do tabel z wtyczkami:

  • Wszystkie ceny dotyczą 2000 użytkowników;
  • Ceny opierają się na wskazanych cenach https://marketplace.atlassian.com, rzeczywisty koszt (z rabatami) jest niższy;
  • Jak widać, łączna kwota jest praktycznie taka sama dla edycji Data Center i Server;
  • Do użycia wybrano wyłącznie wtyczki obsługujące edycję Data Center. Resztę wtyczek wyłączyliśmy z planów, ze względu na stabilność systemu.

Funkcjonalność została krótko opisana w kolumnie Komentarz. Dodatkowe wtyczki rozszerzyły funkcjonalność systemu:

  • Dodano kilka narzędzi wizualnych;
  • Ulepszone mechanizmy integracji;
  • Dodano narzędzia do projektów modeli wodospadów;
  • Dodano narzędzia dla skalowalnego Scruma umożliwiające organizację pracy dużych zespołów projektowych;
  • Dodano funkcjonalność śledzenia czasu;
  • Dodano narzędzia do automatyzacji operacji i konfiguracji rozwiązania;
  • Dodano funkcjonalność upraszczającą i automatyzującą administrację rozwiązaniem.

Dodatkowo korzystamy Aplikacja Atlassian Companion. Aplikacja ta pozwala na edycję plików w aplikacjach zewnętrznych (MS Office) i zwrócenie ich z powrotem do Confluence (odprawa).
Aplikacja na stacje robocze użytkowników (gruby klient) Klient ALM Works Jira https://marketplace.atlassian.com/apps/7070 zdecydowałem się nie używać ze względu na słabą obsługę dostawcy i negatywne recenzje.
dla integracja z MS Project korzystamy z samodzielnie napisanej aplikacji, która umożliwia aktualizację statusów zgłoszeń w MS Project z Jira i odwrotnie. W przyszłości w tych samych celach planujemy wykorzystać płatną wtyczkę Most Septah - wtyczka projektu JIRA MS, który jest instalowany jako dodatek do MS Project.
Integracja z aplikacjami zewnętrznymi wdrażane poprzez łącza aplikacji. Jednocześnie integracje z aplikacjami Atlassian są wstępnie skonfigurowane i działają od razu po instalacji, np. możesz wyświetlić informację o Problemach w Jira na stronie w Confluence.
Aby uzyskać dostęp do serwerów Jira i Confluence, wykorzystywane jest API REST: https://developer.atlassian.com/server/jira/platform/rest-apis.
Interfejsy API SOAP i XML-RPC są przestarzałe i nie są dostępne w nowych wersjach.

wniosek

Rozważaliśmy więc cechy techniczne wdrożenia systemu opartego na produktach Atlassian. Zaproponowane rozwiązanie jest jednym z możliwych i doskonale sprawdza się w środowisku korporacyjnym.

Zaproponowane rozwiązanie jest skalowalne, odporne na awarie, zawiera trzy środowiska do organizacji rozwoju i testów, zawiera wszystkie niezbędne elementy do współpracy w systemie oraz zapewnia szeroką gamę narzędzi do zarządzania projektami.

Chętnie odpowiem na pytania w komentarzach.

Źródło: www.habr.com