Bird
Raised Fist0
Rest APIprogramming~30 mins

SLA and uptime tracking in Rest API - Mini Project: Build & Apply

Choose your learning style10 modes available
SLA and uptime tracking
📖 Scenario: You work for a company that provides online services. Your team needs to track the uptime of different services to make sure they meet the Service Level Agreement (SLA).Each service has a name and a list of uptime percentages recorded daily. You want to calculate which services meet the SLA threshold.
🎯 Goal: Build a simple program that stores uptime data for services, sets an SLA threshold, calculates which services meet the SLA, and prints the results.
📋 What You'll Learn
Create a dictionary with service names as keys and lists of daily uptime percentages as values
Create a variable for the SLA threshold percentage
Use a dictionary comprehension to find services that meet or exceed the SLA threshold on average
Print the dictionary of services that meet the SLA
💡 Why This Matters
🌍 Real World
Tracking uptime is important for companies to ensure their services are reliable and meet promised standards.
💼 Career
Many IT and DevOps roles require monitoring service performance and reporting SLA compliance.
Progress0 / 4 steps
1
Create the uptime data dictionary
Create a dictionary called services_uptime with these exact entries: 'Email': [99.9, 99.7, 99.8], 'Storage': [99.5, 99.6, 99.4], 'Chat': [99.8, 99.9, 99.7]
Rest API
Hint

Use curly braces to create a dictionary. Each key is a service name string, and each value is a list of floats.

2
Set the SLA threshold
Create a variable called sla_threshold and set it to 99.7
Rest API
Hint

Just create a variable and assign the number 99.7 to it.

3
Find services meeting the SLA
Use a dictionary comprehension to create a dictionary called services_meeting_sla that includes only services from services_uptime whose average uptime is greater than or equal to sla_threshold. Use sum() and len() to calculate the average uptime for each service.
Rest API
Hint

Use dictionary comprehension syntax: {key: value for key, value in dict.items() if condition}.

4
Print the services meeting SLA
Write a print() statement to display the services_meeting_sla dictionary.
Rest API
Hint

Use print(services_meeting_sla) to show the final dictionary.

Practice

(1/5)
1. What does SLA stand for in the context of uptime tracking?
easy
A. Service Level Agreement
B. System Log Analysis
C. Server Load Average
D. Standard Latency Assessment

Solution

  1. Step 1: Understand SLA meaning

    SLA is a contract that defines expected service performance and uptime.
  2. Step 2: Match SLA to options

    Only "Service Level Agreement" correctly describes this contract.
  3. Final Answer:

    Service Level Agreement -> Option A
  4. Quick Check:

    SLA = Service Level Agreement [OK]
Hint: Remember SLA means agreement on service quality [OK]
Common Mistakes:
  • Confusing SLA with system logs
  • Thinking SLA measures latency
  • Mixing SLA with server load
2. Which HTTP method is typically used to retrieve uptime data from a REST API?
easy
A. POST
B. DELETE
C. PUT
D. GET

Solution

  1. Step 1: Identify REST API methods for data retrieval

    GET method is used to request data without changing server state.
  2. Step 2: Match method to uptime data retrieval

    Since uptime data is fetched, GET is the correct method.
  3. Final Answer:

    GET -> Option D
  4. Quick Check:

    Retrieve data with GET [OK]
Hint: Use GET to fetch data from REST APIs [OK]
Common Mistakes:
  • Using POST to fetch data
  • Confusing DELETE with retrieval
  • Using PUT for reading data
3. Given this JSON response from an uptime API:
{"uptime_percentage": 99.5, "downtime_minutes": 30}

What is the actual uptime in minutes if the total period is 1440 minutes (1 day)?
medium
A. 1440 minutes
B. 1395 minutes
C. 1410 minutes
D. 1430 minutes

Solution

  1. Step 1: Calculate uptime from total and downtime

    Uptime = Total minutes - Downtime minutes = 1440 - 30 = 1410 minutes.
  2. Step 2: Confirm with options

    1410 minutes matches 1410 minutes. The percentage is a separate metric.
  3. Final Answer:

    1410 minutes -> Option C
  4. Quick Check:

    Uptime = 1440 - 30 = 1410 [OK]
Hint: Subtract downtime from total time for uptime [OK]
Common Mistakes:
  • Using downtime as uptime
  • Ignoring total period
  • Confusing percentage with minutes
4. You have this REST API call to get uptime:
import requests
response = requests.get('https://api.example.com/uptime')
data = response.json()
uptime = data['up_time_percentage']

What is the error in this code?
medium
A. Incorrect key name 'up_time_percentage' instead of 'uptime_percentage'
B. Missing import for requests module
C. Using GET instead of POST method
D. No error, code is correct

Solution

  1. Step 1: Check JSON key names

    The API returns key 'uptime_percentage', but code uses 'up_time_percentage'.
  2. Step 2: Identify key mismatch error

    This causes a KeyError because the key name is incorrect.
  3. Final Answer:

    Incorrect key name 'up_time_percentage' instead of 'uptime_percentage' -> Option A
  4. Quick Check:

    Key name must match JSON exactly [OK]
Hint: Match JSON keys exactly to avoid errors [OK]
Common Mistakes:
  • Typos in key names
  • Using wrong HTTP method
  • Forgetting to import requests
5. You want to check if a service meets its SLA of 99.9% uptime over a month (43200 minutes). The API returns:
{"uptime_percentage": 99.85}

Which statement correctly describes the SLA status?
hard
A. Service meets SLA because uptime is above 99.8%.
B. Service fails SLA because uptime is below 99.9%.
C. Service meets SLA because downtime is less than 60 minutes.
D. Service fails SLA because uptime percentage is not provided.

Solution

  1. Step 1: Compare reported uptime to SLA target

    The SLA requires at least 99.9%, but actual uptime is 99.85%, which is less.
  2. Step 2: Determine SLA compliance

    Since 99.85% < 99.9%, the service fails the SLA.
  3. Final Answer:

    Service fails SLA because uptime is below 99.9% -> Option B
  4. Quick Check:

    Actual uptime < SLA target means failure [OK]
Hint: Compare actual uptime directly to SLA percentage [OK]
Common Mistakes:
  • Assuming close enough meets SLA
  • Ignoring SLA threshold
  • Confusing downtime with uptime
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard