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

Apakah Anda berencana untuk mengimplementasikan perangkat lunak Atlassian (Jira, Confluence)? Tidak ingin membuat kesalahan desain yang kejam, yang kemudian harus diselesaikan di saat-saat terakhir?

Bagaimana menerapkan Atlassian Jira + Confluence di sebuah perusahaan. Pertanyaan teknis
Maka Anda di sini - kami sedang mempertimbangkan implementasi Atlassian Jira + Confluence di sebuah perusahaan, dengan mempertimbangkan berbagai aspek teknis.
Halo, saya adalah Product Owner di RSHB dan bertanggung jawab atas pengembangan Lifecycle Management System (LCMS) yang dibangun di atas produk perangkat lunak Atlassian Jira dan Confluence.

Pada artikel ini saya akan menjelaskan aspek teknis membangun LCMS. Artikel tersebut akan bermanfaat bagi siapa saja yang berencana menerapkan atau mengembangkan Atlassian Jira dan Confluence di lingkungan perusahaan. Artikel tersebut tidak memerlukan pengetahuan khusus dan dirancang untuk tingkat pengenalan awal dengan produk Atlassian. Artikel ini akan bermanfaat bagi administrator, pemilik produk, manajer proyek, arsitek, dan semua orang yang berencana mengimplementasikan sistem berdasarkan perangkat lunak Atlassian.

pengenalan

Artikel ini akan membahas masalah teknis penerapan Life Cycle Management System (LCMS) di lingkungan perusahaan. Pertama mari kita tentukan apa artinya ini.

Apa itu solusi perusahaan?

Ini berarti solusinya:

  1. Skalabel. Jika terjadi peningkatan beban, ada kemungkinan teknis untuk meningkatkan kapasitas sistem. Pisahkan penskalaan horizontal dan vertikal - dengan penskalaan vertikal, kapasitas server ditingkatkan, dengan penskalaan horizontal, jumlah server untuk operasi sistem ditingkatkan.
  2. Gagal aman. Sistem akan tetap tersedia jika salah satu elemen gagal. Secara umum, sistem perusahaan tidak memerlukan toleransi kesalahan, tetapi kami akan mempertimbangkan solusi seperti itu. Kami berencana untuk memiliki beberapa ratus pengguna kompetitif dalam sistem, dan waktu henti akan sangat penting.
  3. Didukung. Solusinya harus didukung oleh vendor. Perangkat lunak yang tidak didukung harus diganti dengan pengembangan internal atau perangkat lunak lain yang didukung.
  4. Instalasi Dikelola sendiri (di tempat). Dikelola sendiri adalah kemampuan untuk menginstal perangkat lunak bukan di cloud, tetapi di server Anda sendiri. Lebih tepatnya, ini semua adalah opsi instalasi non-SaaS. Pada artikel ini, kami hanya akan mempertimbangkan opsi instalasi yang dikelola sendiri.
  5. Kemungkinan pengembangan dan pengujian independen. Untuk mengatur perubahan yang dapat diprediksi dalam sistem, diperlukan sistem terpisah untuk pengembangan (perubahan dalam sistem itu sendiri), sistem pengujian (Staging) dan sistem produktif agar pengguna dapat bekerja.
  6. Lebih. Mendukung berbagai skenario autentikasi, mendukung log audit, memiliki model peran khusus, dll.

Ini adalah elemen utama solusi perusahaan dan, sayangnya, sering dilupakan saat merancang sistem.

Apa itu Sistem Manajemen Siklus Hidup (LCMS)?

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 bukanlah istilah industri atau istilah umum, melainkan hanya nama sistem di Bank kami. LCMS bagi kami bukanlah sistem pelacakan bug, ini bukan sistem Manajemen Insiden dan sistem Manajemen Perubahan.

Apa saja yang termasuk implementasi?

Implementasi solusi terdiri dari banyak masalah teknis dan organisasi:

  • Alokasi kapasitas teknis.
  • Pembelian perangkat lunak.
  • Pembentukan tim untuk mengimplementasikan solusi.
  • Instalasi dan konfigurasi solusi.
  • Pengembangan arsitektur solusi. panutan.
  • Pengembangan dokumentasi operasional, termasuk instruksi, peraturan, desain teknis, peraturan, dll.
  • Mengubah proses perusahaan.
  • Pembuatan tim pendukung. pengembangan SLA.
  • Pelatihan pengguna.
  • Lebih.

Pada artikel ini, kami akan mempertimbangkan aspek teknis implementasi, tanpa detail komponen organisasi.

Fitur Atlassian

