Skip to content

Repository files navigation

Cloud Architect-as-Code: Amazon Serverless API Topology

Python Version Diagrams License

An enterprise-grade, code-driven infrastructure mapper demonstrating an Amazon Serverless API Architecture.

This version implements advanced Graphviz layout controls (splines="ortho"), forcing all connecting pathways into crisp, 90-degree orthogonal right angles. This eliminates messy diagonal lines and delivers a polished diagram suitable for executive tech reviews and security audits.

🚀 Key Features

  • Orthogonal Routing: Clean, professional 90-degree architectural lines using Graphviz formatting engines.
  • Serverless Blueprint: Modeled after high-scale AWS architectures featuring API Gateway, Lambda, Cognito, and DynamoDB.
  • Configuration-Driven: Separates infrastructural definitions (config.yml) from diagram rendering logic (mapper.py).

🏗️ Architecture Output

AWS Serverless API Architecture

📖 Example Walkthrough

When you execute the generator script, your configuration (config.yml) translates into a structured serverless execution flow:

  1. Edge & Routing: API Consumers resolve via Route53 and pass through the CloudFront CDN.
  2. Gateway & Auth: Requests hit the REST API Gateway, validating tokens securely via Amazon Cognito.
  3. Compute Layer: The gateway fans out invocations across serverless runtimes (User Handler Lambda, Payment Handler Lambda).
  4. Persistence: Workloads securely read/write state to DynamoDB (Global Table) and log binary artifacts to the S3 Artifact Bucket.

🛠️ Quick Start

  1. Install System Dependencies (Graphviz required):

    • macOS: brew install graphviz
    • Windows: Download from Graphviz and add to PATH.
  2. Install Python Requirements:

    pip install -r requirements.txt

About

A Python script that programmatically generates a polished cloud architecture diagram from devdocs (ex: an AWS setup with load balancer, microservices, and a SQL database).

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages