Bagaimana menerapkan Atlassian Jira + Confluence di sebuah perusahaan. Masalah teknis

Berencana memperkenalkan perangkat lunak Atlassian (Jira, Confluence)? Apakah Anda ingin membuat kesalahan desain yang parah yang harus Anda selesaikan pada saat terakhir?


Maka di sinilah Anda - kami sedang mempertimbangkan pengenalan Atlassian Jira + Confluence di sebuah perusahaan dengan mempertimbangkan berbagai aspek teknis.
Halo, saya adalah kepala Pusat Kompetensi Produk Atlassian di Bank Pertanian Rusia (Rosselkhozbank) dan saya bertanggung jawab atas pengembangan Sistem Manajemen Siklus Hidup (SLC) yang didasarkan pada produk perangkat lunak Jira dan Confluence.

Pada artikel ini saya akan menjelaskan aspek teknis membangun LMS. Artikel ini akan berguna bagi siapa pun yang berencana untuk mengimplementasikan atau mengembangkan sistem berdasarkan perangkat lunak Atlassian di lingkungan perusahaan. Artikel ini tidak memerlukan pengetahuan khusus dan dirancang untuk tingkat awal berkenalan dengan produk-produk Atlassian. Artikel ini akan berguna bagi administrator, pemilik produk, manajer proyek, arsitek, semua orang yang berencana untuk mengimplementasikan sistem berdasarkan perangkat lunak Atlassian.

pengantar


Artikel ini akan membahas masalah teknis penerapan Sistem Manajemen Siklus Hidup (LMS) di lingkungan perusahaan. Pertama mari kita tentukan apa artinya itu.

Apa artinya keputusan perusahaan?


Ini berarti solusi:

  1. Dapat diukur. Dalam hal peningkatan beban, ada kemungkinan teknis untuk meningkatkan kapasitas sistem. Penskalaan horizontal dan vertikal yang terpisah - dengan penskalaan vertikal, kapasitas server meningkat, dengan penskalaan horizontal, jumlah server agar sistem berfungsi meningkat.
  2. . . , . .
  3. . . .
  4. Self-managed (On-premise). Self-managed β€” , . , SaaS. Self-managed.
  5. Kemungkinan pengembangan dan pengujian independen. Untuk mengatur perubahan yang dapat diprediksi dalam sistem, diperlukan sistem terpisah untuk pengembangan (perubahan dalam sistem), sistem pengujian (Staging) dan sistem produktif agar pengguna dapat bekerja.
  6. Lain Ini mendukung berbagai skenario otentikasi, mendukung log audit, memiliki model peran khusus, dll.

Ini adalah elemen utama dari solusi perusahaan dan, sayangnya, mereka sering dilupakan ketika merancang suatu sistem.

Dan apa itu Sistem Manajemen Siklus Hidup (LMS)?


Singkatnya, dalam kasus kami, ini adalah Atlassian Jira dan Atlassian Confluence - sebuah sistem yang menyediakan alat untuk mengatur kerja tim. Sistem tidak "memaksakan" aturan untuk mengatur pekerjaan, tetapi menyediakan berbagai alat untuk bekerja, seperti Scrum, papan Kanban, model air terjun, dan Scrum yang dapat diskalakan, dll.
Nama LCMS bukan istilah industri atau istilah umum, itu hanya nama sistem di Bank kami. Bagi kami, SLC bukan sistem pelacakan bug, ini bukan sistem Manajemen Insiden atau sistem Manajemen Perubahan.
Dalam sistem, tentu saja, ada fungsi untuk pelacakan bug, dan untuk merekam insiden, dan untuk mengelola perubahan. Dan untuk tugas-tugas tertentu fungsi ini digunakan. Tetapi tidak dapat dikatakan bahwa semua bug atau semua insiden atau semua perubahan dicatat dalam sistem kami. Dalam setiap kasus, spesifiknya sendiri. Jika sebuah unit menggunakan Jira dan membuat perubahan di sana, maka untuk perubahan ini, tim ini dapat memutuskan untuk menyimpan semua bug, semua perubahan, semua insiden di sana. Tetapi ini adalah solusi lokal untuk satu tim terpisah, untuk satu tugas tertentu.

Apa yang termasuk dalam implementasi?


Implementasi solusi terdiri dari banyak masalah teknis dan organisasi:

  • Alokasi kapasitas teknis.
  • Pembelian perangkat lunak.
  • Pembuatan tim implementasi solusi.
  • Instalasi dan konfigurasi solusi.
  • Pengembangan arsitektur solusi. Panutan.
  • Pengembangan dokumentasi operasional, termasuk instruksi, peraturan, desain teknis, peraturan, dll.
  • Ubah proses perusahaan.
  • Pembuatan tim pendukung. Pengembangan SLA.
  • Pelatihan pengguna.
  • Lain

Pada artikel ini kita akan mempertimbangkan aspek teknis dari implementasi, tanpa rincian tentang komponen organisasi.

Fitur Atlassian


Atlassian adalah pemimpin di banyak segmen:


Produk Atlassian memiliki semua fitur perusahaan yang penting. Saya akan perhatikan fitur-fitur berikut:

  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. Beberapa opsi DBMS didukung. Perangkat lunak Atlassian dilengkapi dengan H2 DBMS gratis, DBMS ini tidak direkomendasikan untuk penggunaan yang produktif. DBMS berikut ini didukung untuk penggunaan produktif: Amazon Aurora (hanya Data Center) PostgreSQL, Azure SQL, MySQL, Oracle DB, PostgreSQL, MS SQL Server. Ada batasan pada versi yang didukung dan seringkali hanya versi lama yang didukung, tetapi untuk setiap DBMS ada versi dengan dukungan vendor:
    platform yang didukung Jira ,
    platform yang didukung Confluence .

Arsitektur teknis




Penjelasan untuk skema:

  • Diagram menunjukkan implementasi di Bank kami, konfigurasi ini diberikan sebagai contoh dan tidak direkomendasikan.
  • nginx menyediakan fungsi reverse-proxy untuk Jira dan Confluence.
  • Toleransi kesalahan DBMS diimplementasikan oleh alat DBMS.
  • Perubahan antar lingkungan ditransfer menggunakan plugin Configuration Manager untuk Jira.
  • AppSrv dalam diagram adalah server aplikasi sendiri untuk pelaporan, tidak menggunakan perangkat lunak Atlassian.
  • Database EasyBI dibuat untuk membuat kubus dan pelaporan menggunakan eazyBI Reports and Charts for Jira plugin.
  • Layanan Confluence Synchrony (komponen yang memungkinkan pengeditan dokumen secara simultan) tidak dialokasikan untuk instalasi terpisah dan diluncurkan bersama dengan Confluence di server yang sama.

Perizinan


Masalah perizinan Atlassian layak mendapatkan artikel terpisah, di sini saya hanya akan menyebutkan prinsip-prinsip umum.
Masalah utama yang kami temui adalah masalah lisensi untuk edisi Pusat Data. Fitur lisensi untuk edisi Server dan Pusat Data:

  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. Lisensi hanya memerlukan instalasi yang produktif, untuk sisanya Anda bisa mendapatkan lisensi Pengembang: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html .
  9. Untuk membeli pemeliharaan, Anda perlu membeli perawatan Renew Software - biayanya sekitar 50% dari biaya perangkat lunak awal. Fitur ini tidak tersedia untuk Pusat Data dan tidak berlaku untuk plugin - untuk mendukung mereka, Anda harus membayar biaya penuh setiap tahun.
    Dengan demikian, dukungan perangkat lunak tahunan biaya lebih dari 50% dari total biaya perangkat lunak dalam kasus edisi Server dan 100% dalam kasus edisi Pusat Data - ini secara signifikan lebih dari kebanyakan vendor lain. Menurut pendapat saya, ini adalah minus signifikan dari model bisnis Atlassian.

Fitur-fitur transisi dari edisi Server ke Pusat Data:

  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% ( ). .


