KoderKoder.ai
HargaEnterpriseEdukasiUntuk investor
MasukMulai

Produk

HargaEnterpriseUntuk investor

Sumber daya

Hubungi kamiDukunganEdukasiBlog

Legal

Kebijakan privasiKetentuan penggunaanKeamananKebijakan penggunaan yang dapat diterimaLaporkan penyalahgunaan

Sosial

LinkedInTwitter
Koder.ai
Bahasa

© 2026 Koder.ai. Hak cipta dilindungi.

Beranda›Blog›Penjelasan 'You Build It, You Run It' oleh Werner Vogels
29 Sep 2025·8 menit

Penjelasan 'You Build It, You Run It' oleh Werner Vogels

Pelajari apa yang dimaksud Werner Vogels dengan “You Build It, You Run It” dan cara menerapkannya: kepemilikan, on-call, SLO, respons insiden, dan pengiriman yang lebih aman.

Penjelasan 'You Build It, You Run It' oleh Werner Vogels

Apa yang sebenarnya dimaksud dengan “You Build It, You Run It”

“You build it, you run it” adalah salah satu ungkapan yang melekat karena lugas. Ini bukan tentang poster motivasi atau “lebih jadi DevOps.” Ini adalah pernyataan jelas tentang tanggung jawab: tim yang mengirimkan sebuah layanan juga tetap bertanggung jawab atas bagaimana layanan itu berperilaku di produksi.

Gagasan inti: mengirimkan dan mengoperasikan adalah satu pekerjaan

Dalam praktiknya, ini berarti tim produk yang sama yang merancang fitur dan menulis kode juga:\n

  • memantau layanan di produksi
  • merespons ketika layanan itu rusak
  • meningkatkan keandalan seiring waktu
  • membuat trade-off antara pekerjaan fitur baru dan pekerjaan operasional

Ini tidak berarti semua orang tiba-tiba menjadi ahli infrastruktur. Maksudnya loop umpan balik menjadi nyata: jika Anda merilis sesuatu yang meningkatkan outage, kebisingan pager, atau rasa sakit pelanggan, tim Anda merasakannya secara langsung—dan belajar dengan cepat.

Model operasi praktis, bukan slogan

Filosofi ini mudah diulang dan sulit diimplementasikan kecuali Anda memperlakukannya sebagai model operasi dengan ekspektasi eksplisit. “Run it” biasanya termasuk jadwal on-call (dalam beberapa bentuk), kepemilikan respons insiden, penulisan runbook, pemeliharaan dashboard, dan perbaikan berkelanjutan pada layanan.

Ini juga mengimplikasikan batasan: Anda tidak bisa meminta tim untuk “run it” tanpa memberi mereka alat, akses, dan wewenang untuk memperbaiki masalah—ditambah waktu dalam roadmap mereka untuk melakukan pekerjaan itu.

Untuk siapa ini

  • Tim produk/layanan: untuk menciptakan kepemilikan end-to-end yang nyata dan pembelajaran yang lebih cepat.
  • Manajer engineering: untuk menetapkan batas yang jelas (“tim ini memiliki layanan ini”) dan merencanakan kapasitas untuk pekerjaan operasional.
  • Tim platform: untuk mempermudah kepemilikan dengan menyediakan paved paths—tanpa diam-diam mengambil tanggung jawab produksi dari tim yang membangun layanan.

Mengapa filosofi ini mengubah cara tim merilis perangkat lunak

Sebelum “You Build It, You Run It,” banyak perusahaan mengatur pekerjaan perangkat lunak seperti perlombaan estafet: developer menulis kode, lalu “melemparkannya” ke tim operasi untuk men-deploy dan menjaga agar tetap berjalan.

Handoff itu menyelesaikan masalah jangka pendek—seseorang yang berpengalaman mengawasi produksi—tetapi menciptakan masalah yang lebih besar.

Masalah handoff: umpan balik lambat dan tanggung jawab yang kabur

Ketika tim ops terpisah yang memiliki produksi, developer sering mengetahui masalah terlambat (atau tidak sama sekali). Bug mungkin muncul sebagai tiket kabur beberapa hari kemudian: “layanan lambat” atau “CPU tinggi.” Saat itu konteks hilang, log sudah ter-rotasi, dan orang yang membuat perubahan sudah pindah.

Handoff juga membuat kepemilikan kabur. Jika terjadi outage, dev mungkin berasumsi “ops akan menangkapnya,” sementara ops berasumsi “dev merilis sesuatu yang berisiko.” Hasilnya dapat diprediksi: resolusi insiden lebih lama, mode kegagalan berulang, dan budaya di mana tim mengoptimalkan lokal alih-alih untuk pengalaman pelanggan.

Mengapa kepemilikan mempercepat pengiriman dan mengurangi kegagalan berulang

“You Build It, You Run It” memperketat loop. Tim yang sama yang merilis perubahan bertanggung jawab atas bagaimana perubahan itu berperilaku di produksi. Itu mendorong perbaikan praktis ke hulu: alert yang lebih jelas, rollout yang lebih aman, dashboard yang lebih baik, dan kode yang lebih mudah dioperasikan.

Paradoksnya, ini sering menghasilkan pengiriman yang lebih cepat. Saat tim percaya pada proses rilis mereka dan memahami perilaku produksi, mereka bisa merilis perubahan lebih kecil lebih sering—mengurangi blast radius kesalahan dan memudahkan diagnosis masalah.

Bukan solusi satu-ukuran-untuk-semua

Tidak semua organisasi memulai dengan staf, kepatuhan, atau sistem legacy yang sama. Filosofi ini adalah arah, bukan saklar. Banyak tim mengadopsinya secara bertahap—mulai dari on-call bersama, observabilitas yang lebih baik, dan batas layanan yang jelas—sebelum mengambil kepemilikan end-to-end penuh.

Dari mana asalnya: Werner Vogels dan mindset layanan

Werner Vogels, CTO Amazon, memopulerkan frasa “You build it, you run it” saat mendeskripsikan bagaimana Amazon (dan kemudian AWS) ingin tim berpikir tentang perangkat lunak: bukan sebagai proyek yang Anda serahkan, tetapi sebagai layanan yang Anda operasikan.

Perubahan kuncinya psikologis sebanyak teknis. Ketika sebuah tim tahu mereka akan dipanggil saat terjadi kegagalan, keputusan desain berubah. Anda peduli pada default yang masuk akal, alert yang jelas, degradasi yang anggun, dan jalur deploy yang bisa Anda rollback. Dengan kata lain, membangun termasuk merencanakan bagian-bagian yang berantakan dari kehidupan nyata.

Kenapa era cloud menaikkan standar

Pemikiran layanan era AWS membuat keandalan dan kecepatan tak bisa ditawar. Pelanggan cloud mengharapkan API tersedia sepanjang waktu, dan mengharapkan perbaikan datang terus-menerus—bukan dalam gelombang rilis besar per kuartal.

Tekanan itu mendorong:

  • layanan kecil berumur panjang dengan pemilik yang jelas
  • loop umpan balik cepat antara perubahan kode dan perilaku produksi
  • kebiasaan operasional diperlakukan sebagai fitur produk (monitoring, capacity planning, runbook)

Ide terkait (tanpa menulis ulang sejarah)

Filosofi ini tumpang tindih dengan gerakan DevOps yang lebih luas: menutup jarak antara “dev” dan “ops,” mengurangi handoff, dan menjadikan hasil (ketersediaan, latensi, beban dukungan) bagian dari loop pengembangan. Ini juga cocok dengan gagasan tim otonom kecil yang bisa merilis secara independen.

Inspirasi, bukan blueprint salin-tempel

Godaannya adalah memperlakukan pendekatan Amazon sebagai template yang harus disalin. Tetapi “You Build It, You Run It” lebih merupakan arah daripada struktur organisasi kaku. Ukuran tim Anda, batasan regulasi, kematangan produk, dan persyaratan uptime mungkin memerlukan adaptasi—rotasi on-call bersama, dukungan platform, atau adopsi bertahap.

Jika Anda ingin cara praktis menerjemahkan mindset ini ke tindakan, lompat ke /blog/how-to-adopt-you-build-it-you-run-it-step-by-step.

Kepemilikan: apa yang tim ambil alih ketika mereka “run it”

“You Build It, You Run It” sebenarnya pernyataan tentang kepemilikan. Jika tim Anda merilis sebuah layanan, tim Anda bertanggung jawab atas bagaimana layanan itu berperilaku di dunia nyata—bukan hanya apakah lulus tes pada hari rilis.

Apa saja yang dicakup oleh “kepemilikan”

Menjalankan layanan berarti peduli pada hasil secara end-to-end:

  • Keandalan: pengguna bisa bergantung padanya dan kegagalan ditangani cepat.
  • Performa: tetap cukup cepat di kondisi normal dan puncak.
  • Biaya: tidak diam-diam menjadi pos anggaran paling mahal.
  • Keamanan & kepatuhan: risiko ditangani sebagai bagian dari pengiriman, bukan sesudahnya.
  • Dukungan: pelanggan dan pengguna internal mendapat bantuan yang jelas dan tepat waktu.

Apa yang termasuk dalam “run it” secara praktis

Pada minggu biasa, “run it” kurang tentang aksi heroik dan lebih tentang operasi rutin:

  • Menyiapkan monitoring dan dashboard sehingga tim bisa melihat kesehatan sekilas.
  • Mendefinisikan alert yang actionable (tidak berisik) dan terkait dampak pengguna.
  • Menangani insiden: triage, mitigasi, komunikasi, dan kerja tindak lanjut.
  • Mengelola kapasitas: rencana scaling, load testing, dan batas sumber daya.
  • Memelihara runbook agar siapa pun yang on-call bisa merespons secara konsisten.

Akuntabilitas bukan menyalahkan

Model ini bekerja hanya jika akuntabilitas berarti “kami yang memperbaiki,” bukan “kami mencari orang untuk dihukum.” Ketika sesuatu rusak, tujuannya adalah memahami apa dalam sistem yang memperbolehkan hal itu—alert yang hilang, batas yang tidak jelas, deployment berisiko—dan memperbaiki kondisi tersebut.

Batas yang jelas dan pemilik bernama

Kepemilikan menjadi berantakan ketika layanan kabur. Definisikan batas layanan (apa yang dilakukannya, apa yang bergantung padanya, apa yang dijanjikannya) dan tetapkan tim pemilik bernama. Kejelasan itu mengurangi handoff, mempercepat respons insiden, dan membuat prioritas jelas ketika keandalan dan fitur saling bersaing.

On-call yang benar (tanpa membakar orang)

On-call adalah inti dari “You Build It, You Run It” karena menutup loop umpan balik. Ketika tim yang sama yang merilis perubahan juga merasakan dampak operasional (lonjakan latensi, deploy gagal, keluhan pelanggan), prioritas menjadi jelas: pekerjaan keandalan berhenti menjadi “masalah orang lain,” dan cara tercepat untuk merilis lebih banyak sering kali membuat sistem lebih tenang.

Buat on-call manusiawi dengan desain

On-call yang sehat terutama tentang prediktabilitas dan dukungan.

  • Rotasi yang sesuai ukuran tim: hindari jadwal heroik. Jika cakupan tipis, kurangi ruang lingkup (lebih sedikit layanan per rotasi) atau tambahkan secondary bersama.
  • Jalur eskalasi: responder primer, lalu sekunder, lalu ahli domain—supaya tidak ada yang sendirian jam 3 pagi.
  • Waktu pemulihan setelah malam berat: kompensasi waktu atau mulai kerja terlambat setelah banyak page, dan waktu libur setelah insiden besar. Istirahat adalah bagian dari keandalan.
  • Runbook dan checklist “15 menit pertama”: responder harus punya playbook jelas, bukan tebak-tebakan.

Level severity: page hanya saat penting

Definisikan level severity agar sistem tidak membangunkan untuk setiap ketidaksempurnaan.

  • Sev 1 (page): outage berdampak pelanggan, risiko kehilangan data, insiden keamanan, atau pelanggaran SLO keras.
  • Sev 2 (page di jam kerja atau page jika berlanjut): layanan terdegradasi dengan dampak pengguna nyata.
  • Sev 3 (tiket): bug tidak mendesak, alert flakey, kenaikan error-rate kecil, tren kapasitas.

Aturan sederhana: jika membangunkan seseorang tidak akan mengubah hasil, itu tiket, bukan page.

Tujuan sebenarnya: jumlah page lebih sedikit bulan depan

On-call bukan hukuman; itu sinyal. Setiap alert berisik, kegagalan berulang, atau perbaikan manual harus memberi umpan balik ke pekerjaan engineering: alert yang lebih baik, otomatisasi, rilis yang lebih aman, dan perubahan sistem yang menghilangkan kebutuhan untuk memanggil sama sekali.

SLO, SLI, dan error budget: pembatas praktis

Rilis ke produksi lebih cepat
Cepat ke lingkungan hosting agar tim bisa merasakan umpan balik produksi nyata lebih awal.
Rilis Sekarang

Jika “you run it” nyata, tim butuh cara bersama untuk berbicara tentang keandalan tanpa mengubah setiap diskusi menjadi opini. Di sinilah SLIs, SLOs, dan error budgets berguna: target jelas dan trade-off yang adil antara bergerak cepat dan menjaga stabilitas.

SLI vs SLO vs SLA (bahasa sederhana)

  • SLI (Service Level Indicator): sebuah pengukuran tentang bagaimana layanan berperilaku. Pikirkan: “Apa yang sebenarnya kita lihat di produksi?”
  • SLO (Service Level Objective): sebuah tujuan untuk SLI. Pikirkan: “Tingkat keandalan apa yang kita targetkan?”
  • SLA (Service Level Agreement): sebuah janji ke pelanggan, sering dengan penalti atau kredit. Pikirkan: “Apa yang kita jamin secara kontraktual.”

Cara mudah mengingat: SLI = metrik, SLO = target, SLA = komitmen eksternal.

Contoh SLI yang bisa diukur

SLI yang baik spesifik dan terkait pengalaman pengguna, seperti:

  • Latensi: “95% request selesai dalam < 300ms.”
  • Ketersediaan: “Request sukses (non-5xx) 99.9% dari waktu.”
  • Rasio sukses job (untuk sistem async): “99.5% eksport malam selesai sukses sebelum jam 6 pagi.”

Error budget: bagaimana kecepatan dan stabilitas seimbang

Error budget adalah jumlah “buruknya” yang boleh Anda tanggung sambil tetap memenuhi SLO (mis. jika SLO Anda 99.9% ketersediaan, error budget bulanan Anda 0.1% downtime).

Saat layanan sehat dan Anda dalam budget, tim bisa mengambil lebih banyak risiko pengiriman. Saat Anda membakar budget terlalu cepat, pekerjaan keandalan menjadi prioritas.

Bagaimana SLO memandu perencanaan

SLO mengubah keandalan menjadi input perencanaan. Jika error budget rendah, sprint berikutnya mungkin menekankan rate limiting, rollout yang lebih aman, atau memperbaiki dependency flaky—karena melewatkan SLO memiliki biaya jelas. Jika budget melimpah, Anda bisa memprioritaskan kerja produk tanpa menebak apakah “ops akan baik-baik saja.”

Pengiriman aman: kesiapan produksi dan praktik rilis

“You build it, you run it” hanya bekerja jika pengiriman ke produksi adalah rutinitas—bukan acara bernilai tinggi. Tujuannya mengurangi ketidakpastian sebelum peluncuran dan membatasi blast radius setelahnya.

Hal wajib sebelum Anda luncurkan

Sebelum sebuah layanan dianggap “siap,” tim biasanya perlu beberapa dasar operasional:

  • Dashboard yang menunjukkan kesehatan pengguna (latency, error rate, traffic) dan dependensi kunci.
  • Alert yang actionable (ambang jelas, pemilik jelas, bukan page “FYI” berisik).
  • Runbook untuk kegagalan umum: apa yang dicek pertama, bagaimana mitigasi, dan kapan eskalasi.
  • Backup dan drill pemulihan (drill sama pentingnya dengan backup) plus kebijakan retensi terdokumentasi.

Delivery progresif: rilis secara bertahap dan lebih aman

Daripada merilis semuanya ke semua orang sekaligus, delivery progresif membatasi dampak:

  • Feature flags memungkinkan Anda mengirim kode sambil mengontrol eksposur, dengan rencana pembersihan yang jelas.
  • Canary releases mengirim persentase kecil traffic ke versi baru dan membandingkan metrik dengan baseline.
  • Rollback cepat (atau roll-forward) dilatih dan otomatis sehingga pemulihan tidak diimprovisasi saat tekanan.

Jika tim Anda menstandarkan rollback, perlakukan itu sebagai kemampuan kelas-satu: semakin cepat Anda bisa revert dengan aman, semakin realistis “you run it.”

Bangun kepercayaan dengan load dan failure testing

Dua tes mengurangi "unknown unknowns":

  • Load testing memvalidasi asumsi kapasitas dan mengungkap bottleneck sebelum pelanggan melakukannya.
  • Failure testing (mis. timeouts dependency, instance yang dihentikan, koneksi putus) memeriksa bahwa layanan menurun secara anggun dan alert menyala saat seharusnya.

Checklist kesiapan produksi sederhana

Sederhanakan: satu halaman checklist di repo atau template tiket (mis. “Observability,” “Kesiapan on-call,” “Perlindungan data,” “Rencana rollback,” “Kapasitas diuji,” “Runbook terlink”). Jadikan status “belum siap” sebagai normal—lebih baik daripada belajar di produksi.

Insiden dan postmortem: mengubah outage menjadi pembelajaran

Tentukan kepemilikan sejak awal
Tentukan batas layanan, pemilik, dan ekspektasi peluncuran sebelum menulis kode.
Gunakan Mode Perencanaan

Insiden adalah tempat “you run it” menjadi nyata: layanan menurun, pelanggan memperhatikan, dan tim harus merespons cepat dan jelas. Tujuannya bukan heroik—melainkan workflow yang dapat diulang yang mengurangi dampak dan menghasilkan perbaikan.

Alur insiden sederhana

Kebanyakan tim berkonvergensi pada fase yang sama:

  • Detect: monitoring alert, laporan pelanggan, atau deteksi anomaly otomatis.
  • Triage: konfirmasi apa yang rusak, estimasi severity, tetapkan incident lead, dan mulai timeline.
  • Mitigate: hentikan pendarahan (rollback, matikan feature flag, scale up, blok traffic buruk), lalu pulihkan layanan penuh.
  • Communicate: jaga update konsisten—apa yang terdampak, status saat ini, dan waktu update berikutnya. Komunikasi adalah bagian dari mitigasi.
  • Learn: setelah layanan stabil, analisis faktor penyebab dan cegah pengulangan.

Jika Anda ingin template praktis untuk alur ini, simpan checklist ringan (lihat /blog/incident-response-checklist).

Postmortem tanpa menyalahkan (dan apa yang ditulis)

Postmortem tanpa menyalahkan tidak berarti “tak ada yang melakukan kesalahan.” Maksudnya Anda fokus pada bagaimana sistem dan proses memperbolehkan kesalahan mencapai produksi, bukan mempermalukan individu. Itu yang membuat orang mau berbagi detail lebih awal, yang penting untuk pembelajaran.

Dokumentasikan:

  • Dampak pelanggan: siapa terdampak, berapa lama, dan seberapa parah.
  • Timeline: kejadian kunci, keputusan, dan kapan sinyal muncul.
  • Penyebab akar dan penyebab kontributor: faktor teknis dan proses (mis. kepemilikan tidak jelas, alert hilang).
  • Apa yang berjalan baik / tidak: termasuk komunikasi.

Item aksi yang benar-benar mencegah pengulangan

Postmortem yang baik diakhiri dengan tindak lanjut konkret, biasanya dalam empat kategori: perbaikan tooling (alert/dashboard lebih baik), tes (regresi dan kasus tepi), otomatisasi (deploy/rollback yang lebih aman, guardrail), dan dokumentasi (runbook, langkah operasional yang lebih jelas). Tetapkan pemilik dan tenggat—kalau tidak, pembelajaran tetap teoritis.

Tooling yang mempermudah kepemilikan layanan

Tooling adalah leverage yang membuat “You Build It, You Run It” berkelanjutan—tetapi tidak bisa menggantikan kepemilikan nyata. Jika tim menganggap operasi sebagai “masalah orang lain,” dashboard tercanggih hanya akan mendokumentasikan kekacauan. Alat yang baik mengurangi friction: membuat hal yang benar (mengamati, merespons, belajar) lebih mudah daripada yang salah (menebak, menyalahkan, mengabaikan).

Hal-hal esensial yang dibutuhkan setiap tim

Setidaknya, pemilik layanan butuh cara konsisten untuk melihat apa yang software mereka lakukan di produksi dan bertindak cepat saat tidak baik.

  • Log terpusat: dapat dicari, disimpan cukup lama untuk investigasi, dan terstruktur bila memungkinkan.
  • Metrik: golden signals (latency, traffic, errors, saturation) plus metrik bisnis penting.
  • Distributed traces: untuk mengikuti request antar layanan dan menemukan bottleneck.
  • Alerting: alert actionable terkait dampak pelanggan, bukan gejala berisik.
  • Ticketing / workflow insiden: tempat melacak pekerjaan, menautkan insiden ke tindak lanjut, dan memastikan perbaikan dikirim.

Jika cerita monitoring Anda terfragmentasi, tim menghabiskan lebih banyak waktu berburu daripada memperbaiki. Pendekatan observabilitas terpadu membantu; lihat /product/observability.

Membuat kepemilikan terlihat pada skala besar

Seiring organisasi tumbuh, “siapa yang punya ini?” menjadi risiko keandalan. Katalog layanan (atau portal developer internal) menyelesaikan ini dengan menyimpan kepemilikan dan konteks operasional di satu tempat: nama tim, rotasi on-call, jalur eskalasi, runbook, dependensi, dan link ke dashboard.

Kuncinya adalah metadata kepemilikan yang tetap mutakhir. Jadikan itu bagian dari workflow: layanan baru tidak boleh live tanpa pemilik, dan perubahan kepemilikan diperlakukan seperti perubahan kode (direview, dilacak).

Tooling harus memperkuat kebiasaan

Setup terbaik mendorong tim ke perilaku sehat: template runbook, alert otomatis terkait SLO, dan dashboard yang menjawab “apakah pengguna terdampak?” dalam hitungan detik. Tapi sistem manusia tetap penting—tim butuh waktu untuk memelihara alat ini, memangkas alert, dan terus memperbaiki cara mereka mengoperasikan layanan.

Peran tim platform: mendukung tanpa mengambil alih kepemilikan

Tim platform membuat “You Build It, You Run It” lebih mudah dijalani. Tugas mereka bukan menjalankan produksi untuk semua—melainkan menyediakan jalur yang terang (paved roads) supaya tim produk bisa memiliki layanan tanpa menemukan ulang operasi setiap sprint.

Paved roads, template, guardrail

Platform yang baik menawarkan default yang sulit salah dan mudah diadopsi:

  • Golden-path template untuk layanan baru (struktur repo, logging, alert, dashboard)
  • CI/CD standar dengan opsi deployment aman (canary, blue/green, rollback otomatis)
  • Dasar runtime yang siap produksi (health checks, rate limits, konvensi konfigurasi)

Guardrail harus mencegah perilaku berisiko tanpa menghambat pengiriman. Pikirkan “aman secara default” daripada “buka tiket dan tunggu.”

Layanan bersama vs kepemilikan bersama

Tim platform dapat menjalankan layanan bersama—tanpa mengambil kepemilikan layanan produk.

  • Layanan bersama: autentikasi/otorisasi, manajemen secret, platform container, registry artifact, stack observabilitas.
  • Kepemilikan produk: setiap tim tetap bertanggung jawab atas keandalan, performa, integritas data, dan on-call layanan mereka.

Batasnya sederhana: tim platform memiliki uptime dan dukungan platform; tim produk memiliki cara layanan mereka menggunakan platform.

Bagaimana platform mengurangi beban kognitif

Saat tim tidak harus menjadi ahli CI/CD, auth, atau secret di hari pertama, mereka bisa fokus pada perilaku layanan dan dampak pengguna.

Contoh yang menghilangkan pekerjaan berulang:

  • Setup pipeline sekali klik dengan gate test konsisten
  • Auth terpusat yang mendukung identitas service-to-service
  • Secret managed dengan kebijakan rotasi
  • Monitoring base yang menginstrumentasi metrik umum

Hasilnya adalah pengiriman lebih cepat dengan lebih sedikit “custom ops snowflakes,” sambil mempertahankan janji inti: tim yang membangun layanan tetap yang menjalankannya.

Jebakan umum dan kapan menyesuaikan model

Tayangkan dengan percaya diri
Luncurkan dengan domain kustom ketika pilot Anda siap untuk pengguna nyata.
Tambahkan Domain

“You build it, you run it” dapat memperbaiki keandalan dan kecepatan—tetapi hanya jika organisasi mengubah kondisi di sekitar tim. Banyak kegagalan terlihat seperti slogan diadopsi, tetapi kebiasaan pendukung tidak diikuti.

Mode kegagalan yang harus diwaspadai

Beberapa pola muncul berulang:

  • Developer on-call, tapi tak pernah dapat waktu untuk memperbaiki akar masalah. Pager menjadi pekerjaan malam, sementara backlog terus menolak pekerjaan keandalan. Ini menciptakan learned helplessness: orang berhenti percaya insiden akan membawa perbaikan nyata.
  • Kepemilikan kabur (“semua orang memiliki”). Jika insiden melibatkan lima tim dan tak ada yang bisa mengambil keputusan end-to-end, Anda tidak punya kepemilikan—Anda punya rapat.
  • Terlalu banyak dependency bersama. Ketika setiap layanan bergantung pada skema database sentral, library bersama, atau tim “inti” untuk perubahan, tim tidak benar-benar bisa menjalankan apa yang mereka bangun. Mereka mewarisi kegagalan tanpa tuas untuk menguranginya.
  • On-call sebagai hukuman atau heroik. Jika budaya menghargai firefighting lebih dari pencegahan, sistem cenderung ke keadaan darurat yang sering.

Kapan model mungkin tidak cocok (dan cara menyesuaikan)

Beberapa lingkungan perlu pendekatan yang disesuaikan:

  • Kepatuhan ketat atau operasi teratur. Anda mungkin butuh pemisahan tugas, kontrol perubahan formal, atau akses produksi terbatas. Sesuaikan dengan menjaga tim layanan bertanggung jawab pada hasil keandalan, sambil menggunakan workflow yang disetujui (runbook diaudit, perubahan pra-disetujui, akses break-glass).
  • Monolith legacy. Basis kode tunggal dengan kepemilikan kusut membuat “run it” sulit. Mulailah dengan mengukir kepemilikan operasional jelas untuk modul, job, atau perjalanan pengguna tertentu, dan investasikan pada observabilitas dan keamanan deployment sebelum merombak semuanya.
  • Platform bersama yang kritis. Jika satu platform menopang banyak tim produk, tim platform dapat menjalankan platform—tetapi tim produk tetap harus memiliki target keandalan layanan mereka.

Tugas kepemimpinan: melindungi kapasitas keandalan

Filosofi ini paling cepat gagal saat kerja keandalan diperlakukan sebagai “tambahan.” Kepemimpinan harus secara eksplisit mengalokasikan kapasitas untuk:

  • Membayar hutang operasional (alert, runbook, otomatisasi)
  • Memperbaiki penyebab insiden berulang
  • Mengurangi dependency berisiko

Tanpa perlindungan itu, on-call menjadi pajak—bukannya loop umpan balik yang memperbaiki sistem.

Cara mengadopsi “You Build It, You Run It” langkah demi langkah

Melakukan ini paling baik sebagai perubahan bertahap, bukan pengumuman seluruh perusahaan. Mulai kecil, buat kepemilikan terlihat, lalu perluas.

1) Pilot dengan satu layanan

Pilih satu layanan yang terdefinisi baik (idealnya dengan pengguna jelas dan risiko terkelola).

Tentukan:

  • SLO yang mencerminkan pengalaman pengguna (mis. “99.9% request berhasil”)
  • Cakupan on-call untuk layanan itu (bahkan jika awalnya jam kerja + eskalasi)
  • Runbook untuk mode kegagalan teratas: “apa yang dicek,” “bagaimana rollback,” “siapa yang dipanggil”

Kunci: tim yang merilis perubahan juga memiliki hasil operasional untuk layanan itu.

2) Tambahkan guardrail sebelum skala

Sebelum memperluas ke lebih banyak layanan, pastikan tim pilot bisa beroperasi tanpa heroik:

  • Alert dasar yang memanggil untuk isu berdampak pengguna (bukan setiap lonjakan metrik)
  • Checklist kesiapan produksi ringan (logging, dashboard, jalur rollback)
  • Tinjauan rutin page dan insiden untuk menghapus alert berisik dan memperbaiki isu berulang

3) Lacak metrik adopsi yang tepat

Gunakan sekumpulan indikator kecil yang menunjukkan apakah kepemilikan memperbaiki pengiriman dan stabilitas:

  • Change failure rate (seberapa sering deploy menyebabkan insiden/rollback)
  • MTTR (mean time to restore)
  • Volume page (pages per minggu, plus “pages di luar jam kerja”)
  • Frekuensi deploy (seberapa sering Anda bisa merilis dengan aman)

Rencana 30/60/90 hari contoh

  • Hari 1–30: Pilih layanan pilot, definisikan SLO, atur kebijakan paging, tulis runbook pertama, buat dashboard.
  • Hari 31–60: Tune alert (kurangi noise), latih respons insiden, tambahkan keselamatan rilis (langkah rollback, canary bila memungkinkan).
  • Hari 61–90: Perluas ke 1–2 layanan lagi, standarisasi template (runbook/dok SLO), tinjau metrik dan keadilan beban kerja.

Di mana Koder.ai masuk (jika Anda memodernisasi cara Anda merilis)

Jika Anda mengadopsi “you build it, you run it” sambil juga mencoba mempercepat pengiriman, bottleneck sering sama: dari ide → layanan siap produksi dengan kepemilikan jelas dan cerita rollback aman.

Koder.ai adalah platform vibe-coding yang membantu tim membangun aplikasi web, backend, dan mobile lewat antarmuka chat (React di web, Go + PostgreSQL di backend, Flutter untuk mobile). Untuk tim yang condong ke kepemilikan layanan, beberapa fitur memetakan dengan jelas ke model operasi:

  • Planning mode untuk mendefinisikan batas layanan, dependensi, dan ekspektasi runbook/SLO sebelum pengkodean.
  • Snapshots dan rollback untuk menjadikan “revert cepat” langkah standar saat insiden.
  • Export kode sumber agar kepemilikan tetap di tangan tim (dan repo), bukan alat.

Langkah selanjutnya

Pilih layanan pilot Anda minggu ini dan jadwalkan kickoff 60 menit untuk menetapkan SLO pertama, rotasi on-call, dan pemilik runbook. Jika Anda mengevaluasi tooling untuk mendukung ini (pengiriman, rollback, dan workflow seputar kepemilikan), lihat /pricing untuk tier gratis, pro, business, dan enterprise Koder.ai—plus opsi seperti hosting, deployment, dan domain kustom.

Pertanyaan umum

Apa arti “You Build It, You Run It” dalam praktik?

Artinya tim yang merancang, membangun, dan menerapkan sebuah layanan juga bertanggung jawab atas apa yang terjadi setelah layanan tersebut live: pemantauan, respons on-call, tindak lanjut insiden, dan perbaikan keandalan.

Ini adalah model tanggung jawab (kepemilikan yang jelas), bukan pilihan alat atau perubahan jabatan.

Apakah “run it” berarti setiap developer harus menjadi ahli ops?

Bukan berarti setiap engineer harus menjadi spesialis infrastruktur penuh waktu.

Artinya:

  • tim memiliki akses dan wewenang untuk mendiagnosis dan memperbaiki masalah produksi
  • pekerjaan operasional menjadi bagian dari perencanaan tim
  • tooling platform harus mengurangi kompleksitas (paved roads) tanpa mengambil alih kepemilikan
Kenapa ini lebih baik dibanding model handoff dev/ops tradisional?

Dengan tim ops terpisah, umpan balik datang terlambat dan tanggung jawab menjadi kabur: developer mungkin tidak merasakan dampak produksi, dan ops mungkin tidak punya konteks perubahan terbaru.

