ServiceLevelObjective
The ServiceLevelObjective resource allows you to define and manage AWS ApplicationSignals ServiceLevelObjectives to measure the performance and reliability of your applications.
Minimal Example
Section titled “Minimal Example”Create a basic Service Level Objective with required properties and a couple of common optional configurations.
import AWS from "alchemy/aws/control";
const basicSlo = await AWS.ApplicationSignals.ServiceLevelObjective("basicSlo", { name: "UserLoginSLO", Sli: { type: "requestBased", requestBasedSli: { successCount: "100", totalCount: "120" } }, Goal: { type: "percentage", value: 95 }, Description: "Measures the success rate of user login requests"});
Advanced Configuration
Section titled “Advanced Configuration”Define a Service Level Objective with burn rate configurations and exclusion windows for better control over your SLO metrics.
const advancedSlo = await AWS.ApplicationSignals.ServiceLevelObjective("advancedSlo", { name: "CheckoutSLO", Sli: { type: "requestBased", requestBasedSli: { successCount: "200", totalCount: "250" } }, Goal: { type: "percentage", value: 98 }, BurnRateConfigurations: [ { threshold: 5, duration: "1h" }, { threshold: 10, duration: "2h" } ], ExclusionWindows: [ { startTime: "2023-10-01T14:00:00Z", endTime: "2023-10-01T15:00:00Z" } ], Description: "Measures the success rate of checkout requests with exclusion for maintenance windows."});
Integrating Request-Based SLI
Section titled “Integrating Request-Based SLI”Create a Service Level Objective based on request metrics, demonstrating how to use request-based SLI configurations.
const requestBasedSlo = await AWS.ApplicationSignals.ServiceLevelObjective("requestBasedSlo", { name: "ApiResponseSLO", RequestBasedSli: { requestCount: { successCount: "300", totalCount: "350" } }, Goal: { type: "percentage", value: 90 }, Description: "Tracks API response success rates for our critical endpoints."});