Paano ipatupad ang Atlassian Jira + Confluence sa isang korporasyon. Mga teknikal na tanong

Nagpaplano ka bang magpatupad ng Atlassian software (Jira, Confluence)? Hindi mo nais na gumawa ng malupit na mga pagkakamali sa disenyo na pagkatapos ay kailangang malutas sa huling sandali?

Paano ipatupad ang Atlassian Jira + Confluence sa isang korporasyon. Mga teknikal na tanong
Kung gayon ito ang lugar para sa iyo - isinasaalang-alang namin ang pagpapatupad ng Atlassian Jira + Confluence sa mga korporasyon, na isinasaalang-alang ang iba't ibang teknikal na aspeto.
Kumusta, Isa akong May-ari ng Produkto sa RSHB at responsable ako sa pagbuo ng Life Cycle Management System (LCMS) na binuo sa mga produkto ng software ng Atlassian na Jira at Confluence.

Sa artikulong ito ay ilalarawan ko ang mga teknikal na aspeto ng pagbuo ng isang sistema ng pamamahala ng buhay. Ang artikulo ay magiging kapaki-pakinabang sa sinumang nagpaplanong magpatupad o nagpapaunlad ng Atlassian Jira at Confluence sa isang corporate environment. Ang artikulo ay hindi nangangailangan ng espesyal na kaalaman at inilaan para sa isang paunang antas ng pamilyar sa mga produkto ng Atlassian. Magiging kapaki-pakinabang ang artikulo sa mga administrator, may-ari ng produkto, tagapamahala ng proyekto, arkitekto, at sinumang nagpaplanong magpatupad ng mga system batay sa Atlassian software.

Pagpapakilala

Tatalakayin ng artikulo ang mga teknikal na isyu ng pagpapatupad ng Life Cycle Management System (LCMS) sa isang corporate environment. Tukuyin muna natin kung ano ang ibig sabihin nito.

Ano ang ibig sabihin ng solusyon sa korporasyon?

Ang ibig sabihin nito ay ang solusyon:

  1. Nasusukat. Kung tumaas ang load, posibleng dagdagan ang kapasidad ng system. Pinaghihiwalay nila ang horizontal at vertical scaling - na may vertical scaling, ang kapangyarihan ng mga server ay tumataas, na may pahalang na scaling, ang bilang ng mga server para sa system ay tumataas.
  2. Fault-tolerant. Mananatiling available ang system kung nabigo ang isang elemento. Sa pangkalahatan, ang mga corporate system ay hindi nangangailangan ng fault tolerance, ngunit isasaalang-alang namin ang ganoong solusyon. Plano naming magkaroon ng ilang daang mapagkumpitensyang user sa aming system at ang downtime ay magiging lubhang kritikal.
  3. Sinusuportahan. Ang solusyon ay dapat na suportado ng vendor. Ang hindi suportadong software ay dapat mapalitan ng pagmamay-ari na software o iba pang sinusuportahang software.
  4. Instalasyon Pinamamahalaan ng sarili (Nasa lugar). Ang self-managed ay ang kakayahang mag-install ng software hindi sa cloud, ngunit sa sarili mong mga server. Upang maging mas tumpak, lahat ito ay mga opsyon sa pag-install na hindi SaaS. Sa artikulong ito isasaalang-alang namin ang mga opsyon sa pag-install para sa Self-managed lamang.
  5. Posibilidad ng independiyenteng pag-unlad at pagsubok. Upang ayusin ang mga predictable na pagbabago sa system, kinakailangan ang isang hiwalay na sistema para sa pag-unlad (mga pagbabago sa system mismo), isang sistema ng pagsubok (Staging) at isang produktibong sistema para sa mga user.
  6. Marami. Sinusuportahan ang iba't ibang mga sitwasyon sa pagpapatunay, sinusuportahan ang mga log ng pag-audit, may nako-customize na modelo ng papel, atbp.

Ito ang mga pangunahing elemento ng mga solusyon sa negosyo at, sa kasamaang-palad, sila ay madalas na nakalimutan kapag nagdidisenyo ng isang sistema.

Ano ang Life Cycle Management System (LCMS)?

Sa madaling salita, sa aming kaso ito ay ang Atlassian Jira at Atlassian Confluence - isang sistema na nagbibigay ng mga tool para sa pag-aayos ng pagtutulungan ng magkakasama. Ang system ay hindi "nagpapataw" ng mga panuntunan para sa pag-aayos ng trabaho, ngunit nagbibigay ng iba't ibang mga tool para sa trabaho, kabilang ang Scrum, Kanban boards, isang waterfall model, scalable Scrum, atbp.
Ang pangalang LMS ay hindi isang termino sa industriya o isang karaniwang ginagamit na konsepto, ito ay simpleng pangalan ng sistema sa ating Bangko. Para sa amin, ang LMS ay hindi isang bug tracking system, at hindi rin ito isang Incident Management system o isang Change Management system.

Ano ang kasama sa pagpapatupad?

Ang pagpapatupad ng solusyon ay binubuo ng maraming teknikal at pang-organisasyong isyu:

  • Paglalaan ng teknikal na kapasidad.
  • Pagbili ng software.
  • Paglikha ng isang pangkat upang ipatupad ang solusyon.
  • Pag-install at pagsasaayos ng solusyon.
  • Pag-unlad ng arkitektura ng solusyon. Role model.
  • Pagbuo ng dokumentasyon ng pagpapatakbo, kabilang ang mga tagubilin, regulasyon, teknikal na disenyo, regulasyon, atbp.
  • Pagbabago ng mga proseso ng kumpanya.
  • Paglikha ng isang pangkat ng suporta. Pag-unlad ng SLA.
  • Pagsasanay ng gumagamit.
  • Marami.

Sa artikulong ito titingnan natin ang mga teknikal na aspeto ng pagpapatupad, nang walang mga detalye sa bahagi ng organisasyon.

Mga Tampok ng Atlassian

Ang Atlassian ay isang pinuno sa maraming mga segment:

Ang mga produkto ng Atlassian ay nagbibigay ng lahat ng mga feature ng enterprise na kailangan mo. Tatalakayin ko ang mga sumusunod na tampok:

  1. Ang mga solusyon sa Atlassian ay batay sa web server ng Java Tomcat. Ang Apache Tomcat software ay kasama sa Atlassian software bilang bahagi ng pag-install; hindi mo mababago ang bersyon ng Apache Tomcat na naka-install bilang bahagi ng Atlassian software, kahit na ang bersyon ay luma na at naglalaman ng mga kahinaan. Ang tanging pagpipilian ay maghintay para sa isang update mula sa Atlassian, na may mas bagong bersyon ng Apache Tomcat. Ngayon, halimbawa, ang mga kasalukuyang bersyon ng Jira ay mayroong Apache Tomcat 8.5.42, at ang Confluence ay mayroong Apache Tomcat 9.0.33.
  2. Ang interface na madaling gamitin, ang mga pinakamahusay na kasanayan na magagamit sa merkado para sa klase ng software na ito ay ipinatupad.
  3. Ganap na nako-customize na solusyon. Sa mga pagbabago, maaari mong ipatupad ang anumang pagbabago sa pangunahing pag-andar para sa user.
  4. Binuo na ecosystem. Mayroong ilang daang mga kasosyo: https://partnerdirectory.atlassian.com, kabilang ang 16 na kasosyo sa Russia. Ito ay sa pamamagitan ng mga kasosyo sa Russia na maaari kang bumili ng Atlassian software, mga plugin, at sumailalim sa pagsasanay. Ang mga kasosyo ang bumubuo at sumusuporta sa karamihan ng mga plugin.
  5. Tindahan ng application (mga plugin): https://marketplace.atlassian.com. Malaki ang pagpapalawak ng mga plugin sa functionality ng Atlassian software. Ang pangunahing pag-andar ng Atlassian software ay medyo katamtaman; para sa halos anumang gawain, kinakailangan na mag-install ng mga karagdagang plugin nang libre o para sa karagdagang pera. Samakatuwid, ang mga gastos sa software ay maaaring maging mas mataas kaysa sa orihinal na tinantyang.
    Sa kasalukuyan, ilang libong plugin ang na-publish sa tindahan, halos isang libo sa mga ito ang nasubok at napatunayan sa ilalim ng programa ng app na naaprubahan ng Data Center. Ang mga naturang plugin ay maaaring ituring na stable at angkop para sa paggamit sa mga abalang system.
    Ipinapayo ko sa iyo na maingat na lapitan ang isyu ng pagpaplano ng mga plugin, ito ay lubos na nakakaapekto sa gastos ng solusyon, marami sa mga plugin ay maaaring humantong sa kawalang-tatag ng system at ang tagagawa ng plugin ay hindi nagbibigay ng suporta upang malutas ang problema.
  6. Pagsasanay at sertipikasyon: https://www.atlassian.com/university
  7. Ang mga mekanismo ng SSO at SAML 2.0 ay suportado.
  8. Available lang ang suporta para sa scalability at fault tolerance sa mga edisyon ng Data Center. Ang edisyong ito ay unang lumabas noong 2014 (Jira 6.3). Ang pagpapagana ng mga edisyon ng Data Center ay patuloy na pinalawak at pinapahusay (halimbawa, ang posibilidad ng pag-install ng isang node ay lumitaw lamang noong 2020). Ang diskarte sa mga plugin para sa mga edisyon ng Data Center ay nagbago nang malaki noong 2018 sa pagpapakilala ng mga app na inaprubahan ng Data Center.
  9. Halaga ng suporta. Ang halaga ng suporta mula sa vendor ay halos katumbas ng buong halaga ng mga lisensya ng software. Ang isang halimbawa ng pagkalkula ng halaga ng mga lisensya ay ibinigay sa ibaba.
  10. Kakulangan ng Pangmatagalang release. May mga tinatawag na Mga bersyon ng enterprise, ngunit sila, tulad ng lahat ng iba pang mga bersyon, ay sinusuportahan sa loob ng 2 taon. Sa pagkakaiba na para sa mga bersyon ng Enterprise, ang mga pag-aayos lamang ay inilabas, nang hindi nagdaragdag ng bagong pag-andar.
  11. Mga pinahabang opsyon sa suporta (sa dagdag na halaga). https://www.atlassian.com/enterprise/support-services
  12. Maraming mga opsyon sa DBMS ang sinusuportahan. Ang Atlassian software ay may libreng H2 DBMS; ang DBMS na ito ay hindi inirerekomenda para sa produktibong paggamit. Ang mga sumusunod na DBMS ay sinusuportahan para sa produktibong paggamit: Amazon Aurora (Data Center lang) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. May mga paghihigpit sa mga sinusuportahang bersyon at kadalasan ay mas lumang mga bersyon lamang ang sinusuportahan, ngunit para sa bawat DBMS mayroong isang bersyon na may suporta sa vendor:
    Mga platform na sinusuportahan ni Jira,
    Confluence supported platforms.

Teknikal na arkitektura

Paano ipatupad ang Atlassian Jira + Confluence sa isang korporasyon. Mga teknikal na tanong

Mga paliwanag para sa diagram:

  • Ipinapakita ng diagram ang pagpapatupad sa aming Bangko; ang pagsasaayos na ito ay ibinigay bilang isang halimbawa at hindi inirerekomenda.
  • Ang nginx ay nagbibigay ng reverse-proxy functionality para sa Jira at Confluence.
  • Ang fault tolerance ng DBMS ay ipinatupad sa pamamagitan ng DBMS.
  • Ang mga pagbabago ay inililipat sa pagitan ng mga kapaligiran gamit ang Configuration Manager para sa Jira plugin.
  • Ang AppSrv sa diagram ay isang proprietary application server para sa pag-uulat at hindi gumagamit ng Atlassian software.
  • Ang EasyBI database ay nilikha para sa pagbuo ng mga cube at pag-uulat gamit ang eazyBI Reports and Charts for Jira plugin.
  • Ang serbisyo ng Confluence Synchrony (isang bahagi na nagbibigay-daan sa sabay-sabay na pag-edit ng mga dokumento) ay hindi pinaghihiwalay sa isang hiwalay na pag-install at inilulunsad kasama ng Confluence, sa parehong server.

Paglilisensya

