<mxfile host="Electron" version="29.6.1">
  <diagram name="Page-1" id="diagram-retail-peak">
    <mxGraphModel dx="1200" dy="800" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="1500" pageHeight="900" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="title-text" parent="1" style="text;html=1;align=left;verticalAlign=top;fontSize=30;fontStyle=1;fontFamily=Helvetica;fontColor=light-dark(#232F3E,#FFFFFF);" value="Retail Peak Traffic on AWS" vertex="1">
          <mxGeometry x="40" y="30" width="800" height="40" as="geometry" />
        </mxCell>
        <mxCell id="subtitle-text" parent="1" style="text;html=1;align=left;verticalAlign=top;fontSize=16;fontFamily=Helvetica;fontColor=light-dark(#232F3E,#D4D4D4);" value="CloudFront + WAF edge · ALB · ECS/Fargate burst · ElastiCache · Aurora + RDS Proxy · predictive scale" vertex="1">
          <mxGeometry x="40" y="70" width="1100" height="30" as="geometry" />
        </mxCell>
        <mxCell id="title-separator" parent="1" style="line;strokeWidth=2;html=1;strokeColor=#FF9900;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry x="40" y="105" width="1200" height="10" as="geometry" />
        </mxCell>

        <mxCell id="shopper-container" parent="1" style="fillColor=#f5f5f5;strokeColor=light-dark(#666666,#D4D4D4);rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#333333;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;" value="Shoppers" vertex="1">
          <mxGeometry x="40" y="280" width="120" height="110" as="geometry" />
        </mxCell>
        <mxCell id="svc-shopper" parent="shopper-container" style="sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#232F3D;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.client;fontFamily=Helvetica;" value="" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>

        <mxCell id="aws-cloud" parent="1" style="points=[[0,0],[0.25,0],[0.5,0],[0.75,0],[1,0],[1,0.25],[1,0.5],[1,0.75],[1,1],[0.75,1],[0.5,1],[0.25,1],[0,1],[0,0.75],[0,0.5],[0,0.25]];outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_aws_cloud;strokeColor=light-dark(#232F3E,#E4F0FF);fillColor=light-dark(#232F3E0D,#232F3E0D);fillStyle=auto;verticalAlign=top;align=left;spacingLeft=30;fontColor=#232F3E;dashed=0;container=1;pointerEvents=0;collapsible=0;recursiveResize=0;fontFamily=Helvetica;" value="AWS Cloud" vertex="1">
          <mxGeometry x="200" y="140" width="1040" height="580" as="geometry" />
        </mxCell>

        <mxCell id="grp-cf" parent="1" style="fillColor=#EDE7F6;strokeColor=#8C4FFF;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#8C4FFF;fontFamily=Helvetica;container=1;collapsible=0;" value="Networking" vertex="1">
          <mxGeometry x="260" y="200" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="svc-cf" parent="grp-cf" style="sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudfront;fontFamily=Helvetica;" value="CloudFront&lt;div&gt;&lt;i&gt;short TTL pages&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>

        <mxCell id="grp-waf" parent="1" style="fillColor=#FFEBEE;strokeColor=#DD344C;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#DD344C;fontFamily=Helvetica;container=1;collapsible=0;" value="Security" vertex="1">
          <mxGeometry x="260" y="360" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="svc-waf" parent="grp-waf" style="sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.waf;fontFamily=Helvetica;" value="AWS WAF&lt;div&gt;&lt;i&gt;rate + bots&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>

        <mxCell id="grp-alb" parent="1" style="fillColor=#EDE7F6;strokeColor=#8C4FFF;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#8C4FFF;fontFamily=Helvetica;container=1;collapsible=0;" value="Networking" vertex="1">
          <mxGeometry x="460" y="280" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="svc-alb" parent="grp-alb" style="sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.application_load_balancer;fontFamily=Helvetica;" value="ALB&lt;div&gt;&lt;i&gt;checkout path&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>

        <mxCell id="grp-ecs" parent="1" style="fillColor=#FFF2E8;strokeColor=#ED7100;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#ED7100;fontFamily=Helvetica;container=1;collapsible=0;" value="Compute" vertex="1">
          <mxGeometry x="660" y="200" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="svc-ecs" parent="grp-ecs" style="sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.fargate;fontFamily=Helvetica;" value="ECS Fargate&lt;div&gt;&lt;i&gt;predictive scale&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>

        <mxCell id="grp-cache" parent="1" style="fillColor=#F5E6F7;strokeColor=#C925D1;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#C925D1;fontFamily=Helvetica;container=1;collapsible=0;" value="Database" vertex="1">
          <mxGeometry x="660" y="360" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="svc-cache" parent="grp-cache" style="sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#C925D1;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.elasticache;fontFamily=Helvetica;" value="ElastiCache&lt;div&gt;&lt;i&gt;catalog + cart&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>

        <mxCell id="grp-proxy" parent="1" style="fillColor=#F5E6F7;strokeColor=#C925D1;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#C925D1;fontFamily=Helvetica;container=1;collapsible=0;" value="Database" vertex="1">
          <mxGeometry x="860" y="280" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="svc-proxy" parent="grp-proxy" style="sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#C925D1;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.rds;fontFamily=Helvetica;" value="RDS Proxy&lt;div&gt;&lt;i&gt;conn pool&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>

        <mxCell id="grp-aurora" parent="1" style="fillColor=#F5E6F7;strokeColor=#C925D1;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#C925D1;fontFamily=Helvetica;container=1;collapsible=0;" value="Database" vertex="1">
          <mxGeometry x="1060" y="280" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="svc-aurora" parent="grp-aurora" style="sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#C925D1;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.aurora;fontFamily=Helvetica;" value="Aurora&lt;div&gt;&lt;i&gt;writer + readers&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>

        <mxCell id="grp-cw" parent="1" style="fillColor=#F5F5F5;strokeColor=#666666;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#666666;fontFamily=Helvetica;container=1;collapsible=0;dashed=1;" value="Observability" vertex="1">
          <mxGeometry x="860" y="480" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="svc-cw" parent="grp-cw" style="sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#666666;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudwatch;fontFamily=Helvetica;" value="CloudWatch&lt;div&gt;&lt;i&gt;p95 + conn wait&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>

        <mxCell id="badge-1" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fontStyle=1;fontFamily=Helvetica;fillColor=#007CBD;fontColor=#FFFFFF;strokeColor=default;strokeWidth=2;shadow=1;glass=0;" value="1" vertex="1">
          <mxGeometry x="380" y="170" width="28" height="28" as="geometry" />
        </mxCell>
        <mxCell id="badge-2" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fontStyle=1;fontFamily=Helvetica;fillColor=#007CBD;fontColor=#FFFFFF;strokeColor=default;strokeWidth=2;shadow=1;glass=0;" value="2" vertex="1">
          <mxGeometry x="580" y="250" width="28" height="28" as="geometry" />
        </mxCell>
        <mxCell id="badge-3" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fontStyle=1;fontFamily=Helvetica;fillColor=#007CBD;fontColor=#FFFFFF;strokeColor=default;strokeWidth=2;shadow=1;glass=0;" value="3" vertex="1">
          <mxGeometry x="780" y="170" width="28" height="28" as="geometry" />
        </mxCell>
        <mxCell id="badge-4" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fontStyle=1;fontFamily=Helvetica;fillColor=#007CBD;fontColor=#FFFFFF;strokeColor=default;strokeWidth=2;shadow=1;glass=0;" value="4" vertex="1">
          <mxGeometry x="980" y="250" width="28" height="28" as="geometry" />
        </mxCell>
        <mxCell id="badge-5" parent="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fontSize=16;fontStyle=1;fontFamily=Helvetica;fillColor=#007CBD;fontColor=#FFFFFF;strokeColor=default;strokeWidth=2;shadow=1;glass=0;" value="5" vertex="1">
          <mxGeometry x="1180" y="250" width="28" height="28" as="geometry" />
        </mxCell>

        <mxCell id="edge-shop-cf" edge="1" parent="1" source="shopper-container" target="svc-cf" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=11;strokeColor=#232F3E;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-cf-waf" edge="1" parent="1" source="svc-cf" target="svc-waf" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=11;strokeColor=#232F3E;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-cf-alb" edge="1" parent="1" source="svc-cf" target="svc-alb" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=11;strokeColor=#232F3E;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-alb-ecs" edge="1" parent="1" source="svc-alb" target="svc-ecs" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=11;strokeColor=#232F3E;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-ecs-cache" edge="1" parent="1" source="svc-ecs" target="svc-cache" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=11;strokeColor=#232F3E;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-ecs-proxy" edge="1" parent="1" source="svc-ecs" target="svc-proxy" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=11;strokeColor=#232F3E;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-proxy-aurora" edge="1" parent="1" source="svc-proxy" target="svc-aurora" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;fontSize=11;strokeColor=#232F3E;">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>

        <mxCell id="legend" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=light-dark(#EDF3FF,#305363);fillStyle=auto;strokeColor=#007CBD;verticalAlign=top;align=left;spacingLeft=16;spacingTop=12;fontFamily=Helvetica;fontSize=12;fontColor=light-dark(#232F3E,#FFFFFF);" value="&lt;b&gt;Peak path&lt;/b&gt;&lt;br&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255))&quot;&gt;1 Edge cache absorbs product/browse; WAF rate-limits bots&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255))&quot;&gt;2 ALB routes checkout / API to ECS on Fargate (pre-scaled)&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255))&quot;&gt;3 ElastiCache serves catalog + cart; warm before promo send&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255))&quot;&gt;4 RDS Proxy multiplexes app pools into Aurora&lt;/span&gt;&lt;br&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255))&quot;&gt;5 Aurora readers take inventory/read traffic off the writer&lt;/span&gt;" vertex="1">
          <mxGeometry x="260" y="540" width="560" height="140" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
