Bir şirkette Atlassian Jira + Confluence nasıl uygulanır? Teknik sorular

Atlassian yazılımını (Jira, Confluence) uygulamayı planlıyor musunuz? Son anda çözülmesi gereken acımasız tasarım hataları yapmak istemiyor musunuz?

Bir şirkette Atlassian Jira + Confluence nasıl uygulanır? Teknik sorular
O zaman burası tam size göre; Atlassian Jira + Confluence'ın çeşitli teknik yönleri dikkate alarak şirketlerde uygulanmasını düşünüyoruz.
Merhaba, RSHB'de Ürün Sahibiyim ve Atlassian yazılım ürünleri Jira ve Confluence üzerine kurulu bir Yaşam Döngüsü Yönetim Sisteminin (LCMS) geliştirilmesinden sorumluyum.

Bu yazıda bir yaşam yönetim sistemi oluşturmanın teknik yönlerini anlatacağım. Makale, Atlassian Jira ve Confluence'ı kurumsal bir ortamda uygulamayı planlayan veya geliştirmekte olan herkes için faydalı olacaktır. Bu makale özel bilgi gerektirmez ve Atlassian ürünlerine başlangıç ​​düzeyinde aşinalık sağlamaya yöneliktir. Makale yöneticiler, ürün sahipleri, proje yöneticileri, mimarlar ve Atlassian yazılımını temel alan sistemler uygulamayı planlayan herkes için faydalı olacaktır.

Giriş

Makale, kurumsal bir ortamda Yaşam Döngüsü Yönetim Sisteminin (LCMS) uygulanmasına ilişkin teknik konuları tartışacaktır. Öncelikle bunun ne anlama geldiğini tanımlayalım.

Kurumsal çözüm ne anlama geliyor?

Bu, çözüm anlamına gelir:

  1. Ölçeklenebilir. Yükün artması durumunda sistem kapasitesinin arttırılması teknik olarak mümkündür. Yatay ve dikey ölçeklendirmeyi ayırırlar - dikey ölçeklendirmeyle sunucuların gücü artar, yatay ölçeklendirmeyle sistemdeki sunucu sayısı artar.
  2. Hata müsaması. Bir öğenin arızalanması durumunda sistem kullanılabilir durumda kalacaktır. Genel olarak kurumsal sistemler hata toleransı gerektirmez ancak biz tam da böyle bir çözümü değerlendireceğiz. Sistemimizde birkaç yüz rekabetçi kullanıcının olmasını planlıyoruz ve kesinti süresi çok kritik olacaktır.
  3. Desteklendi. Çözümün satıcı tarafından desteklenmesi gerekir. Desteklenmeyen yazılımlar, özel yazılım veya desteklenen diğer yazılımlarla değiştirilmelidir.
  4. Montaj kendi kendini yöneten (Şirket içi). Kendi kendini yöneten, yazılımı bulutta değil kendi sunucularınıza yükleme yeteneğidir. Daha kesin olmak gerekirse, bunların tümü SaaS olmayan kurulum seçenekleridir. Bu makalede yalnızca Kendi kendine yönetilen kurulum seçeneklerini ele alacağız.
  5. Bağımsız geliştirme ve test imkanı. Sistemdeki öngörülebilir değişiklikleri organize etmek için ayrı bir geliştirme sistemi (sistemin kendisindeki değişiklikler), bir test sistemi (Aşamalama) ve kullanıcılar için üretken bir sistem gereklidir.
  6. Daha fazla. Çeşitli kimlik doğrulama senaryolarını destekler, denetim günlüklerini destekler, özelleştirilebilir bir rol modeline sahiptir vb.

Bunlar kurumsal çözümlerin ana unsurlarıdır ve ne yazık ki sistem tasarlanırken sıklıkla unutulurlar.

Yaşam Döngüsü Yönetim Sistemi (LCMS) Nedir?

