Mengidentifikasi dan mengukur toil — pekerjaan manual berulang yang menggerogoti tim — lalu menguranginya lewat otomasi bertahap: membuat bot, self-service, dan golden paths, dengan aturan 50% toil budget serta pelajaran dari praktik ITIL untuk change dan service management

Ada satu musuh yang jarang dibicarakan tapi diam-diam menghancurkan tim operasi: toil. Ia bukan kesalahan, bukan insiden, dan bukan pekerjaan yang menantang — ia adalah pekerjaan manual yang berulang, tanpa nilai jangka panjang, yang perlahan menguras energi dan semangat tim. Restart service yang crash dengan alasan sama setiap malam, patch manual ke seratus server, laporan yang diketik ulang dari dashboard — semua ini toil.
Di episode 2 kita menyebut aturan 50%: maksimal setengah waktu SRE boleh untuk toil. Episode ini menjadikan aturan itu praktik: cara mengenali toil, mengukur berapa banyak yang kita miliki, dan menguranginya lewat otomasi yang bertahap dan terarah. Kita akhiri dengan praktik mengotomasi satu task operasional yang nyata.
Definisi kerja toil dari Google: pekerjaan yang manual, berulang, tanpa nilai otomatis, dan bukan menantang secara intelektual. Empat ciri yang sering tumpang tindih dengan pekerjaan "penting" — karena itu harus diuji dengan jujur:
| Ciri | Pertanyaan uji |
|---|---|
| Manual | Apakah ini butuh tangan manusia? |
| Berulang | Apakah muncul lagi dan lagi? |
| Otomatisable | Apakah bisa diautomasi? |
| Tanpa nilai jangka panjang | Apakah menyelesaikannya membuat sistem lebih baik, atau hanya kembali ke titik semula? |
Contoh perbandingan: mengembalikan kredensial yang hilang untuk pengguna baru adalah toil (berulang, manual, tidak menambah nilai). Menulis ulang pipeline CI untuk mengatasi bottleneck bukan toil — ia engineering, meski terasa berat.
Toil sulit dirasakan tapi mudah diukur jika dicatat. Praktik yang sederhana namun kuat:
Task Frekuensi Waktu Skor Rencana
restart payment-worker 3x/minggu 10 mnt 30 otomasi healthcheck + auto-restart
ganti sertifikat staging 1x/bulan 30 mnt 30 otomasi cert-manager
rekon data malam (manual) 1x/hari 45 mnt 45 perbaiki pipeline kodeSkor frekuensi × waktu memberi peringkat objektif: kerjakan yang paling besar dampaknya dulu.
Important
Hati-hati dengan toil yang terasa seperti engineering. Otomasi yang dibangun untuk sistem yang akan dimatikan bulan depan, script yang "menarik" tapi tidak pernah dipakai, dan dashboard yang tidak dilihat siapa pun — semua itu toil juga, hanya dengan kedok kemajuan. Pertanyaan ujinya: apakah artefak ini benar-benar menghilangkan pekerjaan manual yang masih ada?
Mulai dari toil yang paling jelas: task manual dengan prosedur tetap. Ubah prosedur menjadi script, lalu jalan otomatis (cron, sistemd timer, atau workflow). Contoh paling klasik: log rotation dan pembersihan artifact lama.
#!/usr/bin/env bash
# hapus artifact build yang lebih tua dari 7 hari
find /var/lib/artifacts -type f -mtime +7 -delete
# kirim ringkasan ke channel otomasi
echo "artifacts dibersihkan: $(date)" >> /var/log/cleanup.logPasang dengan cron harian dan — penting — pantau hasilnya, karena otomasi yang gagal diam-diam adalah toil baru.
Banyak toil tim operasi sebenarnya berasal dari developer yang tidak punya jalan lain: "tolong buatkan environment staging", "minta akses ke dashboard". Jawaban yang sehat bukan melarang, melainkan memberi jalan yang lebih mudah: internal developer platform dengan templat environment, akses via approval otomatis, atau golden path deployment.
#!/usr/bin/env bash
# pratinjau environment dari branch
set -euo pipefail
BRANCH="${1:?nama branch wajib ada}"
# jalankan templat deployment untuk branch ini
kubectl create namespace "preview-$BRANCH"
kubectl apply -f "manifests/preview-$BRANCH.yaml"
echo "Preview siap: https://$BRANCH.preview.internal"Pada level ini, perbaikan berulang diubah menjadi pencegahan sistemik: alert yang memicu runbook otomatis, keputusan yang diubah menjadi konfigurasi, dan proses manual digantikan pipeline. Contoh: alih-alih menunggu insiden "disk penuh" lalu membersihkan manual, otomasi membersihkan otomatis sebelum ambang tercapai — dan alert hanya berbunyi jika otomasi gagal.
ITIL (IT Infrastructure Library) sering dianggap birokratis, tetapi prinsip-prinsipnya justru sejalan dengan pengurangan toil jika diterapkan ringan:
Kuncinya: ambil disiplinnya, buang paperwork-nya. Setiap proses ITIL di tim SRE harus lulus uji yang sama seperti toil: apakah proses ini menambah nilai atau hanya birokrasi?
Tip
Aturan sederhana untuk setiap proposal otomasi: "otomasi ini menghilangkan berapa jam toil per minggu, dan butuh berapa jam untuk dibangun serta dipelihara?" Otomasi yang butuh 40 jam untuk menghemat 1 jam per bulan adalah toil dengan kedok engineering. Hitung dulu sebelum membangun.
Pilih satu task toil dari register kalian, lalu jalankan siklus:
Contoh cepat yang bisa kalian tiru sekarang — auto-restart worker yang crash:
apiVersion: batch/v1
kind: CronJob
metadata:
name: health-restart
spec:
schedule: "*/5 * * * *"
jobTemplate:
spec:
template:
spec:
containers:
- name: check
image: curlimages/curl:8.13.0
command:
- /bin/sh
- -c
- |
code=$(curl -s -o /dev/null -w "%{http_code}" \
http://payment-worker.internal/health)
if [ "$code" != "200" ]; then
curl -s -X POST http://k8s-api/... # restart pod
curl -s -H 'Content-Type: application/json' \
-d '{"text":"worker di-restart (health gagal)"}' \
https://discord.com/api/webhooks/...
fi
restartPolicy: OnFailureWarning
Jangan otomasi task yang seharusnya dihilangkan, bukan diulang. Contoh: alih-alih otomasi "sinkronisasi config manual ke 50 server", otomasi distribusi config dari satu source of truth — yang otomatis menghilangkan kebutuhan task manual itu sama sekali. Otomasi yang hanya membuat proses buruk berjalan lebih cepat masih melestarikan proses buruk itu.
Pada episode 9 ini, kalian telah belajar menyerang musuh yang paling senyap di tim operasi.
Inti yang harus dibawa pulang:
Di episode 10 selanjutnya, kita akan mempraktikkan semua prinsip reliability pada platform paling umum di dunia modern: Kubernetes — resource requests/limits, HPA, PodDisruptionBudget, dan multi-AZ untuk meng-hardening reliability cluster. Sampai jumpa di episode 10!