Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Toolchain DevOps adalah kumpulan alat yang memungkinkan tim DevOps berkolaborasi di seluruh siklus hidup produk dan untuk mengatasi dasar-dasar DevOps utama.
Alat toolchain DevOps termasuk beroperasi sebagai unit terintegrasi untuk perencanaan, integrasi berkelanjutan, pengiriman berkelanjutan, operasi, kolaborasi, dan umpan balik. Anda dapat meninjau beberapa contoh teknologi DevOps di berbagai tahap DevOps dalam Menentukan ekosistem teknologi DevOps Anda.
Pertimbangan toolchain DevOps
Proses DevOps sudah dapat digunakan di seluruh organisasi Anda saat Anda memilih toolchain. Anda harus menemukan keseimbangan yang tepat antara adopsi teknologi yang sesuai dengan kebutuhan tim Anda dan tujuan standardisasi dan menghindari ekosistem DevOps heterogen di seluruh organisasi Anda.
Anda dapat mengadopsi berbagai jenis toolchain DevOps:
- All-in-one: Menyediakan solusi lengkap yang mungkin tidak terintegrasi dengan alat pihak ketiga lainnya. Toolchain all-in-one dapat berguna bagi organisasi yang memulai perjalanan DevOps mereka. Contoh: Toolchain Azure DevOps tumpukan penuh.
- Disesuaikan: Memungkinkan tim untuk membawa dan mencampur alat yang ada yang mereka kenal dan sudah digunakan ke dalam toolchain DevOps yang lebih luas. Integrasi sangat penting untuk jenis toolchain ini untuk menghindari peralihan waktu yang tidak perlu di antara layar, masuk ke beberapa tempat, dan memiliki tantangan untuk berbagi informasi antar alat. Contoh: Azure DevOps dan toolchain GitHub.
Pertimbangkan untuk menggunakan toolchain yang diperbarui secara berkala dan yang memiliki bantuan tersedia kapan pun Anda membutuhkannya melalui email atau portal online. Ini adalah persyaratan untuk produk atau layanan apa pun yang berada di jalur kritis ke pasar.
Planning
- Pertimbangkan untuk mengadopsi alat yang mendukung praktik Perencanaan Berkelanjutan :
- Perencanaan rilis
- Identifikasi epik dan fitur
- Prioritas
- Estimasi
- Definisi cerita pengguna
- Penyempurnaan backlog
- Perencanaan sprint
- Scrum Harian
- Tinjauan sprint
- Retrospektif
Integrasi Berkelanjutan dan Pengiriman Berkelanjutan
- Saat menerapkan Integrasi Berkelanjutan (CI)/Pengiriman Berkelanjutan (CD), pertimbangkan untuk mengadopsi alat yang mendukung:
- Sistem Kontrol Versi. Semua yang ada dalam proyek Anda harus diperiksa ke repositori kontrol versi tunggal seperti Git: kode, pengujian, skrip database, skrip build dan penyebaran, dan apa pun yang diperlukan untuk membuat, menginstal, menjalankan, dan menguji aplikasi Anda.
- Strategi percabangan.
- Build otomatis.
- Pilihan repositori Anda juga dipengaruhi oleh persyaratan kedaulatan/residensi data. Jika Anda memerlukan data Anda untuk dihosting secara lokal di negara/wilayah selain AS, Anda memerlukan repositori Azure DevOps saat Repositori GitHub tidak dapat digunakan.
- Untuk meminimalkan jumlah konfigurasi manual yang diperlukan untuk menyediakan sumber daya, pertimbangkan untuk mengadopsi Infrastruktur sebagai Kode (IaC). IaC memungkinkan Anda menerapkan praktik rekayasa perangkat lunak seperti pengujian dan penerapan versi, yang membuat infrastruktur dan penyebaran otomatis, konsisten, dan berulang. Simpan skrip dan templat di bawah kontrol sumber seperti kode lain yang Anda pertahankan.
- Mengadopsi alat pemindaian kode untuk membantu Anda mendeteksi cacat kode sesegera mungkin. Sertakan pemeriksaan pra-penyebaran untuk memvalidasi dan mengonfirmasi perubahan sebelum penyebaran apa pun (Contoh: fungsi "bagaimana-jika").
- Alat CI/CD mempercepat waktu pasar untuk produk Anda. Alat yang memungkinkan Anda untuk menyejajarkan tugas dan memanfaatkan skalabilitas elastis pada infrastruktur yang dihosting cloud meningkatkan performa proses CI/CD Anda.
- Pertimbangkan untuk menggunakan fitur alat CI/CD yang mendukung ukuran performa DevOps. Dasbor dan pelaporan dapat melacak aspek proses pengembangan Anda seperti waktu tunggu, waktu siklus, kecepatan kerja, dan sebagainya.
Operasi Berkelanjutan
Operasi Berkelanjutan adalah fokus yang membantu organisasi menjaga kelangsungan output antara sistem internal dan pelanggan melalui pengiriman layanan atau fungsi penting yang tidak terganggu. Tujuan Operasi Berkelanjutan adalah:
- Untuk mengurangi atau menghilangkan kebutuhan akan waktu henti atau gangguan yang direncanakan seperti pemeliharaan terjadwal, pengoptimalan kapasitas, dan penyebaran.
- Untuk meningkatkan keandalan dan ketahanan sistem secara keseluruhan dalam tiga aspek: dengan orang, proses, dan alat.
Gunakan alat cloud-native untuk:
- Pantau metrik utama untuk performa dan ketersediaan layanan.
- Dapatkan pengalaman digital dan wawasan pelanggan.
-
Hasilkan respons berbasis kecerdasan untuk insiden, pemulihan sistem, atau penskalaan.
- Diagnostik Azure dan Application Insights adalah metode standar untuk melacak kesehatan dan status sumber daya Azure. Azure Monitor juga menyediakan pemantauan dan manajemen terpusat untuk solusi cloud atau hibrid.
- Mengotomatiskan pemeliharaan dan tugas proaktif seperti penyebaran atau pembaruan sistem.
- Azure Automation adalah alat cloud-native yang dapat Anda gunakan untuk membuat otomatisasi berbasis peristiwa untuk mendiagnosis dan mengatasi masalah.
Kolaborasi dan umpan balik
Perulangan umpan balik yang cepat menjadi inti dari proses CI/CD. Alat CI/CD menggunakan umpan balik untuk mengatasi kondisi dalam logika alur kerja CI/CD dan menampilkan informasi kembali kepada pengguna, biasanya melalui dasbor.
Dukungan untuk pemberitahuan email dan integrasi dengan ID Atau platform komunikasi memastikan Anda dapat tetap mendapatkan informasi tentang apa yang terjadi tanpa harus memeriksa dasbor. Pastikan Anda memiliki fleksibilitas untuk mengonfigurasi pemberitahuan mana yang Anda terima, karena mendapatkan terlalu banyak pemberitahuan mengubahnya menjadi kebisingan latar belakang.
Alat apa pun yang Anda pilih untuk kolaborasi harus mendukung praktik kolaborasi berikut:
- Kolaborasi Kanban
- Kolaborasi konten Wiki
- Kolaborasi ChatOps
- Ruang tim
Rekomendasi toolchain DevOps untuk Zona Pendaratan Azure
Toolchain DevOps untuk implementasi Azure Landing Zone harus mempertimbangkan semua fase DevOps yang dibahas sebelumnya:
- Planning
- CI/CD (termasuk kemampuan otomatisasi seperti Infrastruktur sebagai kode)
- Operations
- Kolaborasi dan umpan balik
Tinjau panduan untuk penyebaran dan pertimbangan zona pendaratan untuk memilih opsi implementasi dalam Memilih adopsi zona pendaratan.
Terlepas dari metodologi yang dipilih (mulai dari kecil dan luaskan atau skala perusahaan), ada beberapa topologi umum yang cenderung diikuti perusahaan saat mereka merancang alur kerja dan toolchain DevOps mereka.
- Toolchain Azure DevOps tumpukan penuh: Untuk perusahaan yang sudah banyak berinvestasi dalam ekosistem Microsoft, topologi ini memungkinkan mereka untuk memanfaatkan sepenuhnya integrasi asli antara produk dan layanan Microsoft dan menyederhanakan proses utama.
- Toolchain Azure DevOps dan GitHub: Topologi ini memungkinkan Anda menggunakan kekuatan Azure dan GitHub sebagai bagian dari solusi yang terintegrasi dengan baik.
Toolchain Azure DevOps tumpukan penuh
| Tahap DevOps | Tools |
|---|---|
| Planning | Azure Boards menyediakan kemampuan perencanaan yang kuat dan fleksibel kepada pengembang dan persona lain, termasuk backlog hierarkis, papan Kanban yang dapat disesuaikan, kustomisasi proses yang kaya, dasbor tim, dan pelaporan kustom. |
| CI/ CD | Azure Repos memungkinkan Anda membuat repositori Git privat, dan mendukung klien Git, strategi percabangan, dan perlindungan yang berbeda. Azure Repos juga menyediakan residensi data yang dilokalkan di cloud untuk memungkinkan kepatuhan terhadap peraturan Eropa. Azure Pipelines memungkinkan pelanggan menyiapkan alur otomatis untuk CI/CD, termasuk untuk pelaporan pengujian tingkat lanjut, dan memberikan dukungan yang kuat untuk alur multistage. Izin mendetail, gerbang, pemeriksaan kustom, dan pelaporan hasil pengujian otomatis di Azure Pipelines membantu Anda menerapkan praktik terbaik keamanan, kepatuhan, dan penyebaran yang aman di organisasi Anda dan mendukung eksekusi dan skalabilitas langkah paralel. Azure Artifacts menyediakan umpan untuk menyimpan paket dan untuk meninjau dan memvalidasi setiap paket untuk tujuan keamanan, dan juga menyediakan kontrol dan audit izin terperinci. Azure Test Plans di Azure DevOps menyediakan solusi manajemen pengujian berbasis browser untuk pengujian eksplorasi, manual, dan penerimaan pengguna. Pengguna Azure Test Plans juga biasanya menggunakan Azure Boards untuk perencanaan dan manajemen proyek. Anda dapat menautkan cerita pengguna dan persyaratan lain untuk menguji kasus dan dapat mendokumen bug yang ditemukan melalui pengujian. Mengadopsi ekstensi Marketplace untuk DevOps untuk meningkatkan analisis kode statis dengan alat seperti Pemindai kredensial, pemindai sumber terbuka, pemindai Bug dan Kerentanan, dan banyak lagi. |
| Operations | Dasbor dan pelaporan Azure menyediakan pelaporan kustom untuk membantu Anda memantau metrik performa layanan utama. Diagnostik Azure dan Application Insights adalah metode standar untuk melacak kesehatan dan status sumber daya Azure. Azure Monitor menyediakan pemantauan dan manajemen terpusat. Azure Automation dapat digunakan untuk membuat otomatisasi berbasis peristiwa untuk mendiagnosis dan mengatasi masalah. Defender for Cloud DevOps menggunakan konsol pusat untuk memberdayakan tim keamanan dengan kemampuan untuk melindungi aplikasi dan sumber daya dari kode ke cloud di seluruh lingkungan multi-alur, termasuk Azure DevOps dan GitHub. |
| Kolaborasi dan Umpan Balik | Azure DevOps Wiki memungkinkan Anda berbagi informasi dengan anggota tim lain dan mendukung pengeditan konten dan strukturnya secara kolaboratif. Azure Boards menyediakan kolaborasi dan dukungan Kanban untuk komentar dan diskusi dalam item backlog. |
Toolchain Azure DevOps dan GitHub
| Tahap DevOps | Tools |
|---|---|
| Planning | Azure Boards menyediakan solusi yang stabil dan dapat diskalakan untuk perencanaan, manajemen repositori, visualisasi data, dan organisasi item kerja hierarkis. Ini terintegrasi dengan GitHub, sehingga Anda dapat menautkan item kerja dan penerapan GitHub. Ini juga memungkinkan Anda untuk memilih alur kerja ideal Anda, apakah itu alur kerja yang sederhana dan di luar kotak atau alur kerja kustom yang Anda buat dengan mesin kustomisasi Azure Boards yang kuat dan fleksibel. Saat Anda perlu memvisualisasikan data Anda, Azure Boards membantu Anda dengan mudah membangun dan mengonfigurasi dasbor kustom dan memantau kemajuan sepanjang siklus hidup proyek Anda. |
| CI/ CD | Gunakan GitHub Enterprise (GHE) versi GitHub, yang mencakup GitHub Repo, GitHub Advanced Security (GHAS), dan GitHub Advanced Security untuk Azure DevOps. GHAS mencakup CodeQL, Pemindaian Kode, Pemindaian Rahasia, dan Tinjauan Dependensi. GHE juga menawarkan Codespaces, IDE cloud yang dapat Anda gunakan untuk mengembangkan kode dan yang dapat menggantikan Visual Studio Code, organisasi mana yang biasanya disertakan dalam skenario Azure DevOps tumpukan penuh. Anda dapat menggunakan GitHub Actions untuk mengotomatiskan alur kerja non-build jika repositori Anda berada di GitHub. Jika Anda memiliki skenario yang lebih kompleks di mana Anda perlu mengakses kode dari luar GitHub atau memerlukan manajemen terpusat untuk templat alur kerja dan alur build, adopsi Azure Pipelines. Untuk Azure Boards, Anda dapat mengintegrasikan Azure Pipelines dengan repositori GitHub. Untuk mempelajari tentang mengintegrasikan Azure DevOps dan GitHub, lihat Bekerja dengan Azure DevOps dan GitHub. Paket GitHub adalah layanan paket perangkat lunak yang memungkinkan Anda menghosting paket Anda sendiri secara privat atau publik. GitHub menawarkan dukungan registri kontainer untuk menghosting gambar Docker atau OCI. Anda memerlukan token akses untuk menerbitkan, menginstal, atau menghapus paket dan menjaga keamanan manajemen siklus hidup paket Anda. Untuk mengotomatiskan paket, Anda dapat mengintegrasikan Paket GitHub dengan GitHub Actions, GITHub API, dan webhook untuk membuat alur kerja DevOps yang mencakup kode, CI, dan penyebaran semuanya dalam satu antarmuka. |
| Operations | GitHub Insights menyediakan laporan analitik berdasarkan data dari instans GitHub Enterprise Server Anda untuk membantu Anda memahami dan meningkatkan proses pengiriman perangkat lunak Anda. Untuk diagnostik dan manajemen Zona Pendaratan, gunakan layanan Azure yang direkomendasikan dalam skenario Azure DevOps tumpukan penuh . |
| Kolaborasi dan umpan balik | Anda dapat menggunakan Diskusi GitHub untuk berbagi pertanyaan, ide, percakapan, permintaan komentar (RFC), perencanaan sumber daya, dan pengumuman. Gunakan Azure Boards untuk membangun dan mengonfigurasi dasbor kustom dengan mudah dan memantau kemajuan sepanjang siklus hidup proyek Anda. Mengadopsi Microsoft Teams untuk pengalaman kolaborasi tim yang lengkap. |