<mxfile host="Electron" version="29.6.1">
  <diagram name="Page-1" id="diagram-sls">
    <mxGraphModel dx="1400" dy="900" 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=28;fontStyle=1;fontFamily=Helvetica;fontColor=light-dark(#232F3E,#FFFFFF);" value="Serverless Modernization Strangler (2026)" vertex="1">
          <mxGeometry x="40" y="24" width="1100" height="36" as="geometry" />
        </mxCell>
        <mxCell id="subtitle-text" parent="1" style="text;html=1;align=left;verticalAlign=top;fontSize=14;fontFamily=Helvetica;fontColor=light-dark(#232F3E,#D4D4D4);" value="Monolith routes strangler to API Gateway + Lambda/LMI; EventBridge seams" vertex="1">
          <mxGeometry x="40" y="62" width="1100" height="28" 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="95" width="1100" height="10" 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="130" width="900" height="520" as="geometry" />
        </mxCell>
        <mxCell id="grp-mono" parent="1" style="fillColor=#F2F3F3;strokeColor=#545B64;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#545B64;fontFamily=Helvetica;container=1;collapsible=0;" value="Legacy" vertex="1">
          <mxGeometry x="40" y="300" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="svc-mono" parent="grp-mono" style="sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#545B64;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.ec2;fontFamily=Helvetica;" value="Monolith&lt;div&gt;&lt;i&gt;remaining routes&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>
        <mxCell id="grp-apigw" parent="1" style="fillColor=#FCE8F3;strokeColor=#E7157B;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#E7157B;fontFamily=Helvetica;container=1;collapsible=0;" value="API" vertex="1">
          <mxGeometry x="280" y="300" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="svc-apigw" parent="grp-apigw" style="sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#E7157B;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.api_gateway;fontFamily=Helvetica;" value="API Gateway&lt;div&gt;&lt;i&gt;strangled routes&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>
        <mxCell id="grp-lam" parent="1" style="fillColor=#FFF6E8;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="500" y="220" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="svc-lam" parent="grp-lam" 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.lambda;fontFamily=Helvetica;" value="AWS Lambda&lt;div&gt;&lt;i&gt;standard extract&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>
        <mxCell id="grp-lmi" parent="1" style="fillColor=#FFF6E8;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="500" y="400" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="svc-lmi" parent="grp-lmi" 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.lambda;fontFamily=Helvetica;" value="Lambda LMI&lt;div&gt;&lt;i&gt;steady high RPS&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>
        <mxCell id="grp-eb" parent="1" style="fillColor=#FCE8F3;strokeColor=#E7157B;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#E7157B;fontFamily=Helvetica;container=1;collapsible=0;" value="Events" vertex="1">
          <mxGeometry x="720" y="300" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="svc-eb" parent="grp-eb" style="sketch=0;outlineConnect=0;fontColor=#232F3E;fillColor=#E7157B;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.eventbridge;fontFamily=Helvetica;" value="EventBridge&lt;div&gt;&lt;i&gt;domain events&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>
        <mxCell id="grp-ddb" parent="1" style="fillColor=#F9E6F9;strokeColor=#C925D1;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#C925D1;fontFamily=Helvetica;container=1;collapsible=0;" value="Data" vertex="1">
          <mxGeometry x="920" y="300" width="120" height="120" as="geometry" />
        </mxCell>
        <mxCell id="svc-ddb" parent="grp-ddb" 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.dynamodb;fontFamily=Helvetica;" value="DynamoDB&lt;div&gt;&lt;i&gt;owned tables&lt;/i&gt;&lt;/div&gt;" vertex="1">
          <mxGeometry x="36" y="30" width="48" height="48" as="geometry" />
        </mxCell>
        <mxCell id="legend-box" parent="1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=light-dark(#EDF3FF,#305363);strokeColor=light-dark(#6c8ebf,#6c8ebf);fontFamily=Helvetica;fontColor=light-dark(#232F3E,#FFFFFF);align=left;verticalAlign=top;fontSize=12;spacingLeft=10;spacingTop=8;" value="&lt;b&gt;Flow Steps&lt;/b&gt;&lt;br&gt;1. Keep low-churn routes on monolith<br>2. Strangle high-churn routes via API Gateway<br>3. Default extracts to standard Lambda<br>4. Use LMI only for steady high concurrency<br>5. Publish domain events; own new tables" vertex="1">
          <mxGeometry x="1140" y="130" width="280" height="520" as="geometry" />
        </mxCell>
        <mxCell id="edge-1" parent="1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#007CBD;fontFamily=Helvetica;" edge="1" source="svc-mono" target="svc-apigw">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="badge-1" parent="edge-1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#007CBD;fontColor=#FFFFFF;fontSize=11;fontStyle=1;fontFamily=Helvetica;" value="1" vertex="1" connectable="0">
          <mxGeometry x="-0.4" y="-1" width="28" height="28" relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-2" parent="1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#007CBD;fontFamily=Helvetica;" edge="1" source="svc-apigw" target="svc-lam">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="badge-2" parent="edge-2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#007CBD;fontColor=#FFFFFF;fontSize=11;fontStyle=1;fontFamily=Helvetica;" value="2" vertex="1" connectable="0">
          <mxGeometry x="-0.4" y="-1" width="28" height="28" relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-3" parent="1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#007CBD;fontFamily=Helvetica;" edge="1" source="svc-apigw" target="svc-lmi">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="badge-3" parent="edge-3" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#007CBD;fontColor=#FFFFFF;fontSize=11;fontStyle=1;fontFamily=Helvetica;" value="3" vertex="1" connectable="0">
          <mxGeometry x="-0.4" y="-1" width="28" height="28" relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-4" parent="1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#007CBD;fontFamily=Helvetica;" edge="1" source="svc-lam" target="svc-eb">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="badge-4" parent="edge-4" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#007CBD;fontColor=#FFFFFF;fontSize=11;fontStyle=1;fontFamily=Helvetica;" value="4" vertex="1" connectable="0">
          <mxGeometry x="-0.4" y="-1" width="28" height="28" relative="1" as="geometry" />
        </mxCell>
        <mxCell id="edge-5" parent="1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#007CBD;fontFamily=Helvetica;" edge="1" source="svc-lam" target="svc-ddb">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="badge-5" parent="edge-5" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#007CBD;fontColor=#FFFFFF;fontSize=11;fontStyle=1;fontFamily=Helvetica;" value="5" vertex="1" connectable="0">
          <mxGeometry x="-0.4" y="-1" width="28" height="28" relative="1" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
