Serverless Patterns & Cold Start — DevOps

Pola Arsitektur Serverless Serverless bukan hanya Lambda. Ini adalah mindset: decompose aplikasi menjadi fungsi kecil yang event-driven. Common Patterns 1. API

Pola Arsitektur Serverless

Serverless bukan hanya Lambda. Ini adalah mindset: decompose aplikasi menjadi fungsi kecil yang event-driven.

Common Patterns

1. API Composition

// Setiap route = satu Lambda
POST /users     → createUser Lambda
GET  /users/:id → getUser Lambda
POST /orders    → createOrder Lambda

// API Gateway routes ke Lambda yang tepat

2. Fan-out / Fan-in

// Upload video → trigger 3 Lambda parallel:
//   1. Generate thumbnail
//   2. Transcode ke HLS
//   3. Extract metadata
// Semua selesai → update database

3. Event-Driven Pipeline

// S3 upload → Lambda (validate) → SQS → Lambda (process) → DynamoDB
// Setiap step independen, bisa retry sendiri

Cold Start Deep Dive

Optimization Tips

// ❌ Import semuanya
import AWS from "aws-sdk"; // 30MB+ package

// ✅ Import hanya yang dibutuhkan
import { DynamoDBClient } from "@aws-sdk/client-dynamodb"; // ~1MB

// ✅ Inisialisasi di luar handler (reuse antar invocations)
const db = new DynamoDBClient({});

export const handler = async (event) => {
  // db sudah siap, tidak perlu init ulang
};

Kapan TIDAK Serverless?