云产品 · 计算

该用 Serverless 的地方,别硬扛服务器

定时任务、事件处理、后台作业、轻量 API、数据管道,这些场景用 Serverless 常常能把成本降一个数量级。

  • 毫秒计费
  • 自动扩容
  • 零运维
  • 冷启动优化

最适合 Serverless 的五类场景

定时与调度任务

对账、报表、清理、健康巡检。EventBridge Scheduler 触发,不用为 24 小时空转的机器付费。

事件驱动处理

S3 上传触发转码、DynamoDB Stream 触发同步、SQS 消费。天然解耦,流量尖峰自动吸收。

轻量 API

内部工具、Webhook 接收、BFF 层。API Gateway + Lambda 组合,冷启动优化后 p99 可控在 200ms 内。

运维自动化

自动打标签、成本告警处置、快照管理、合规修复。用 Lambda 写运维逻辑比维护跳板机脚本可靠得多。

数据管道编排

Step Functions 编排 Glue、EMR、Athena 任务,可视化状态机 + 自动重试,比 Airflow 轻量。

AI 推理编排

调用 Bedrock 的 RAG 链路、异步批量推理、向量入库。并发弹性和成本模型都很匹配。

冷启动到底要不要担心

结论是:大多数场景不用,少数场景要认真处理。异步任务、事件处理、定时作业,冷启动几百毫秒完全无感。真正需要关注的是面向用户的同步 API。

优化手段按性价比排序:减小部署包体积(用 Lambda Layer 拆分依赖)、选择启动快的运行时(Go / Node.js / Python 优于 JVM 冷启动)、开启 SnapStart(Java)、必要时用预置并发(Provisioned Concurrency)。预置并发有固定成本,只在核心链路上用。

Step Functions 编排示例

json batch-report-pipeline.asl.json
{
  "Comment": "每日成本报表管道:抽取 → 转换 → 生成 → 通知",
  "StartAt": "ExtractCostData",
  "States": {
    "ExtractCostData": {
      "Type": "Task",
      "Resource": "arn:aws:states:::lambda:invoke",
      "Parameters": {
        "FunctionName": "cost-extractor",
        "Payload": { "date.$": "$.reportDate" }
      },
      "Retry": [
        {
          "ErrorEquals": ["Lambda.ServiceException", "Lambda.TooManyRequestsException"],
          "IntervalSeconds": 3,
          "MaxAttempts": 4,
          "BackoffRate": 2.0
        }
      ],
      "Catch": [
        { "ErrorEquals": ["States.ALL"], "Next": "NotifyFailure" }
      ],
      "ResultPath": "$.extract",
      "Next": "TransformInParallel"
    },

    "TransformInParallel": {
      "Type": "Map",
      "ItemsPath": "$.extract.Payload.accounts",
      "MaxConcurrency": 10,
      "ItemProcessor": {
        "ProcessorConfig": { "Mode": "INLINE" },
        "StartAt": "AggregateAccount",
        "States": {
          "AggregateAccount": {
            "Type": "Task",
            "Resource": "arn:aws:states:::lambda:invoke",
            "Parameters": {
              "FunctionName": "cost-aggregator",
              "Payload.$": "$"
            },
            "End": true
          }
        }
      },
      "ResultPath": "$.aggregated",
      "Next": "RenderReport"
    },

    "RenderReport": {
      "Type": "Task",
      "Resource": "arn:aws:states:::lambda:invoke",
      "Parameters": {
        "FunctionName": "report-renderer",
        "Payload.$": "$"
      },
      "TimeoutSeconds": 300,
      "Next": "NotifySuccess"
    },

    "NotifySuccess": {
      "Type": "Task",
      "Resource": "arn:aws:states:::sns:publish",
      "Parameters": {
        "TopicArn": "arn:aws:sns:ap-northeast-1:111122223333:finops-daily",
        "Subject": "每日成本报表已生成",
        "Message.$": "$.Payload.summary"
      },
      "End": true
    },

    "NotifyFailure": {
      "Type": "Task",
      "Resource": "arn:aws:states:::sns:publish",
      "Parameters": {
        "TopicArn": "arn:aws:sns:ap-northeast-1:111122223333:finops-alert",
        "Subject": "成本报表管道失败",
        "Message.$": "$.Cause"
      },
      "End": true
    }
  }
}

Map 状态的 MaxConcurrency 别设太高,容易把下游 API 或数据库打满。

成本对照

一个每天跑 4 次、每次 3 分钟的定时任务,用 t3.small 常驻大约每月 ¥110;改成 Lambda(512MB,每次 3 分钟)每月不到 ¥1。反过来,一个 7×24 满载的服务放 Lambda 会比 EC2 贵,所以要看负载形态。

下一步

把云的复杂度交给我们,你只管做业务

留下需求,沐杉云的解决方案架构师会在一个工作日内联系你,提供免费的现状评估、迁移方案草案与 TCO 测算表。