Pelatihan Tertulis DevOps
Bagaimana DevOps Mengatasi Masalah TI Anda?
Lakukan Penerapan Secara Berkelanjutan
Perusahaan dari rintisan baru hingga Fortune 100 dan berbagai ukuran di antaranya, dengan portofolio produk dan layanan perangkat lunak apa pun, telah membuktikan bahwa DevOps memungkinkan tim kecil, independen, dan mandiri melakukan puluhan penerapan ke produksi setiap hari. Anda merancang, membangun, mengirimkan, dan menguji di lingkungan yang menyerupai produksi. Anda tidak lagi merilis kode ke produksi sekali setiap tiga bulan selepas tengah malam ketika orang lain tidur. Anda merilis kode berkali-kali setiap hari, terutama pada jam kerja biasa, sementara klien dan pasar tetap menikmati manfaat perangkat lunak Anda.
DevOps memungkinkan Anda sering mengirimkan fitur kecil. Dengan teknik peluncuran diam-diam, Anda juga bisa sering mengirimkan bagian kecil dari fitur besar ke produksi. Bagian ini tetap nonaktif sampai Anda menyalakan fitur lengkap melalui pengaturan konfigurasi. Teknik sederhana ini saja bisa meningkatkan kualitas hidup tim dengan menghindari penerapan serentak, dampak tak terduga pada sistem produksi, kekacauan, dan budaya saling menyalahkan.
Bentuk Tim Berdasarkan Misi Anda
Untuk melayani pasar, dan karena misi organisasi lebih besar daripada misi pesaing, susun departemen TI dalam tim jangka panjang yang berfokus pada produk, layanan, kapabilitas, dan layanan mikro untuk klien internal atau eksternal. Hindari tim proyek sementara yang bubar begitu proyek selesai atau bahkan sebelumnya.
Dalam tim proyek sementara, anggota sulit bertanggung jawab penuh atas kontribusinya karena jarang memahami posisi proyek dalam misi organisasi dan jarang mendapat umpan balik yang memadai. Berbagai proyek terus mengirimkan tugas sesuai keahlian mereka, seperti pengembangan basis data, desain antarmuka, atau penerjemahan. Akibatnya, pekerjaan mereka terus terganggu.
Dalam tim jangka panjang, para anggota dengan sukarela bertanggung jawab atas pekerjaan mereka dan kinerja TI serta bisnis yang dihasilkan. Mereka memahami bagaimana kontribusinya mendukung misi organisasi dan betapa pentingnya kontribusi itu.
Bangun Sistem untuk Mencapai Sasaran Bisnis
Anda dan tim tahu bahwa pekerjaan Anda adalah melayani klien dan mencapai misi organisasi. Karena itu, hargai waktu dan sumber daya organisasi serta klien. Sebelum berkomitmen pada proyek jangka panjang, coba dan validasi nilai bisnis yang diharapkan dari solusi TI. Tunjukkan model, prototipe, berbagai versi A/B, atau versi sederhana dari produk yang akan dibuat. Ukur dan catat reaksi serta masukan klien agar Anda memahami cara menyempurnakan produk atau layanan dan mengetahui apakah klien menyukainya.
Jangan menambahkan fitur hanya karena merasa fitur itu bagus. Uji ide dan kumpulkan bukti nyata yang dapat ditunjukkan dan direproduksi bahwa pekerjaan dan sumber daya yang diinvestasikan kemungkinan besar akan meningkatkan laba dan membedakan perusahaan dari pesaing.
Bangun dengan Mutu dan Pemantauan Terintegrasi
Bangun siklus umpan balik yang cepat, andal, dan luas di setiap tahap pengiriman dan operasi perangkat lunak. Mutu bukan monopoli tim tertentu sehingga semua orang berupaya menjaganya sejak awal. Untuk memastikan pekerjaan benar, jangan menunggu umpan balik dari tim lain atau meminta izin pihak lain untuk menerapkan kode ke produksi. Andalkan tinjauan sejawat atas desain, kode, pengujian, dan infrastruktur.
Selalu bangun otomatisasi pengujian dan pemantauan (telemetri) untuk fitur yang dapat diukur dan diuji. Jika suatu fitur layak ditulis dan dikirim, fitur itu juga layak menjalani pengujian otomatis yang berkelanjutan, andal, cepat, dan konsisten. Fitur juga perlu pemantauan berkelanjutan dan analitik bawaan untuk memastikan manfaatnya sesuai dengan tujuan awal. Terapkan ini di semua lingkungan, baik produksi maupun nonproduksi.
Setiap perubahan yang dimasukkan ke repositori kode secara otomatis menyesuaikan, merestrukturisasi, atau bila perlu membangun kembali lingkungan operasi. Sistem juga membangun kembali aplikasi yang terdampak dan menjalankan semua pengujian otomatis untuk memvalidasi fitur yang ada dan tujuan perubahan terbaru. Setelah validasi berhasil, perubahan yang sama diterapkan secara otomatis ke produksi.
Analitik dan telemetri bawaan terus memantau serta mencatat peristiwa penting pada perangkat lunak dan lingkungan operasinya. Metrik seperti jumlah pesanan, jumlah login, penggunaan CPU dan RAM, beban CPU, jumlah kesalahan, serta durasi kueri basis data dicatat secara terus-menerus dan ditampilkan secara langsung. Tim dapat menemukan dampak negatif dari suatu penerapan dalam hitungan menit, bahkan detik. Karena itu, siklus umpan balik cepat sangat penting.
Belajar dari Kesalahan dan Bagikan Pelajarannya
Jika terjadi kesalahan, tangani dengan tenang dan percaya diri. Identifikasi akar penyebab berdasarkan bukti ilmiah yang diperoleh dari pengujian otomatis dan telemetri. Jika setelah masalah teratasi Anda menemukan kasus uji atau telemetri yang belum ada, tambahkan ke repositori kode bersama perbaikannya.
Dalam sistem kompleks, tidak ada orang yang dapat mengetahui dan memperkirakan segalanya. Karena itu, semua orang di organisasi memandang kesalahan sebagai bagian dari proses pematangan produk dan layanan. Kesalahan merupakan kesempatan untuk belajar dan berkembang, baik bagi individu maupun organisasi.
Tinjauan pascainsiden tanpa menyalahkan membantu menemukan akar penyebab dengan lebih baik dan cara mencegah kesalahan yang sama atau serupa di masa depan. Jadikan pelajaran yang diperoleh tim tentang perangkat lunaknya bagian dari ingatan organisasi agar bermanfaat bagi semua orang.
Anda dan tim tidak dihukum atas kesalahan ini. Anda dihargai karena telah belajar dan berbagi pelajaran dari insiden tersebut. Berkat kontribusi Anda, tim lain tahu cara mencegah insiden serupa di masa depan.
Tim Anda Lebih Mampu Menangani Skala yang Lebih Besar saat Bisnis Bertumbuh
Bayangkan organisasi biasa yang berkembang dari 1 menjadi 1.000 pengembang. Saat kecil, pengembang terus membangun dan menerapkan kode ke produksi. Ketika organisasi membesar, hierarki dan birokrasi bertambah, dan orang lebih takut melakukan kesalahan. Penerapan ke produksi memerlukan lebih banyak koordinasi dan komunikasi. Karena itu, rata-rata jumlah penerapan kode per hari per pengembang biasanya turun atau, paling baik, tetap sama seiring pertumbuhan organisasi.
Organisasi DevOps berkinerja tinggi justru meningkatkan jumlah rata-rata penerapan kode per hari per pengembang saat jumlah pengembang bertambah. Dengan arsitektur, tim, misi, kepemimpinan, dan budaya yang tepat, Google, Amazon, Facebook, Netflix, dan Apple telah membuktikan hal ini mungkin dilakukan. Organisasi Anda bisa menjadi yang berikutnya.
Bagan sumber membandingkan pertumbuhan jumlah deployment per hari per pengembang seiring bertambahnya skala tim.
Lihat diagram sumber asli ↗KESIMPULAN
Organisasi DevOps berkinerja tinggi mengungguli pesaing dalam hal berikut.
- Penerapan kode 46 kali lebih sering.
- Waktu dari commit hingga penerapan 440 kali lebih cepat.
- Rata-rata waktu pemulihan dari waktu henti 96 kali lebih cepat.
- Tingkat kegagalan perubahan 5 kali lebih rendah (peluang gagal hanya 1/5).
- Produktivitas dan kapasitas penyelesaian kerja meningkat.
- Keandalan kode dan operasi meningkat.
- Kinerja organisasi dan kepuasan klien meningkat.
- Penetrasi pasar, pangsa pasar, dan profitabilitas meningkat (2 kali lebih mungkin tercapai).
- Pertumbuhan kapitalisasi pasar meningkat.
Perbandingan ini mencakup frekuensi deployment, lead time, waktu pemulihan, dan tingkat kegagalan perubahan.
Lihat diagram sumber asli ↗