Cách triển khai Atlassian Jira + Confluence trong các tập đoàn. Vấn đề kỹ thuật

Bạn có dự định triển khai phần mềm Atlassian (Jira, Confluence) không? Bạn không muốn mắc phải những lỗi thiết kế nghiêm trọng mà sau đó sẽ phải giải quyết vào phút cuối?

Cách triển khai Atlassian Jira + Confluence trong các tập đoàn. Vấn đề kỹ thuật
Vậy thì đây chính là nơi dành cho bạn - chúng tôi đang xem xét việc triển khai Atlassian Jira + Confluence trong các tập đoàn, có tính đến các khía cạnh kỹ thuật khác nhau.
Xin chào, tôi là Chủ sở hữu sản phẩm tại RSHB và chịu trách nhiệm phát triển Hệ thống quản lý vòng đời (LCMS) được xây dựng trên các sản phẩm phần mềm Atlassian Jira và Confluence.

Trong bài viết này tôi sẽ mô tả các khía cạnh kỹ thuật của việc xây dựng hệ thống quản lý cuộc sống. Bài viết sẽ hữu ích cho bất kỳ ai đang có ý định triển khai hoặc đang phát triển Atlassian Jira và Confluence trong môi trường doanh nghiệp. Bài viết không yêu cầu kiến ​​thức đặc biệt và dành cho người mới bắt đầu làm quen với các sản phẩm của Atlassian. Bài viết sẽ hữu ích cho quản trị viên, chủ sở hữu sản phẩm, người quản lý dự án, kiến ​​trúc sư và bất kỳ ai có kế hoạch triển khai hệ thống dựa trên phần mềm Atlassian.

Giới thiệu

Bài viết sẽ thảo luận về các vấn đề kỹ thuật trong việc triển khai Hệ thống quản lý vòng đời (LCMS) trong môi trường doanh nghiệp. Trước tiên hãy xác định điều này có nghĩa là gì.

Giải pháp doanh nghiệp có ý nghĩa gì?

Điều này có nghĩa là giải pháp:

  1. Có thể mở rộng. Nếu tải tăng, về mặt kỹ thuật có thể tăng công suất hệ thống. Chúng phân chia tỷ lệ theo chiều ngang và theo chiều dọc - với tỷ lệ theo chiều dọc, sức mạnh của máy chủ tăng lên, với tỷ lệ theo chiều ngang, số lượng máy chủ cho hệ thống tăng lên.
  2. Có khả năng chịu lỗi. Hệ thống sẽ vẫn khả dụng nếu một phần tử bị lỗi. Nhìn chung, hệ thống của công ty không yêu cầu khả năng chịu lỗi nhưng chúng tôi sẽ chỉ xem xét giải pháp như vậy. Chúng tôi dự định có hàng trăm người dùng cạnh tranh trong hệ thống của mình và thời gian ngừng hoạt động sẽ rất nghiêm trọng.
  3. Được hỗ trợ. Giải pháp phải được nhà cung cấp hỗ trợ. Phần mềm không được hỗ trợ nên được thay thế bằng phần mềm độc quyền hoặc phần mềm được hỗ trợ khác.
  4. Cài đặt Tự quản lý (Tại chỗ). Tự quản lý là khả năng cài đặt phần mềm không phải trên đám mây mà trên máy chủ của riêng bạn. Nói chính xác hơn, đây đều là các tùy chọn cài đặt không phải SaaS. Trong bài viết này, chúng tôi sẽ xem xét các tùy chọn cài đặt chỉ dành cho Tự quản lý.
  5. Khả năng phát triển và thử nghiệm độc lập. Để tổ chức những thay đổi có thể dự đoán được trong hệ thống, cần có một hệ thống phát triển riêng (những thay đổi trong chính hệ thống), hệ thống thử nghiệm (Staging) và hệ thống hiệu quả cho người dùng.
  6. Hơn. Hỗ trợ các kịch bản xác thực khác nhau, hỗ trợ nhật ký kiểm tra, có mô hình vai trò có thể tùy chỉnh, v.v.

Đây là những yếu tố chính của giải pháp doanh nghiệp và thật không may, chúng thường bị lãng quên khi thiết kế một hệ thống.

Hệ thống quản lý vòng đời (LCMS) là gì?

Nói tóm lại, trong trường hợp của chúng tôi đó là Atlassian Jira và Atlassian Confluence - một hệ thống cung cấp các công cụ để tổ chức làm việc theo nhóm. Hệ thống không “áp đặt” các quy tắc tổ chức công việc mà cung cấp nhiều công cụ phục vụ công việc, bao gồm Scrum, bảng Kanban, mô hình thác nước, Scrum có thể mở rộng, v.v.
Cái tên LMS không phải là một thuật ngữ chuyên ngành hay một khái niệm được sử dụng phổ biến, nó chỉ đơn giản là tên của hệ thống trong Ngân hàng của chúng tôi. Đối với chúng tôi, LMS không phải là hệ thống theo dõi lỗi, cũng không phải là hệ thống Quản lý sự cố hay hệ thống Quản lý thay đổi.

Việc thực hiện bao gồm những gì?

Việc thực hiện giải pháp bao gồm nhiều vấn đề về kỹ thuật và tổ chức:

  • Phân bổ năng lực kỹ thuật.
  • Mua phần mềm.
  • Thành lập một nhóm để thực hiện giải pháp.
  • Cài đặt và cấu hình giải pháp.
  • Phát triển kiến ​​trúc giải pháp. Hình mẫu.
  • Phát triển tài liệu vận hành, bao gồm hướng dẫn, quy định, thiết kế kỹ thuật, quy định, v.v.
  • Thay đổi quy trình của công ty.
  • Thành lập một nhóm hỗ trợ. Phát triển SLA.
  • Đào tạo người dùng.
  • Hơn.

Trong bài viết này, chúng ta sẽ xem xét các khía cạnh kỹ thuật của việc triển khai mà không xem xét chi tiết về thành phần tổ chức.

Tính năng của Atlassian

Atlassian là công ty dẫn đầu trong nhiều phân khúc:

Các sản phẩm của Atlassian cung cấp tất cả các tính năng doanh nghiệp mà bạn cần. Tôi sẽ lưu ý các tính năng sau:

  1. Các giải pháp của Atlassian dựa trên máy chủ web Java Tomcat. Phần mềm Apache Tomcat đi kèm với phần mềm Atlassian như một phần của quá trình cài đặt; bạn không thể thay đổi phiên bản Apache Tomcat được cài đặt như một phần của phần mềm Atlassian, ngay cả khi phiên bản đó đã lỗi thời và có chứa lỗ hổng. Tùy chọn duy nhất là đợi bản cập nhật từ Atlassian, với phiên bản Apache Tomcat mới hơn. Ví dụ: bây giờ, các phiên bản hiện tại của Jira có Apache Tomcat 8.5.42 và Confluence có Apache Tomcat 9.0.33.
  2. Giao diện thân thiện với người dùng, các phương pháp hay nhất hiện có trên thị trường dành cho loại phần mềm này được triển khai.
  3. Giải pháp hoàn toàn tùy biến. Với các sửa đổi, bạn có thể thực hiện bất kỳ thay đổi nào về chức năng cơ bản cho người dùng.
  4. Hệ sinh thái phát triển. Có hàng trăm đối tác: https://partnerdirectory.atlassian.com, trong đó có 16 đối tác ở Nga. Thông qua các đối tác ở Nga, bạn có thể mua phần mềm, plugin của Atlassian và trải qua đào tạo. Chính các đối tác là người phát triển và hỗ trợ hầu hết các plugin.
  5. Kho ứng dụng (plugin): https://marketplace.atlassian.com. Các plugin mở rộng đáng kể chức năng của phần mềm Atlassian. Chức năng cơ bản của phần mềm Atlassian khá khiêm tốn, đối với hầu hết mọi tác vụ, cần phải cài đặt các plugin bổ sung miễn phí hoặc phải trả thêm tiền. Do đó, chi phí phần mềm có thể cao hơn đáng kể so với ước tính ban đầu.
    Hiện tại, hàng nghìn plugin đã được xuất bản trên cửa hàng, gần một nghìn plugin trong số đó đã được thử nghiệm và xác thực theo chương trình ứng dụng được Trung tâm dữ liệu phê duyệt. Các plugin như vậy có thể được coi là ổn định và phù hợp để sử dụng trên các hệ thống bận rộn.
    Tôi khuyên bạn nên tiếp cận cẩn thận vấn đề quy hoạch plugin, điều này ảnh hưởng lớn đến chi phí của giải pháp, nhiều plugin có thể dẫn đến mất ổn định hệ thống và nhà sản xuất plugin không cung cấp hỗ trợ để giải quyết vấn đề.
  6. Đào tạo và Chứng nhận: https://www.atlassian.com/university
  7. Cơ chế SSO và SAML 2.0 được hỗ trợ.
  8. Hỗ trợ khả năng mở rộng và khả năng chịu lỗi chỉ có trong các phiên bản Trung tâm dữ liệu. Phiên bản này xuất hiện lần đầu tiên vào năm 2014 (Jira 6.3). Chức năng của các phiên bản Trung tâm dữ liệu liên tục được mở rộng và cải tiến (ví dụ: khả năng cài đặt một nút chỉ xuất hiện vào năm 2020). Cách tiếp cận plugin cho các phiên bản Trung tâm dữ liệu đã thay đổi rất nhiều vào năm 2018 với sự ra mắt của các ứng dụng được Trung tâm dữ liệu phê duyệt.
  9. Chi phí hỗ trợ. Chi phí hỗ trợ từ nhà cung cấp gần như bằng toàn bộ chi phí bản quyền phần mềm. Một ví dụ về tính toán chi phí giấy phép được đưa ra dưới đây.
  10. Thiếu các bản phát hành dài hạn. Có cái gọi là Phiên bản doanh nghiệp, nhưng chúng, giống như tất cả các phiên bản khác, được hỗ trợ trong 2 năm. Với điểm khác biệt là đối với phiên bản Enterprise chỉ có bản sửa lỗi được phát hành mà không bổ sung thêm chức năng mới.
  11. Tùy chọn hỗ trợ mở rộng (có tính thêm chi phí). https://www.atlassian.com/enterprise/support-services
  12. Một số tùy chọn DBMS được hỗ trợ. Phần mềm Atlassian đi kèm với DBMS H2 miễn phí; DBMS này không được khuyến khích sử dụng hiệu quả. Các DBMS sau được hỗ trợ để sử dụng hiệu quả: Amazon Aurora (chỉ dành cho Trung tâm dữ liệu) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Có những hạn chế đối với các phiên bản được hỗ trợ và thường chỉ hỗ trợ các phiên bản cũ hơn, nhưng đối với mỗi DBMS đều có một phiên bản có sự hỗ trợ của nhà cung cấp:
    Nền tảng hỗ trợ Jira,
    Nền tảng được hỗ trợ hợp lưu.

