Plánujete implementaci softwaru Atlassian (Jira, Confluence)? Nechcete se dopustit závažných chyb v návrhu, které pak budete muset řešit na poslední chvíli?

Pak jste na správném místě – zvažujeme implementaci Atlassian Jira + Confluence ve firmě s ohledem na různé technické aspekty.
Dobrý den, jsem vlastníkem produktu v RSHB a odpovídám za rozvoj Systému řízení životního cyklu (SLZC) postaveného na softwarových produktech společnosti Atlassian Jira a Confluence.
V tomto článku popsím technické aspekty budování SLZC. Článek bude užitečný pro všechny, kteří plánují implementaci nebo se zabývají rozvojem Atlassian Jira a Confluence v podnikatelském prostředí. Článek nevyžaduje odborné znalosti a je určen pro začátečníky seznámené s produkty společnosti Atlassian. Článek bude užitečný pro administrátory, vlastníky produktů, projektové manažery, architekty a všechny, kteří plánují implementaci systémů založených na softwaru Atlassian.
Úvod
V článku budou probrány technické otázky implementace Systému řízení životního cyklu (SLZC) v podnikatelském prostředí. Nejprve si definujme, co to vlastně znamená.
A co znamená podnikové řešení?
To znamená řešení:
- Škálovatelné. V případě nárůstu zátěže existuje technická možnost zvýšit kapacitu systému. Rozlišuje se horizontální a vertikální škálování — při vertikálním škálování se zvyšuje výkon serverů, při horizontálním škálování se zvyšuje počet serverů potřebných pro fungování systému.
- Odolné proti chybám. Systém zůstane dostupný i při selhání jednoho prvku. V obecném případě se pro podnikové systémy nevyžaduje odolnost proti chybám, ale budeme zvažovat právě takové řešení. V našem systému plánujeme několik stovek konkurenčních uživatelů a výpadky budou velmi kritické.
- Podporované. Řešení by mělo být pod podporou od dodavatele. Software bez podpory by měl být nahrazen vlastními vývojovými řešeními nebo jiným softwarem s podporou.
- Instalace Self-managed (Na místě). Self-managed znamená mít možnost instalovat software nikoli v cloudu, ale na vlastních serverech. Přesněji řečeno, jedná se o všechny varianty instalace mimo SaaS. V tomto článku se budeme zabývat možnostmi instalace pouze Self-managed.
- Možnost nezávislého vývoje a testování. Pro zajištění předvídatelných změn v systému jsou potřeba samostatné systémy pro vývoj (změny v samotném systému), testovací systém (Staging) a provozní systém pro práci uživatelů.
- Další. Podporuje různé scénáře autentizace, podporuje auditní logy, má nastavitelný model rolí atd.
To jsou základní prvky firemních řešení a bohužel se často zapomíná při návrhu systému.
Co je to Systém řízení životního cyklu (SŘŽC)?
Pokud to shrneme, v našem případě to je Atlassian Jira a Atlassian Confluence — systém poskytující nástroje pro organizaci kolektivní práce. Systém 'nevnucuje' pravidla organizace práce, ale nabízí různé nástroje pro práci, jako jsou Scrum, Kanban desky, vodopádový model, a škálovatelný Scrum atd.
Název SŘŽC není odvětvovým termínem ani běžně používaným pojmem, je to jen název systému v naší bance. SŘŽC pro nás není systém sledování chyb, není systémem pro řízení incidentů a systémem pro řízení změn.
Co zahrnuje implementace?
Implementace řešení se skládá z mnoha technických a organizačních otázek:
- Vyčlenění technických kapacit.
- Nákup softwaru.
- Vytvoření týmu pro implementaci řešení.
- Instalace a konfigurace řešení.
- Návrh architektury řešení. Role modelu.
- Vypracování provozní dokumentace, včetně pokynů, regulací, technického projektu, předpisů atd.
- Změna procesů společnosti.
- Vytvoření podpůrného týmu. Vývoj SLA.
- Školení uživatelů.
- Další.
V tomto článku se budeme věnovat technickým aspektům implementace, bez detailů k organizační stránce.
Vlastnosti Atlassian
Společnost Atlassian je lídrem v mnoha segmentech:
(Líderství je dáno úspěšným akvizicí AgileCraft se svým cloudovým řešením)