Kısacası bizim durumumuzda bunlar Atlassian Jira ve takım çalışmasını organize etmek için araçlar sağlayan bir sistem olan Atlassian Confluence'tır. Sistem işin organizasyonu için kurallar "dayatmamaktadır" ancak Scrum, Kanban panoları, şelale modeli, ölçeklenebilir Scrum vb. dahil olmak üzere çeşitli iş araçları sağlamaktadır.
LMS adı sektörel bir terim ya da yaygın olarak kullanılan bir kavram değildir, sadece Bankamızdaki sistemin adıdır. Bizim için LMS bir hata takip sistemi, Olay Yönetim sistemi veya Değişiklik Yönetim sistemi değildir.

Uygulama neleri içerir?

Çözümün uygulanması birçok teknik ve organizasyonel sorundan oluşur:

  • Teknik kapasitenin tahsisi.
  • Yazılım satın alma.
  • Çözümü uygulayacak ekibin oluşturulması.
  • Çözümün kurulumu ve yapılandırılması.
  • Çözüm mimarisinin geliştirilmesi. Rol model.
  • Talimatlar, düzenlemeler, teknik tasarım, düzenlemeler vb. dahil olmak üzere operasyonel belgelerin geliştirilmesi.
  • Şirket süreçlerinin değiştirilmesi.
  • Bir destek ekibi oluşturmak. SLA geliştirme.
  • Kullanıcı antremanı.
  • Daha fazla.

Bu makalede, organizasyonel bileşene ilişkin ayrıntılara girmeden, uygulamanın teknik yönlerine bakacağız.

Atlassian'ın Özellikleri

Atlassian birçok segmentte liderdir:

Atlassian ürünleri ihtiyacınız olan tüm kurumsal özellikleri sağlar. Aşağıdaki özelliklere dikkat edeceğim:

  1. Atlassian çözümleri Java Tomcat web sunucusunu temel alır. Apache Tomcat yazılımı, kurulumun bir parçası olarak Atlassian yazılımına dahildir; Atlassian yazılımının bir parçası olarak yüklenen Apache Tomcat sürümünü, sürüm eski olsa ve güvenlik açıkları içerse bile değiştiremezsiniz. Tek seçenek Atlassian'ın Apache Tomcat'in daha yeni bir sürümünü içeren güncellemesini beklemektir. Örneğin Jira'nın mevcut sürümlerinde Apache Tomcat 8.5.42, Confluence'da ise Apache Tomcat 9.0.33 var.
  2. Kullanıcı dostu arayüz, bu sınıftaki yazılımlar için piyasada mevcut en iyi uygulamalar uygulanmaktadır.
  3. Tamamen özelleştirilebilir çözüm. Değişikliklerle kullanıcı için temel işlevsellikteki herhangi bir değişikliği uygulayabilirsiniz.
  4. Geliştirilmiş ekosistem. Birkaç yüz ortak var: https://partnerdirectory.atlassian.comRusya'daki 16 ortak dahil. Atlassian yazılımını, eklentilerini Rusya'daki ortaklarımız aracılığıyla satın alabilir ve eğitim alabilirsiniz. Çoğu eklentiyi geliştiren ve destekleyenler ortaklardır.
  5. Uygulama mağazası (eklentiler): https://marketplace.atlassian.com. Eklentiler Atlassian yazılımının işlevselliğini önemli ölçüde artırır. Atlassian yazılımının temel işlevselliği oldukça mütevazıdır; neredeyse her görev için ücretsiz veya ek para karşılığında ek eklentiler yüklemek gerekli hale gelir. Bu nedenle yazılım maliyetleri başlangıçta tahmin edilenden çok daha yüksek çıkabilir.
    Şu anda mağazada birkaç bin eklenti yayınlandı ve bunların neredeyse bini Veri Merkezi onaylı uygulamalar programı kapsamında test edildi ve doğrulandı. Bu tür eklentilerin kararlı ve yoğun sistemlerde kullanıma uygun olduğu düşünülebilir.
    Eklenti planlama konusuna dikkatli yaklaşmanızı tavsiye ederim, bu, çözümün maliyetini büyük ölçüde etkiler, eklentilerin çoğu sistem kararsızlığına yol açabilir ve eklenti üreticisi sorunun çözümü için destek sağlamaz.
  6. Eğitim ve sertifikalar: https://www.atlassian.com/university
  7. SSO ve SAML 2.0 mekanizmaları desteklenir.
  8. Ölçeklenebilirlik ve hata toleransı desteği yalnızca Veri Merkezi sürümlerinde mevcuttur. Bu basım ilk olarak 2014'te çıktı (Jira 6.3). Veri Merkezi sürümlerinin işlevselliği sürekli olarak genişletilmekte ve iyileştirilmektedir (örneğin, tek düğümlü kurulum olasılığı yalnızca 2020'de ortaya çıkmıştır). Data Center sürümleri için eklentilere yaklaşım, 2018 yılında Data Center onaylı uygulamaların kullanıma sunulmasıyla büyük ölçüde değişti.
  9. Destek maliyeti. Satıcının desteğinin maliyeti neredeyse yazılım lisanslarının tam maliyetine eşittir. Aşağıda lisans maliyetinin hesaplanmasına ilişkin bir örnek verilmiştir.
  10. Uzun Süreli yayınların eksikliği. Sözde var Kurumsal sürümler, ancak diğer tüm sürümler gibi bunlar da 2 yıl boyunca desteklenir. Tek fark, Kurumsal sürümler için yeni işlevler eklenmeden yalnızca düzeltmelerin yayınlanmasıdır.
  11. Genişletilmiş destek seçenekleri (ek ücret karşılığında). https://www.atlassian.com/enterprise/support-services
  12. Çeşitli DBMS seçenekleri desteklenir. Atlassian yazılımı ücretsiz bir H2 DBMS ile birlikte gelir; bu DBMS'nin üretken kullanım için önerilmez. Verimli kullanım için aşağıdaki DBMS'ler desteklenir: Amazon Aurora (yalnızca Veri Merkezi) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Desteklenen sürümlerde kısıtlamalar vardır ve genellikle yalnızca eski sürümler desteklenir, ancak her DBMS için satıcı desteğine sahip bir sürüm vardır:
    Jira destekli platformlar,
    Confluence destekli platformlar.