Atlassian adalah pemimpin di banyak segmen:

Produk Atlassian memiliki semua fitur perusahaan yang Anda butuhkan. Saya akan mencatat fitur-fitur berikut:

  1. Solusi Atlassian didasarkan pada server web Java Tomcat. Perangkat lunak Apache Tomcat disertakan dengan perangkat lunak Atlassian, sebagai bagian dari penginstalan, Anda tidak dapat mengubah versi Apache Tomcat yang diinstal dengan perangkat lunak Atlassian, meskipun versinya sudah usang dan mengandung kerentanan. Satu-satunya pilihan adalah menunggu pembaruan dari Atlassian dengan versi Apache Tomcat yang lebih baru. Sekarang, misalnya, versi Jira saat ini memiliki Apache Tomcat 8.5.42, dan Confluence memiliki Apache Tomcat 9.0.33.
  2. Antarmuka yang nyaman, penerapan praktik terbaik yang tersedia di pasar untuk kelas perangkat lunak ini.
  3. Solusi yang sepenuhnya dapat disesuaikan. Dengan peningkatan, Anda dapat menerapkan perubahan apa pun dalam fungsi dasar untuk pengguna.
  4. Ekosistem yang dikembangkan Ada beberapa ratus mitra: https://partnerdirectory.atlassian.com, termasuk 16 mitra di Rusia. Melalui mitra di Rusia Anda dapat membeli perangkat lunak Atlassian, plugin, dan mendapatkan pelatihan. Mitralah yang mengembangkan dan memelihara sebagian besar plugin.
  5. App Store (Plugin): https://marketplace.atlassian.com. Plugin sangat meningkatkan fungsionalitas perangkat lunak Atlassian. Fungsionalitas dasar perangkat lunak Atlassian cukup sederhana, untuk hampir semua tugas perlu menginstal plug-in tambahan secara gratis atau untuk uang tambahan. Oleh karena itu, biaya perangkat lunak mungkin jauh lebih tinggi dari perkiraan semula.
    Hingga saat ini, beberapa ribu plugin telah diterbitkan di toko, hampir seribu di antaranya telah diuji dan divalidasi di bawah program aplikasi yang disetujui Pusat Data. Plugin semacam itu dapat dianggap stabil dan cocok untuk digunakan dalam sistem yang sibuk.
    Saya menyarankan Anda untuk mendekati masalah perencanaan plugin dengan hati-hati, ini sangat memengaruhi biaya solusi, banyak plugin dapat menyebabkan ketidakstabilan sistem dan produsen plugin tidak memberikan dukungan untuk menyelesaikan masalah.
  6. Pelatihan dan sertifikasi: https://www.atlassian.com/university
  7. Mekanisme SSO, SAML 2.0 didukung.
  8. Dukungan untuk skalabilitas dan toleransi kesalahan hanya tersedia di edisi Pusat Data. Edisi ini pertama kali muncul pada tahun 2014 (Jira 6.3). Fungsionalitas edisi Pusat Data terus diperluas dan ditingkatkan (misalnya, kemungkinan penginstalan node tunggal hanya muncul di tahun 2020). Pendekatan plug-in untuk edisi Pusat Data telah banyak berubah pada tahun 2018 dengan diperkenalkannya aplikasi yang disetujui Pusat Data.
  9. Biaya dukungan. Biaya dukungan dari vendor hampir sama dengan biaya penuh lisensi perangkat lunak. Contoh penghitungan biaya lisensi diberikan di bawah ini.
  10. Kurangnya rilis jangka panjang. Ada yang disebut Versi perusahaan, tetapi mereka, seperti semua versi lainnya, didukung selama 2 tahun. Dengan perbedaan bahwa hanya perbaikan yang dirilis untuk versi Perusahaan, tanpa menambahkan fungsionalitas baru.
  11. Opsi dukungan yang diperluas (untuk uang tambahan). https://www.atlassian.com/enterprise/support-services
  12. Beberapa varian DBMS didukung. Atlassian hadir dengan database H2 gratis, yang tidak direkomendasikan untuk penggunaan produktif. DBMS berikut didukung untuk penggunaan produktif: Amazon Aurora (Hanya Pusat Data) 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 pertemuan.

Arsitektur teknis

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

