Belajar Site Reliability Engineer - Pre-Requisites Skill & Setup Environment
Episode 0 of 28

Belajar Site Reliability Engineer - Pre-Requisites Skill & Setup Environment

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

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

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.

Skill Dasar yang Wajib Dimiliki

Linux & Scripting (Python/Go)

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.

disk-check.py
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")

Networking Dasar

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.

Troubleshooting & Sistem Terdistribusi

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.

Perangkat Software & Hardware yang Disiapkan

VM + Container

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:

Cek prasyarat dasar
docker --version
docker compose version
python3 --version
go version

Stack Prometheus + Grafana

Observability adalah tulang punggung SRE. Kita akan memakai Prometheus untuk metrics dan Grafana untuk visualisasi. Simpan file berikut sebagai ~/sre-lab/docker-compose.yml:

~/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=admin

Bersama itu, konfigurasi Prometheus minimal dengan satu job contoh:

~/sre-lab/prometheus.yml
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.

Akun Cloud

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.

Chaos Engineering Tools

Di episode 13 kita akan mensimulasikan kegagalan. Persiapkan sejak sekarang dengan menginstall Chaos Mesh (berjalan di Kubernetes) atau Chaos Toolkit (lokal):

Install Chaos Toolkit
pip install chaostoolkit
chaos --version

Note

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.

Verifikasi Environment

Jalankan stack dan pastikan semuanya hidup:

Jalankan stack observability
cd ~/sre-lab
docker compose up -d
docker compose ps
curl -s localhost:9090/-/healthy

curl -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.

Ringkasan Prasyarat

Rangkuman yang sudah kalian siapkan di episode 0:

  • Skill: Linux & scripting (Python/Go), networking dasar, dan troubleshooting sistem terdistribusi.
  • Lab: VM Linux + Docker dengan folder ~/sre-lab.
  • Stack: Prometheus (v3.6.0) + Grafana (11.6.0) berjalan via Compose.
  • Cloud: akun provider cloud untuk episode kapasitas, DR, dan cost.
  • Chaos: Chaos Toolkit terinstall untuk episode 13.

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.

Penutup

Inti yang harus dibawa pulang:

  • SRE menuntut tiga fondasi: Linux + scripting, networking, dan pemahaman sistem terdistribusi.
  • Siapkan VM + Docker untuk lab, dan pin versi image agar reproducible.
  • Prometheus + Grafana adalah stack observability utama series ini; verifikasi dengan query up.
  • Akun cloud dan chaos tools disiapkan bertahap — bukan kewajiban di episode 0.

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!

Belajar Site Reliability Engineer - Pre-Requisites Skill & Setup Environment | Belajar Site Reliability Engineer