Bird
Raised Fist0
AWScloud~5 mins

Why serverless architecture matters in AWS - Performance Analysis

Choose your learning style10 modes available
Time Complexity: Why serverless architecture matters
O(n)
Understanding Time Complexity

We want to see how the work done by serverless functions changes as more requests come in.

How does the number of function calls grow when the number of users or events increases?

Scenario Under Consideration

Analyze the time complexity of the following operation sequence.


// AWS Lambda function triggered by events
exports.handler = async (event) => {
  // Process each record in the event
  for (const record of event.Records) {
    await processRecord(record); // Calls another service or DB
  }
  return 'Done';
};

async function processRecord(record) {
  // Simulate processing
  return Promise.resolve();
}
    

This code runs a serverless function that processes each incoming event record one by one.

Identify Repeating Operations

Identify the API calls, resource provisioning, data transfers that repeat.

  • Primary operation: Processing each event record inside the Lambda function.
  • How many times: Once per event record received in the batch.
How Execution Grows With Input

As the number of event records increases, the function processes more records one after another.

Input Size (n)Approx. Api Calls/Operations
1010 processRecord calls
100100 processRecord calls
10001000 processRecord calls

Pattern observation: The number of operations grows directly with the number of event records.

Final Time Complexity

Time Complexity: O(n)

This means the work grows in a straight line as more events come in.

Common Mistake

[X] Wrong: "The function runs once no matter how many events arrive."

[OK] Correct: Each event record triggers processing, so more records mean more work inside the function.

Interview Connect

Understanding how serverless functions scale with input helps you design systems that handle growth smoothly.

Self-Check

"What if the function processed all records in parallel instead of one by one? How would the time complexity change?"

Practice

(1/5)
1. What is the main benefit of using serverless architecture in cloud computing?
easy
A. You don't need to manage or provision servers.
B. You get unlimited free storage.
C. You must manually scale your application.
D. You pay a fixed monthly fee regardless of usage.

Solution

  1. Step 1: Understand serverless basics

    Serverless means the cloud provider manages servers, so you don't have to.
  2. Step 2: Identify the key benefit

    This removes the need for manual server management and provisioning.
  3. Final Answer:

    You don't need to manage or provision servers. -> Option A
  4. Quick Check:

    Serverless = No server management [OK]
Hint: Serverless means no server setup or maintenance needed [OK]
Common Mistakes:
  • Thinking serverless means free unlimited resources
  • Assuming you must scale servers manually
  • Believing serverless has fixed monthly costs
2. Which AWS service is an example of serverless compute?
easy
A. Amazon EC2
B. AWS Lambda
C. Amazon RDS
D. Amazon S3

Solution

  1. Step 1: Identify serverless compute services

    AWS Lambda runs code without managing servers, fitting serverless compute.
  2. Step 2: Compare options

    EC2 requires server management, RDS is managed database, S3 is storage.
  3. Final Answer:

    AWS Lambda -> Option B
  4. Quick Check:

    Serverless compute = AWS Lambda [OK]
Hint: Lambda runs code without servers, EC2 does not [OK]
Common Mistakes:
  • Choosing EC2 which requires server management
  • Confusing storage (S3) with compute
  • Selecting RDS which is managed database, not compute
3. Consider this AWS Lambda function code snippet:
exports.handler = async (event) => {
  return { statusCode: 200, body: 'Hello Serverless!' };
};

What will be the output when this Lambda function is invoked?
medium
A. Runtime error because of missing callback
B. SyntaxError due to arrow function
C. { statusCode: 200, body: 'Hello Serverless!' }
D. Empty response with statusCode 500

Solution

  1. Step 1: Analyze the Lambda handler syntax

    The handler is an async arrow function returning a valid response object.
  2. Step 2: Understand Lambda response behavior

    Returning an object with statusCode and body is correct for API Gateway integration.
  3. Final Answer:

    { statusCode: 200, body: 'Hello Serverless!' } -> Option C
  4. Quick Check:

    Async handler returns response object [OK]
Hint: Async arrow functions can return response objects directly [OK]
Common Mistakes:
  • Thinking arrow functions cause syntax errors
  • Assuming callback is required in async handlers
  • Expecting empty or error responses without cause
4. You wrote this AWS Lambda function but it always times out:
exports.handler = (event, context) => {
  while(true) {}
};

What is the main reason for the timeout?
medium
A. Lambda functions cannot use arrow functions.
B. Missing async keyword causes timeout.
C. The event parameter is not used.
D. The infinite loop blocks the function from returning.

Solution

  1. Step 1: Identify the code behavior

    The while(true) creates an infinite loop that never ends or returns.
  2. Step 2: Understand Lambda timeout cause

    Without returning or ending, Lambda runs until timeout is reached.
  3. Final Answer:

    The infinite loop blocks the function from returning. -> Option D
  4. Quick Check:

    Infinite loop causes timeout [OK]
Hint: Infinite loops cause Lambda to never finish [OK]
Common Mistakes:
  • Blaming missing async keyword for timeout
  • Thinking arrow functions are unsupported
  • Assuming unused parameters cause timeout
5. You want to build a web app that scales automatically and only charges you when users interact. Which serverless feature best supports this?
hard
A. Automatic scaling with pay-per-use billing
B. Reserved instances with fixed monthly cost
C. Manual server provisioning for control
D. Pre-allocated capacity to avoid cold starts

Solution

  1. Step 1: Identify serverless scaling and billing

    Serverless automatically scales with demand and charges only for actual usage.
  2. Step 2: Compare options for cost and scaling

    Reserved instances and manual provisioning do not scale automatically or charge per use.
  3. Final Answer:

    Automatic scaling with pay-per-use billing -> Option A
  4. Quick Check:

    Serverless = scale automatically + pay per use [OK]
Hint: Serverless scales automatically and bills only when used [OK]
Common Mistakes:
  • Choosing reserved instances which have fixed costs
  • Thinking manual provisioning is needed for scaling
  • Believing pre-allocated capacity is required in serverless
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