Laporan DORA 2019: Cara Ngapikake Efisiensi DevOps

Laporan DORA 2019: Cara Ngapikake Efisiensi DevOps

Sawetara taun kepungkur, akeh organisasi sing ndeleng DevOps minangka eksperimen sing janjeni tinimbang pendekatan utama kanggo pangembangan piranti lunak. DevOps saiki dadi set praktik pangembangan lan panyebaran lan alat sing bisa nyepetake rilis produk anyar lan nambah produktivitas. Sing luwih penting, pengaruh DevOps yaiku tuwuhing bisnis sakabèhé lan tambah bathi.

tim Solusi Cloud Mail.ru dijarwakake paling menarik saka 2019 Accelerate State of DevOps Report, disusun dening ahli DevOps Research & Assessment (DORA). Panaliten kasebut melu 31 spesialis saka sak ndonya. Ayo goleki apa sing diganti ing industri ing taun 000 lan kepiye bisnis bisa nambah efisiensi pangiriman piranti lunak.

Kepiye Ukuran Industri lan Perusahaan Ngaruhi Negara DevOps

Panaliten kasebut ora nemokake korélasi antara kinerja DevOps lan industri organisasi, kajaba ritel, sing kinerjane luwih apik. Iki, utamane, amarga kasunyatane para pengecer kudu cepet nanggapi fluktuasi permintaan lan kabutuhan pelanggan. Miturut panaliten kasebut, perusahaan apa wae bisa entuk tingkat DevOps sing dhuwur, kalebu sektor finansial lan sektor publik.

Kinerja DevOps ing perusahaan sing duwe karyawan luwih saka 5000 luwih murah tinimbang ing perusahaan sing kurang saka 5000 karyawan. Kemungkinan, iki amarga kasunyatan manawa organisasi gedhe duwe proses sing luwih gedhe, kontrol sing luwih ketat, lan arsitektur sistem IT sing luwih rumit, sing ngenalake wektu tundha ing proses ngembangake lan nggulung kode. Ing wektu sing padha, para ahli percaya yen ukuran perusahaan ora ngalangi sukses ing mbangun DevOps, mung mbutuhake gaweyan luwih akeh ing sawetara kasus.

Cara netepake level DevOps ing perusahaan

Para ahli mbandhingake proses DevOps menyang pathokan, mbagi responden survey dadi papat klompok sing paling apik, apik, rata-rata lan ora apik.

Kanggo laporan kasebut, kita njupuk papat metrik utama kanggo ngevaluasi efektifitas DevOps: wektu kanggo ngrampungake owah-owahan ing pangembangan piranti lunak, frekuensi penyebaran, tingkat kegagalan lan wektu pemulihan.

Papat tingkat DevOps - evaluasi ing endi perusahaan sampeyan:

Metrik kanggo netepake efektifitas pangiriman piranti lunak kanggo layanan lan aplikasi utama perusahaan

Tim kanthi rekor paling apik

Tim kanthi kinerja apik

Rata-rata Tim

Tim performa kurang

Frekuensi panyebaran
Sepira kerepe perusahaan nyebarake kode menyang produksi utawa diluncurake menyang pangguna pungkasan.

Yen dijaluk, sawetara penyebaran saben dina

Saka sedina nganti sepisan seminggu

Saka sapisan seminggu nganti sapisan sasi

Sewulan sepisan / pirang-pirang wulan

Ganti wektu eksekusi
Suwene wektu kanggo pindhah saka tes menyang piranti lunak sing sukses ing produksi?

Kurang saka sedina

Saka sedina nganti seminggu

Saka seminggu nganti sasi

Saka sasi nganti nem sasi

wektu Recovery Service
Suwene wektu sing dibutuhake kanggo mulihake layanan sawise kedadeyan utawa bug sing mengaruhi pangguna.

Kurang saka jam

Sajrone dina

Ing seminggu

Saka minggu nganti sasi

Ngganti tingkat kegagalan
Apa persentase nganyari utawa rilis anyar nyebabake layanan sing rusak lan mbutuhake perbaikan?

0-15%

0-15%

0-15%

46-60%

Panaliten kasebut nuduhake tren ing ngisor iki: jumlah tim kanthi kinerja dhuwur meh tikel kaping telu, mundhak saka 7% kabeh responden ing 2018 dadi 20% ing 2019.

Laporan DORA 2019: Cara Ngapikake Efisiensi DevOps
Distribusi tim pangembangan miturut tingkat kinerja.