Ang mga isyu sa paglilisensya ng Atlassian ay nararapat sa isang hiwalay na artikulo; dito ko lang babanggitin ang mga pangkalahatang prinsipyo.
Ang mga pangunahing isyu na nakatagpo namin ay mga isyu sa paglilisensya para sa mga edisyon ng Data Center. Mga tampok sa paglilisensya para sa mga edisyon ng Server at Data Center:

  1. Ang lisensya para sa edisyon ng Server ay panghabang-buhay at maaaring gamitin ng mamimili ang software kahit na matapos ang lisensya. Ngunit pagkatapos mag-expire ang lisensya, ang mamimili ay inaalisan ng karapatang makatanggap ng suporta para sa produkto at i-update ang software sa pinakabagong mga bersyon.
  2. Ang paglilisensya ay batay sa bilang ng mga gumagamit sa pandaigdigang sistema ng pahintulot ng 'Mga Gumagamit ng JIRA'. Hindi mahalaga kung ginagamit nila ang system o hindi - kahit na ang mga gumagamit ay hindi pa naka-log in sa system, ang lahat ng mga gumagamit ay isasaalang-alang para sa lisensya. Kung lumampas ang bilang ng mga lisensyadong user, ang solusyon ay ang alisin ang pahintulot ng 'Mga Gumagamit ng JIRA' mula sa ilang mga user.
  3. Ang lisensya ng Data Center ay epektibong isang subscription. Kinakailangan ang taunang bayad sa lisensya. Kung mag-expire ang panahon, mai-block ang pagtatrabaho sa system.
  4. Maaaring magbago ang mga presyo ng lisensya sa paglipas ng panahon. Tulad ng ipinapakita ng kasanayan, sa isang mas malawak na lawak at, marahil, makabuluhang. Samakatuwid, kung ang iyong mga lisensya ay nagkakahalaga ng parehong halaga sa taong ito, sa susunod na taon ang halaga ng mga lisensya ay maaaring tumaas.
  5. Ang paglilisensya ay isinasagawa ng user ayon sa tier (halimbawa, level 1001-2000 na mga user). Posibleng mag-upgrade sa mas mataas na tier, na may karagdagang bayad.
  6. Kung lumampas ang bilang ng mga lisensyadong user, malilikha ang mga bagong user nang walang karapatang mag-log in (pangkalahatang pahintulot ng 'Mga Gumagamit ng JIRA').
  7. Ang mga plugin ay maaari lamang lisensyado para sa parehong bilang ng mga user bilang pangunahing software.
  8. Ang mga produktibong pag-install lamang ang kailangang lisensyado; para sa iba ay maaari kang makakuha ng lisensya ng Developer: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Upang bumili ng maintenance, kailangan mong bumili ng Renew Software maintenance - ang gastos ay humigit-kumulang 50% ng halaga ng orihinal na software. Ang tampok na ito ay hindi magagamit para sa Data Center at hindi nalalapat sa mga plugin; upang suportahan ang mga ito, kailangan mong bayaran ang buong presyo taun-taon.
    Kaya, ang taunang suporta sa software ay nagkakahalaga ng higit sa 50% ng kabuuang halaga ng software sa kaso ng edisyon ng Server at 100% sa kaso ng edisyon ng Data Center - ito ay higit na malaki kaysa sa karamihan ng iba pang mga vendor. Sa aking opinyon, ito ay isang makabuluhang kawalan ng modelo ng negosyo ng Atlassian.

Mga tampok ng paglipat mula sa edisyon ng Server patungo sa Data Center:

  1. May bayad para sa pag-upgrade mula sa edisyon ng Server patungo sa Data Center. Ang gastos ay matatagpuan dito https://www.atlassian.com/licensing/data-center.
  2. Kapag lumipat mula sa edisyon ng Server patungo sa Data Center, hindi mo kailangang magbayad para sa pagpapalit ng edisyon ng mga plugin - patuloy na gagana ang mga plugin para sa edisyon ng Server. Ngunit kakailanganing mag-renew ng mga lisensya para sa mga plugin para sa edisyon ng Data Center.
  3. Maaari kang gumamit ng mga plugin na walang bersyon para magamit sa mga edisyon ng Data Center. Gayunpaman, siyempre, ang mga naturang plugin ay maaaring hindi gumana nang tama at mas mahusay na magbigay ng alternatibo sa mga naturang plugin nang maaga.
  4. Ang paglipat sa edisyon ng Data Center ay isinasagawa sa pamamagitan ng pag-install ng bagong lisensya. Gayunpaman, nananatiling available pa rin ang lisensya para sa edisyon ng Server.
  5. Walang mga pagkakaiba sa pagganap sa pagitan ng mga edisyon ng Data Center at Server para sa mga user; ang lahat ng pagkakaiba ay nasa mga administratibong pag-andar at teknikal na kakayahan sa pag-install.
  6. Ang halaga ng software at mga plugin ay nag-iiba para sa mga edisyon ng Server at Data Center. Ang pagkakaiba sa gastos ay madalas na mas mababa sa 5% (hindi makabuluhan). Ang isang halimbawa ng pagkalkula ng gastos ay ibinigay sa ibaba.

Functional na saklaw ng pagpapatupad

Ang pangunahing pakete ng software ng Atlassian ay may kasamang malaking halaga ng mga kakayahan, ngunit kadalasan ang mga kakayahan na ibinigay ng system ay lubhang kulang. Minsan kahit na ang pinakasimpleng mga function ay hindi magagamit sa pangunahing pakete, kaya ang mga plugin ay kailangang-kailangan para sa halos anumang pagpapatupad. Para sa Jira system ginagamit namin ang mga sumusunod na plugin (picture clickable):
Paano ipatupad ang Atlassian Jira + Confluence sa isang korporasyon. Mga teknikal na tanong

Para sa Confluence system ginagamit namin ang mga sumusunod na plugin (picture clickable):
Paano ipatupad ang Atlassian Jira + Confluence sa isang korporasyon. Mga teknikal na tanong

Mga komento sa mga talahanayan na may mga plugin:

  • Ang lahat ng mga presyo ay batay sa 2000 mga gumagamit;
  • Ang mga presyong ipinapakita ay batay sa mga presyong nakalista https://marketplace.atlassian.com, ang tunay na gastos (na may mga diskwento) ay mas mababa;
  • Gaya ng nakikita mo, halos pareho ang kabuuang halaga para sa mga edisyon ng Data Center at Server;
  • Ang mga plugin lang na sumusuporta sa edisyon ng Data Center ang pinili para gamitin. Ibinukod namin ang natitirang mga plugin mula sa mga plano para sa katatagan ng system.

Ang functionality ay maikling inilalarawan sa column ng Komento. Pinalawak ng mga karagdagang plugin ang functionality ng system:

  • Nagdagdag ng ilang mga visual na tool;
  • Ang mga mekanismo ng pagsasama ay napabuti;
  • Nagdagdag ng mga tool para sa mga proyekto ng modelo ng talon;
  • Nagdagdag ng mga tool para sa nasusukat na Scrum, para sa pag-aayos ng gawain ng malalaking pangkat ng proyekto;
  • Nagdagdag ng pag-andar para sa pagsubaybay sa oras;
  • Nagdagdag ng mga tool para sa pag-automate ng mga operasyon at pag-configure ng solusyon;
  • Nagdagdag ng functionality upang pasimplehin at i-automate ang pangangasiwa ng solusyon.

Bilang karagdagan ginagamit namin Atlassian Companion app. Binibigyang-daan ka ng application na ito na mag-edit ng mga file sa mga panlabas na application (MS Office) at ibalik ang mga ito sa Confluence (check-in).
Aplikasyon para sa mga workstation ng gumagamit (makapal na kliyente) ALM Works Jira Client https://marketplace.atlassian.com/apps/7070 nagpasya na huwag gamitin ito dahil sa mahinang suporta ng vendor at negatibong pagsusuri.
Para sa pagsasama sa MS Project Gumagamit kami ng self-written na application na nagbibigay-daan sa iyong i-update ang mga status ng Isyu sa MS Project mula sa Jira at vice versa. Sa hinaharap, para sa parehong mga layunin, plano naming gumamit ng isang bayad na plugin Septah Bridge - JIRA MS Project Plugin, na naka-install bilang add-on sa MS Project.
Pagsasama sa mga panlabas na application ipinatupad sa pamamagitan ng Application Links. Kasabay nito, para sa mga application ng Atlassian, ang mga pagsasama ay paunang na-configure at gumagana kaagad pagkatapos ng pagsasaayos, halimbawa, maaari kang magpakita ng impormasyon tungkol sa Mga Isyu sa Jira sa isang pahina sa Confluence.
Upang ma-access ang mga server ng Jira at Confluence, ginagamit ang REST API: https://developer.atlassian.com/server/jira/platform/rest-apis.
Ang SOAP at XML-RPC API ay hindi na ginagamit at hindi magagamit sa mga mas bagong bersyon.

Konklusyon

Kaya, tiningnan namin ang mga teknikal na tampok ng pagpapatupad ng isang sistema batay sa mga produkto ng Atlassian. Ang iminungkahing solusyon ay kumakatawan sa isang posibleng solusyon at angkop ito para sa kapaligiran ng negosyo

Ang iminungkahing solusyon ay scalable, fault-tolerant, naglalaman ng tatlong kapaligiran para sa pag-aayos ng pag-unlad at pagsubok, naglalaman ng lahat ng kinakailangang elemento para sa pakikipagtulungan sa system at nagbibigay ng malawak na hanay ng mga tool para sa pamamahala ng proyekto.

Ikalulugod kong sagutin ang mga tanong sa mga komento.

Pinagmulan: www.habr.com