Проверяет понимание SLA, способов его измерения и практических методов повышения доступности приложения.
SLA (Service Level Agreement) — это формальное соглашение между поставщиком сервиса и потребителем о том, какой уровень доступности и качества гарантируется. Обычно SLA выражается в процентах доступности за определённый период: 99%, 99.9%, 99.99% и так далее. Чем больше девяток, тем дороже и сложнее обеспечить такой уровень.
Основная метрика — доля успешных запросов или время доступности сервиса. Формула простая:
Availability = (Total Time - Downtime) / Total Time * 100%На практике используют SLI (Service Level Indicator) — конкретные измерения: процент успешных HTTP-ответов, latency p95/p99, доля ошибок 5xx. SLO (Service Level Objective) — внутренняя цель, например 99.95%. SLA — внешнее обещание клиенту, обычно чуть ниже SLO, чтобы был запас.
const express = require('express');
const app = express();
app.get('/health', async (req, res) => {
try {
await db.ping(); // проверка БД
res.status(200).json({ status: 'ok' });
} catch (e) {
res.status(503).json({ status: 'unavailable' });
}
});
app.listen(3000);Такой endpoint позволяет оркестратору (Kubernetes) перезапускать нездоровые поды и исключать их из балансировки.
Если SLO = 99.9%, то допустимый простой — 0.1% времени. Это error budget. Пока бюджет не исчерпан, можно выпускать новые фичи. Когда бюджет сгорает — команда переключается на повышение надёжности.
Итог: SLA повышают комплексно — через архитектурное резервирование, наблюдаемость, автоматизацию восстановления и управление релизами. Применять эти практики стоит любому продакшен-сервису, где простой напрямую влияет на бизнес и доверие пользователей.
Уровень
Рейтинг:
5
Сложность:
7
Навыки
Docker
Kubernetes
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию