Tervez Atlassian szoftver (Jira, Confluence) bevezetését? Nem szeretné, ha súlyos hibák merülnének fel a tervezés során, amelyeket aztán az utolsó pillanatban kellene megoldania?

Akkor itt van a helye — az Atlassian Jira + Confluence bevezetését nézzük meg a vállalaton belül, figyelembe véve a különböző technikai szempontokat.
Üdvözlöm, én vagyok a terméktulajdonos a RSHB-nél, és a vállalati életciklus-kezelő rendszer (ALM) fejlesztéséért felelek, amely az Atlassian Jira és Confluence szoftvertermékeire épül.
Ebben a cikkben az ALM technikai szempontjait írom le. A cikk hasznos lesz mindazok számára, akik az Atlassian Jira és Confluence bevezetésére készülnek vagy fejlesztéssel foglalkoznak vállalati környezetben. A cikk nem igényel különleges tudást, és az Atlassian termékekkel való ismerkedés kezdeti szintjére van tervezve. Hasznos lesz az adminisztrátorok, terméktulajdonosok, projektvezetők, architektúrák számára, valamint mindazok számára, akik az Atlassian szoftverek alkalmazására terveznek rendszereket.
Bevezetés
A cikkben technikai kérdéseket fogunk megvizsgálni az ALM vállalati környezetbe való bevezetésével kapcsolatban. Először is határozzuk meg, hogy mit is jelent ez.
Mit jelent a vállalati megoldás?
Ez a következőket jelenti:
- Skálázható. Növekményes terhelés esetén technikailag lehetőség van a rendszer kapacitásának növelésére. Különböző skálázási típusokat különböztetünk meg: a függőleges skálázás esetén a szerverek teljesítményének növelésére, míg a vízszintes skálázás során a rendszer működéséhez szükséges szerverek számának növelésére kerül sor.
- Hibatűrő. A rendszer elérhetősége megmarad, ha egy elem meghibásodik. Általában a vállalati rendszerek esetében nincs szükség hibatűrésre, de mi most egy ilyen megoldást fogunk vizsgálni. A rendszerünkben több száz versengő felhasználó lesz, és az üzemszünetek nagyon kritikusak lesznek.
- Támogatott. A megoldásnak a gyártó támogatása alatt kell állnia. A támogatás nélküli szoftverek helyét saját fejlesztések vagy más támogatott szoftverek kell, hogy átvegyék.
- Telepítés Self-managed (Helyben). A self-managed a lehetőséget jelenti, hogy a szoftvert nem felhőben, hanem saját szervereken telepítjük. Pontosabban, ez az összes lehetőség, amely nem SaaS. Ebben a cikkben csak a self-managed telepítési lehetőségeket fogjuk megvizsgálni.
- Független fejlesztési és tesztelési lehetőség. A rendszeren belüli kiszámítható változtatásokhoz külön fejlesztési (a rendszerben végzett módosításokhoz), tesztelési (staging) és éles rendszer szükséges a felhasználók munkájához.
- Egyéb. Támogatja a különböző hitelesítési forgatókönyveket, naplózási auditot, testreszabható szerepkört, stb.
Ezek a vállalati megoldások alapvető elemei, és sajnos gyakran elfelejtik őket a rendszer tervezése során.
Mi az a Életciklus-kezelési Rendszer (ELR)?
Röviden, a mi esetünkben ez az Atlassian Jira és az Atlassian Confluence — olyan rendszer, amely eszközöket biztosít a csoportos munka megszervezéséhez. A rendszer nem "erőlteti" a munka megszervezésének szabályait, hanem különféle eszközöket nyújt, beleértve a Scrumot, a Kanban táblákat, a vízesés modellt, és a skálázható Scrumot, stb.
Az ELR megnevezése nem iparági kifejezés vagy általánosan használt fogalom, csupán a mi Bankunk rendszerének neve. Az ELR nem hibakövető rendszer, nem incidenskezelő rendszer, és nem változáskezelő rendszer.
Mit tartalmaz a bevezetés?
A megoldás bevezetése számos technikai és szervezeti kérdést foglal magában:
- Technikai kapacitások kijelölése.
- Szoftver vásárlása.
- A megoldás bevezetésére szolgáló csapat létrehozása.
- A megoldás telepítése és konfigurálása.
- A megoldás architektúrájának és szerepkörének kidolgozása.
- Üzemeltetési dokumentáció kidolgozása, beleértve az útmutatókat, szabályzatokat, műszaki projektet, rendelkezéseket stb.
- A cég folyamatainek megváltoztatása.
- Támogató csapat létrehozása. SLA kidolgozása.
- Felhasználók képzése.
- Egyéb.
A cikkben a bevezetés technikai aspektusait fogjuk áttekinteni, anélkül, hogy a szervezeti részletekre kitérnénk.
Az Atlassian sajátosságai
Az Atlassian cég vezető szerepet tölt be számos szegmensben:
(A vezetést az AgileCraft felvásárlása biztosította a felhőalapú megoldásával)