Penjelasan untuk skema:

  • Diagram menunjukkan penerapan di Bank kami, konfigurasi ini diberikan sebagai contoh dan tidak disarankan.
  • nginx menyediakan fungsionalitas reverse-proxy untuk Jira dan Confluence.
  • Toleransi kesalahan DBMS diimplementasikan melalui DBMS.
  • Mentransfer perubahan antar lingkungan dilakukan menggunakan Pengelola Konfigurasi untuk plugin Jira.
  • AppSrv dalam diagram adalah server aplikasi pelaporan asli, tidak menggunakan perangkat lunak Atlassian.
  • Database EasyBI dibuat untuk membangun kubus dan pelaporan menggunakan plugin eazyBI Reports and Charts for Jira.
  • Layanan Confluence Synchrony (komponen yang memungkinkan pengeditan dokumen secara bersamaan) tidak dipisahkan menjadi instalasi terpisah dan berjalan bersama dengan Confluence, di server yang sama.

Perizinan

Masalah lisensi Atlassian layak mendapat artikel tersendiri, disini saya hanya akan menyebutkan prinsip umum.
Masalah utama yang kami temui adalah masalah lisensi edisi Data Center. Fitur lisensi untuk edisi Server dan Pusat Data:

  1. Lisensi untuk edisi Server bersifat terus-menerus dan pelanggan dapat menggunakan perangkat lunak bahkan setelah lisensi kedaluwarsa. Namun setelah lisensi berakhir, pembeli kehilangan hak untuk menerima dukungan produk dan memperbarui perangkat lunak ke versi terbaru.
  2. Lisensi didasarkan pada jumlah pengguna dalam sistem izin global 'Pengguna JIRA'. Tidak masalah apakah mereka menggunakan sistem atau tidak - bahkan jika pengguna tidak pernah masuk ke sistem, semua pengguna akan diperhitungkan untuk lisensi. Jika jumlah pengguna berlisensi terlampaui, solusinya adalah menghapus izin 'Pengguna JIRA' dari beberapa pengguna.
  3. Lisensi Pusat Data sebenarnya adalah langganan. Diperlukan biaya lisensi tahunan. Saat jangka waktu berakhir, bekerja dengan sistem akan diblokir.
  4. Biaya lisensi dapat berubah seiring waktu. Seperti yang diperlihatkan oleh latihan, secara besar-besaran dan, mungkin, secara signifikan. Oleh karena itu, jika biaya lisensi Anda tahun ini satu jumlah, tahun depan biaya lisensi dapat meningkat.
  5. Lisensi dilakukan oleh pengguna berdasarkan tingkatan (misalnya, pengguna level 1001-2000). Dimungkinkan untuk meningkatkan ke tingkat yang lebih tinggi, dengan biaya tambahan.
  6. Jika jumlah pengguna berlisensi terlampaui, pengguna baru akan dibuat tanpa hak untuk masuk (izin global 'Pengguna JIRA').
  7. Plugin hanya dapat dilisensikan untuk jumlah pengguna yang sama dengan perangkat lunak utama.
  8. Hanya instalasi produktif yang harus dilisensikan, selebihnya Anda bisa mendapatkan lisensi Pengembang: https://confluence.atlassian.com/jirakb/get-a-developer-license-for-jira-server-744526918.html.
  9. Untuk membeli pemeliharaan, diperlukan pembelian pemeliharaan Perangkat Lunak Pembaruan - biayanya kira-kira 50% dari biaya perangkat lunak asli. Fitur ini tidak tersedia untuk Pusat Data dan tidak berlaku untuk plugin - Anda harus membayar biaya penuh setiap tahun untuk mendukungnya.
    Dengan demikian, biaya dukungan perangkat lunak tahunan lebih dari 50% dari total biaya perangkat lunak untuk edisi Server dan 100% untuk edisi Pusat Data - ini jauh lebih mahal daripada kebanyakan vendor lainnya. Menurut pendapat saya, ini merupakan kerugian yang signifikan dari model bisnis Atlassian.

Fitur transisi dari edisi Server ke Pusat Data:

  1. Transisi dari edisi Server ke Pusat Data berbayar. Harga dapat ditemukan di sini https://www.atlassian.com/licensing/data-center.
  2. Saat beralih dari edisi Server ke Pusat Data, Anda tidak perlu membayar untuk mengubah edisi plugin - plugin untuk edisi Server akan berfungsi. Tetapi perlu memperbarui lisensi untuk plug-in untuk edisi Pusat Data.
  3. Anda dapat menggunakan plugin yang tidak memiliki versi untuk digunakan dengan edisi Pusat Data. Pada saat yang sama, tentu saja, plugin semacam itu mungkin tidak berfungsi dengan benar dan lebih baik memberikan alternatif untuk plugin tersebut terlebih dahulu.
  4. Upgrade ke edisi Pusat Data dilakukan dengan menginstal lisensi baru. Pada saat yang sama, lisensi untuk edisi Server masih tersedia.
  5. Tidak ada perbedaan fungsional antara edisi Pusat Data dan Server untuk pengguna, semua perbedaan hanya pada fungsi administrasi dan kemampuan teknis instalasi.
  6. Biaya perangkat lunak dan plug-in berbeda untuk edisi Server dan Pusat Data. Perbedaan biaya seringkali kurang dari 5% (tidak penting). Contoh perhitungan biaya ditunjukkan di bawah ini.

Lingkup implementasi fungsional

Paket perangkat lunak Atlassian dasar mencakup sejumlah besar fitur, tetapi seringkali fitur yang disediakan oleh sistem sangat kurang. Kadang-kadang bahkan fungsi yang paling sederhana tidak tersedia dalam paket dasar, jadi plug-in sangat diperlukan untuk hampir semua implementasi. Untuk sistem Jira, kami menggunakan plugin berikut (gambar dapat diklik):
Bagaimana menerapkan Atlassian Jira + Confluence di sebuah perusahaan. Pertanyaan teknis

Untuk sistem Confluence, kami menggunakan plugin berikut (gambar dapat diklik):
Bagaimana menerapkan Atlassian Jira + Confluence di sebuah perusahaan. Pertanyaan teknis

Komentar pada tabel dengan plugin:

  • Semua harga didasarkan pada 2000 pengguna;
  • Harga berdasarkan harga yang tertera https://marketplace.atlassian.com, biaya sebenarnya (dengan diskon) lebih rendah;
  • Seperti yang Anda lihat, jumlah totalnya hampir sama untuk edisi Pusat Data dan Server;
  • Hanya plug-in dengan dukungan untuk edisi Pusat Data yang dipilih untuk digunakan. Kami mengecualikan plugin lainnya dari paket, untuk stabilitas sistem.

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

  • Menambahkan beberapa alat visual;
  • Mekanisme integrasi yang lebih baik;
  • Menambahkan alat untuk proyek model air terjun;
  • Menambahkan alat untuk Scrum yang dapat diskalakan untuk mengatur pekerjaan tim proyek besar;
  • Menambahkan fungsionalitas untuk pelacakan waktu;
  • Menambahkan alat untuk mengotomatiskan operasi dan mengonfigurasi solusi;
  • Menambahkan fungsionalitas untuk menyederhanakan dan mengotomatiskan administrasi solusi.

Selain itu, kami menggunakan aplikasi Pendamping Atlassian. Aplikasi ini memungkinkan Anda untuk mengedit file di aplikasi eksternal (MS Office) dan mengembalikannya kembali ke Confluence (check-in).
Aplikasi untuk workstation pengguna (thick client) Klien ALM Works Jira https://marketplace.atlassian.com/apps/7070 memutuskan untuk tidak menggunakan karena dukungan vendor yang buruk dan ulasan negatif.
Untuk integrasi dengan MS Project kami menggunakan aplikasi yang ditulis sendiri yang memungkinkan Anda memperbarui status Masalah di MS Project dari Jira dan sebaliknya. Di masa mendatang, untuk tujuan yang sama, kami berencana menggunakan plugin berbayar Jembatan Ceptah - Plugin Proyek JIRA MS, yang diinstal sebagai add-on untuk MS Project.
Integrasi dengan aplikasi eksternal diimplementasikan melalui Tautan Aplikasi. Pada saat yang sama, integrasi untuk aplikasi Atlassian telah dikonfigurasikan sebelumnya dan berfungsi segera setelah penyiapan, misalnya, Anda dapat menampilkan informasi tentang Masalah di Jira pada halaman di Confluence.
REST API digunakan untuk mengakses server Jira dan Confluence: https://developer.atlassian.com/server/jira/platform/rest-apis.
API SOAP dan XML-RPC tidak digunakan lagi dan tidak tersedia dalam versi baru untuk digunakan.

Kesimpulan

Jadi, kami telah mempertimbangkan fitur teknis penerapan sistem berdasarkan produk Atlassian. Solusi yang diusulkan adalah salah satu solusi yang mungkin dan sangat cocok untuk lingkungan perusahaan.

Solusi yang diusulkan dapat diskalakan, toleran terhadap kesalahan, berisi tiga lingkungan untuk mengatur pengembangan dan pengujian, berisi semua elemen yang diperlukan untuk kolaborasi dalam sistem dan menyediakan berbagai alat manajemen proyek.

Saya akan dengan senang hati menjawab pertanyaan di komentar.

Sumber: www.habr.com