Pengiriman dasar perangkat lunak Atlassian mencakup sejumlah besar fitur, tetapi seringkali kemampuan yang disediakan oleh sistem sangat kurang. Kadang-kadang bahkan fungsi yang paling sederhana tidak tersedia dalam distribusi dasar, sehingga plug-in tidak dapat dihilangkan dengan hampir semua implementasi. Sangat penting untuk memahami bahwa Jira adalah sebuah platform, di sini Anda dapat memprogram fungsi dan plugin apa pun - ini adalah implementasi berbayar dari fungsionalitas tambahan. Untuk sistem Jira, kami menggunakan plugin berikut (gambar dapat diklik): Untuk sistem Confluence kami menggunakan plugin berikut (gambar dapat diklik): Komentar pada tabel dengan plugin:







  • Semua harga didasarkan pada 2000 pengguna;
  • Harga diberikan berdasarkan harga yang dikutip di https://marketplace.atlassian.com , biaya sebenarnya (dengan diskon) lebih rendah;
  • Seperti yang Anda lihat, jumlah total praktis sama untuk edisi Pusat Data dan Server;
  • Hanya plugin dengan dukungan edisi Pusat Data yang dipilih untuk digunakan. Plugin yang tersisa telah kami singkirkan dari rencana stabilitas sistem.

Fungsionalitas dijelaskan secara singkat di kolom Komentar. Plugin tambahan telah memperluas fungsionalitas sistem:

  • Menambahkan beberapa alat visual;
  • Mekanisme integrasi yang lebih baik;
  • Alat yang ditambahkan untuk proyek sesuai dengan model air terjun;
  • Alat tambahan untuk Scrum scalable, untuk mengatur pekerjaan tim proyek besar;
  • Menambahkan fungsionalitas untuk pelacakan waktu;
  • Alat yang ditambahkan untuk mengotomatisasi operasi dan mengkonfigurasi solusi;
  • Fungsi ditambahkan untuk menyederhanakan dan mengotomatiskan administrasi solusi.

Selain itu, kami menggunakan plug-in dari desain kami sendiri.
Kami berencana untuk menginstal aplikasi Atlassian Companion di workstation pengguna . Aplikasi ini memungkinkan Anda untuk mengedit file dalam aplikasi eksternal (MS Office) dan mengembalikannya ke Confluence (check-in).
Aplikasi untuk workstation pengguna (klien tebal) ALM Works Jira Client https://marketplace.atlassian.com/apps/7070 memutuskan untuk tidak menggunakan karena dukungan vendor yang buruk dan ulasan negatif.
Untuk integrasi dengan Proyek MS , kami menggunakan aplikasi yang ditulis sendiri yang memungkinkan Anda untuk memperbarui status Masalah di Proyek MS dari Jira dan sebaliknya. Di masa depan, untuk tujuan yang sama, kami berencana untuk menggunakan plug-in berbayarCeptah Bridge - JIRA MS Project Plugin , yang diinstal sebagai add-on di MS Project.
Integrasi dengan aplikasi eksternal diimplementasikan melalui Tautan Aplikasi. Pada saat yang sama, untuk aplikasi Atlassian, integrasi sudah dipra-konfigurasi dan berfungsi segera setelah konfigurasi, misalnya, Anda dapat menampilkan informasi tentang Masalah di Jira di halaman Confluence.
Untuk mengakses server Jira dan Confluence, API REST digunakan: https://developer.atlassian.com/server/jira/platform/rest-apis .
SOAP dan XML-RPC API sudah usang dan tidak tersedia dalam versi baru untuk digunakan.

Kesimpulan


Jadi, kami memeriksa fitur teknis dari implementasi sistem berdasarkan pada produk-produk Atlassian. Solusi yang diusulkan adalah salah satu solusi yang mungkin dan sangat cocok untuk lingkungan perusahaan.

Solusi yang diusulkan scalable, toleran terhadap kesalahan, mengandung tiga lingkungan untuk mengatur pengembangan dan pengujian, berisi semua elemen yang diperlukan untuk bekerja bersama dalam sistem dan menyediakan berbagai alat manajemen proyek.

Saya akan dengan senang hati menjawab pertanyaan di komentar.

All Articles