نحوه پیاده سازی Atlassian Jira + Confluence در یک شرکت. سوالات فنی

آیا قصد پیاده سازی نرم افزار Atlassian (Jira, Confluence) را دارید؟ آیا نمی خواهید اشتباهات طراحی بی رحمانه ای را مرتکب شوید، که پس از آن باید در آخرین لحظه حل شوند؟

نحوه پیاده سازی Atlassian Jira + Confluence در یک شرکت. سوالات فنی
سپس شما اینجا هستید - ما در حال بررسی اجرای Atlassian Jira + Confluence در یک شرکت با در نظر گرفتن جنبه های مختلف فنی هستیم.
سلام، من یک مالک محصول در RSHB هستم و مسئول توسعه سیستم مدیریت چرخه حیات (LCMS) ساخته شده بر روی محصولات نرم افزاری Atlassian Jira و Confluence هستم.

در این مقاله جنبه های فنی ساخت LCMS را شرح خواهم داد. این مقاله برای هر کسی که قصد پیاده سازی یا توسعه Atlassian Jira و Confluence را در یک محیط شرکتی دارد مفید خواهد بود. مقاله نیاز به دانش خاصی ندارد و برای آشنایی اولیه با محصولات Atlassian طراحی شده است. این مقاله برای مدیران، صاحبان محصولات، مدیران پروژه، معماران و همه کسانی که قصد پیاده سازی سیستم های مبتنی بر نرم افزار Atlassian را دارند مفید خواهد بود.

معرفی

این مقاله در مورد مسائل فنی پیاده سازی یک سیستم مدیریت چرخه زندگی (LCMS) در یک محیط شرکت بحث خواهد کرد. بیایید ابتدا تعریف کنیم که این به چه معناست.

راه حل سازمانی چیست؟

این یعنی راه حل:

  1. مقیاس پذیر. در صورت افزایش بار، امکان فنی افزایش ظرفیت سیستم وجود دارد. مقیاس بندی افقی و عمودی جدا - با مقیاس بندی عمودی ظرفیت سرورها افزایش می یابد و با مقیاس بندی افقی تعداد سرورهای عملیات سیستم افزایش می یابد.
  2. Failsafe. اگر یکی از عناصر خراب شود، سیستم در دسترس باقی خواهد ماند. به طور کلی، سیستم های شرکتی نیازی به تحمل خطا ندارند، اما ما دقیقاً چنین راه حلی را در نظر خواهیم گرفت. ما قصد داریم چند صد کاربر رقابتی در سیستم داشته باشیم و زمان از کار افتادن بسیار حیاتی خواهد بود.
  3. پشتیبانی. راه حل باید توسط فروشنده پشتیبانی شود. نرم افزار پشتیبانی نشده باید با توسعه داخلی یا سایر نرم افزارهای پشتیبانی شده جایگزین شود.
  4. نصب خود مدیریتی (در فرض). خود مدیریتی توانایی نصب نرم افزار نه در فضای ابری، بلکه بر روی سرورهای خود است. برای دقیق تر، همه اینها گزینه های نصب غیر SaaS هستند. در این مقاله، ما فقط گزینه های نصب خود مدیریت را در نظر خواهیم گرفت.
  5. امکان توسعه و آزمایش مستقل. برای سازماندهی تغییرات قابل پیش بینی در سیستم، یک سیستم جداگانه برای توسعه (تغییرات در خود سیستم)، یک سیستم تست (Staging) و یک سیستم تولیدی برای کار کاربران مورد نیاز است.
  6. بیشتر. پشتیبانی از سناریوهای مختلف احراز هویت، پشتیبانی از گزارش های حسابرسی، دارای یک مدل نقش سفارشی و غیره.

اینها عناصر اصلی راه حل های سازمانی هستند و متأسفانه اغلب هنگام طراحی یک سیستم فراموش می شوند.

سیستم مدیریت چرخه زندگی (LCMS) چیست؟

به طور خلاصه، در مورد ما، اینها Atlassian Jira و Atlassian Confluence هستند - سیستمی که ابزارهایی را برای سازماندهی کار تیمی فراهم می کند. این سیستم قوانینی را برای سازماندهی کار اعمال نمی کند، اما ابزارهای مختلفی را برای کار فراهم می کند، مانند اسکرام، تابلوهای کانبان، مدل آبشار، و اسکرام مقیاس پذیر و غیره.
نام LCMS یک اصطلاح صنعتی یا یک اصطلاح رایج نیست، فقط نام سیستم در بانک ما است. LCMS برای ما یک سیستم ردیابی اشکال نیست، یک سیستم مدیریت حوادث و یک سیستم مدیریت تغییر نیست.

پیاده سازی شامل چه مواردی می شود؟

اجرای راه حل شامل بسیاری از مسائل فنی و سازمانی است:

  • تخصیص ظرفیت های فنی
  • خرید نرم افزار.
  • ایجاد یک تیم برای اجرای راه حل.
  • نصب و پیکربندی راه حل.
  • توسعه معماری راه حل الگو.
  • توسعه اسناد عملیاتی شامل دستورالعمل ها، مقررات، طراحی فنی، مقررات و غیره.
  • تغییر فرآیندهای شرکت
  • ایجاد یک تیم پشتیبانی توسعه SLA
  • آموزش کاربر.
  • بیشتر.

در این مقاله به بررسی جنبه های فنی پیاده سازی بدون جزییات جزییات سازمانی می پردازیم.

ویژگی های Atlassian

Atlassian در بسیاری از بخش ها پیشرو است:

