Bird
Raised Fist0
Rest APIprogramming~3 mins

Why SLA and uptime tracking in Rest API? - Purpose & Use Cases

Choose your learning style10 modes available
The Big Idea

What if you could never miss a website outage again and always keep your promises?

The Scenario

Imagine you run a website and promise your users it will be available 99.9% of the time. You try to check manually every hour if the site is up by opening it yourself or asking your team to report outages.

The Problem

This manual checking is slow, tiring, and easy to miss problems. You might not notice short outages or forget to record downtime accurately. This can lead to unhappy users and broken promises.

The Solution

SLA and uptime tracking automates this process by regularly checking your service's health and calculating how often it stays online. It gives you clear reports and alerts so you can fix issues fast and keep your promises.

Before vs After
✗ Before
Check website status by opening browser every hour and note downtime manually.
✓ After
GET /healthcheck endpoint called every minute; logs uptime and downtime automatically.
What It Enables

This lets you confidently guarantee your service reliability and quickly respond to problems before users notice.

Real Life Example

A streaming service uses uptime tracking to ensure viewers rarely face interruptions and meets its SLA commitments to customers.

Key Takeaways

Manual uptime checks are slow and unreliable.

Automated SLA tracking gives accurate, real-time status.

It helps maintain trust by meeting service promises.

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