Az Atlassian termékei rendelkeznek az összes szükséges vállalati funkcióval. Az alábbi sajátosságokat emelném ki:
- Az Atlassian megoldások a Java Tomcat webszerveren alapulnak. Az Apache Tomcat szoftver az Atlassian szoftvercsomag részeként érkezik, a benne található Apache Tomcat verziót nem lehet megváltoztatni, még akkor sem, ha a verzió elavult vagy sérülékenységeket tartalmaz. Az egyetlen lehetőség az, hogy várjuk az Atlassiantól érkező frissítést, amely újabb Apache Tomcat verziót tartalmaz. Jelenleg például a legújabb Jira verziókban az Apache Tomcat 8.5.42 található, míg a Confluence-ban az Apache Tomcat 9.0.33.
- Felhasználóbarát felület, a piacon elérhető legjobb gyakorlatokat valósították meg ezen szoftverosztály számára.
- Teljesen testreszabható megoldás. Kiegészítésekkel bármilyen változtatás végrehajtható a felhasználói alapfunkcionalitáson.
- Kibővített ökoszisztéma. Több száz partner található: , köztük 16 partner Oroszországban. Az Atlassian szoftverei, a pluginek vásárlása és az oktatás is kizárólag orosz partnereken keresztül történhet. A partnerek fejlesztik és támogatják a legtöbb plugint.
- Alkalmazásbolt (pluginek): . A pluginek jelentősen bővítik az Atlassian szoftver funkcionalitását. Az Atlassian alapfunkcionalitása elég szerény, szinte bármilyen feladathoz szükség lesz további pluginek ingyenes vagy díj ellenében történő telepítésére. Ezért a szoftver költségei jelentősen magasabbak lehetnek, mint ahogyan azt eredetileg becsülték.
Jelenleg az üzletben több ezer plugint publikáltak, ezek közül majdnem ezret teszteltek és validáltak a Data Center jóváhagyott alkalmazásainak programjában. Ezek a pluginek stabilnak és megfelelőnek tekinthetők magas terhelésű rendszerekben való használatra.
Ajánlom, hogy körültekintően tervezze meg a pluginek használatát, mivel ez jelentősen befolyásolja a megoldás költségeit, sok plugin instabilitást okozhat a rendszerben, és a plugin gyártója nem biztos, hogy támogatást nyújt a probléma megoldásához. - Oktatás és tanúsítványok:
- Támogatott az SSO és a SAML 2.0 mechanizmusok.
- A skálázhatóság és a hibatűrés támogatása csak a Data Center kiadásokban érhető el. Ez a kiadás először 2014-ben jelent meg (Jira 6.3). A Data Center kiadások funkcionalitása folyamatosan bővül és fejlődik (például a single node installation lehetősége csak 2020-ban jelent meg). A pluginek megközelítése a Data Center kiadásokhoz 2018-ban jelentősen megváltozott a Data Center jóváhagyott alkalmazások bevezetésével.
- A támogatás költsége. A gyártó támogatási költsége szinte megegyezik a szoftverlicencek teljes költségével. A licencek költségének kiszámítására vonatkozó példát az alábbiakban talál.
- A hosszú távú kiadások hiánya. Vannak úgynevezett , de ezek, akárcsak a többi verzió, 2 évig támogatottak. Az a különbség, hogy az Enterprise verziókhoz csak hibajavítások érhetők el, új funkciók hozzáadása nélkül.
- Kibővített támogatási lehetőségek (további költségek ellenében).
- Többféle DBMS támogatott. Az Atlassian szoftver ingyenes H2 DBMS-t tartalmaz, amely nem ajánlott termelési használatra. Termelési használatra a következő DBMS-ek támogatottak: Amazon Aurora (csak Data Center), PostgreSQL, Azure SQL, MySQL, Oracle DB, MS SQL Server. Vannak korlátozások a támogatott verziókra vonatkozóan, és gyakran csak régi verziók támogatottak, de minden DBMS-hez van gyártói támogatású verzió:
,
.
Technikai architektúra

