Plánujete implementáciu softvéru Atlassian (Jira, Confluence)? Nechcete sa dopustiť vážnych chýb pri návrhu, ktoré by ste museli riešiť na poslednú chvíľu?

Potom ste na správnom mieste — zvažujeme implementáciu Atlassian Jira + Confluence v korporácii so zohľadnením rôznych technických aspektov.
Dobrý deň, som vlastníkom produktu v RSCB a zodpovedám za rozvoj Systému správy životného cyklu postaveného na softvérových produktoch spoločnosti Atlassian Jira a Confluence.
V tomto článku opíšem technické aspekty budovania SÚŽC. Článok bude užitočný pre všetkých, ktorí plánujú implementáciu alebo sa zaoberajú rozvojom Atlassian Jira a Confluence v korporátnom prostredí. Článok nevyžaduje špeciálne vedomosti a je určený pre začiatočníkov, ktorí sa zoznamujú s produktmi spoločnosti Atlassian. Bude užitočný pre administrátorov, vlastníkov produktov, projektových manažérov, architektov a všetkých, ktorí plánujú implementáciu systémov na báze softvéru Atlassian.
Úvod
V článku sa budú skúmať technické otázky implementácie Systému správy životného cyklu (SÚŽC) v korporátnom prostredí. Najprv si definujme, čo to vlastne znamená.
A čo znamená korporátne riešenie?
To znamená riešenie:
- Škálovateľné. Pri náraste zaťaženia existuje technická možnosť zvýšiť kapacitu systému. Rozlišujeme horizontálne a vertikálne škálovanie — pri vertikálnom škálovaní sa zvyšuje kapacita serverov, pri horizontálnom škálovaní sa zvyšuje počet serverov pre prácu systému.
- Odolné voči výpadkom. Systém zostane dostupný aj pri zlyhaní jedného prvku. Vo všeobecnosti nie je pre korporátne systémy potrebná odolnosť voči výpadkom, ale budeme zvažovať práve takéto riešenie. V našom systéme je plánovaných niekoľko sto konkurentných používateľov a prestoje budú veľmi kritické.
- Podporované. Riešenie musí byť na podpore od dodávateľa. Softvér bez podpory by mal byť nahradený vlastnými vývojmi alebo iným softvérom s podporou.
- Inštalácia Self-managed (On-premise). Self-managed — to je možnosť inštalovať softvér nie v cloude, ale na vlastných serveroch. Presnejšie povedané, sú to všetky možnosti inštalácie, ktoré nie sú SaaS. V tomto článku sa budeme zaoberať iba možnosťami inštalácie self-managed.
- Možnosť nezávislého vývoja a testovania. Na zabezpečenie predvídateľných zmien v systéme sú potrebné samostatné systémy na vývoj (zmien v samotnom systéme), testovacie systémy (Staging) a produktívne systémy pre prácu používateľov.
- Iné. Podporuje rôzne scenáre autentifikácie, podporuje audítorské záznamy, má prispôsobiteľný model rolí atď.
Tieto sú základné prvky podnikových riešení a, žiaľ, často sa na ne zabúda pri navrhovaní systému.
Čo je to Systém riadenia životného cyklu (SRŽC)?
Ak to zhrnieme, v našom prípade ide o Atlassian Jira a Atlassian Confluence — systém, ktorý poskytuje nástroje na organizáciu kolektívnej práce. Systém „nevnucuje“ pravidlá organizácie práce, ale poskytuje rôznorodé nástroje na prácu, vrátane Scrum, Kanban tabúľ a vodopádneho modelu, aj škálovateľného Scrumu atď.
Názov SRŽC nie je odborný termín ani bežne používaný pojem, je to len názov systému v našej banke. SRŽC pre nás nie je systémom na sledovanie chýb, ani systémom riadenia incidentov a riadenia zmien.
Čo zahŕňa implementácia?
Implementácia riešenia sa skladá z mnohých technických a organizačných otázok:
- Vyčlenenie technických kapacít.
- Nákup softvéru.
- Vytvorenie tímu na implementáciu riešenia.
- Inštalácia a konfigurácia riešenia.
- Vypracovanie architektúry riešenia. Model rolí.
- Vypracovanie prevádzkovej dokumentácie, vrátane pokynov, regulatív a technického projektu.
- Zmena procesov v spoločnosti.
- Vytvorenie podporného tímu. Vypracovanie SLA.
- Školenie používateľov.
- Iné.
V tomto článku sa zameriame na technické aspekty implementácie, bez podrobností o organizačnej zložke.
Špecifiká Atlassian
Spoločnosť Atlassian je lídrom v mnohých segmentoch:
(Vedúce postavenie je dôsledkom úspešného získania AgileCraft so svojím cloudovým riešením)


Produkty spoločnosti Atlassian obsahujú všetky potrebné podnikové funkcie. Rád by som vyzdvihol nasledujúce špecifiká:
- Riešenia Atlassian sú založené na webovom serveri Java Tomcat. Softvér Apache Tomcat prichádza ako súčasť softvéru Atlassian, nie je možné meniť verziu Apache Tomcat, ktorá je nainštalovaná ako súčasť softvéru Atlassian, aj keď je verzia zastaraná a obsahuje zraniteľnosti. Jedinou možnosťou je čakať na aktualizáciu od Atlassian s novšou verziou Apache Tomcat. V súčasnosti sa v aktuálnych verziách Jira využíva Apache Tomcat 8.5.42, zatiaľ čo v Confluence je to Apache Tomcat 9.0.33.
- Intuitívne rozhranie, ktoré implementuje najlepšie praktiky dostupné na trhu pre tento typ softvéru.
- Úplne prispôsobiteľné riešenie. S úpravami je možné implementovať akúkoľvek zmenu základnej funkčnosti pre používateľa.
- Rozvinutý ekosystém. Existuje niekoľko stoviek partnerov: , vrátane 16 partnerov v Rusku. Práve cez partnerov v Rusku je možné zakúpiť softvér Atlassian, pluginy a absolvovať školenie. Partneri vyvíjajú a podporujú väčšinu pluginov.
- Obchod s aplikáciami (pluginy): . Pluginy významne rozširujú funkčnosť softvéru Atlassian. Základná funkčnosť softvéru Atlassian je dosť skromná, prakticky pre akékoľvek úlohy vzniká potreba inštalácie ďalších pluginov, buď bezplatne alebo za ďalšie peniaze. Preto náklady na softvér môžu byť výrazne vyššie, než sa pôvodne odhadovalo.
V súčasnosti je v obchode publikovaných niekoľko tisíc pluginov, z ktorých takmer tisíc bolo testovaných a validovaných v programe Data Center approved apps. Takéto pluginy môžu byť považované za stabilné a vhodné na použitie v systémami s vysokým zaťažením.
Odporúčam dôkladne zvážiť plánovanie pluginov, to výrazne ovplyvňuje náklady na riešenie, mnohé pluginy môžu viesť k nestabilite systému a výrobca pluginu nemusí poskytovať podporu na riešenie problémov. - Školenie a certifikácie:
- Podporujú mechanizmy SSO, SAML 2.0.
- Podpora škálovateľnosti a odolnosti voči zlyhaniam existuje iba v edíciách Data Center. Táto edícia sa prvýkrát objavila v roku 2014 (Jira 6.3). Funkcionalita edícií Data Center sa neustále rozširuje a vylepšuje (napríklad možnosť single node installation sa objavila až v roku 2020). Prístup k pluginom pre edície Data Center sa výrazne zmenil v roku 2018 s introdukciou Data Center approved apps.
- Cena podpory. Cena podpory od dodávateľa je prakticky rovná plnej cene licencií softvéru. Príklad výpočtu ceny licencií je uvedený nižšie.
- Nemožnosť dlhodobých vydaní. Existujú takzvané , ale podporované sú rovnako ako všetky ostatné verzie, trvajú len 2 roky. S tým rozdielom, že pre Enterprise verzie vychádzajú len opravy, bez pridania novej funkcionality.
- Rozšírené možnosti podpory (za ďalšie peniaze).
- Podporované sú rôzne databázové systémy. Softvér Atlassian je dodávaný s bezplatnou databázou H2, táto databáza sa neodporúča na produkčné účely. Na produkčné použitie sú podporované nasledujúce databázy: Amazon Aurora (len pre Data Center) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Existujú obmedzenia týkajúce sa podporovaných verzií a často sú podporované len staršie verzie, ale pre každú databázu existuje verzia s podporou dodávateľa:
,
.
Technická architektúra

Vysvetlenia k schéme:
- Na schéme je uvedená realizácia v našej Banke, táto konfigurácia je uvedená ako príklad a nie je doporučená.
- nginx poskytuje funkciu reverse-proxy a pre Jira, aj pre Confluence.
- Odolnosť databázy je realizovaná prostriedkami databázy.
- Prenos zmien medzi prostrediami sa vykonáva pomocou pluginu Configuration Manager for Jira.
- AppSrv na schéme — to je vlastný server aplikácií pre reportovanie, nevyužíva softvér Atlassian.
- DB EasyBI je vytvorené na zostavovanie kubov a reportov s použitím pluginu eazyBI Reports and Charts for Jira.
- Služba Confluence Synchrony (komponenta, ktorá umožňuje súčasné upravovanie dokumentov) nie je vyčlenená do samostatnej inštalácie a je spustená spolu s Confluence, na tom istom serveri.
Licencovanie
Otázky licencovania Atlassian si zaslúžia osobitný článok, tu spomeniem len všeobecné princípy.
Hlavné otázky, s ktorými sme sa stretli — sú otázky licencovania edícií Data Center. Osobitnosti licencovania pre edície Server a Data Center:
- Licencia pre edíciu Server je bez časového obmedzenia a kupujúci môže používať softvér aj po uplynutí licenčnej doby. Ale po uplynutí licenčnej doby kupujúci stráca právo na získanie podpory k produktu a aktualizáciu softvéru na aktuálne verzie.
- Licencovanie sa vykonáva na základe počtu používateľov v systéme 'JIRA Users' s globálnym oprávnením. Pri tom nezáleží na tom, či systém používajú alebo nie — dokonca aj ak sa používatelia do systému nikdy neprihlásili, všetci používatelia budú započítaní pre licenciu. V prípade prekročenia počtu licencovaných používateľov bude opatrením odstránenie oprávnenia 'JIRA Users' od časti používateľov.
- Licencia na Data Center je v podstate predplatné. Vyžaduje sa každoročná platba licencie. Po uplynutí lehoty bude prístup k systému zablokovaný.
- Cena licencií sa môže v priebehu času zvyšovať. Ako ukazuje prax, zvyčajne v smerovaní nahor a možno aj významne. Preto ak v tomto roku licencia stojí určitú sumu, na nasledujúci rok sa cena licencií môže zvýšiť.
- Licencovanie sa vykonáva na základe používateľov podľa úrovne (napríklad úroveň 1001-2000 používateľov). Existuje možnosť prejsť na vyššiu úroveň s doplatkom.
- Pri prekročení počtu licencovaných používateľov, noví používatelia budú vytváraní bez práva prístupu do systému ('JIRA Users' globálne oprávnenie).
- Pluginy je možné licencovať iba na toľko používateľov, koľko má hlavný softvér.
- Licencovať je potrebné len produktívne inštalácie, pre ostatné je možné získať vývojársku licenciu: .
- Na zakúpenie podpory je potrebné zakúpenie Renew Software maintenance — cena je približne 50 % z ceny pôvodného softvéru. Táto možnosť nie je dostupná pre Data Center a nevzťahuje sa na pluginy — pre ich podporu bude potrebné platiť plnú cenu každý rok.
Takže ročná podpora softvéru stojí viac ako 50 % z plnej ceny softvéru v prípade vydania Server a 100 % v prípade vydania Data Center — to je značne viac ako u väčšiny ostatných dodávateľov. Podľa môjho názoru je to významná nevýhoda obchodného modelu Atlassian.
Osobitosti prechodu z vydania Server na Data Center:
- Prechod z vydania Server na Data Center je platený. Cenu lze nájsť tu. .
- Pri prechode z vydania Server na Data Center nie je potrebné platiť za zmenu vydania pluginov — pluginy pre vydanie Server budú fungovať. Ale licencie pre pluginy už bude potrebné predlžovať pre vydanie Data Center.
- Môžete používať pluginy, pre ktoré nie je dostupná verzia na použitie s edíciami Data Center. Takéto pluginy môžu fungovať nesprávne, preto je lepšie vopred zvážiť alternatívy k týmto pluginom.
- Prechod na edíciu Data Center sa vykonáva inštaláciou novej licencie. Licencia pre edíciu Server zostáva dostupná.
- Medzi edíciami Data Center a Server neexistujú žiadne funkčné rozdiely pre používateľov, všetky rozdiely sú len v administratívnych funkciách a technických možnostiach inštalácie.
- Cena softvéru a pluginov sa líši pre edície Server a Data Center. Rozdiel v cene často predstavuje menej ako 5 % (nie je to zásadné). Príklad výpočtu ceny je uvedený nižšie.
Funkčný objem implementácie
Základná dodávka softvéru Atlassian obsahuje obrovské množstvo možností, ale často sú možnosti poskytované systémom výrazne nedostačujúce. Niekedy ani najzákladnejšie funkcie nie sú dostupné v základnej dodávke, takže bez pluginov sa prakticky pri každej implementácii nezaobídete. Pre systém Jira používame nasledujúce pluginy (obrázok je klikateľný):
Pre systém Confluence používame nasledujúce pluginy (obrázok je klikateľný):
Komentáre k tabuľkám s pluginmi:
- Všetky ceny sú uvedené na základe 2000 používateľov;
- Uvedené ceny sú založené na cenách uvedených , reálna cena (so zľavami) je nižšia;
- Ako vidíme, konečná suma sa prakticky nelíši pre edície Data Center a Server;
- Pre použitie boli vybrané len pluginy, ktoré sú podporované edíciou Data Center. Ostatné pluginy sme vylúčili z plánov pre stabilitu systému.
Funkcionalita je stručne opísaná v stĺpci Komentár. Ďalšie pluginy rozšírili funkcionalitu systému:
- Pridané niektoré vizuálne nástroje;
- Vylepšené integračné mechanizmy;
- Pridané nástroje pre projekty podľa vodopádového modelu;
- Pridané nástroje pre škálovateľný Scrum, pre organizáciu práce veľkých projektových tímov;
- Pridaná funkcionalita na sledovanie času;
- Pridané nástroje na automatizáciu operácií a konfiguráciu riešenia;
- Pridaná funkcionalita na zjednodušenie a automatizáciu administrácie riešenia.
Okrem toho používame Táto aplikácia umožňuje upravovať súbory vo vonkajších aplikáciách (MS Office) a vracať ich späť do Confluence (check-in).
Aplikácia pre pracovné miesta používateľov (tukový klient) ALM Works Jira Client rozhodli sme sa nepoužívať kvôli zlému supportu zo strany dodávateľa a negatívnym recenziám.
Pre integrácie s MS Project u nás používame vlastnú aplikáciu, ktorá umožňuje aktualizovať statusy Issue v MS Project z Jira a naopak. V budúcnosti plánujeme na tieto účely použiť platený plugin , ktorý sa inštaluje ako doplnok do MS Project.
Integrácia s externými aplikáciami sa realizuje prostredníctvom Application Links. Pri tom, pre aplikácie Atlassian sú integrácie prednastavené a fungujú ihneď po nastavení, napríklad je možné zobraziť na stránke v Confluence informácie o Issues v Jira.
Na prístup k serverom Jira a Confluence sa používa REST API: .
SOAP a XML-RPC API sú deprecated a nie sú dostupné v nových verziách na používanie.
Záver
Takže, preskúmali sme technické aspekty nasadenia systému na báze produktov Atlassian. Navrhnuté riešenie predstavuje jednu z možných implementácií a je dobre prispôsobené pre firemné prostredie
Navrhnuté riešenie je škálovateľné, odolné voči poruchám, obsahuje tri prostredia pre organizáciu vývoja a testovania, zahŕňa všetky potrebné prvky na spoluprácu v systéme a poskytuje širokú škálu nástrojov na riadenie projektov.
Rád odpoviem na otázky v komentároch.
Zdroj: habr.com


