Kako implementirati Atlassian Jira + Confluence v korporacijo. Tehnična vprašanja

Ali nameravate implementirati programsko opremo Atlassian (Jira, Confluence)? Ali ne želite delati krutih načrtovalskih napak, ki jih je potem treba rešiti v zadnjem trenutku?

Kako implementirati Atlassian Jira + Confluence v korporacijo. Tehnična vprašanja
Potem ste tukaj - razmišljamo o implementaciji Atlassian Jira + Confluence v korporacijo, pri čemer upoštevamo različne tehnične vidike.
Pozdravljeni, sem lastnik izdelkov pri RSHB in sem odgovoren za razvoj sistema za upravljanje življenjskega cikla (LCMS), zgrajenega na programskih izdelkih Atlassian Jira in Confluence.

V tem članku bom opisal tehnične vidike izdelave LCMS. Članek bo koristen vsem, ki nameravajo implementirati ali razvijati Atlassian Jira in Confluence v korporativnem okolju. Članek ne zahteva posebnega znanja in je namenjen začetni stopnji poznavanja izdelkov Atlassian. Članek bo uporaben za skrbnike, lastnike produktov, vodje projektov, arhitekte in vse, ki nameravajo implementirati sisteme, ki temeljijo na programski opremi Atlassian.

Predstavitev

Članek bo obravnaval tehnična vprašanja implementacije sistema za upravljanje življenjskega cikla (LCMS) v korporativnem okolju. Najprej opredelimo, kaj to pomeni.

Kaj je rešitev za podjetja?

To pomeni rešitev:

  1. Razširljiv. V primeru povečanja obremenitve obstaja tehnična možnost povečanja zmogljivosti sistema. Ločeno horizontalno in vertikalno skaliranje - z vertikalnim skaliranjem se poveča zmogljivost strežnikov, s horizontalnim skaliranjem se poveča število strežnikov za delovanje sistema.
  2. Failsafe. Sistem bo ostal na voljo, če en element odpove. Na splošno korporativni sistemi ne zahtevajo tolerance napak, vendar bomo razmislili o prav taki rešitvi. V sistemu načrtujemo več sto konkurenčnih uporabnikov, izpadi pa bodo zelo kritični.
  3. Podprto. Rešitev mora podpirati prodajalec. Nepodprto programsko opremo je treba nadomestiti z internim razvojem ali drugo podprto programsko opremo.
  4. Namestitev Samoupravljiv (lokalno). Samoupravljanje je zmožnost namestitve programske opreme ne v oblaku, temveč na lastnih strežnikih. Natančneje, to so vse možnosti namestitve, ki niso SaaS. V tem članku bomo obravnavali samo možnosti samostojne namestitve.
  5. Možnost samostojnega razvoja in testiranja. Za organizacijo predvidljivih sprememb v sistemu je potreben ločen sistem za razvoj (spremembe v samem sistemu), sistem za testiranje (Staging) in produktiven sistem za delo uporabnikov.
  6. Več. Podpira različne scenarije preverjanja pristnosti, podpira revizijske dnevnike, ima vzornik po meri itd.

To so glavni elementi podjetniških rešitev in se nanje pri načrtovanju sistema žal pogosto pozablja.

Kaj je sistem upravljanja življenjskega cikla (LCMS)?

Skratka, v našem primeru sta to Atlassian Jira in Atlassian Confluence – sistem, ki ponuja orodja za organizacijo timskega dela. Sistem ne »vsiljuje« pravil za organizacijo dela, ampak ponuja različna orodja za delo, kot so Scrum, Kanban table, model slapa, skalabilni Scrum itd.
Ime LCMS ni panožni ali splošni izraz, je preprosto ime sistema v naši banki. LCMS za nas ni sistem za sledenje napakam, ni sistem za upravljanje incidentov in sistem za upravljanje sprememb.

Kaj vključuje implementacija?

Implementacija rešitve je sestavljena iz številnih tehničnih in organizacijskih vprašanj:

  • Dodeljevanje tehničnih zmogljivosti.
  • Nakup programske opreme.
  • Oblikovanje ekipe za implementacijo rešitve.
  • Namestitev in konfiguracija rešitve.
  • Razvoj arhitekture rešitve. vzornik.
  • Izdelava operativne dokumentacije, vključno z navodili, predpisi, tehničnim načrtom, predpisi itd.
  • Spreminjanje procesov v podjetju.
  • Ustvarjanje podporne ekipe. Razvoj SLA.
  • Usposabljanje uporabnikov.
  • Več.

