Sebelum menyentuh SLO, alerting, dan incident management, kalian perlu menguasai Linux & scripting, dasar networking, serta pemahaman sistem terdistribusi. Di episode ini kalian juga menyiapkan VM + container, stack Prometheus/Grafana, akun cloud, dan tools chaos engineering untuk memverifikasi environment siap dipakai sepanjang series

Selamat datang di series Belajar Site Reliability Engineer! Series ini akan membawa kalian menjadi SRE — peran yang menerapkan software engineering untuk operasi — dari prinsip, SLO/error budget, observability, incident management, hingga reliability-as-code dan chaos engineering. Total ada 28 episode yang tersusun dalam enam fase, dari fondasi konsep sampai production readiness.
Sebelum mendefinisikan SLO:99.9% atau mengonfigurasi alert pertama, ada skill dasar dan perangkat yang wajib kalian siapkan. Mengapa prasyarat ini penting? Karena SRE bekerja di persimpangan software engineering dan operasi: kalian akan membaca kode untuk debugging, menulis script untuk otomasi toil, membaca grafik metrics untuk kapasitas, dan menelusuri trace untuk menemukan akar masalah. Tanpa fondasi ini, episode-episode praktik akan terasa seperti membangun rumah di atas pasir.
Episode 0 ini adalah peta jalan kalian: kita akan memastikan skill dasar terpenuhi, menyiapkan VM dan container, memasang stack observability, lalu memverifikasi environment dengan contoh metric dan alert pertama yang selalu dipakai di series ini.
SRE bukan sysadmin klasik yang cukup tahu perintah manual. Kalian harus nyaman dengan CLI, dan — yang lebih penting — mampu mengotomasi operasi lewat script. Python adalah bahasa paling produktif untuk tooling SRE; Go umum dipakai untuk agent dan operator. Latihan kecil: tulis script yang memeriksa disk usage dan mencetak warning bila melewati ambang.
import shutil
usage = shutil.disk_usage("/")
pct = usage.used / usage.total * 100
print(f"disk used: {pct:.1f}%")
if pct > 85:
print("WARNING: disk hampir penuh")SRE harus bisa menelusuri jalur request dari DNS sampai backend. Kalian wajib paham HTTP status code, TCP/UDP, port, DNS, dan TLS. Tools wajib: dig, curl, traceroute, ss. Tanpa ini, mendiagnosis "kenapa latency naik" akan seperti menebak dalam gelap.
Ini pembeda SRE: kemampuan menemukan akar masalah secara sistematis di sistem yang tersebar di banyak mesin. Kalian harus paham konsep service discovery, load balancing, retry, dan timeout — karena sebagian besar insiden muncul justru di persimpangan antar-service, bukan di satu komponen.
Siapkan satu VM Linux (minimal 4 CPU / 8 GB RAM) sebagai "server lab". Di atasnya jalankan Docker untuk menjalankan service contoh. Sebagian besar episode akan memakai Compose, jadi pastikan versi modern terinstall:
docker --version
docker compose version
python3 --version
go versionObservability adalah tulang punggung SRE. Kita akan memakai Prometheus untuk metrics dan Grafana untuk visualisasi. Simpan file berikut sebagai ~/sre-lab/docker-compose.yml:
services:
prometheus:
image: prom/prometheus:v3.6.0
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
grafana:
image: grafana/grafana:11.6.0
ports:
- "3000:3000"
environment:
- GF_SECURITY_ADMIN_PASSWORD=adminBersama itu, konfigurasi Prometheus minimal dengan satu job contoh:
global:
scrape_interval: 15s
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ["localhost:9090"]Tip
Pin versi image, jangan pakai :latest. Reproduktibilitas bukan sekadar kebiasaan baik — di episode 14 (reliability-as-code) kalian akan melihat mengapa versi yang terkunci menjadi bagian dari konfigurasi yang harus direview, bukan dibiarkan mengambang.
Siapkan akun di satu provider cloud (AWS, GCP, atau DigitalOcean). Di episode 8 (capacity planning), 16 (multi-region & DR), dan 17 (cost-aware reliability) kita akan membahas skenario yang membutuhkan pemahaman cloud nyata. Untuk episode awal, cukup akun gratis dengan beberapa resource kecil.
Di episode 13 kita akan mensimulasikan kegagalan. Persiapkan sejak sekarang dengan menginstall Chaos Mesh (berjalan di Kubernetes) atau Chaos Toolkit (lokal):
pip install chaostoolkit
chaos --versionNote
Belum semua perangkat harus lengkap hari ini. VM + Docker + Prometheus/Grafana sudah cukup untuk episode 1-12; akun cloud dan chaos tools baru benar-benar dibutuhkan mulai episode 13. Siapkan bertahap agar tidak kewalahan.
Jalankan stack dan pastikan semuanya hidup:
cd ~/sre-lab
docker compose up -d
docker compose ps
curl -s localhost:9090/-/healthycurl -s localhost:9090/-/healthy harus mencetak Prometheus Server is Healthy. Sekarang buka Grafana di http://localhost:3000 (login admin/admin), tambahkan data source Prometheus di http://localhost:9090, dan coba query up. Hasil 1 berarti Prometheus berhasil meng-scrape dirinya sendiri.
Warning
Kesalahan paling umum di episode 0 adalah port tertabrak service lain, atau Grafana tidak bisa mengakses Prometheus karena memakai localhost alih-alih nama container. Jika query up kosong, pastikan data source URL menunjuk ke http://prometheus:9090 dari dalam jaringan Grafana.
Rangkuman yang sudah kalian siapkan di episode 0:
~/sre-lab.v3.6.0) + Grafana (11.6.0) berjalan via Compose.Jika ada yang belum terpenuhi, berhenti dulu dan lengkapi sebelum melanjutkan. Perjalanan 27 episode ke depan akan jauh lebih lancar dengan pijakan yang kuat ini.
Inti yang harus dibawa pulang:
up.Di episode 1 selanjutnya kita akan membahas peran, sejarah, dan filosofi SRE — dari lahirnya istilah di Google pada 2003 oleh Ben Treynor Sloss, definisi "what happens when a software engineer is tasked with operations", hingga filosofi otomasi toil dan keseimbangan kecepatan vs stabilitas. Pastikan environment kalian sudah siap, karena perjalanan Belajar Site Reliability Engineer baru saja dimulai!