Terapkan adegan
Tim pengembangan perangkat lunak hampir pasti bertemu "pengiriman botol" dalam proses skala: frekuensi pengiriman kode meningkat, tetapi kecepatan akses menjadi lambat; alat dan proses yang berbeda sedang dikembangkan, diuji, dan dijalankan satu sama lain, membutuhkan kontak manual antara tiga orang dan sistem pada suatu waktu; perbedaan lingkungan membuat "menjalankan mesin saya" argumen verbal; dan kegagalan baris, yang membutuhkan sejumlah log, dan hilangnya pengguna ketika masalah ditemukan.
Masalahnya bukan tim yang bekerja keras, tapi yang itu.Kurangnya sistem otomatis dan norma kolaborasi menghubungkan pengembangan, pengujian, penyebaran, transportasi dan komunikasiAdegan yang dijelaskan di sini adalah untuk tim perangkat lunak yang berharap untuk membangun standar praktik DevOps dan kemampuan pengiriman terus menerus, dan ditampilkan pada halamanZhiHua Tech (Shanghai e- Seok- shu Hsien- Shui Informasi Teknologi Ltd.)Sistem konstruksi dan metode pengiriman DevOps yang tersedia tidak mewakili pengungkapan data untuk klien tertentu.
Tantangan operasional yang khas
Siklus rilis panjang, operasi manual ganda dan tingkat kesalahan tinggi
- Bangun dan sebarkan secara manualPaket manual, server upload manual, layanan restart manual setelah kode dikembangkan - versi sederhana mungkin memakan waktu setengah jam untuk memperbarui. Setiap rilis adalah operasi stres, dan kebocoran sedikit dapat gagal.
- Inkoherensi lingkunganAda perbedaan tersembunyi antara lingkungan pembangunan, lingkungan tes, lingkungan prapublikasi dan lingkungan produksi - versi sistem operasi, konfigurasi perantara, ketergantungan pada perpustakaan nomor versi kecil. Perbedaan ini menyebabkan keganjilan yang terus menerus setelah kode yang diteruskan oleh tes dikerahkan untuk produksi.
- Kurangnya mekanisme roll- back standar: Ketika kerusakan serius terdeteksi setelah rilis, rollback tergantung pada operasi manual dan bahkan pada pemulihan cadangan, dan waktu rollback diukur dalam jam daripada menit.
2. Umpan balik yang tertunda dari kualitas pengujian dan bathom-up manual
- Rantai tes adalah botol.Tim pengembangan terus menulis kode ke depan, dan pada saat tes kembali, perkembangan telah berjalan jauh, berdasarkan kode lama, dan perbaikan Bug telah menjadi "keraguan psikologis" yang menyakitkan.
- Tes regresi tidak cukupKasus runback manual sebelum rilis, terbatas pada waktu dan tenaga kerja, biasanya hanya mencakup proses utama. Marginalisasi dan degradasi sering terdeteksi setelah keluhan pengguna.
3. Rendah diamati online dan pasif respon kegagalan
- Log tersebar dan sulit untuk terhubungDi bawah arsitektur microseresters, permintaan pengguna mungkin span 5- 10 contoh layanan. Log layanan tersebar di server yang berbeda, dan masalah dicentang pada sebuah basis log -by- baris, tanpa serial trackID tunggal.
- Kita terlambat untuk pengawasan.Aturan alarm luas - sering hanya ketika jumlah pengguna telah menurun secara signifikan dan bisnis telah rusak - dan memicu alarm.
Programme desain berpikir
1. Bangunan baris aliran CI / CD standar
- Pemicu pengiriman kode: Pengembangan kode Push ke suatu cabang spesifik secara otomatis memicu pembangunan dari sebuah baris stream - kompile, unit, scan kode (SonarQube), pemindaian aman, konstruksi cermin. Jika ada hubungan yang gagal, pengembang menerima pemberitahuan instan dalam IDE atau Enteprrise IM.
- Layanan lingkunganLingkungan uji dan pra-pengiriman didefinisikan oleh definisi standar infrastruktur, atau kode (terraform / Ansible), dan setiap anggota tim dapat menciptakan lingkungan lengkap oleh satu kunci.
- Pelepasan dan penyebaran skala kelabu: Produksi rilis pertama kali dikerahkan 5-10%, dan pengamatan indikator inti (kesalahan, penundaan, data bisnis) adalah normal, dan skala hingga volume penuh. Otomatis, rollback dipicu ketika anomali terjadi.
Pembangunan sistem pengujian otomatis
- Uji Pyramid: Sejumlah besar unit tes (cepat, kredibel) Tes integrasi yang tepat sejumlah kecil tes-to-end.
- Automatisasi dari tes regresi: Tingkat kinerja dari antar muka kunci secara otomatis diuji dalam setiap pembangunan. Jika sebuah pengiriman menghasilkan penundaan dalam sebuah antar muka P99 melebihi ambang batas, pembangunan otomatis menandai sebagai kegagalan.
3, semua unit.
- Pelacakan log dan link unified: Berdasarkan ELK / Loki + OpenTelemetri, semua log layanan dikumpulkan dan dimasukkan ke TraceID. Masukkan sebuah TraceID ketika mencari pertanyaan untuk melihat waktu yang diambil untuk memanggil link penuh dan setiap node.
- D.D. Watch dan alarm cerdas.Infrastruktur pemantauan (CPU / RAM / disk / jaringan) + Aplikasi pemantauan (QPS / delay / mispationary) + Operasional pemantauan (lower / pembayaran sukses) dihubungkan dengan tiga lapisan. Alarm mendukung same-to-symmetric / ring deteksi untuk menghindari salah pelaporan dan underreporting dari batas tetap.
Scope kapasitas sistem
Manajemen Kode dan Pembangunan
- GitFlow / Trunk- Based
- Pembangunan dan manajemen terintegrasi bagi proyek multimodul
- Bilah pintu kualitas kode: pemindaian statis, deteksi jarak keamanan, pemeriksaan cakupan uji
- Manajemen terpadu dari gudang produk (Docker mirror / JAR / WAR / NPM paket)
Integrasi dan penyebaran
- Jenkins / Gitlab CI / GitHub Actions Waterline
- Multi- lingkungan otomatis penyebaran (pengembangan / tes / pra- publikasi / produksi)
- Greyscale rilis, Blue Green penyebaran, strategi update bergulir
- Isu aliran persetujuan dan otomatisasi dari catatan perubahan
Uji otomatis
- Tes Modul / Tes Terpadu / End-to-end Tes Lapisan
- Performance benchmark and regresi test
- Menghubungkan tes kontrak (Pact) untuk memastikan intercompatibility layanan
- Tes Mesh kekacauan untuk memverifikasi ketahanan
Platform yang dapat Disertakan
- ELK / Grafana Loki Platform Log Tengah
- Prometheus + Grafana Indicator Monitoring dan Visualisasi
- OpenTelemetri, pelacakan penuh-link.
- + Multi-channel pemberitahuan (cruising / micro / fly book / PagerDuty)
Infrastruktur adalah kode
- Organisasi Sumber Daya Awan Terraform / Pulumi
- Ansible / SaltStack Configment Management
- Manajemen Kubernetes Cluster dan Auto- Scalp
- Deplosi Aplikasi Standar Pajak
Dikirim
| Tahap | Pengiriman | Elemen utama |
|---|---|---|
| perakit DevOps | Diagnosis dari situasi saat ini | Proses penelitian dan pengembangan saat ini dan alat penilaian rantai, kuantifikasi dari titik-titik rasa sakit, tingkat kedewasaan dan peta jalan untuk perbaikan |
| Saluran airnya berfungsi. | CI / CD baris kini | Konstruksi yang dapat beroperasi, pengujian dan penyebaran garis streaming, termasuk pemindaian kode, pengujian keamanan dan integrasi pengujian otomatis |
| Sistem kontrol | Platform Observasional | Logs / indikator / link selesai, aturan kunci peringatan yang dikonfigurasikan, pengantaran disk besar yang dipantau |
| Dokumen Regulasi | Kodebook DevOps | Kebijakan branch, proses Review Kode, proses rilis, proses rollback, tugas dan standar respon darurat |
| Tim pemberdayaan. | Latihan dan latihan | Pelatihan operasi rantai peralatan, Pertahanan Darurat (Hari Permainan), Templat Fragment Ryay dan pelacakan lebih baik |
Orientasi nilai yang diperluas
- Keduanya frekuensi dan kemampuan terpercaya dari rilis: Sampai dan bahkan lebih sering, rilis bulanan dikeluarkan atas permintaan, dengan setiap rilis secara signifikan berkurang oleh satu set perubahan kecil.
- 70% +Penghapusan koneksi buatan dan link menunggu melalui garis aliran otomatis.
- Rata-rata waktu perbaikan malfungsi (MTTR) dikompresi dari orang tua ke satu menit: pelacakan rantai penuh + alarm pintar, akar posisi tidak lagi menebak.
- Teamworks berubah dari serial dan sebagainya menjadi "berebut bersama".: Pelayanan lingkungan, umpan balik otomatis, pengembangan dan QA tidak lagi menunggu satu sama lain.
Tahu lebih lanjut:
- Transportasi Pengiriman Produk - Automasi ZhiHua Tech Pemindahan, Pemantauan Layanan Sandera Alerts dan Transportasi
- Pengembangan Perangkat Lunak Kustodial - System- spesifik desain dan pengembangan untuk proses bisnis unik
- Pemandu kerja sama dan pengiriman proyek - proses kolaboratif lengkap dari komunikasi permintaan ke penerimaan dan inspeksi
- Saran gratis - komunikasikan kebutuhan spesifik Anda dengan tim ZhiHua Tech
Perlu analisis lebih lanjut dalam konteks negara saat ini perusahaan?
Kami memberikan saran teknis IT, konstruksi informasi perusahaan, proyek perangkat lunak Outlook, aplikasi perusahaan FDE AI dan perangkat lunak desain produk dan jasa pengiriman.