V tem članku bomo obravnavali tehnične vidike izvedbe, brez podrobnosti o organizacijski komponenti.

Vsebuje Atlassian

Atlassian je vodilni v številnih segmentih:

Izdelki Atlassiana imajo vse poslovne funkcije, ki jih potrebujete. Opozoril bom na naslednje značilnosti:

  1. Rešitve Atlassian temeljijo na spletnem strežniku Java Tomcat. Programska oprema Apache Tomcat je vključena v programsko opremo Atlassian, kot del namestitve ne morete spremeniti različice Apache Tomcat, nameščene s programsko opremo Atlassian, tudi če je različica zastarela in vsebuje ranljivosti. Edina možnost je počakati na posodobitev Atlassiana z novejšo različico Apache Tomcat. Zdaj imajo na primer trenutne različice Jire Apache Tomcat 8.5.42, Confluence pa Apache Tomcat 9.0.33.
  2. Priročen vmesnik, implementirane so najboljše prakse, ki so na voljo na trgu za ta razred programske opreme.
  3. Popolnoma prilagodljiva rešitev. Z izboljšavami lahko izvajate kakršne koli spremembe v osnovni funkcionalnosti za uporabnika.
  4. Razvit ekosistem. Partnerjev je nekaj sto: https://partnerdirectory.atlassian.com, vključno s 16 partnerji v Rusiji. Prek partnerjev v Rusiji lahko kupite programsko opremo Atlassian, vtičnike in se izobražujete. Partnerji so tisti, ki razvijajo in vzdržujejo večino vtičnikov.
  5. App Store (vtičniki): https://marketplace.atlassian.com. Vtičniki močno izboljšajo funkcionalnost programske opreme Atlassian. Osnovna funkcionalnost programske opreme Atlassian je precej skromna, za skoraj vsako nalogo je treba brezplačno ali za dodaten denar namestiti dodatne vtičnike. Zato so lahko stroški programske opreme bistveno višji od prvotno ocenjenih.
    Do danes je bilo v trgovini objavljenih več tisoč vtičnikov, skoraj tisoč jih je bilo preizkušenih in potrjenih v okviru programa aplikacij, ki jih je odobril Data Center. Takšni vtičniki se lahko štejejo za stabilne in primerne za uporabo v obremenjenih sistemih.
    Svetujem vam, da skrbno pristopite k vprašanju načrtovanja vtičnikov, to močno vpliva na ceno rešitve, mnogi vtičniki lahko povzročijo nestabilnost sistema in proizvajalec vtičnikov ne nudi podpore za rešitev težave.
  6. Usposabljanje in certificiranje: https://www.atlassian.com/university
  7. Podprti so mehanizmi SSO, SAML 2.0.
  8. Podpora za razširljivost in toleranco napak je na voljo samo v izdajah Data Center. Ta izdaja se je prvič pojavila leta 2014 (Jira 6.3). Funkcionalnost izdaj Data Center se nenehno širi in izboljšuje (na primer, možnost namestitve enega vozlišča se je pojavila šele leta 2020). Pristop k vtičnikom za izdaje Data Center se je v letu 2018 zelo spremenil z uvedbo aplikacij, odobrenih za Data Center.
  9. Stroški podpore. Stroški podpore s strani prodajalca so skoraj enaki celotnim stroškom programskih licenc. Spodaj je podan primer izračuna stroškov licenc.
  10. Pomanjkanje dolgoročnih izdaj. Obstajajo tako imenovani Enterprise različice, vendar sta tako kot vse druge različice podprti 2 leti. S to razliko, da so izdani le popravki za različice Enterprise, brez dodajanja novih funkcionalnosti.
  11. Razširjene možnosti podpore (za dodaten denar). https://www.atlassian.com/enterprise/support-services
  12. Podprtih je več različic DBMS. Atlassian ima brezplačno bazo podatkov H2, ki ni priporočljiva za produktivno uporabo. Za produktivno uporabo so podprti naslednji DBMS: Amazon Aurora (samo Data Center) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Obstajajo omejitve glede podprtih različic in pogosto so podprte le starejše različice, vendar za vsako DBMS obstaja različica s podporo proizvajalca:
    Jira podprte platforme,
    Platforme, ki jih podpira Confluence.

Tehnična arhitektura

Kako implementirati Atlassian Jira + Confluence v korporacijo. Tehnična vprašanja

Pojasnila za shemo:

  • Diagram prikazuje izvedbo v naši banki, ta konfiguracija je podana kot primer in ni priporočljiva.
  • nginx zagotavlja funkcijo povratnega proxyja za Jira in Confluence.
  • Odpornost na napake DBMS je implementirana s pomočjo DBMS.
  • Prenos sprememb med okolji poteka z uporabo vtičnika Configuration Manager for Jira.
  • AppSrv v diagramu je izvorni strežnik aplikacij za poročanje, ne uporablja programske opreme Atlassian.
  • Baza podatkov EasyBI je bila ustvarjena za gradnjo kock in poročanje z uporabo vtičnika eazyBI Reports and Charts for Jira.
  • Storitev Confluence Synchrony (komponenta, ki omogoča sočasno urejanje dokumentov) ni ločena v ločeni namestitvi in ​​deluje skupaj s Confluence, na istem strežniku.

Licenciranje

Vprašanja licenciranja Atlassian si zaslužijo ločen članek, tukaj bom omenil le splošna načela.
Glavna vprašanja, s katerimi smo se srečali, so vprašanja licenciranja edicij Data Center. Funkcije licenciranja za izdaje strežnika in podatkovnega centra:

  1. Licenca za strežniško izdajo je trajna in stranka lahko uporablja programsko opremo tudi po poteku licence. Toda po poteku licence kupec izgubi pravico do podpore za izdelek in posodobitve programske opreme na najnovejše različice.
  2. Licenciranje temelji na številu uporabnikov v globalnem sistemu dovoljenj 'Uporabniki JIRA'. Ni pomembno, ali uporabljajo sistem ali ne – tudi če se uporabniki nikoli niso prijavili v sistem, bodo pri licenci upoštevani vsi uporabniki. Če je število licenciranih uporabnikov preseženo, je rešitev odstranitev dovoljenja 'Uporabniki JIRA' za nekatere uporabnike.
  3. Licenca Data Center je pravzaprav naročnina. Zahtevana je letna licenčnina. Po preteku roka bo delo s sistemom blokirano.
  4. Cena licenc se lahko sčasoma spremeni. Kot kaže praksa, v veliki meri in morda bistveno. Torej, če vaše licence letos stanejo en znesek, se lahko naslednje leto stroški licenc povečajo.
  5. Licenciranje izvajajo uporabniki po stopnjah (na primer uporabniki ravni 1001–2000). Možna je nadgradnja na višjo stopnjo, z doplačilom.
  6. Če je število licenciranih uporabnikov preseženo, bodo ustvarjeni novi uporabniki brez pravice do prijave (globalno dovoljenje 'Uporabniki JIRA').
  7. Vtičnike je mogoče licencirati le za enako število uporabnikov kot glavno programsko opremo.
  8. Licencirati je treba le produktivne namestitve, za ostale pa lahko dobite licenco za razvijalce: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Za nakup vzdrževanja je potreben nakup vzdrževanja Renew Software – strošek je približno 50 % stroškov originalne programske opreme. Ta funkcija ni na voljo za podatkovno središče in ne velja za vtičnike – za njihovo podporo boste morali letno plačati polne stroške.
    Tako letna programska podpora stane več kot 50 % celotnega stroška programske opreme v primeru izdaje Server in 100 % v primeru izdaje Data Center – to je bistveno več kot večina drugih prodajalcev. Po mojem mnenju je to pomembna pomanjkljivost poslovnega modela Atlassian.

Značilnosti prehoda s strežniške izdaje na podatkovni center:

  1. Prehod iz strežniške izdaje v podatkovni center je plačan. Ceno lahko najdete tukaj https://www.atlassian.com/licensing/data-center.
  2. Pri prehodu s strežniške izdaje na podatkovni center vam ni treba plačati za spremembo izdaje vtičnikov – delovali bodo vtičniki za strežniško izdajo. Bo pa treba obnoviti licence za vtičnike za izdajo Data Center.
  3. Uporabite lahko vtičnike, ki nimajo različice za uporabo z izdajami Data Center. Hkrati pa seveda takšni vtičniki morda ne bodo delovali pravilno, zato je bolje vnaprej zagotoviti alternativo takšnim vtičnikom.
  4. Nadgradnja na izdajo Data Center se izvede z namestitvijo nove licence. Hkrati je še vedno na voljo licenca za izdajo Server.
  5. Funkcionalnih razlik med edicijo Data Center in Server za uporabnike ni, vse razlike so le v funkcijah za administracijo in tehničnih zmožnostih namestitve.
  6. Stroški programske opreme in vtičnikov se razlikujejo za izdaji strežnika in podatkovnega centra. Razlika v stroških je pogosto manjša od 5% (ni bistveno). Spodaj je prikazan primer izračuna stroškov.