Magyarázatok a diagramhoz:
- A diagram a bankunkban végrehajtott megoldást mutatja, ez a konfiguráció példaként szolgál, és nem ajánlott.
- A nginx fordított proxy funkcióval bír a Jira és a Confluence számára egyaránt.
- A DBMS megbízhatósága a DBMS eszközeivel valósul meg.
- A változások átvitele a környezetek között a Configuration Manager for Jira plugin használatával történik.
- Az AppSrv a diagramon a saját jelentéskészítő alkalmazásszerverünk, amely nem használja az Atlassian szoftverét.
- Az EasyBI adatbázist a kockák és jelentések elkészítésére hozták létre az eazyBI Reports and Charts for Jira plugin használatával.
- A Confluence Synchrony szolgáltatás (összetevő, amely lehetővé teszi a dokumentumok egyidejű szerkesztését) nem külön telepítésként van kiemelve, hanem a Confluence-szel együtt fut, ugyanazon a szerveren.
Licencelés
Az Atlassian licencelési kérdések külön cikket érdemelnek, itt csak az általános elveket említem meg.
A legfontosabb kérdések, amelyekkel találkoztunk, a Data Center kiadások licencelési kérdései. A Server és a Data Center kiadások licencelésének sajátosságai:
- A Server kiadás licencje határozatlan idejű és a vásárlóak használhatják a szoftvert még a licenc lejárta után is. De a licenc lejárta után a vásárló elveszíti a termék támogatásának és az aktuális verziókra való frissítéseinek jogát.
- A licencelés a ‘JIRA Users’ globális jogosultsággal rendelkező felhasználók számán alapul. Érdektelen, hogy a felhasználók igénybe veszik a rendszert – még akkor is, ha egyáltalán nem léptek be a rendszerbe, minden felhasználó beleszámít a licencbe. Amennyiben a licencelt felhasználók száma túlléphető, a megoldás az, hogy bizonyos felhasználóktól visszavonják a ‘JIRA Users’ jogosultságot.
- A Data Center licenc valójában egy előfizetés. Éves díjfizetés szükséges a licencért. A határidő lejárta után a rendszer használata blokkolva lesz.
- A licencek ára idővel változhat. A tapasztalatok szerint általában emelkedni szokott, esetleg jelentősen. Ezért ha az idén a licencek egy bizonyos összegbe kerülnek, jövőre a licencek költsége megemelkedhet.
- A licencelés felhasználónként történik tier alapján (például 1001-2000 felhasználó szint). Lehetőség van magasabb tierre lépni, felár ellenében.
- A licencelt felhasználók számának túllépése esetén az új felhasználók létrehozása nem jogosít hozzá a rendszerbe való belépéshez (‘JIRA Users’ globális jogosultság).
- A plugineket csak annyi felhasználóra lehet licencelni, mint a fő szoftver.
- Licenc csak a termelői telepítésekhez szükséges, a többihez Developer licencet lehet kérni: .
- A támogatás megvásárlásához a Renew Software maintenance megvásárlása szükséges – ennek költsége körülbelül a fő szoftver árának 50%-a. Ez a lehetőség nem elérhető a Data Center számára, és nem vonatkozik a pluginekre – a támogatásukért évente a teljes árat meg kell fizetni.
Így a szoftver éves támogatása a szoftver teljes árának több mint 50%-ába kerül a Server kiadás esetében, és 100%-ot a Data Center kiadásnál – ez jelentősen eltér a legtöbb más szállítótól. Véleményem szerint ez jelentős hátránya az Atlassian üzleti modelljének.
Jellemzők a Server kiadásról a Data Centerre való áttérés esetén:
- A Server kiadásról a Data Centerre való áttérés díjköteles. Az ár itt található .
- A Server kiadásról a Data Centerre való áttérés esetén a pluginek esetében nem szükséges díjat fizetni a váltásért – a Server kiadásra készült pluginek működni fognak. De a pluginek licencének meghosszabbítása már kötelező lesz a Data Center számára.
- Olyan bővítményeket használhat, amelyek nem rendelkeznek Data Center kiadáshoz készült verzióval. Ezek a bővítmények természetesen nem működhetnek megfelelően, ezért érdemes előre alternatívákat keresni.
- A Data Center kiadásra való áttérés új licenc telepítésével történik. A Server kiadás licencéje továbbra is elérhető marad.
- Nincs funkcionális különbség a Data Center és a Server kiadás között a felhasználók számára; az eltérések kizárólag az adminisztrációs funkciókban és a telepítési technikai lehetőségekben találhatók.
- A szoftver és a bővítmények ára eltér a Server és Data Center kiadások között. Az árkülönbség gyakran kevesebb mint 5% (nem jelentős). Az árkalkuláció példája lent található.
Bevezetés funkcionális terjedelme
Az Atlassian szoftver alapcsomagja hatalmas lehetőségeket tartalmaz, de gyakran a rendszer által biztosított lehetőségek jelentősen hiányoznak. Néha még a legegyszerűbb funkciók sem elérhetőek az alapcsomagban, ezért gyakorlatilag bármilyen bevezetéshez bővítmények szükségesek. A Jira rendszerhez az alábbi bővítményeket használjuk (a kép kattintható):
A Confluence rendszerhez az alábbi bővítményeket használjuk (a kép kattintható):
Kommentárok a bővítményeket tartalmazó táblázatokhoz:
- Minden ár 2000 felhasználóra van számítva;
- Az árak a megadott árak alapján kerültek kiszámításra , a valódi költség (kedvezményekkel) alacsonyabb lesz;
- Ahogy láthatjuk, a végösszeg szinte nem különbözik a Data Center és a Server kiadások között;
- Csak a Data Center kiadást támogató bővítményeket választottuk ki a használathoz. A többi bővítményt kizártuk a tervek közül, a rendszer stabilitása érdekében.
A funkciókat röviden a Megjegyzés oszlopban írtuk le. További bővítmények bővítették a rendszer funkcionalitását:
- Több vizuális eszközt adtunk hozzá;
- Javítottuk az integrációs mechanizmusokat;
- Eszközöket adtunk hozzá a vízesés modellű projektekhez;
- Eszközöket adtunk hozzá a skálázható Scrum számára, a nagy projektcsapatok munkájának szervezéséhez;
- Funkciót adtunk hozzá az időnyilvántartáshoz;
- Eszközöket adtunk hozzá a műveletek automatizálásához és a megoldás konfigurálásához;
- Funkciót adtunk hozzá a megoldás adminisztrációjának egyszerűsítéséhez és automatizálásához.
Ezen kívül használunk Ez az alkalmazás lehetővé teszi a fájlok szerkesztését külső alkalmazásokban (MS Office), és azok visszatöltését a Confluence-be (check-in).
Felhasználói munkahelyek alkalmazása (vastag kliens) ALM Works Jira Klient úgy döntöttünk, hogy nem használjuk a gyenge támogatás és a negatív visszajelzések miatt.
A integrációk az MS Projecttel jelenleg egy saját fejlesztésű alkalmazást használunk, amely lehetővé teszi az Issue státuszának frissítését az MS Projectben a Jirából és fordítva. A jövőben ezen célok érdekében egy fizetős bővítmény használatát tervezzük. , amely az MS Projectre mint kiegészítés telepíthető.
Integráció külső alkalmazásokkal az Application Links-en keresztül valósul meg. Emellett az Atlassian alkalmazások számára az integrációk előre be vannak állítva és azonnal működnek a konfigurálás után, például információkat lehet megjeleníteni a Confluence oldalon a Jirában lévő Issues-ról.
A Jira és Confluence szerverek eléréséhez REST API-t használunk: .
A SOAP és XML-RPC API elavult és az új verziókban nem elérhető a használat számára.
Zárás
Tehát áttekintettük az Atlassian termékeken alapuló rendszer bevezetésének műszaki jellemzőit. A javasolt megoldás egy lehetséges megoldást képvisel, és jól illeszkedik a vállalati környezethez.
A javasolt megoldás skálázható, hibatűrő, három környezettel rendelkezik a fejlesztés és tesztelés szervezésére, tartalmazza az összes szükséges elemet a rendszeren belüli együttműködéshez, és széleskörű eszközöket kínál a projektek kezeléséhez.
Örömmel válaszolok a kérdésekre a kommentek között.
Forrás: habr.com