Teknik mimari

Bir şirkette Atlassian Jira + Confluence nasıl uygulanır? Teknik sorular

Diyagrama ilişkin açıklamalar:

  • Şema Bankamızdaki uygulamayı göstermektedir, bu konfigürasyon örnek olarak verilmiştir, tavsiye edilmez.
  • nginx, hem Jira hem de Confluence için ters proxy işlevi sağlar.
  • DBMS'nin hata toleransı DBMS aracılığıyla uygulanır.
  • Değişiklikler, Jira eklentisi için Configuration Manager kullanılarak ortamlar arasında aktarılır.
  • Diyagramdaki AppSrv, raporlamaya yönelik özel bir uygulama sunucusudur ve Atlassian yazılımını kullanmaz.
  • EasyBI veritabanı, eazyBI Reports and Charts for Jira eklentisini kullanarak küpler oluşturmak ve raporlamak için oluşturuldu.
  • Confluence Synchrony hizmeti (belgelerin eşzamanlı olarak düzenlenmesine olanak tanıyan bir bileşen) ayrı bir kuruluma ayrılmaz ve aynı sunucu üzerinde Confluence ile birlikte başlatılır.

Ruhsat verme

Atlassian lisanslama konuları ayrı bir makaleyi hak ediyor, burada sadece genel ilkelere değineceğim.
Karşılaştığımız ana sorunlar Veri Merkezi sürümlerine ilişkin lisans sorunlarıydı. Sunucu ve Veri Merkezi sürümleri için lisanslama özellikleri:

  1. Sunucu sürümünün lisansı kalıcıdır ve alıcı, lisansın süresi dolduktan sonra bile yazılımı kullanabilir. Ancak lisansın süresi dolduktan sonra alıcı, ürüne ilişkin destek alma ve yazılımı son sürümlere güncelleme hakkından mahrum kalır.
  2. Lisanslama, 'JIRA Kullanıcıları' küresel izin sistemindeki kullanıcı sayısına dayanmaktadır. Sistemi kullanıp kullanmamaları önemli değildir; kullanıcılar sisteme hiç giriş yapmamış olsalar bile lisans için tüm kullanıcılar dikkate alınacaktır. Lisanslı kullanıcı sayısının aşılması durumunda çözüm bazı kullanıcıların 'JIRA Kullanıcıları' izninin kaldırılması olacaktır.
  3. Veri Merkezi lisansı fiilen bir aboneliktir. Yıllık lisans ücreti gerekmektedir. Sürenin dolması halinde sistemle çalışma engellenecektir.
  4. Lisans fiyatları zaman içerisinde değişiklik gösterebilir. Uygulamada görüldüğü gibi, daha büyük ölçüde ve belki de önemli ölçüde. Dolayısıyla lisanslarınız bu yıl aynı tutardaysa gelecek yıl lisans maliyetleri artabilir.
  5. Lisanslama kullanıcı tarafından katmana göre gerçekleştirilir (örneğin, seviye 1001-2000 kullanıcıları). Ek bir ödeme ile daha yüksek bir seviyeye yükseltmek mümkündür.
  6. Lisanslı kullanıcı sayısının aşılması durumunda, oturum açma hakkı olmaksızın yeni kullanıcılar oluşturulacaktır ('JIRA Kullanıcıları' global izni).
  7. Eklentiler yalnızca ana yazılımla aynı sayıda kullanıcıya lisanslanabilir.
  8. Yalnızca üretken kurulumların lisanslanması gerekir; geri kalanı için Geliştirici lisansı alabilirsiniz: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Bakım satın almak için Renew Software bakımını satın almanız gerekir; maliyet, orijinal yazılımın maliyetinin yaklaşık %50'sidir. Bu özellik Veri Merkezi için geçerli değildir ve eklentiler için geçerli değildir; bunları desteklemek için yıllık olarak tam ücret ödemeniz gerekecektir.
    Bu nedenle, yıllık yazılım desteğinin maliyeti, Sunucu sürümü durumunda yazılımın toplam maliyetinin %50'sinden, Veri Merkezi sürümü durumunda ise %100'ünden fazladır; bu, diğer çoğu satıcıya göre çok daha fazladır. Bana göre bu, Atlassian'ın iş modelinin önemli bir dezavantajıdır.