Kiến trúc kỹ thuật

Cách triển khai Atlassian Jira + Confluence trong các tập đoàn. Vấn đề kỹ thuật

Giải thích cho sơ đồ:

  • Sơ đồ cho thấy việc triển khai trong Ngân hàng của chúng tôi; cấu hình này được đưa ra làm ví dụ và không được khuyến nghị.
  • nginx cung cấp chức năng proxy ngược cho cả Jira và Confluence.
  • Khả năng chịu lỗi của DBMS được thực hiện bằng DBMS.
  • Các thay đổi được chuyển giữa các môi trường bằng cách sử dụng plugin Trình quản lý cấu hình cho Jira.
  • AppSrv trong sơ đồ là một máy chủ ứng dụng độc quyền để báo cáo và không sử dụng phần mềm Atlassian.
  • Cơ sở dữ liệu EasyBI được tạo để xây dựng các khối và báo cáo bằng cách sử dụng plugin eazyBI Reports and Charts for Jira.
  • Dịch vụ Đồng bộ hóa Confluence (một thành phần cho phép chỉnh sửa đồng thời các tài liệu) không được tách thành một bản cài đặt riêng biệt và được khởi chạy cùng với Confluence, trên cùng một máy chủ.

Cấp phép

Các vấn đề cấp phép của Atlassian xứng đáng có một bài viết riêng; ở đây tôi sẽ chỉ đề cập đến những nguyên tắc chung.
Vấn đề chính mà chúng tôi gặp phải là vấn đề cấp phép cho các phiên bản Trung tâm dữ liệu. Các tính năng cấp phép cho phiên bản Máy chủ và Trung tâm dữ liệu:

  1. Giấy phép cho phiên bản Máy chủ là vĩnh viễn và người mua có thể sử dụng phần mềm ngay cả khi giấy phép hết hạn. Nhưng sau khi giấy phép hết hạn, người mua sẽ bị tước quyền nhận hỗ trợ về sản phẩm và cập nhật phần mềm lên phiên bản mới nhất.
  2. Việc cấp phép dựa trên số lượng người dùng trong hệ thống cấp phép toàn cầu 'Người dùng JIRA'. Việc họ có sử dụng hệ thống hay không không quan trọng - ngay cả khi người dùng chưa bao giờ đăng nhập vào hệ thống, tất cả người dùng sẽ được tính đến giấy phép. Nếu vượt quá số lượng người dùng được cấp phép, giải pháp sẽ là xóa quyền 'Người dùng JIRA' khỏi một số người dùng.
  3. Giấy phép Trung tâm dữ liệu thực sự là một thuê bao. Một khoản phí giấy phép hàng năm là bắt buộc. Nếu hết thời gian, hoạt động với hệ thống sẽ bị chặn.
  4. Giá giấy phép có thể thay đổi theo thời gian. Như thực tế cho thấy, ở mức độ lớn hơn và có lẽ là đáng kể. Do đó, nếu giấy phép của bạn có giá tương tự trong năm nay, thì năm sau chi phí giấy phép có thể tăng lên.
  5. Việc cấp phép được thực hiện bởi người dùng theo cấp độ (ví dụ: người dùng cấp 1001-2000). Có thể nâng cấp lên cấp cao hơn với một khoản thanh toán bổ sung.
  6. Nếu vượt quá số lượng người dùng được cấp phép, người dùng mới sẽ được tạo mà không có quyền đăng nhập (quyền toàn cầu 'Người dùng JIRA').
  7. Các plugin chỉ có thể được cấp phép cho cùng số lượng người dùng như phần mềm chính.
  8. Chỉ những cài đặt hiệu quả mới cần được cấp phép; đối với phần còn lại, bạn có thể nhận được giấy phép Nhà phát triển: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Để mua bảo trì, bạn cần mua bảo trì Phần mềm gia hạn - chi phí xấp xỉ 50% chi phí của phần mềm gốc. Tính năng này không có ở Data Center và không áp dụng cho các plugin, để hỗ trợ chúng, bạn sẽ phải trả nguyên giá hàng năm.
    Do đó, hỗ trợ phần mềm hàng năm tiêu tốn hơn 50% tổng chi phí của phần mềm đối với phiên bản Máy chủ và 100% đối với phiên bản Trung tâm dữ liệu - con số này cao hơn đáng kể so với hầu hết các nhà cung cấp khác. Theo tôi, đây là một nhược điểm đáng kể trong mô hình kinh doanh của Atlassian.

