Apa itu DevOps?

Selesai

DevOps adalah penyatuan orang, proses, dan produk untuk memungkinkan pengiriman nilai yang berkelanjutan kepada pelanggan kami. Namun, apa sebenarnya artinya? Mari kita bergabung dengan tim saat Mara menjelaskan apa itu DevOps, apa itu tidak, dan apa yang membuat elite performer berhasil.

Mara telah mengadakan pertemuan singkat dengan rekan satu timnya. Semua orang telah muncul, tapi tidak ada yang ingin berada di sana. Dia menaruh sekotak donat di atas meja.

Mara: Hai, terima kasih sudah datang. Saya ingin berbicara lebih banyak tentang peta aliran nilai kami dan bagaimana kami dapat membuat proses kami lebih efisien.

Peta aliran nilai Mara masih ada di papan tulis dari rapat mereka sebelumnya:

Screenshot of a whiteboard showing the value stream map.

Mara: Peta aliran nilai kami menunjukkan di mana kami kehilangan efisiensi dalam memberikan nilai kepada pengguna akhir kami. Sama seperti orang lain, kami bisa berkembang. Dan kita bisa memutuskan area mana yang harus ditangani terlebih dahulu.

Andy: Ini menunjukkan kepada kita di mana kita memiliki masalah, tetapi tidak apa yang harus dilakukan tentang mereka.

Mara: Benar, ini adalah latihan yang membantu mengarahkan kita ke arah yang benar. Adapun apa yang harus dilakukan tentang masalah kami, saya pikir DevOps akan membantu kami. Di perusahaan terakhir saya, tingkat penerapan kami meningkat, waktu tunggu jauh lebih cepat, dan operasi memiliki insiden yang jauh lebih sedikit. Butuh beberapa saat untuk sampai ke sana, tapi itu sepadan. DevOps bukanlah perbaikan cepat.

Tim: Saya kenal seseorang yang baru saja mendapat pekerjaan sebagai insinyur DevOps. Saya pikir itu lebih untuk pengembang. Kedengarannya seperti anda, Andy.

Mara: DevOps bukan jabatan pekerjaan.

Amita: Apakah ada program perangkat lunak yang bisa kita dapatkan yang akan membantu kita bersama, atau templat? Mungkin ada spreadsheet DevOps.

Mara: DevOps bukanlah perangkat lunak.

Andy: Ini lebih seperti metodologi.

Mara: Tidak juga.

Andy, Amita, Tim: Jadi apa itu?!

Mara: Berikut definisi yang ingin saya gunakan:

DevOps adalah persatuan orang, proses, dan produk untuk memungkinkan pengiriman nilai berkelanjutan kepada pengguna akhir kami.

Faktanya, Abel Wang, Cloud Advocate di Microsoft, memiliki kumpulan video yang bagus dengan jawaban cepat untuk beberapa pertanyaan besar kami. Mari kita lihat bagaimana Abel mendefinisikan DevOps:

Tanya Abel

Tujuan kami adalah memberikan permainan yang akan mereka sukai kepada pelanggan kami. Kami melakukannya dengan bekerja sama dengan seperangkat praktik dan alat bersama.

Amita: Apa artinya? Apa praktik bersama? Alat bersama apa?

Mara: Inilah yang saya maksud dengan praktik:

  • Perencanaan tangkas: Bersama-sama, kita akan membuat backlog pekerjaan yang dapat dilihat semua orang di tim dan dalam manajemen. Kami akan memprioritaskan item sehingga kami tahu apa yang harus kami kerjakan terlebih dahulu. Backlog dapat mencakup cerita pengguna, bug, dan informasi lain yang membantu kami.
  • Integrasi berkelanjutan (CI): Kami akan mengotomatiskan cara kami membangun dan menguji kode kami. Kami akan menjalankannya setiap kali anggota tim menerapkan perubahan pada kontrol versi.
  • Pengiriman berkelanjutan (CD): CD adalah cara kami menguji, mengonfigurasi, dan menyebarkan dari build ke QA atau lingkungan produksi.
  • Pemantauan: Kami akan menggunakan telemetri untuk mendapatkan informasi tentang performa dan pola penggunaan aplikasi. Kami dapat menggunakan informasi itu untuk meningkatkan saat kami melakukan iterasi.