Dibandhingake karo tim ing grup berkinerja rendah, tim DevOps kanthi kinerja dhuwur:

  1. Nindakake panyebaran kode kaping 208 luwih akeh.
  2. Ngginakaken 106 kaping kurang wektu panyebaran kode.
  3. Kita nemoni kegagalan 7 kaping luwih asring.
  4. Piranti lunak dibalekake 2,604 kaping luwih cepet sawise gagal.

Kajaba iku, tim DevOps sing berkinerja dhuwur kaping pindho bisa ketemu utawa ngluwihi metrik kinerja organisasi minangka tim sing berkinerja rendah.

Akeh ahli mikir yen ora mungkin kanggo nambah kabeh indikator ing wektu sing padha; Mangkono, sawetara percaya yen nambah kacepetan rilis bisa mengaruhi linuwih proses pangiriman piranti lunak lan panyedhiya layanan. Nanging, riset wis nuduhake yen kacepetan lan konsistensi asil ora mung siji.

Aku ora weruh apa-apa sing nggumunake ing wutah ing jumlah tim DevOps iku alam: filsafat DevOps saiki populer, lan nomer startups akeh.

Nanging, miturut pendapatku, para ahli milih paramèter sing ora bener kanggo ngevaluasi efektifitas DevOps.

Ngevaluasi adhedhasar kacepetan kode rollout, paling ora aneh. Iki mung ditrapake kanggo wiwitan, ing ngendi parameter utama yaiku kacepetan nggawa produk menyang pasar, lan asring produk kasebut diluncurake ing wangun mentah. Ing kahanan kasebut, mekanisme sing nyepetake pangembangan lan pangiriman menyang produksi penting banget. Nanging kanggo piranti lunak sing wis mapan, kayata piranti lunak finansial utawa medis, parameter tingkat kegagalan bisa uga ora ana - kegagalan bisa uga ora bisa ditampa.

Semono uga karo wektu pemulihan layanan: kanggo layanan apa wae sing dikembangake kudu diwilang sajrone sawetara detik, nanging kanggo akeh layanan sing ora bisa ditrima, teknologi rollout sing lancar (contone ijo / biru) diciptakake.

Uga, sampeyan ora kudu fokus ing jumlah panyebaran kode - gumantung saka kabutuhan lan kompetensi tim pangembangan. Yen panyebaran kalebu nambah fungsi anyar, iku salah siji, nanging yen kalebu mbenerake kesalahan sing ditindakake sajrone panyebaran sadurunge, iki pancen beda.

Denis Romanenko, ahli freelance ing Mail.ru Cloud Solutions

Cara Ngapikake Proses DevOps

Laporan kasebut nampilake rong wilayah sing bakal mbantu nambah DevOps: nambah efisiensi pangembangan lan pangiriman piranti lunak lan nambah produktivitas pekerja.

Laporan DORA 2019: Cara Ngapikake Efisiensi DevOps
Saben wilayah kalebu komponen dhewe, kanthi nambah sampeyan bisa nggayuh tujuan sing dikarepake.

Miturut laporan kasebut, kunci transformasi digital yaiku budaya perusahaan. Tim DevOps kanthi kinerja dhuwur mbutuhake budaya kepercayaan lan keamanan psikologis, rasa kinerja, lan tujuan sing jelas. Lingkungan iki ngidini anggota tim nggawe keputusan sing tepat, menehi pendapat, lan dadi luwih kreatif.

Teknologi awan, pangiriman terus-terusan, tes pemulihan bencana, lan manajemen pangowahan uga bakal mbantu ningkatake efisiensi pangembangan lan pangiriman piranti lunak. Produktivitas bisa ditambah kanthi nandur modal ing alat sing gampang digunakake, nyuda utang teknis-yaiku, nyuda persentase kode sing ora efektif lan teknologi sing wis kadaluwarsa-nyelenggarakake basis pengetahuan perusahaan lan akses menyang solusi eksternal.

Aku mikir yen metodologi lan ideologi DevOps persis manawa proses kasebut ora gumantung ing kahanan eksternal, kayata awan utawa hardware sampeyan dhewe. Awan kasebut ora liya minangka alat, ing sawetara panggonan bakal mbantu, ing liyane bakal ngalangi utawa ora dikarepake.

Denis Romanenko, ahli freelance ing Mail.ru Cloud Solutions

Ing ngisor iki kita bakal ndeleng sawetara komponen kanggo nambah efisiensi tim DevOps.

Teknologi awan mbisakake sukses DevOps

Ing taun 2019, luwih akeh organisasi milih solusi awan sing nambah produktivitas tim DevOps kanthi signifikan.