Các tính năng của quá trình chuyển đổi từ phiên bản Máy chủ sang Trung tâm dữ liệu:

  1. Có tính phí khi nâng cấp từ phiên bản Máy chủ lên Trung tâm dữ liệu. Chi phí có thể được tìm thấy ở đây https://www.atlassian.com/licensing/data-center.
  2. Khi chuyển từ phiên bản Máy chủ sang Trung tâm dữ liệu, bạn không cần phải trả phí thay đổi phiên bản plugin - các plugin dành cho phiên bản Máy chủ sẽ tiếp tục hoạt động. Nhưng sẽ cần phải gia hạn giấy phép cho các plugin cho phiên bản Trung tâm dữ liệu.
  3. Bạn có thể sử dụng các plugin không có phiên bản để sử dụng với các phiên bản Trung tâm dữ liệu. Tuy nhiên, tất nhiên, các plugin như vậy có thể không hoạt động chính xác và tốt hơn là bạn nên cung cấp trước một giải pháp thay thế cho các plugin đó.
  4. Việc chuyển đổi sang phiên bản Trung tâm dữ liệu được thực hiện bằng cách cài đặt giấy phép mới. Tuy nhiên, giấy phép cho phiên bản Máy chủ vẫn có sẵn.
  5. Không có sự khác biệt về chức năng giữa phiên bản Trung tâm dữ liệu và Máy chủ dành cho người dùng; tất cả sự khác biệt chỉ nằm ở chức năng quản trị và khả năng cài đặt kỹ thuật.
  6. Chi phí của phần mềm và plugin khác nhau đối với các phiên bản Máy chủ và Trung tâm dữ liệu. Sự chênh lệch về chi phí thường nhỏ hơn 5% (không đáng kể). Một ví dụ về tính toán chi phí được đưa ra dưới đây.

Phạm vi chức năng thực hiện

Gói phần mềm Atlassian cơ bản bao gồm rất nhiều khả năng, nhưng thường thì các khả năng do hệ thống cung cấp rất thiếu. Đôi khi ngay cả những chức năng đơn giản nhất cũng không có sẵn trong gói cơ bản, vì vậy các plugin không thể thiếu cho hầu hết mọi hoạt động triển khai. Đối với hệ thống Jira, chúng tôi sử dụng các plugin sau (có thể nhấp vào hình ảnh):
Cách triển khai Atlassian Jira + Confluence trong các tập đoàn. Vấn đề kỹ thuật

Đối với hệ thống Confluence, chúng tôi sử dụng các plugin sau (có thể nhấp vào hình ảnh):
Cách triển khai Atlassian Jira + Confluence trong các tập đoàn. Vấn đề kỹ thuật

Nhận xét về các bảng có plugin:

  • Tất cả giá đều dựa trên 2000 người dùng;
  • Giá hiển thị dựa trên giá niêm yết https://marketplace.atlassian.com, chi phí thực tế (có giảm giá) thấp hơn;
  • Như bạn có thể thấy, tổng số tiền thực tế là như nhau đối với các phiên bản Trung tâm dữ liệu và Máy chủ;
  • Chỉ các plugin hỗ trợ phiên bản Trung tâm dữ liệu mới được chọn để sử dụng. Chúng tôi đã loại trừ các plugin còn lại khỏi kế hoạch ổn định hệ thống.

Chức năng này được mô tả ngắn gọn trong cột Bình luận. Các plugin bổ sung đã mở rộng chức năng của hệ thống:

  • Đã thêm một số công cụ trực quan;
  • Cơ chế tích hợp được cải thiện;
  • Đã thêm công cụ cho các dự án mô hình thác nước;
  • Đã thêm các công cụ cho Scrum có thể mở rộng, để tổ chức công việc của các nhóm dự án lớn;
  • Đã thêm chức năng theo dõi thời gian;
  • Đã thêm các công cụ để tự động hóa hoạt động và định cấu hình giải pháp;
  • Đã thêm chức năng để đơn giản hóa và tự động hóa việc quản trị giải pháp.

Ngoài ra chúng tôi sử dụng Ứng dụng đồng hành Atlassian. Ứng dụng này cho phép bạn chỉnh sửa các tập tin trong ứng dụng bên ngoài (MS Office) và đưa chúng trở lại Confluence (đăng ký).
Ứng dụng cho máy trạm của người dùng (máy khách dày) ALM Works Jira Client https://marketplace.atlassian.com/apps/7070 quyết định không sử dụng nó do sự hỗ trợ của nhà cung cấp kém và đánh giá tiêu cực.
tích hợp với MS Project Chúng tôi sử dụng một ứng dụng tự viết cho phép bạn cập nhật trạng thái Sự cố trong MS Project từ Jira và ngược lại. Trong tương lai, với mục đích tương tự, chúng tôi dự định sử dụng plugin trả phí Cầu Septah - Plugin dự án JIRA MS, được cài đặt dưới dạng tiện ích bổ sung cho MS Project.
Tích hợp với các ứng dụng bên ngoài được thực hiện thông qua Liên kết ứng dụng. Đồng thời, đối với các ứng dụng Atlassian, các tiện ích tích hợp được định cấu hình sẵn và hoạt động ngay sau khi định cấu hình, chẳng hạn, bạn có thể hiển thị thông tin về Sự cố trong Jira trên một trang trong Confluence.
Để truy cập máy chủ Jira và Confluence, API REST được sử dụng: https://developer.atlassian.com/server/jira/platform/rest-apis.
API SOAP và XML-RPC không được dùng nữa và không có sẵn để sử dụng trong các phiên bản mới hơn.

Kết luận

Vì vậy, chúng tôi đã xem xét các tính năng kỹ thuật của việc triển khai hệ thống dựa trên các sản phẩm của Atlassian. Giải pháp được đề xuất là một giải pháp khả thi và rất phù hợp với môi trường doanh nghiệp

Giải pháp được đề xuất có khả năng mở rộng, có khả năng chịu lỗi, chứa ba môi trường để tổ chức phát triển và thử nghiệm, chứa tất cả các yếu tố cần thiết để cộng tác trong hệ thống và cung cấp nhiều công cụ để quản lý dự án.

Tôi sẽ sẵn lòng trả lời các câu hỏi trong phần bình luận.

Nguồn: www.habr.com