Skip to content
GitHubXDiscordRSS

ServiceLevelObjective

Learn how to create, update, and manage AWS ApplicationSignals ServiceLevelObjectives using Alchemy Cloud Control.

The ServiceLevelObjective resource allows you to define and manage AWS ApplicationSignals ServiceLevelObjectives to measure the performance and reliability of your applications.

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"
});

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."
});

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."
});