محصولات Atlassian دارای تمام ویژگی های سازمانی مورد نیاز شما هستند. من به ویژگی های زیر توجه خواهم کرد:

  1. راه حل های Atlassian مبتنی بر وب سرور Java Tomcat هستند. نرم افزار آپاچی تامکت همراه با نرم افزار Atlassian است، به عنوان بخشی از نصب، نمی توانید نسخه نصب شده آپاچی تامکت با نرم افزار Atlassian را تغییر دهید، حتی اگر نسخه قدیمی و دارای آسیب پذیری باشد. تنها گزینه این است که منتظر بروزرسانی از Atlassian با نسخه جدیدتر آپاچی تامکت باشید. حالا مثلاً نسخه های فعلی Jira دارای آپاچی تامکت 8.5.42 و Confluence دارای آپاچی تامکت 9.0.33 هستند.
  2. رابط کاربری راحت، بهترین شیوه های موجود در بازار برای این دسته از نرم افزارها پیاده سازی شده است.
  3. راه حل کاملا قابل تنظیم با پیشرفت‌ها، می‌توانید هر تغییری را در عملکرد اصلی برای کاربر اعمال کنید.
  4. اکوسیستم توسعه یافته چند صد شریک وجود دارد: https://partnerdirectory.atlassian.com، از جمله 16 شریک در روسیه. از طریق شرکای روسیه است که می توانید نرم افزار Atlassian، افزونه ها را خریداری کنید و آموزش ببینید. این شرکا هستند که بیشتر افزونه ها را توسعه و نگهداری می کنند.
  5. اپ استور (افزونه ها): https://marketplace.atlassian.com. پلاگین ها عملکرد نرم افزار Atlassian را بسیار افزایش می دهند. عملکرد اصلی نرم افزار Atlassian بسیار کم است، تقریباً برای هر کاری نصب افزونه های اضافی به صورت رایگان یا پول اضافی ضروری است. بنابراین، هزینه های نرم افزار ممکن است به طور قابل توجهی بالاتر از برآورد اولیه باشد.
    تا به امروز، چندین هزار افزونه در فروشگاه منتشر شده است که تقریباً هزار مورد از آنها تحت برنامه برنامه های تأیید شده مرکز داده آزمایش و تأیید شده اند. چنین پلاگین هایی را می توان پایدار و مناسب برای استفاده در سیستم های شلوغ دانست.
    من به شما توصیه می کنم با دقت به موضوع برنامه ریزی پلاگین ها نزدیک شوید، این به شدت بر هزینه راه حل تأثیر می گذارد، بسیاری از افزونه ها می توانند منجر به بی ثباتی سیستم شوند و سازنده افزونه برای حل مشکل پشتیبانی ارائه نمی دهد.
  6. آموزش و صدور گواهینامه: https://www.atlassian.com/university
  7. مکانیسم های SSO، SAML 2.0 پشتیبانی می شوند.
  8. پشتیبانی از مقیاس پذیری و تحمل خطا فقط در نسخه های مرکز داده در دسترس است. این نسخه برای اولین بار در سال 2014 (Jira 6.3) ظاهر شد. عملکرد نسخه های مرکز داده به طور مداوم در حال گسترش و بهبود است (به عنوان مثال، امکان نصب یک گره تنها در سال 2020 ظاهر شد). رویکرد پلاگین ها برای نسخه های مرکز داده در سال 2018 با معرفی برنامه های تأیید شده مرکز داده تغییر زیادی کرده است.
  9. هزینه پشتیبانی هزینه پشتیبانی از فروشنده تقریباً برابر با هزینه کامل مجوزهای نرم افزار است. نمونه ای از محاسبه هزینه مجوزها در زیر آورده شده است.
  10. عدم انتشار طولانی مدت به اصطلاح وجود دارد نسخه های سازمانی، اما آنها مانند همه نسخه های دیگر به مدت 2 سال پشتیبانی می شوند. با این تفاوت که فقط اصلاحات برای نسخه های Enterprise منتشر می شود، بدون افزودن قابلیت های جدید.
  11. گزینه های پشتیبانی گسترده (برای پول اضافی). https://www.atlassian.com/enterprise/support-services
  12. چندین نوع از DBMS پشتیبانی می شود. Atlassian دارای یک پایگاه داده رایگان H2 است که برای استفاده سازنده توصیه نمی شود. DBMS های زیر برای استفاده سازنده پشتیبانی می شوند: Amazon Aurora (فقط مرکز داده) PostgreSQL، Azure SQL، MySQL، Oracle DB، PostgreSQL، MS SQL Server. برای نسخه‌های پشتیبانی شده محدودیت‌هایی وجود دارد و اغلب فقط نسخه‌های قدیمی‌تر پشتیبانی می‌شوند، اما برای هر DBMS نسخه‌ای با پشتیبانی فروشنده وجود دارد:
    پلتفرم های پشتیبانی شده جیرا,
    پلتفرم های پشتیبانی شده Confluence.

معماری فنی

نحوه پیاده سازی Atlassian 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. مجوز نسخه سرور دائمی است و مشتری می تواند حتی پس از اتمام مجوز از نرم افزار استفاده کند. اما پس از انقضای مجوز، خریدار حق دریافت پشتیبانی محصول و به روز رسانی نرم افزار را به آخرین نسخه ها از دست می دهد.
  2. صدور مجوز بر اساس تعداد کاربران در سیستم مجوز جهانی 'کاربران JIRA' است. فرقی نمی کند که از سیستم استفاده کنند یا نه - حتی اگر کاربران هرگز وارد سیستم نشده باشند، همه کاربران برای مجوز در نظر گرفته می شوند. اگر تعداد کاربران دارای مجوز بیش از حد مجاز باشد، راه حل حذف مجوز «کاربران JIRA» از برخی از کاربران است.
  3. مجوز مرکز داده در واقع یک اشتراک است. هزینه مجوز سالانه مورد نیاز است. در پایان مدت، کار با سیستم مسدود می شود.
  4. هزینه مجوزها ممکن است در طول زمان تغییر کند. همانطور که تمرین نشان می دهد، در یک راه بزرگ و، شاید، به طور قابل توجهی. بنابراین، اگر مجوزهای شما امسال یک مبلغ هزینه داشته باشد، ممکن است سال آینده هزینه مجوزها افزایش یابد.
  5. صدور مجوز توسط کاربران بر اساس لایه انجام می شود (به عنوان مثال، کاربران سطح 1001-2000). امکان ارتقاء به سطح بالاتر با پرداخت هزینه اضافی وجود دارد.
  6. اگر تعداد کاربران دارای مجوز بیش از حد مجاز باشد، کاربران جدید بدون حق ورود به سیستم (مجوز جهانی 'کاربران JIRA') ایجاد خواهند شد.
  7. پلاگین ها فقط می توانند برای همان تعداد کاربر که نرم افزار اصلی هستند مجوز داشته باشند.
  8. فقط نصب های تولیدی باید مجوز بگیرند، برای بقیه می توانید مجوز توسعه دهنده دریافت کنید: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. برای خرید تعمیر و نگهداری، خرید تعمیر و نگهداری Renew Software الزامی است - هزینه تقریباً 50٪ هزینه نرم افزار اصلی است. این ویژگی برای مرکز داده در دسترس نیست و برای افزونه ها اعمال نمی شود - برای پشتیبانی از آنها باید سالانه هزینه کامل را بپردازید.
    بنابراین، پشتیبانی سالانه نرم افزار بیش از 50٪ از کل هزینه نرم افزار در مورد نسخه سرور و 100٪ در مورد نسخه مرکز داده هزینه دارد - این به طور قابل توجهی بیشتر از سایر فروشندگان است. به نظر من، این یک نقطه ضعف قابل توجه مدل کسب و کار Atlassian است.

ویژگی های انتقال از نسخه سرور به مرکز داده:

  1. انتقال از نسخه سرور به مرکز داده پرداخت می شود. قیمت را می توانید در اینجا پیدا کنید https://www.atlassian.com/licensing/data-center.
  2. هنگام جابه‌جایی از نسخه سرور به مرکز داده، نیازی به پرداخت هزینه برای تغییر نسخه افزونه‌ها ندارید - افزونه‌های نسخه سرور کار خواهند کرد. اما تمدید مجوز برای افزونه ها برای نسخه مرکز داده ضروری خواهد بود.
  3. می توانید از افزونه هایی استفاده کنید که نسخه ای برای استفاده با نسخه های مرکز داده ندارند. البته در عین حال ممکن است چنین افزونه هایی به درستی کار نکنند و بهتر است از قبل جایگزینی برای این گونه افزونه ها ارائه شود.
  4. ارتقاء به نسخه Data Center با نصب مجوز جدید انجام می شود. در عین حال، مجوز نسخه سرور هنوز در دسترس است.
  5. هیچ تفاوت عملکردی بین نسخه های مرکز داده و سرور برای کاربران وجود ندارد، همه تفاوت ها فقط در عملکردهای مدیریت و قابلیت های فنی نصب است.
  6. هزینه نرم افزار و افزونه ها برای نسخه های سرور و مرکز داده متفاوت است. تفاوت در هزینه اغلب کمتر از 5٪ است (ضروری نیست). نمونه ای از محاسبه هزینه در زیر نشان داده شده است.

محدوده عملکردی اجرا

بسته نرم افزاری پایه Atlassian شامل تعداد زیادی ویژگی است، اما اغلب ویژگی های ارائه شده توسط سیستم به شدت کمبود دارند. گاهی اوقات حتی ساده ترین توابع در بسته اصلی موجود نیستند، بنابراین پلاگین ها برای تقریباً هر پیاده سازی ضروری هستند. برای سیستم جیرا از پلاگین های زیر استفاده می کنیم (تصویر قابل کلیک است):
نحوه پیاده سازی Atlassian Jira + Confluence در یک شرکت. سوالات فنی