Laporan DORA 2019: Cara Ngapikake Efisiensi DevOps
Infrastruktur apa sing digunakake tim DevOps?

DORA ketemu sing 80% saka responden Panggonan aplikasi utawa layanan inti ing platform maya. Nanging, mung 29% responden sing wis ngetrapake kabeh limang ciri awan inti Institut Standar lan Teknologi Nasional - standar sing paling penting kanggo netepake nilai awan ing DevOps.

Характеристика

Persentase pangguna

Self-layanan ing dikarepake
Konsumen bisa kanthi otomatis nyedhiyakake sumber daya komputasi
yen perlu, tanpa partisipasi panyedhiya.

57%
(+ 11% wiwit 2018)

Akses jaringan sing wiyar
Kapabilitas awan kasedhiya liwat macem-macem platform,
kayata ponsel, tablet, laptop lan workstation.

60%
(+ 14% wiwit 2018)

Kolam Sumber Daya
Sumber daya panyedhiya digabungake dadi model multi-tenant, ing ngendi sumber daya fisik lan virtual ditugasake kanthi dinamis nalika dikarepake.

58%
(+ 15% wiwit 2018)

Skalabilitas lan elastisitas
Skala sumber daya kanthi horisontal utawa vertikal sing dikarepake, meh ora ana watesan lan bisa ditanggepi ing jumlah apa wae.

58%
(+135 wiwit 2018)

transparan
Sistem awan kanthi otomatis ngawasi, ngoptimalake lan nglaporake panggunaan sumber daya gumantung saka jinis layanan: panyimpenan lan pangolahan data, jumlah lalu lintas,
akun pangguna aktif.

62%
(+ 14% wiwit 2018)

Platform minangka Layanan (PaaS) saya tambah maju menyang model penyebaran sing dipusatake ing wadhah. Platform awan nggawe luwih gampang kanggo nyebarake piranti lunak, mula tim mung kudu kuwatir babagan mbukak kode aplikasi kasebut. Skala, perencanaan sumber daya, administrasi lan pangopènan infrastruktur uga ditransfer menyang panyedhiya.

Kanggo panyedhiya awan, panyedhiya macem-macem layanan dadi standar universal: jaringan mesin virtual, manajemen identitas lan akses (IAM), panyimpenan lan database, learning machine, Internet of Things (IoT), solusi wadah, solusi keamanan lan liya-liyane .

Klien panyedhiya maya mung mbayar sumber daya sing digunakake, sing nyedhiyakake transparansi biaya, ora kaya pusat data tradisional sing informasi babagan biaya pangembangan angel utawa ora bisa dipikolehi. Responden saka perusahaan sing cocog karo karakteristik maya sing kasebut ing ndhuwur yaiku 2,6 kaping luwih bisa ngira biaya piranti lunak sing digunakake, 2 kaping luwih ngerti aplikasi sing mbutuhake sumber daya luwih akeh, lan 1,65 kaping luwih cenderung tetep ing anggaran IT.

Kadhangkala ternyata nyewa spesialis sing kompeten lan njupuk kapasitas sing diparengake ing pusat data luwih nguntungake tinimbang mbayar awan. Pilihan sing luwih apik gumantung saka profil lan skala perusahaan, kasedhiyan staf spesialis IT lan keahliane dhewe. Contone, awan trep digunakake nalika miwiti bisnis utawa yen perusahaan ora duwe departemen IT dhewe. Nalika nggawe skala, bisa uga luwih larang kanggo njaga kabeh utawa sebagian infrastruktur ing lokasi kasebut.

Denis Romanenko, ahli freelance ing Mail.ru Cloud Solutions

Praktik Teknis DevOps

Akeh organisasi sing pengin ngetrapake DevOps nggoleki set pedoman utawa praktik paling apik. Nanging, ora ana rong perusahaan sing padha, mula praktik sing dipilih gumantung saka kahanan bisnis saiki lan tujuane.

Sing dikandhakake, ana wilayah umum sing bisa mbantu ningkatake kinerja DevOps: sawetara dikembangake ing tingkat tim, liyane mbutuhake upaya ing tingkat organisasi.

Apa wilayah wutah sing disorot kanggo tim DevOps ing 2019:

Ing tataran organisasi

  • arsitektur gandeng longgar
  • implementasine saka owah-owahan
  • dhukungan kode

Ing tingkat tim

  • integrasi terus-terusan
  • tes otomatisasi
  • otomatisasi panyebaran
  • ngawasi
  • pipa pembangunan

Ing tingkat tim lan organisasi

  • nggunakake layanan awan
  • testing Recovery bilai