Kepemilikan end-to-end biasanya meningkatkan:

  • kecepatan respons insiden (lebih sedikit handoff)
  • kualitas rilis (tim berinvestasi pada rollout yang lebih aman)
  • stabilitas jangka panjang (penyebab akar diperbaiki, bukan sekadar ditambal)
Secara tepatnya tim bertanggung jawab atas apa ketika mereka “run” sebuah layanan?

“Run it” biasanya mencakup:

  • dashboard untuk kesehatan yang berdampak pada pengguna (latency, error, traffic)
  • alert yang actionable dan terkait dampak (bukan simptom berisik)
  • workflow insiden (triage, mitigasi, komunikasi, tindak lanjut)
  • runbook untuk kegagalan umum dan langkah “15 menit pertama”
  • kepemilikan kapasitas dan biaya (scaling, limit, budgeting)
Bagaimana menyiapkan on-call tanpa membuat orang kelelahan?

Mulai dengan default yang manusiawi:

  • rotasi yang proporsional dan eskalasi yang jelas (primary/secondary/domain expert)
  • paging hanya untuk dampak nyata (definisi severity)
  • runbook supaya responder tidak menebak di bawah tekanan
  • waktu pemulihan setelah malam yang berat

Sistem on-call yang baik bertujuan mengurangi jumlah page bulan depan, bukan menormalisasi heroik.

Apa yang harus memicu page vs tiket?

Gunakan aturan sederhana: jika membangunkan seseorang tidak akan mengubah hasil, buat itu tiket.

Secara praktis:

  • page untuk outage, risiko kehilangan data, insiden keamanan, atau pelanggaran SLO serius
  • alihkan isu “terdegradasi tapi stabil” ke jam kerja kecuali berlanjut
  • ubah alert bermasalah menjadi pekerjaan tindak lanjut (tuning, sinyal yang lebih baik, otomatisasi)
Bagaimana SLO dan error budget mendukung “You Build It, You Run It”?

Mereka menciptakan target keandalan yang dapat diukur bersama:

  • SLI: apa yang Anda ukur (mis. rasio sukses request)
  • SLO: target untuk ukuran itu (mis. 99.9%)
  • Error budget: seberapa banyak ketidakstabilan yang boleh “dibelanjakan” sambil tetap memenuhi SLO

Saat budget cepat habis, prioritaskan pekerjaan keandalan; saat sehat, ambil lebih banyak risiko pengiriman fitur.

Praktik rilis apa yang membuat model ini berkelanjutan?

Adopsi praktik rilis yang mengurangi ketidakpastian dan blast radius:

  • dasar kesiapan produksi (dashboard, alert, runbook, rencana rollback)
  • delivery progresif (feature flags, canary, rilis kecil)
  • langkah rollback/roll-forward yang dilatih
  • pengujian beban dan kegagalan untuk menemukan "unknown unknowns" lebih awal
Bagaimana tim harus menangani insiden dan postmortem dalam model ini?

Jalankan insiden dengan alur yang dapat diulang:

  • detect → triage → mitigate → communicate → learn

Lalu tulis postmortem tanpa menyalahkan yang fokus pada celah proses dan sistem, dengan tindak lanjut yang:

  • konkret
  • dimiliki oleh orang/tim
  • berbatas waktu

Checklist ringan seperti /blog/incident-response-checklist bisa membantu menstandarisasi alur.

Apa peran yang tepat untuk tim platform tanpa merampas kepemilikan layanan?

Tim platform harus menyediakan paved roads (template, CI/CD, guardrail, layanan bersama) sementara tim produk mempertahankan kepemilikan hasil layanan mereka.

Batas praktis:

  • tim platform bertanggung jawab atas uptime dan dukungan platform
  • tim produk bertanggung jawab atas keandalan/performa/biaya layanan yang mereka jalankan di atas platform itu
Daftar isi
Apa yang sebenarnya dimaksud dengan “You Build It, You Run It”Mengapa filosofi ini mengubah cara tim merilis perangkat lunakDari mana asalnya: Werner Vogels dan mindset layananKepemilikan: apa yang tim ambil alih ketika mereka “run it”On-call yang benar (tanpa membakar orang)SLO, SLI, dan error budget: pembatas praktisPengiriman aman: kesiapan produksi dan praktik rilisInsiden dan postmortem: mengubah outage menjadi pembelajaranTooling yang mempermudah kepemilikan layananPeran tim platform: mendukung tanpa mengambil alih kepemilikanJebakan umum dan kapan menyesuaikan modelCara mengadopsi “You Build It, You Run It” langkah demi langkahPertanyaan umum
Bagikan
Koder.ai
Buat aplikasi sendiri dengan Koder hari ini!

Cara terbaik untuk memahami kekuatan Koder adalah melihatnya sendiri.

Mulai GratisPesan Demo