Amita: Saya tidak tahu tentang pengujian otomatis. Tes saya manual dan saya melakukannya setelah Andy menyerahkan kodenya kepada saya. Saya tidak punya waktu untuk mengubah cara saya melakukan segalanya.

Tim: Tidak mungkin saya membiarkan salah satu dari Anda menyebarkan ke produksi.

Andy: Ini akan menakuti manajemen. Mereka tidak pernah berpikir lebih jauh dari rilis berikutnya dan mereka selalu menginginkannya kemarin.

Mara: Aku tahu apa maksudmu tentang manajemen. Saya menyusun selebaran ini tentang apa yang membuat tim tampil elit.

Apa yang membuat tim berperforma elit?

Inilah selebaran yang disiapkan Mara. Informasi ini didasarkan pada laporan penelitian DevOps dan survei yang dilakukan dengan profesional teknis di seluruh dunia.

DevOps membantu perusahaan bereksperimen dengan cara untuk meningkatkan adopsi dan kepuasan pelanggan. Hal ini dapat menyebabkan performa organisasi yang lebih baik, dan seringkali terhadap profitabilitas dan pangsa pasar yang lebih tinggi.

Ini menggunakan metrik untuk membuat empat kategori yang digunakan untuk membandingkan yang berperforma elit dengan yang berperforma rendah.

Pemain elit:

  • Menyebarkan lebih sering

    Bahkan, beberapa tim menyebarkan hingga puluhan kali per hari.

    Praktik seperti pemantauan, pengujian berkelanjutan, manajemen perubahan basis data, dan pengintegrasian keamanan lebih awal dalam proses pengembangan perangkat lunak membantu para pemain elit menyebarkan lebih sering, dan dengan prediktabilitas dan keamanan yang lebih besar.

  • Mengurangi waktu tunggu dari penerapan untuk disebarkan

    Lead time adalah waktu yang dibutuhkan sebuah fitur untuk sampai ke pelanggan. Dengan bekerja dalam batch yang lebih kecil, mengotomatisasi proses manual, dan menerapkan lebih sering, para pemain elit dapat mencapai dalam hitungan jam atau hari apa yang dulunya memakan waktu berminggu-minggu atau bahkan berbulan-bulan.

  • Mengurangi tingkat kegagalan perubahan

    Fitur baru yang gagal dalam produksi atau yang menyebabkan fitur lain rusak dapat menciptakan peluang yang hilang antara Anda dan pengguna Anda. Saat tim berkinerja tinggi menjadi dewasa, mereka mengurangi tingkat kegagalan perubahan mereka dari waktu ke waktu.

  • Pulihkan dari insiden dengan lebih cepat

    Ketika insiden terjadi, pemain elit dapat pulih lebih cepat. Bertindak berdasarkan metrik membantu pemain elit pulih lebih cepat sekaligus juga lebih sering menerapkannya.

Bagaimana Anda menerapkan infrastruktur cloud juga penting. Cloud meningkatkan performa pengiriman perangkat lunak, dan tim yang mengadopsi karakteristik cloud penting lebih mungkin untuk menjadi pemain elit.

Outsourcing dapat menghemat uang dan menyediakan kumpulan tenaga kerja yang fleksibel, tetapi harus digunakan di area yang benar. Tim berperforma rendah lebih cenderung mengalihdayakan seluruh fungsi (seperti pengujian dan operasi) daripada rekan mereka yang berperforma tinggi.

Garis bawah

DevOps adalah alasan utama banyak pemain elit yang mampu memberikan nilai kepada pelanggan dalam bentuk fitur dan peningkatan baru, lebih cepat daripada pesaing mereka. Dalam video singkat ini, Abel menjelaskan mengapa Anda harus mempelajari lebih lanjut tentang DevOps:

Tanya Abel

Apa yang bukan DevOps

Saat mempertimbangkan apa itu DevOps, penting juga untuk memastikan bahwa kita mempelajari apa yang bukan merupakan definisi dari DevOps. DevOps bukan:

  • Metodologi.
  • Perangkat lunak tertentu.
  • Perbaikan cepat untuk tantangan organisasi.
  • Hanya tim atau jabatan (meskipun judul ini cukup umum di industri).