Panliten kasebut ngonfirmasi pengaruh positif arsitektur sing digandhengake karo kinerja DevOps.

Arsitektur sing digandhengake kanthi bebas yaiku tim bisa nguji, nyebarake lan ngganti sistem kanthi bebas, ora gumantung saka tim liyane, tanpa dhukungan tambahan, sumber daya, persetujuan, lan kurang umpan balik. Iki ngidini sampeyan bisa luwih efisien, nanging mbutuhake tingkat organisasi lan manajemen sing dhuwur.

Pendekatan iki mung bisa kanggo wiwitan lan karo sawetara leladen. Kahanan bisa uga beda ing perusahaan liyane. Conto apik: perbankan/fintech. Solusi eksklusif bisa digunakake ing kana, nanging praktik DevOps bakal ditrapake.

Denis Romanenko, ahli freelance ing Mail.ru Cloud Solutions

Tim DevOps sing sukses ngotomatisasi kabeh

Integrasi lan Pangiriman Terus-terusan (CI/CD) ngidini sampeyan ngeculake layanan lan aplikasi menyang produksi kanthi biaya lan risiko sing luwih murah, uga rilis dhukungan sing cocog karo tujuan organisasi.

CI / CD sing sukses uga tegese tim bisa ngirim owah-owahan ing produksi sing dikarepake, duwe umpan balik langsung babagan kualitas penyebaran, lan bisa tumindak kanthi cepet kanggo nambah siklus penyebaran sabanjure.

Laporan kasebut nuduhake manawa tim DevOps sing sukses nandur modal ing macem-macem proses, praktik lan alat sing ndhukung:

  • 92% nggunakake piranti perakitan otomatis;
  • 87% nggunakake tes unit otomatis;
  • 57% ngluwihi otomatisasi kanggo testing acceptance;
  • 72% ngotomatisasi penyebaran ing lingkungan tes, 69% nindakake perkara sing padha kanggo penyebaran ing produksi;
  • 69% nggabungake chatbots menyang proses penyebaran;
  • 57% nggabungake karo alat ngawasi.

Penting kanggo milih alat lan teknologi sing tepat

Nalika mbangun sistem rumit lan ngatur infrastruktur bisnis-kritis, penting kanggo milih teknologi:

  • sing gampang digunakake kanggo sambungan pisanan lan kanggo panggunaan terus-terusan;
  • sing mbantu sampeyan entuk gol.

Laporan kasebut nliti alat sing digunakake nalika nggunakake piranti lunak liwat CI / CD lan alat otomatisasi tes - iki minangka teknologi sing ndasari DevOps.

Teknologi apa sing digunakake tim DevOps:

teknologi

Tim performa kurang

Rata-rata Tim

Tim kanthi kinerja apik

Tim kinerja dhuwur

Kombinasi produk eksklusif, open source lan paket komersial

30%

34%

32%

33%

Utamane mbukak sumber lan solusi paket sing disesuaikan banget

17%

8%

7%

10%

Umume solusi open source lan rangkep kanthi kustomisasi sithik

14%

21%

18%

20%

Solusi komersial utamane kothak

8%

12%

8%

4%

Pangembangan internal lan solusi kepemilikan kanggo perusahaan

20%

6%

5%

6%

Utamane mbukak sumber kanthi kustomisasi sing kuat

6%

7%

5%

12%

Utamane mbukak sumber kanthi kustomisasi sethithik

5%

12%

24%

15%

Kegunaan alat duweni pengaruh sing signifikan marang kemampuan tim kanggo nggedhekake nilai tumpukan teknologi sing dipilih: insinyur kanthi teknologi sing gampang digunakake 1,5 kaping luwih cenderung dadi tim kanthi kinerja dhuwur.

Ing mratelakake panemume, Tabel iki menehi raos sing supaya dadi tim DevOps sukses, sampeyan kudu tindakake fashion, ora masalah technical.

Spesialis sing kompeten milih alat kanggo tugas kasebut, lan ora kosok balene. Ana sawetara alat lan pendekatan kanggo ngatasi masalah. Alat tartamtu ditemtokake dening: spesifik tugas; sepira akrabe staf karo alat iki (sepira dhuwure ambang entri yen alat kasebut anyar); komponen financial, yen ana.

Denis Romanenko, ahli freelance ing Mail.ru Cloud Solutions

Recovery bilai

Saben organisasi sing operasi gumantung ing operasi piranti lunak kudu duwe rencana pemulihan bilai. Laporan kasebut nuduhake jinis uji coba ketahanan bencana sing digunakake dening perusahaan sing beda-beda.