Produkty společnosti Atlassian mají všechny potřebné firemní funkce. Vyzdvihnu následující vlastnosti:
- Řešení Atlassian jsou založena na webovém serveru Java Tomcat. Software Apache Tomcat je součástí softwaru Atlassian jako součást instalace, změnit verzi Apache Tomcat instalovaného v rámci softwaru Atlassian nelze, i když je verze zastaralá a obsahuje zranitelnosti. Jedinou možností je čekat na aktualizaci od Atlassian s novější verzí Apache Tomcat. V současnosti například v aktuálních verzích Jira běží Apache Tomcat 8.5.42 a v Confluence je to Apache Tomcat 9.0.33.
- Uživatelsky přívětivé rozhraní, implementované nejlepší postupy dostupné na trhu pro tento typ softwaru.
- Plně přizpůsobitelné řešení. S úpravami lze realizovat jakoukoli změnu základní funkčnosti pro uživatele.
- Rozvinutý ekosystém. Existuje několik set partnerů: , včetně 16 partnerů v Rusku. Právě přes partnery v Rusku lze zakoupit software Atlassian, pluginy, absolvovat školení. To právě partneři vyvíjejí a podporují většinu pluginů.
- Obchod s aplikacemi (pluginy): . Pluginy výrazně rozšiřují funkčnost softwaru Atlassian. Základní funkčnost softwaru Atlassian je poměrně skromná, prakticky pro jakékoli úkoly nastává potřeba instalace dalších pluginů zdarma nebo za poplatek. Proto náklady na software mohou být výrazně vyšší, než se původně odhadovalo.
V současné době je v obchodě publikováno několik tisíc pluginů, téměř tisíc z nich bylo testováno a validováno v rámci programu Data Center approved apps. Tyto pluginy lze považovat za stabilní a vhodné k použití v zatížených systémech.
Doporučuji pečlivě přistupovat k plánování pluginů, to výrazně ovlivňuje náklady na řešení, mnohé pluginy mohou vést k nestabilitě systému a výrobce pluginu nemusí poskytovat podporu pro řešení problému. - Školení a certifikace:
- Podporovány jsou mechanismy SSO, SAML 2.0.
- Podpora škálovatelnosti a odolnosti proti selhání existuje pouze v edicích Data Center. Tato edice poprvé vznikla v roce 2014 (Jira 6.3). Funkčnost edic Data Center se stále rozšiřuje a vyvíjí (například možnost jednodejné instalace se objevila teprve v roce 2020). Přístup k pluginům pro edice Data Center se v roce 2018 výrazně změnil s zavedením Data Center approved apps.
- Náklady na podporu. Náklady na podporu od dodavatele se prakticky rovnají plné ceně licencí softwaru. Příklad výpočtu nákladů na licence je uveden níže.
- Nedostatek dlouhodobých vydání. Existují takzvané , ale ty, stejně jako všechny ostatní verze, jsou podporovány po dobu 2 let. S tím rozdílem, že pro Enterprise verze se vydávají pouze opravy, bez přidání nové funkčnosti.
- Rozšířené možnosti podpory (za příplatek).
- Podporuje se několik variant DBMS. Software Atlassian je dodáván s bezplatnou DBMS H2, tato DBMS se nedoporučuje pro produkční použití. Pro produkční použití se podporují následující DBMS: Amazon Aurora (pouze Data Center) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Existují omezení na podporované verze a častěji se podporují pouze starší verze, ale pro každou DBMS existuje verze s podporou dodavatele:
,
.
Technická architektura