Sunucu sürümünden Veri Merkezine geçişin özellikleri:

  1. Sunucu sürümünden Veri Merkezine yükseltmenin bir ücreti vardır. Maliyeti burada bulabilirsiniz https://www.atlassian.com/licensing/data-center.
  2. Sunucu sürümünden Veri Merkezine geçiş yaparken, eklentilerin sürümünü değiştirmek için ödeme yapmanıza gerek yoktur; Sunucu sürümüne yönelik eklentiler çalışmaya devam edecektir. Ancak Data Center sürümü için eklentilerin lisanslarının yenilenmesi gerekecektir.
  3. Data Center sürümleriyle kullanım için sürümü olmayan eklentileri kullanabilirsiniz. Ancak elbette bu tür eklentiler doğru çalışmayabilir ve önceden bu tür eklentilere alternatif sunmak daha iyidir.
  4. Data Center sürümüne geçiş, yeni bir lisans yüklenerek gerçekleştirilir. Ancak Sunucu sürümünün lisansı hâlâ mevcuttur.
  5. Kullanıcılar açısından Data Center ve Server sürümleri arasında herhangi bir işlevsel farklılık yoktur; tüm farklılıklar yalnızca yönetim işlevleri ve teknik kurulum yeteneklerindedir.
  6. Yazılım ve eklentilerin maliyeti Sunucu ve Veri Merkezi sürümlerine göre değişiklik gösterir. Maliyetteki fark genellikle %5'ten azdır (önemli değildir). Aşağıda bir maliyet hesaplama örneği verilmiştir.

İşlevsel uygulama kapsamı