برای سیستم Confluence از پلاگین های زیر استفاده می کنیم (تصویر قابل کلیک است):
نحوه پیاده سازی Atlassian Jira + Confluence در یک شرکت. سوالات فنی

نظرات جداول دارای افزونه:

  • همه قیمت ها بر اساس 2000 کاربر است.
  • قیمت ها بر اساس قیمت های ذکر شده می باشد https://marketplace.atlassian.com، هزینه واقعی (با تخفیف) کمتر است.
  • همانطور که می بینید، مقدار کل عملاً برای نسخه های مرکز داده و سرور یکسان است.
  • فقط پلاگین هایی با پشتیبانی از نسخه مرکز داده برای استفاده انتخاب شدند. برای پایداری سیستم، بقیه پلاگین ها را از برنامه ها حذف کردیم.

عملکرد به طور خلاصه در ستون Comment توضیح داده شده است. افزونه های اضافی عملکرد سیستم را گسترش داده اند:

  • چندین ابزار بصری اضافه شده است.
  • مکانیسم های یکپارچه سازی بهبود یافته؛
  • ابزار اضافه شده برای پروژه های مدل آبشار.
  • ابزارهای اضافه شده برای Scrum مقیاس پذیر برای سازماندهی کار تیم های پروژه بزرگ.
  • قابلیت اضافه شده برای ردیابی زمان؛
  • ابزارهای اضافه شده برای خودکارسازی عملیات و پیکربندی راه حل.
  • قابلیت اضافه شده برای ساده سازی و خودکارسازی مدیریت راه حل.

علاوه بر این، ما استفاده می کنیم اپلیکیشن Atlassian Companion. این برنامه به شما امکان می دهد فایل های موجود در برنامه های خارجی (MS Office) را ویرایش کنید و آنها را به Confluence (چک در) برگردانید.
برنامه برای ایستگاه های کاری کاربر (کلاینت ضخیم) ALM Works Jira Client https://marketplace.atlassian.com/apps/7070 به دلیل پشتیبانی ضعیف فروشنده و نظرات منفی تصمیم به استفاده نکردن گرفت.
برای ادغام با MS Project ما از یک برنامه کاربردی خودنویس استفاده می کنیم که به شما امکان می دهد وضعیت های Issue را در پروژه MS از Jira و بالعکس به روز کنید. در آینده، برای همین اهداف، قصد داریم از یک افزونه پولی استفاده کنیم پل Ceptah - پلاگین پروژه JIRA MS، که به عنوان یک افزونه برای MS Project نصب شده است.
ادغام با برنامه های خارجی از طریق Application Links پیاده سازی شده است. در عین حال، ادغام‌ها برای برنامه‌های Atlassian از قبل پیکربندی شده‌اند و بلافاصله پس از راه‌اندازی کار می‌کنند، برای مثال، می‌توانید اطلاعات مربوط به Issues in Jira را در صفحه‌ای در Confluence نمایش دهید.
REST API برای دسترسی به سرورهای Jira و Confluence استفاده می شود: https://developer.atlassian.com/server/jira/platform/rest-apis.
APIهای SOAP و XML-RPC منسوخ شده‌اند و در نسخه‌های جدید برای استفاده در دسترس نیستند.

نتیجه

بنابراین ویژگی های فنی پیاده سازی یک سیستم مبتنی بر محصولات Atlassian را در نظر گرفته ایم. راه حل پیشنهادی یکی از راه حل های ممکن است و برای یک محیط شرکتی مناسب است.

راه حل پیشنهادی مقیاس پذیر، مقاوم در برابر خطا، شامل سه محیط برای سازماندهی توسعه و آزمایش است، شامل تمام عناصر لازم برای همکاری در سیستم است و طیف گسترده ای از ابزارهای مدیریت پروژه را ارائه می دهد.

خوشحال می شوم به سوالات در نظرات پاسخ دهم.

منبع: www.habr.com