如何在公司中实施Atlassian Jira + Confluence。技术问题

计划引入Atlassian软件(Jira,Confluence)?您是否想犯下最后一刻必须解决的严重设计错误?


那么您来了-我们正在考虑将Atlassian Jira + Confluence考虑到各种技术方面,引入一家公司。
您好,我是俄罗斯农业银行(Rosselkhozbank)Atlassian产品能力中心的负责人,并负责基于Jira和Confluence软件产品的生命周期管理系统(SLC)的开发。

在本文中,我将描述构建LMS的技术方面。本文对于计划在公司环境中实施或开发基于Atlassian软件的系统的任何人都是有用的。本文不需要特别的知识,而是专为初步了解Atlassian产品而设计的。这篇文章对管理员,产品所有者,项目经理,架构师以及计划基于Atlassian软件实施系统的每个人都非常有用。

介绍


本文将讨论在公司环境中实施生命周期管理系统(LMS)的技术问题。让我们首先确定这意味着什么。

公司决定是什么意思?


这意味着一个解决方案:

  1. 可扩展 在增加负载的情况下,存在增加系统容量的技术可能性。水平和垂直缩放分别进行-通过垂直缩放,服务器的容量增加;通过水平缩放,用于系统工作的服务器数量增加。
  2. . . , . .
  3. . . .
  4. Self-managed (On-premise). Self-managed — , . , SaaS. Self-managed.
  5. 独立开发和测试的可能性。为了组织系统中可预测的更改,需要单独的开发系统(系统中的更改),测试系统(登台)和用于用户工作的生产性系统。
  6. 其他 它支持各种身份验证方案,支持审核日志,具有自定义角色模型等。

这些是企业解决方案的主要元素,但不幸的是,在设计系统时常常会忘记它们。

什么是生命周期管理系统(LMS)?


简而言之,在我们的案例中,这是Atlassian Jira和Atlassian Confluence,这是一个提供用于组织团队合作的工具的系统。该系统不“强加”组织工作的规则,而是提供各种工作工具,例如Scrum,看板,瀑布模型和可伸缩的Scrum等。
LCMS的名称不是行业术语或通用术语,只是我们银行中系统的名称。对我们来说,SLC不是错误跟踪系统,也不是事件管理系统或变更管理系统。
当然,在系统中,存在用于错误跟踪,记录事件以及管理更改的功能。对于某些任务,使用此功能。但是不能说所有错误,所有事件或所有更改都记录在我们的系统中。在每种情况下,它都有自己的细节。如果某个单位使用Jira并在此处进行更改,则对于此更改,该团队可以决定将所有bug,所有更改和所有事件保留在那里。但这是一个单独团队针对一项特定任务的本地解决方案。

实施包括哪些内容?


解决方案的实施包含许多技术和组织问题:

  • 技术能力的分配。
  • 购买软件。
  • 创建团队来实施解决方案。
  • 解决方案的安装和配置。
  • 解决方案体系结构开发。榜样。
  • 开发操作文档,包括说明,法规,技术设计,法规等。
  • 更改公司流程。
  • 建立支持团队。SLA开发。
  • 用户培训。
  • 其他

在本文中,我们将考虑实施的技术方面,而没有组织组成部分的详细信息。

Atlassian功能


Atlassian是许多领域的领导者:


Atlassian产品具有所有基本的公司功能。我将注意以下功能:

  1. Atlassian - Java Tomcat. Apache Tomcat Atlassian, , - Apache Tomcat, Atlassian, . , , — Atlassian . , Atlassian, Apache Tomcat. , , Jira Apache Tomcat 8.5.42, Confluence Apache Tomcat 9.0.33 ( , Tomcat ).
    ( Max Max Atlassian User Group Moscow, Tomcat.)
  2. , .
  3. . .
  4. . : https://partnerdirectory.atlassian.com, 16 . Atlassian, , . .
  5. (): https://marketplace.atlassian.com. Atlassian. Atlassian , . , .
    , Data Center approved apps. .
    , , .
  6. : https://www.atlassian.com/university
  7. SSO, SAML 2.0.
  8. Data Center. 2014 (Jira 6.3). Data Center (, single node installation 2020 ). Data Center, 2018 Data Center approved apps.
  9. . , . .
  10. Long Term . Enterprise , , , 2 . , Enterprise , .
  11. ( ). https://www.atlassian.com/enterprise/support-services
  12. 支持多个DBMS选项。Atlassian软件随附了免费的H2 DBMS;不建议将该DBMS用于生产性使用。支持以下DBMS进行生产性使用:Amazon Aurora(仅数据中心)PostgreSQL,Azure SQL,MySQL,Oracle DB,PostgreSQL,MS SQL Server。受支持的版本受到限制,通常仅支持旧版本,但是对于每个DBMS,都有一个具有供应商支持的版本:
    Jira支持的平台
    Confluence支持的平台

技术架构




方案说明:

  • 该图显示了我们银行中的实施,此配置仅作为示例提供,不建议使用。
  • nginx为Jira和Confluence提供反向代理功能。
  • DBMS容错由DBMS工具实现。
  • 使用Configuration Manager for Jira插件可以传输环境之间的更改。
  • 图中的AppSrv是其自己的应用程序服务器,用于报告;它不使用Atlassian软件。
  • EasyBI数据库是使用eazyBI Reports and Charts for Jira插件创建的,用于构建多维数据集和报告。
  • Confluence Synchrony服务(允许同时编辑文档的组件)未分配给单独的安装,而是与Confluence一起在同一服务器上启动的。

发牌


Atlassian许可问题值得单独撰写,这里我仅提及一般原则。
我们遇到的主要问题是数据中心版本的许可问题。服务器和数据中心版本的许可功能:

  1. Server . .
  2. 'JIRA Users' global permission. , — , . , 'JIRA Users' .
  3. Data Center . . , .
  4. . , , , . , .
  5. tier (, 1001-2000 ). tier, .
  6. , ('JIRA Users' global permission).
  7. , .
  8. 许可仅需要高效的安装,其余的则可以获取开发者许可证:https : //confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html
  9. 要购买维护,您需要购买Renew Software维护-费用约为初始软件费用的50%。此功能不适用于数据中心,并且不适用于插件-要支持它们,您必须每年支付全部费用。
    因此,对于服务器版而言,年度软件支持费用占软件总成本的50%以上,对于数据中心版而言,年度软件支持成本占软件总成本的100%以上-远远超过大多数其他供应商。我认为,这是Atlassian商业模式的重要缺陷。

从服务器版到数据中心的过渡功能:

  1. Server Data Center . https://www.atlassian.com/licensing/data-center.
  2. Server Data Center — Server . Data Center.
  3. , Data Center. , , .
  4. Data Center . Server - .
  5. Data Center Server , .
  6. Server Data Center. 5% ( ). .


Atlassian软件的基本交付包含大​​量功能,但通常严重缺乏系统提供的功能。有时,即使是最简单的功能也无法在基本发行版中获得,因此几乎所有实现都无法放弃插件。一定要了解Jira是一个平台,在这里您可以对任何功能和插件进行编程-这是附加功能的付费实现。对于Jira系统,我们使用以下插件(图片可单击): 对于Confluence系统,我们使用以下插件(图片可单击): 对带有插件的表的注释:







  • 所有价格均基于2000位用户;
  • 价格是根据https://marketplace.atlassian.com上的报价给出的,实际成本(带有折扣)较低;
  • 如您所见,数据中心和服务器版本的总金额实际上是相同的。
  • 仅选择使用具有数据中心版本支持的插件。我们从系统稳定性计划中排除了其余的插件。

该功能在“注释”列中进行了简要说明。其他插件扩展了系统功能:

  • 添加了一些可视化工具;
  • 改进的整合机制;
  • 根据瀑布模型添加了用于项目的工具;
  • 添加了可扩展的Scrum工具,用于组织大型项目团队的工作;
  • 增加了时间跟踪功能;
  • 添加了用于自动化操作和配置解决方案的工具;
  • 添加了简化和自动化解决方案管理的功能。

此外,我们使用自己设计的插件。
我们计划在用户工作站上安装Atlassian Companion应用。此应用程序使您可以在外部应用程序(MS Office)中编辑文件,并将它们返回给Confluence(签入)。
用户工作站(厚客户端)ALM Works Jira Client https://marketplace.atlassian.com/apps/7070的应用程序由于供应商支持差和负面评价而决定不使用。
为了与MS Project集成,我们使用一个自编写的应用程序,该应用程序允许您从Jira更新MS Project中的Issue状态,​​反之亦然。将来,出于相同的目的,我们计划使用付费插件Ceptah Bridge-JIRA MS Project插件,作为MS Project的附件安装。通过应用程序链接实现
与外部应用程序的集成同时,对于Atlassian应用程序,集成是预先配置的,并在配置后立即起作用,例如,您可以在Confluence页面上显示有关Jira中问题的信息。
要访问Jira和Confluence服务器,请使用REST API:https : //developer.atlassian.com/server/jira/platform/rest-apis
不推荐使用SOAP和XML-RPC API,并且在新版本中不可用。

结论


因此,我们研究了基于Atlassian产品的系统实施的技术特点。提议的解决方案是可能的解决方案之一,非常适合公司环境。

该提议的解决方案具有可伸缩性,容错性,包含三个用于组织开发和测试的环境,包含在系统中一起工作的所有必要元素,并提供了广泛的项目管理工具。

我很乐意在评论中回答问题。

All Articles