Temel Atlassian yazılım paketi çok sayıda yetenek içerir, ancak çoğu zaman sistem tarafından sağlanan yetenekler ciddi şekilde eksiktir. Bazen en basit işlevler bile temel pakette mevcut değildir, dolayısıyla eklentiler neredeyse her uygulama için vazgeçilmezdir. Jira sistemi için aşağıdaki eklentileri kullanıyoruz (resim tıklanabilir):
Bir şirkette Atlassian Jira + Confluence nasıl uygulanır? Teknik sorular

Confluence sistemi için aşağıdaki eklentileri kullanıyoruz (resim tıklanabilir):
Bir şirkette Atlassian Jira + Confluence nasıl uygulanır? Teknik sorular

Eklentili tablolarla ilgili yorumlar:

  • Tüm fiyatlar 2000 kullanıcıya dayanmaktadır;
  • Gösterilen fiyatlar listelenen fiyatlara dayanmaktadır https://marketplace.atlassian.comgerçek maliyet (indirimlerle birlikte) daha düşüktür;
  • Gördüğünüz gibi Veri Merkezi ve Sunucu sürümleri için toplam tutar hemen hemen aynı;
  • Yalnızca Data Center sürümünü destekleyen eklentiler kullanım için seçilir. Kalan eklentileri sistem kararlılığı planlarının dışında tuttuk.

İşlevsellik, Yorum sütununda kısaca açıklanmıştır. Ek eklentiler sistemin işlevselliğini genişletti:

  • Birkaç görsel araç eklendi;
  • Entegrasyon mekanizmaları iyileştirildi;
  • Şelale modeli projeleri için araçlar eklendi;
  • Büyük proje ekiplerinin çalışmalarını organize etmek için ölçeklenebilir Scrum araçları eklendi;
  • Zaman takibi için işlevsellik eklendi;
  • İşlemleri otomatikleştirmek ve çözümü yapılandırmak için araçlar eklendi;
  • Çözümün yönetimini basitleştirmek ve otomatikleştirmek için işlevsellik eklendi.

Ek olarak kullanıyoruz Atlassian Companion uygulaması. Bu uygulama, harici uygulamalardaki (MS Office) dosyaları düzenlemenize ve bunları Confluence'a geri döndürmenize (check-in) olanak tanır.
Kullanıcı iş istasyonları için uygulama (kalın istemci) ALM İşleri Jira İstemcisi https://marketplace.atlassian.com/apps/7070 satıcı desteğinin zayıf olması ve olumsuz incelemeler nedeniyle bunu kullanmamaya karar verdi.
için MS Project ile entegrasyon MS Project'teki Sorun durumlarını Jira'dan (veya tersi) güncellemenize olanak tanıyan, kendi yazdığınız bir uygulama kullanıyoruz. Gelecekte aynı amaçlarla ücretli bir eklenti kullanmayı planlıyoruz Septah Köprüsü - JIRA MS Proje EklentisiMS Project'e eklenti olarak yüklenen .
Harici uygulamalarla entegrasyon Uygulama Bağlantıları aracılığıyla uygulanır. Aynı zamanda Atlassian uygulamaları için entegrasyonlar önceden yapılandırılmıştır ve yapılandırmadan hemen sonra çalışır; örneğin Jira'daki Sorunlar hakkındaki bilgileri Confluence'deki bir sayfada görüntüleyebilirsiniz.
Jira ve Confluence sunucularına erişmek için REST API kullanılır: https://developer.atlassian.com/server/jira/platform/rest-apis.
SOAP ve XML-RPC API kullanımdan kaldırılmıştır ve daha yeni sürümlerde kullanılamaz.

Sonuç

Böylece Atlassian ürünlerine dayalı bir sistemin uygulanmasının teknik özelliklerine baktık. Önerilen çözüm olası bir çözümü temsil etmektedir ve kurumsal ortam için çok uygundur.

Önerilen çözüm ölçeklenebilir, hataya dayanıklı, geliştirme ve testin organize edilmesi için üç ortam içeriyor, sistemdeki işbirliği için gerekli tüm unsurları içeriyor ve proje yönetimi için geniş bir araç yelpazesi sunuyor.

Yorumlardaki soruları cevaplamaktan mutluluk duyacağım.

Kaynak: habr.com