Vysvětlivky k diagramu:
- Na diagramu je uvedena realizace v naší bance, tato konfigurace je uvedena jako příklad a není doporučená.
- nginx poskytuje funkci reverse-proxy jak pro Jira, tak pro Confluence.
- Odolnost DBMS je realizována prostředky DBMS.
- Přenos změn mezi prostředími se provádí s využitím pluginu Configuration Manager for Jira.
- AppSrv na diagramu je vlastní server aplikací pro reportování, nevyužívá software Atlassian.
- DB EasyBI byla vytvořena pro výstavbu kubů a reportování s využitím pluginu eazyBI Reports and Charts for Jira.
- Služba Confluence Synchrony (komponenta, která umožňuje současné úpravy dokumentů) není vyčleněna do samostatné instalace a spouští se společně s Confluence na stejném serveru.
Licencování
Otázky licencování Atlassian si zaslouží samostatný článek, zde zmíním pouze obecné principy.
Hlavní otázky, se kterými jsme se setkali, jsou otázky licencování verzí Data Center. Zvláštnosti licencování pro verze Server a Data Center:
- Licence pro verzi Server je bez časového omezení a kupující může software používat i po vypršení licence. Po vypršení licence však kupující ztrácí právo na podporu produktu a aktualizaci softwaru na aktuální verze.
- Licencování se provádí na základě počtu uživatelů v systému ‚JIRA Users‘ global permission. Přitom nezáleží na tom, zda systém používají nebo ne – i pokud uživatelé do systému nikdy nevstoupili, všichni budou započteni pro licenci. V případě překročení počtu licencovaných uživatelů bude rozhodnuto o odebrání oprávnění ‚JIRA Users‘ některým uživatelům.
- Licence na Data Center je de facto předplatné. Je nutné platit licenci každý rok. Po vypršení doby bude práce se systémem zablokována.
- Cena licencí se může v průběhu času měnit. Jak ukazuje praxe, narůstá a to možná výrazně. Pokud vaše licence stojí letos určitou částku, v příštím roce se cena licencí může zvýšit.
- Licencování se provádí podle uživatelů podle tieru (například úroveň 1001-2000 uživatelů). Je možnost přejít na vyšší tier s příplatkem.
- Při překročení počtu licencovaných uživatelů budou noví uživatelé vytvářeni bez práva vstoupit do systému (‘JIRA Users’ global permission).
- Pluginy lze licencovat pouze na stejné množství uživatelů, jaké má hlavní software.
- Licencovat je nutné pouze produktivní instalace, pro ostatní je možné získat Developer license: .
- Pro zakoupení podpory je nutné zakoupit Renew Software maintenance — cena odpovídá přibližně 50% z ceny původního softwaru. Tato možnost není dostupná pro Data Center a nevztahuje se na pluginy — pro jejich podporu bude nutné platit plnou cenu každý rok.
Tím pádem roční podpora softwaru stojí více než 50% z plné ceny softwaru v případě edice Server a 100% v případě edice Data Center — to je výrazně více než u většiny ostatních dodavatelů. Podle mého názoru je to značný nedostatek obchodního modelu Atlassian.
Specifika přechodu z edice Server na Data Center:
- Přechod z edice Server na Data Center je zpoplatněn. Cenu lze najít zde. .
- Při přechodu z edice Server na Data Center není nutné platit za změnu edice u pluginů — pluginy pro edici Server budou fungovat. Ale pro edici Data Center bude již nutné prodlužovat licence pro pluginy.
- Můžete používat pluginy, pro které neexistuje verze určená pro edice Data Center. Takové pluginy mohou samozřejmě fungovat nesprávně, a je lepší předem zvážit alternativu k těmto pluginům.
- Přechod na edici Data Center se provádí instalací nové licence. Licence pro edici Server zůstává nadále k dispozici.
- Mezi edicemi Data Center a Server pro uživatele nejsou žádné funkční rozdíly, veškeré rozdíly se týkají pouze administrativních funkcí a technických možností instalace.
- Cena softwaru a pluginů se liší mezi edicemi Server a Data Center. Rozdíl v ceně často činí méně než 5 % (není důležitý). Příklad výpočtu ceny je uveden níže.
Funkční rozsah implementace
Základní dodávka softwaru Atlassian zahrnuje obrovské množství funkcí, ale často systém značně postrádá. Někdy nejsou k dispozici ani nejjednodušší funkce, a proto se prakticky při každé implementaci neobejdeme bez pluginů. Pro systém Jira používáme následující pluginy (obrázek je klikací):
Pro systém Confluence používáme následující pluginy (obrázek je klikací):
Komentáře k tabulkám s pluginy:
- Všechny ceny jsou uvedeny na základě 2000 uživatelů;
- Ceny jsou uvedeny na základě uvedených cen , skutečná cena (se slevami) bude nižší;
- Jak vidíme, celková částka se prakticky neliší mezi edicemi Data Center a Server;
- Byly vybrány pouze pluginy s podporou edice Data Center. Ostatní pluginy jsme vyloučili z plánů kvůli stabilitě systému.
Funkce jsou stručně popsány ve sloupci Komentář. Další pluginy rozšířily funkčnost systému:
- Bylo přidáno několik vizuálních nástrojů;
- Byly vylepšeny integrační mechanismy;
- Byla přidána nástroje pro projekty podle vodopádového modelu;
- Byla přidána nástroje pro škálovatelný Scrum, pro organizaci práce velkých projektových týmů;
- Byla přidána funkčnost pro sledování času;
- Byla přidána nástroje pro automatizaci operací a konfigurování řešení;
- Byla přidána funkčnost pro zjednodušení a automatizaci správy řešení.
Dále používáme . Tato aplikace umožňuje editaci souborů ve externích aplikacích (MS Office) a jejich navrácení zpět do Confluence (check-in).
Aplikace pro pracovní stanice uživatelů (tlustý klient) ALM Works Jira Client rozhodli se ji nepoužívat kvůli špatné podpoře od dodavatele a negativním recenzím.
Pro integrace s MS Project používáme vlastní aplikaci, která umožňuje aktualizaci stavů problémů v MS Project z Jiry a naopak. V budoucnu plánujeme pro stejné účely používat placený plugin. , který se instaluje jako doplněk do MS Project.
Integrace s externími aplikacemi se realizuje prostřednictvím Application Links. Přitom jsou integrace pro aplikace Atlassian přednastaveny a okamžitě fungují po nastavení, například lze na stránce v Confluence zobrazit informace o problémech v Jire.
K přístupu k serverům Jiry a Confluence se používá REST API: .
SOAP a XML-RPC API jsou zastaralé a v nových verzích nejsou k použití.
Závěr
Takže jsme prozkoumali technické aspekty implementace systému na základě produktů Atlassian. Navrhované řešení představuje jedno z možných řešení a je dobře vhodné pro podnikové prostředí.
Navrhované řešení je škálovatelné, odolné proti výpadkům, zahrnuje tři prostředí pro vývoj a testování, obsahuje všechny potřebné prvky pro spolupráci v systému a poskytuje širokou škálu nástrojů pro řízení projektů.
Rád odpovím na otázky v komentářích.
Zdroj: habr.com


