Skip to content
Weave templates

AWS Serverless API (icons)

Serverless web app using the AWS icon library — Cloudfront → API GW → Lambda → DDB.

Template previewWeave
Rendering…

Make it your own.

{
  "nodes": [
    { "id":"u",   "type":"user", "label":"Users", "x":40, "y":180 },
    { "id":"cf",  "type":"aws-cloudfront", "label":"CloudFront", "x":200, "y":160 },
    { "id":"apg", "type":"aws-apigw", "label":"API Gateway", "x":360, "y":160 },
    { "id":"la",  "type":"aws-lambda", "label":"Auth λ", "x":520, "y":40 },
    { "id":"lr",  "type":"aws-lambda", "label":"Read λ", "x":520, "y":160 },
    { "id":"lw",  "type":"aws-lambda", "label":"Write λ", "x":520, "y":280 },
    { "id":"ddb", "type":"aws-dynamo", "label":"Orders", "x":680, "y":160 },
    { "id":"sqs", "type":"aws-sqs", "label":"Worker queue", "x":680, "y":300 },
    { "id":"wkr", "type":"aws-lambda", "label":"Worker λ", "x":840, "y":300 },
    { "id":"sns", "type":"aws-sns", "label":"Notify topic", "x":840, "y":40 },
    { "id":"iam", "type":"aws-iam", "label":"IAM", "x":40, "y":40 }
  ],
  "edges": [
    { "id":"a","source":"u","target":"cf" },
    { "id":"b","source":"cf","target":"apg" },
    { "id":"c","source":"apg","target":"la","label":"auth" },
    { "id":"d","source":"apg","target":"lr","label":"GET" },
    { "id":"e","source":"apg","target":"lw","label":"POST" },
    { "id":"f","source":"lr","target":"ddb" },
    { "id":"g","source":"lw","target":"ddb" },
    { "id":"h","source":"lw","target":"sqs","style":"dashed" },
    { "id":"i","source":"sqs","target":"wkr" },
    { "id":"j","source":"la","target":"sns","style":"dashed","label":"alert" }
  ]
}