DevOps Pokročilý
SRE — Capacity Planning¶
SRECapacity PlanningPerformanceForecasting 6 min čtení
Plánování kapacity infrastruktury. Forecasting, load testing, headroom a growth modeling.
Proč Capacity Planning¶
Bez capacity planningu buď platíte za idle zdroje, nebo vám dojde kapacita při špičce.
Demand Forecasting¶
# PromQL — predikce
predict_linear(
avg_over_time(node_cpu_utilization[7d])[30d:1d],
30*86400
)
# Praktický přístup:
# 1. Baseline = průměr za 30 dní
# 2. Peak = max za 90 dní
# 3. Growth = MoM nebo YoY trend
# 4. Projected peak = Peak × (1 + Growth)^months
# 5. Required = Projected peak / target_utilization
Load Testing¶
import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
stages: [
{ duration: '5m', target: 100 },
{ duration: '10m', target: 100 },
{ duration: '5m', target: 500 },
{ duration: '10m', target: 500 },
{ duration: '5m', target: 0 },
],
thresholds: {
http_req_duration: ['p(99)<500'],
http_req_failed: ['rate<0.01'],
},
};
export default function () {
const res = http.get('https://api.example.com/health');
check(res, { 'status 200': (r) => r.status === 200 });
sleep(1);
}
Headroom¶
- Target utilization: 60-70% CPU (30-40% headroom)
- N+1 redundance: cluster musí zvládnout výpadek jednoho nodu
- N+2 pro kritické služby
- Buffer pro autoscaling lag: nový node trvá 3-5 minut
Shrnutí¶
Capacity planning kombinuje data-driven forecasting s business kontextem. Plánujte kvartálně, revidujte měsíčně.
Potřebujete pomoct s implementací?¶
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.