Apa jinis tes sing digunakake perusahaan kanggo pemulihan bencana?

Jinis tes

Tim performa kurang

Rata-rata Tim

Tim kanthi kinerja apik

Tim kinerja dhuwur

Rata-rata

Tes sing ora mengaruhi sistem nyata

35%

26%

27%

30%

28%

Gagal infrastruktur (kalebu pusat data)

27%

43%

34%

38%

38%

Testing Gagal Aplikasi

25%

46%

41%

49%

43%

Simulasi kedadeyan sing nglibatake gangguan sistem tes

18%

22%

23%

29%

23%

Simulasi kedadeyan sing nglibatake gangguan sistem kerja

18%

11%

12%

13%

12%

Nggawe otomatis lan sistem sing ngganggu
sistem produksi kanthi rutin, terus-terusan

9%

8%

7%

9%

8%

Mung 40% responden nganakake tes pemulihan bencana saben taun nggunakake siji utawa luwih cara sing kadhaptar. Ing wektu sing padha, perusahaan sing nganakake tes pemulihan bencana duwe tingkat kasedhiyan layanan sing luwih dhuwur. Laporan kasebut nuduhake manawa tim DevOps kanthi kinerja dhuwur 1.4 kaping luwih cenderung nggabungake data tes pemulihan bencana menyang proses pangembangan lan penyebaran piranti lunak.

Penting kanggo menehi akses menyang informasi marang tim DevOps

Gampang golek informasi kanggo ngatasi masalah bisa mbantu supaya tim DevOps tetep produktif. Iki utamané bener ing lingkungan teknologi saiki, kang kasusun saka sistem Komplek.

Sumber informasi kasebut bisa dipérang dadi rong klompok:

  1. Sumber internal: dokumentasi perusahaan babagan nggawe lan njaga kode, basis kawruh perusahaan, repositori lan liya-liyane. Tim DevOps sing nggunakake sumber kawruh internal 1,73 kaping luwih produktif.
  2. Sumber eksternal: Mesin telusur lan ngrampungake tumpukan. Tim DevOps outsourced 1,67 kaping luwih produktif. Teknologi eksternal menehi kauntungan gedhe kanggo sinau lan tuwuh, utamane panggunaan awan umum lan alat sumber terbuka.

Penting kanggo perusahaan nyuda utang teknis

Utang teknis kalebu kode utawa sistem kanthi kewan omo sing dikawruhi nanging ora tetep; jangkoan test ora cukup; kode kualitas kurang utawa desain; artefak sing ora digunakake nanging ora dibusak; implementasine sing tim ora bisa èfèktif ndhukung; teknologi lawas; dokumentasi ora lengkap utawa ketinggalan jaman.

Para ahli nemokake manawa utang teknis duwe pengaruh negatif marang kinerja DevOps. Tim kanthi utang teknis dhuwur 1,6 kaping kurang produktif. Tim kanthi kinerja dhuwur 1,4 kaping luwih cenderung duwe utang teknis sing sithik.

Temuan Kunci saka State of DevOps Study

  1. Persentase tim DevOps kanthi kinerja dhuwur meh tikel telung nganti 20%. Iki tegese bisnis ngerti janji praktik kanggo nambah pangembangan lan pangiriman piranti lunak, lan perusahaan luwih aktif ngetrapake DevOps ing departemen IT.
  2. Pangiriman aplikasi lan layanan kanthi cepet minangka inti saka teknologi lan transformasi organisasi. Kacepetan lan konsistensi rilis nambah bathi lan kepuasan pelanggan.
  3. Teknologi awan terus dadi kunci kanggo nggayuh keunggulan kanggo tim DevOps. Panggunaan awan ngidini sampeyan ngatur pangiriman piranti lunak kanthi kacepetan sing dibutuhake, njamin kasedhiyan, skalabilitas lan kinerja infrastruktur.
  4. Efektivitas tim DevOps bisa ditingkatake kanthi menehi perhatian marang produktivitas anggota tim, nyedhiyakake suasana psikologis sing nyaman lan nggunakake alat sing trep.
  5. Nambah kacepetan ngluncurake rilis kanthi pendekatan sing bener ora mengaruhi stabilitas layanan lan aplikasi perusahaan.

Source: www.habr.com

Tuku hosting sing dipercaya kanggo situs kanthi proteksi DDoS, server VPS VDS 🔥 Tuku hosting situs web sing bisa dipercaya nganggo proteksi DDoS, server VPS VDS | ProHoster