Documentation / Sovereign Autoscale

Sovereign Autoscale

Sistem scaling cerdas untuk memastikan kapasitas selalu sesuai kebutuhan operasional, tanpa pemborosan resource.

Dynamic Thresholding

Skala resource aktif berdasarkan load traffic, queue depth, dan SLA target.

Policy Guardrail

Batas minimum-maksimum node dijaga agar stabilitas dan cost control tetap seimbang.

Node Lifecycle

Provision, warmup, handover, dan drain node dikelola tanpa downtime operasional.

Autoscale Lifecycle

  • Signal collector membaca telemetry per node secara kontinu.
  • Planner menghitung skenario scale up/down berbasis policy.
  • Executor menjalankan provisioning dan traffic redistribution.
  • Verifier memantau health score pasca scaling dan melakukan remediation jika perlu.

Authentication & Policy Access

Endpoint autoscale hanya dapat diakses oleh role superadmin atau service account dengan scope khusus. Semua operasi scale wajib menyertakan request signature untuk audit trail.

# Required Headers

Authorization: Bearer <service_jwt>

X-Tenant-ID: mitra_abc123

X-Request-ID: uuid-v4

X-Signature: hmac_sha256(payload, secret)

# Required Scopes

autoscale:read — baca telemetry & policy

autoscale:write — update policy & trigger scale

autoscale:override — bypass guardrail (superadmin only)

Autoscale API Endpoints

GET/api/autoscale/policy

Ambil konfigurasi policy autoscale aktif untuk tenant.

{

"tenant_id": "mitra_abc123",

"min_nodes": 2,

"max_nodes": 12,

"target_cpu_pct": 65,

"target_queue_depth": 120,

"scale_up_step": 2,

"scale_down_step": 1,

"cooldown_seconds": 300,

"health_gate_min_score": 85,

"updated_at": "2026-05-19T00:00:00Z"

}

PUT/api/autoscale/policy

Update policy autoscale tenant.

{

"min_nodes": 3,

"max_nodes": 20,

"target_cpu_pct": 70,

"target_queue_depth": 180,

"cooldown_seconds": 240,

"health_gate_min_score": 88

}

GET/api/autoscale/telemetry

Ambil snapshot telemetry cluster untuk decisioning dan monitoring.

{

"timestamp": "2026-05-19T00:05:00Z",

"cluster": {

"active_nodes": 6,

"avg_cpu_pct": 58,

"avg_memory_pct": 61,

"queue_depth": 94,

"req_per_sec": 132

},

"nodes": [

{ "id": "node-sg-01", "cpu": 62, "memory": 60, "health": 92 },

{ "id": "node-jkt-01", "cpu": 55, "memory": 59, "health": 95 }

]

}

POST/api/autoscale/simulate

Simulasikan keputusan autoscale tanpa melakukan perubahan nyata (dry-run decision engine).

{

"input": {

"active_nodes": 4,

"avg_cpu_pct": 83,

"queue_depth": 260

}

}

# Response

{ "decision": "scale_up", "add_nodes": 2, "confidence": 0.93 }

POST/api/autoscale/action

Trigger aksi manual scale up/down dengan audit log.

{

"action": "scale_up" | "scale_down",

"count": 2,

"reason": "traffic_spike" | "cost_optimization" | "manual_override",

"override_guardrail": false

}

Decision Engine Rules

1. Jika avg_cpu_pct > target_cpu_pct selama 3 interval berturut-turut, trigger scale up.

2. Jika queue_depth > target_queue_depth selama 2 interval, trigger scale up prioritas tinggi.

3. Jika avg_cpu_pct < target_cpu_pct - 20% selama 15 menit, evaluasi scale down.

4. Scale down hanya dilakukan jika node health score semua node > 90 dan tidak ada incident aktif.

5. Semua aksi scale diblok selama cooldown window aktif untuk mencegah flapping.

Rate Limiting

Endpoint GroupLimitWindowNotes
GET /policy, /telemetry120 req1 menitRead-heavy safe
PUT /policy30 req1 menitConfig mutation
POST /action, /simulate20 req1 menitScale decision control

Error Codes

CodeMeaningResolution
AS-001Scale operation blocked by cooldown windowTunggu cooldown selesai atau override via superadmin
AS-002Node provisioning failedCek quota provider dan network bootstrap script
AS-003Health gate failed after scale-upNode baru gagal health check, auto-drain aktif
AS-004Scale-down prevented by minimum capacity policyTurunkan min_nodes policy atau tingkatkan drain timeout
AS-005Telemetry stale, decision engine pausedPeriksa collector pipeline dan heartbeat agent

Observability Metrics

MetricUnitDeskripsi
as.scale.events_totalcountTotal event scale up/down
as.scale.up.duration_msmsDurasi rata-rata scale-up
as.scale.down.duration_msmsDurasi rata-rata scale-down
as.node.health_score0-100Skor kesehatan node agregat
as.node.active_totalcountJumlah node aktif saat ini
as.queue.depthcountKedalaman queue request
as.policy.block_countcount/hrJumlah scale event diblok policy
as.cost.estimate_hourlycurrency/hrEstimasi biaya per jam

Optimization Tip

Aktifkan cooldown window dan anomaly dampener untuk mencegah flapping saat beban traffic berubah cepat.

Kembali ke LandingKembali ke Provisioning API