Funkcionalni obseg izvedbe

Osnovni programski paket Atlassian vključuje ogromno funkcij, vendar so funkcije, ki jih ponuja sistem, pogosto zelo pomanjkljive. Včasih tudi najpreprostejše funkcije niso na voljo v osnovnem paketu, zato so vtičniki nepogrešljivi pri skoraj vsaki izvedbi. Za sistem Jira uporabljamo naslednje vtičnike (slika je klikljiva):
Kako implementirati Atlassian Jira + Confluence v korporacijo. Tehnična vprašanja

Za sistem Confluence uporabljamo naslednje vtičnike (slika je klikljiva):
Kako implementirati Atlassian Jira + Confluence v korporacijo. Tehnična vprašanja

Komentarji o tabelah z vtičniki:

  • Vse cene veljajo za 2000 uporabnikov;
  • Cene temeljijo na navedenih cenah https://marketplace.atlassian.com, realni stroški (s popusti) so nižji;
  • Kot lahko vidite, je skupni znesek praktično enak za izdaji Data Center in Server;
  • Za uporabo so bili izbrani samo vtičniki s podporo za izdajo Data Center. Ostale vtičnike smo zaradi stabilnosti sistema izločili iz načrtov.

Funkcionalnost je na kratko opisana v stolpcu Komentar. Dodatni vtičniki so razširili funkcionalnost sistema:

  • Dodanih več vizualnih orodij;
  • Izboljšani integracijski mehanizmi;
  • Dodana orodja za projekte modelov slapov;
  • Dodana orodja za razširljiv Scrum za organizacijo dela velikih projektnih skupin;
  • Dodana funkcionalnost za sledenje časa;
  • Dodana orodja za avtomatizacijo delovanja in konfiguracijo rešitve;
  • Dodana funkcionalnost za poenostavitev in avtomatizacijo administracije rešitve.

Poleg tega uporabljamo Aplikacija Atlassian Companion. Ta aplikacija vam omogoča urejanje datotek v zunanjih aplikacijah (MS Office) in njihovo vračanje nazaj v Confluence (check-in).
Aplikacija za uporabniške delovne postaje (debel odjemalec) ALM Works Jira Client https://marketplace.atlassian.com/apps/7070 odločil, da ne bo uporabil zaradi slabe podpore prodajalca in negativnih ocen.
Za integracija z MS Project uporabljamo samonapisano aplikacijo, ki vam omogoča posodobitev statusov težav v MS Project iz Jire in obratno. V prihodnje za iste namene načrtujemo uporabo plačljivega vtičnika Ceptah Bridge - vtičnik JIRA MS Project, ki je nameščen kot dodatek za MS Project.
Integracija z zunanjimi aplikacijami implementirano prek aplikacijskih povezav. Istočasno so integracije za aplikacije Atlassian vnaprej konfigurirane in delujejo takoj po namestitvi, na primer lahko prikažete informacije o težavah v Jiri na strani v Confluence.
API REST se uporablja za dostop do strežnikov Jira in Confluence: https://developer.atlassian.com/server/jira/platform/rest-apis.
API-ji SOAP in XML-RPC so zastareli in v novih različicah niso na voljo za uporabo.

Zaključek

Torej smo upoštevali tehnične značilnosti implementacije sistema, ki temelji na izdelkih Atlassian. Predlagana rešitev je ena izmed možnih rešitev in je zelo primerna za poslovno okolje.

Predlagana rešitev je razširljiva, odporna na napake, vsebuje tri okolja za organizacijo razvoja in testiranja, vsebuje vse potrebne elemente za sodelovanje v sistemu in ponuja širok nabor orodij za vodenje projektov.

Z veseljem odgovorim na vprašanja v komentarjih.

Vir: www.habr.com