Lesson 13 — Modern Architectures

Serverless Computing

Serverless computing lets you run code without provisioning or managing any servers at all — the cloud provider automatically handles scaling, and you pay only for the actual compute time your code consumes.

Functions as a Service (FaaS)

Serverless functions (like AWS Lambda or Azure Functions) run a small piece of code in response to an event — an HTTP request, a file upload, a scheduled timer — and automatically scale from zero to thousands of concurrent executions without any server management on your part.

JavaScript — A simple serverless function
exports.handler = async (event) => {
    const name = event.queryStringParameters?.name || "World";
    return {
        statusCode: 200,
        body: JSON.stringify({ message: `Hello, ${name}!` })
    };
};

Trade-offs

Serverless eliminates server management and can be extremely cost-effective for infrequent or highly variable workloads, since you pay only for actual execution time. However, it introduces "cold starts" (a brief delay when a function hasn't run recently), and can become more expensive than traditional servers for constant, high-volume workloads.

Common Mistakes

  • Using serverless functions for long-running processes, when they're typically designed and priced for short-lived executions.
  • Not accounting for "cold start" latency in applications where consistent, low-latency response times are critical.
  • Assuming serverless is always cheaper than traditional servers — for consistently high, predictable traffic, a traditional server or container can sometimes be more cost-effective.
  • Building tightly coupled serverless functions that are hard to test and debug in isolation.

Professional Tip

Serverless functions shine for unpredictable, spiky, or infrequent workloads — like processing an occasional file upload — where you'd otherwise be paying for an idle server most of the time. For steady, predictable, high-volume traffic, compare the cost carefully against traditional compute options.

Your Turn

Describe a specific task (like resizing an uploaded profile picture) that would be a good candidate for a serverless function, and explain why.

Mini Quiz

What is a 'cold start' in the context of serverless computing?