<mxfile host="archify-gcp" agent="archify-gcp" version="1">
  <diagram name="Highly available three-tier web application" id="9unNOEeOBle0RmjG8Sih">
    <mxGraphModel dx="1636" dy="790" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1636" pageHeight="790" math="0" shadow="0">
      <root>
        <mxCell id="0"/>
        <mxCell id="1" parent="0"/>
<mxCell id="title" value="Highly available three-tier web application" style="text;html=1;align=left;verticalAlign=top;fontSize=20;fontStyle=1;fontColor=#000000;whiteSpace=wrap;" vertex="1" parent="1"><mxGeometry x="40" y="24" width="1556" height="30" as="geometry"/></mxCell>
<mxCell id="subtitle" value="Cloud Armor + global external Application Load Balancer → regional managed instance groups across two zones → Cloud SQL (HA) with Memorystore" style="text;html=1;align=left;verticalAlign=top;fontSize=12;fontColor=#545B64;whiteSpace=wrap;" vertex="1" parent="1"><mxGeometry x="40" y="56" width="1556" height="24" as="geometry"/></mxCell>
<mxCell id="g-cloud" value="Google Cloud" style="whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;fontSize=12;verticalAlign=top;align=left;spacingTop=2;rounded=0;strokeColor=#3C4043;fontColor=#3C4043;fillColor=none;dashed=0;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="233" y="116" width="1363" height="634" as="geometry"/></mxCell>
<mxCell id="g-project" value="Project: shop-prod" style="whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;fontSize=12;verticalAlign=top;align=left;spacingTop=2;rounded=0;strokeColor=#4285F4;fontColor=#4285F4;fillColor=none;dashed=0;spacingLeft=40;" vertex="1" parent="g-cloud"><mxGeometry x="271" y="48" width="885" height="562" as="geometry"/></mxCell>
<mxCell id="gi-project" value="" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;image=data:image/svg+xml,PHN2ZyB2ZXJzaW9uPSIxLjEiIGJhc2VQcm9maWxlPSJ0aW55IiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIKCSB4PSIwcHgiIHk9IjBweCIgd2lkdGg9IjI0cHgiIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiBvdmVyZmxvdz0idmlzaWJsZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnID4KCTxyZWN0IHk9IjAiIGZpbGw9Im5vbmUiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIvPgoJPHBvbHlnb24gZmlsbC1ydWxlPSJldmVub2RkIiBmaWxsPSIjODVBNEU2IiBwb2ludHM9IjAuOCw1LjkgMy43LDAuOCA5LjUsMC44IDEyLjQsNS45IDkuNSwxMC45IDMuNywxMC45IAkiLz4KCTxwb2x5Z29uIGZpbGwtcnVsZT0iZXZlbm9kZCIgZmlsbD0iIzVDODVERSIgcG9pbnRzPSIxMS40LDcuNyA4LjUsMi42IDkuNSwwLjcgMTIuNCw1LjkgCSIvPgoJPHBvbHlnb24gaWQ9IlNoYXBlLUNvcHlfMDAwMDAwMTk2NDYzODM1MjkwNTUzMTAzMzAwMDAwMDk5MTM0MTUwMTE5NjQ5MjUzMjNfIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMzMzY3RDYiIHBvaW50cz0iCgkJMi43LDkuMyA4LjUsOS4zIDEwLjUsNS45IDExLjQsNy43IDkuNSwxMC45IDMuNywxMSAJIi8+Cgk8cG9seWdvbiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiM4NUE0RTYiIHBvaW50cz0iMTEuMiwxMS45IDE0LjIsNi44IDIwLDYuOCAyMi45LDExLjkgMjAsMTYuOSAxNC4yLDE2LjkgCSIvPgoJPHBvbHlnb24gaWQ9IlNoYXBlLUNvcHlfMDAwMDAxMzM1Mjc5NTg0ODMwNjQzOTA0MTAwMDAwMTIzNzc0MTUzNzU0Mjg5NDc5MDBfIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiM1Qzg1REUiIHBvaW50cz0iCgkJMjEuOSwxMy43IDE5LDguNiAyMCw2LjcgMjIuOSwxMS45IAkiLz4KCTxwb2x5Z29uIGlkPSJTaGFwZS1Db3B5XzAwMDAwMTc2MDE5NDcxNjI0MzE2NzQ1OTYwMDAwMDAxMjQ4MTM3NTgwMTkwMjA3MTI4XyIgZmlsbC1ydWxlPSJldmVub2RkIiBmaWxsPSIjMzM2N0Q2IiBwb2ludHM9IgoJCTEzLjIsMTUuMyAxOSwxNS4zIDIxLDExLjkgMjEuOSwxMy43IDIwLDE2LjkgMTQuMiwxNyAJIi8+Cgk8cG9seWdvbiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiM4NUE0RTYiIHBvaW50cz0iMC44LDE3LjkgMy43LDEyLjggOS41LDEyLjggMTIuNCwxNy45IDkuNSwyMi45IDMuNywyMi45IAkiLz4KCTxwb2x5Z29uIGlkPSJTaGFwZS1Db3B5XzAwMDAwMDk2MDQxNzc5NzQ1MjAxMzk5MzYwMDAwMDE3MTY3OTY0Nzk3MzczMTAyNDg1XyIgZmlsbC1ydWxlPSJldmVub2RkIiBmaWxsPSIjNUM4NURFIiBwb2ludHM9IgoJCTExLjQsMTkuNyA4LjUsMTQuNiA5LjUsMTIuNyAxMi40LDE3LjkgCSIvPgoJPHBvbHlnb24gaWQ9IlNoYXBlLUNvcHlfMDAwMDAwNDkyMDQxODg0ODg3NDI5NTA4MjAwMDAwMTA0NDQzMjEyMDE1MTIxNDMwMjVfIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiMzMzY3RDYiIHBvaW50cz0iCgkJMi43LDIxLjMgOC41LDIxLjMgMTAuNSwxNy45IDExLjQsMTkuNyA5LjUsMjIuOSAzLjcsMjMgCSIvPgo8L2c+Cjwvc3ZnPgo=;imageAspect=1;" vertex="1" parent="g-project"><mxGeometry x="4" y="4" width="32" height="32" as="geometry"/></mxCell>
<mxCell id="g-region" value="Region us-central1" style="whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;fontSize=12;verticalAlign=top;align=left;spacingTop=2;rounded=0;strokeColor=#4285F4;fontColor=#4285F4;fillColor=none;dashed=1;dashPattern=2 3;spacingLeft=10;" vertex="1" parent="g-project"><mxGeometry x="24" y="48" width="837" height="490" as="geometry"/></mxCell>
<mxCell id="g-vpc" value="VPC network" style="whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;fontSize=12;verticalAlign=top;align=left;spacingTop=2;rounded=0;strokeColor=#34A853;fontColor=#34A853;fillColor=none;dashed=0;spacingLeft=40;" vertex="1" parent="g-region"><mxGeometry x="24" y="48" width="789" height="418" as="geometry"/></mxCell>
<mxCell id="gi-vpc" value="" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNhZWNiZmE7fS5jbHMtMntmaWxsOiM2NjlkZjY7fS5jbHMtM3tmaWxsOiM0Mjg1ZjQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5JY29uXzI0cHhfVmlydHVhbFByaXZhdGVDbG91ZF9Db2xvcjwvdGl0bGU+PGcgZGF0YS1uYW1lPSJQcm9kdWN0IEljb25zIj48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjE2IiB5PSIyIiB3aWR0aD0iNiIgaGVpZ2h0PSI2Ii8+PHJlY3QgY2xhc3M9ImNscy0yIiB4PSIxOSIgeT0iMiIgd2lkdGg9IjMiIGhlaWdodD0iNiIvPjxyZWN0IGNsYXNzPSJjbHMtMSIgeD0iMTYiIHk9IjE2IiB3aWR0aD0iNiIgaGVpZ2h0PSI2Ii8+PHJlY3QgY2xhc3M9ImNscy0yIiB4PSIxOSIgeT0iMTYiIHdpZHRoPSIzIiBoZWlnaHQ9IjYiLz48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjIiIHk9IjIiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiLz48cmVjdCBjbGFzcz0iY2xzLTIiIHg9IjUiIHk9IjIiIHdpZHRoPSIzIiBoZWlnaHQ9IjYiLz48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjIiIHk9IjE2IiB3aWR0aD0iNiIgaGVpZ2h0PSI2Ii8+PHJlY3QgY2xhc3M9ImNscy0yIiB4PSI1IiB5PSIxNiIgd2lkdGg9IjMiIGhlaWdodD0iNiIvPjxyZWN0IGNsYXNzPSJjbHMtMiIgeD0iOCIgeT0iNCIgd2lkdGg9IjgiIGhlaWdodD0iMiIvPjxyZWN0IGNsYXNzPSJjbHMtMiIgeD0iOCIgeT0iMTgiIHdpZHRoPSI4IiBoZWlnaHQ9IjIiLz48cmVjdCBjbGFzcz0iY2xzLTIiIHg9IjE4IiB5PSI4IiB3aWR0aD0iMiIgaGVpZ2h0PSI4Ii8+PHJlY3QgY2xhc3M9ImNscy0yIiB4PSI0IiB5PSI4IiB3aWR0aD0iMiIgaGVpZ2h0PSI4Ii8+PHJlY3QgY2xhc3M9ImNscy0zIiB4PSI0IiB5PSI4IiB3aWR0aD0iMiIgaGVpZ2h0PSIyIi8+PHJlY3QgY2xhc3M9ImNscy0zIiB4PSIxOCIgeT0iOCIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxyZWN0IGNsYXNzPSJjbHMtMyIgeD0iOCIgeT0iNCIgd2lkdGg9IjIiIGhlaWdodD0iMiIvPjxyZWN0IGNsYXNzPSJjbHMtMyIgeD0iOCIgeT0iMTgiIHdpZHRoPSIyIiBoZWlnaHQ9IjIiLz48L2c+PC9zdmc+;imageAspect=1;" vertex="1" parent="g-vpc"><mxGeometry x="4" y="4" width="32" height="32" as="geometry"/></mxCell>
<mxCell id="g-za" value="Zone a" style="whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;fontSize=12;verticalAlign=top;align=left;spacingTop=2;rounded=0;strokeColor=#669DF6;fontColor=#669DF6;fillColor=none;dashed=1;dashPattern=6 4;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="576" y="308" width="230" height="346" as="geometry"/></mxCell>
<mxCell id="g-zb" value="Zone b" style="whiteSpace=wrap;html=1;container=1;collapsible=0;recursiveResize=0;pointerEvents=0;fontSize=12;verticalAlign=top;align=left;spacingTop=2;rounded=0;strokeColor=#669DF6;fontColor=#669DF6;fillColor=none;dashed=1;dashPattern=6 4;spacingLeft=10;" vertex="1" parent="1"><mxGeometry x="856" y="308" width="230" height="346" as="geometry"/></mxCell>
<mxCell id="n-users" value="Users&lt;br&gt;&lt;font style=&quot;font-size:10px&quot; color=&quot;#545B64&quot;&gt;browser and mobile&lt;/font&gt;" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;verticalLabelPosition=bottom;verticalAlign=top;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI2NCIgaGVpZ2h0PSI2NCIgdmlld0JveD0iMCAwIDI0IDI0Ij48Y2lyY2xlIGN4PSI5IiBjeT0iOCIgcj0iMy40IiBmaWxsPSIjNDI4NUY0Ii8+PHBhdGggZD0iTTIuNSAxOS41YzAtMy42IDIuOS02IDYuNS02czYuNSAyLjQgNi41IDZ6IiBmaWxsPSIjNDI4NUY0Ii8+PGNpcmNsZSBjeD0iMTciIGN5PSI5IiByPSIyLjgiIGZpbGw9IiM4QUI0RjgiLz48cGF0aCBkPSJNMTYgMTMuOGMzIC4xIDUuNSAyIDUuNSA1LjdIMTdjMC0yLS40LTMuOC0xLTUuN3oiIGZpbGw9IiM4QUI0RjgiLz48L3N2Zz4K;imageAspect=1;" vertex="1" parent="1"><mxGeometry x="64.5" y="353" width="64" height="64" as="geometry"/></mxCell>
<mxCell id="n-cdnn" value="Cloud CDN&lt;br&gt;&lt;font style=&quot;font-size:10px&quot; color=&quot;#545B64&quot;&gt;static assets&lt;/font&gt;" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;verticalLabelPosition=bottom;verticalAlign=top;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fS5jbHMtMntmaWxsOiM2NjlkZjY7fS5jbHMtMiwuY2xzLTMsLmNscy00e2ZpbGwtcnVsZTpldmVub2RkO30uY2xzLTN7ZmlsbDojYWVjYmZhO30uY2xzLTR7ZmlsbDojNDI4NWY0O308L3N0eWxlPjwvZGVmcz48dGl0bGU+SWNvbl8yNHB4X0NETl9Db2xvcjwvdGl0bGU+PGcgZGF0YS1uYW1lPSJQcm9kdWN0IEljb25zIj48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjIiIHk9IjIiIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIvPjxnID48cG9seWdvbiBpZD0iRmlsbC0xIiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMTIgMiAxMiA0LjQxIDE1LjEzIDcuNjMgMTUuMTMgNS4yMSAxMiAyIi8+PHBvbHlnb24gaWQ9IkZpbGwtMS1Db3B5LTIiIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxOS41IDEyIDE2LjM4IDE1LjEzIDE4Ljg4IDE1LjEzIDIyIDEyIDE5LjUgMTIiLz48cG9seWdvbiBpZD0iRmlsbC0xLUNvcHktMyIgY2xhc3M9ImNscy0yIiBwb2ludHM9IjQuNSAxMiA3LjYzIDE1LjEzIDUuMTMgMTUuMTMgMiAxMiA0LjUgMTIiLz48cG9seWdvbiBpZD0iRmlsbC0xLUNvcHkiIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxMiAyMiAxMiAxOS41OSAxNS4xMyAxNi4zOCAxNS4xMyAxOC43OSAxMiAyMiIvPjxwb2x5Z29uIGlkPSJGaWxsLTIiIGNsYXNzPSJjbHMtMyIgcG9pbnRzPSIxMiAyIDguODggNS4yMSA4Ljg4IDcuNjMgMTIgNC40MSAxMiAyIi8+PHBvbHlnb24gaWQ9IkZpbGwtMi1Db3B5LTIiIGNsYXNzPSJjbHMtMyIgcG9pbnRzPSIxOC44OCA4Ljg4IDE2LjM4IDguODggMTkuNSAxMiAyMiAxMiAxOC44OCA4Ljg4Ii8+PHBvbHlnb24gaWQ9IkZpbGwtMi1Db3B5LTMiIGNsYXNzPSJjbHMtMyIgcG9pbnRzPSI1LjEzIDguODggNy42MyA4Ljg4IDQuNSAxMiAyIDEyIDUuMTMgOC44OCIvPjxwb2x5Z29uIGlkPSJGaWxsLTItQ29weSIgY2xhc3M9ImNscy0zIiBwb2ludHM9IjEyIDIyIDguODggMTguNzkgOC44OCAxNi4zOCAxMiAxOS41OSAxMiAyMiIvPjxwb2x5Z29uIGlkPSJGaWxsLTkiIGNsYXNzPSJjbHMtMyIgcG9pbnRzPSIxNS4xMyAxNS4xMyA4Ljg4IDE1LjEzIDguODggOC44OCAxNS4xMyA4Ljg4IDE1LjEzIDE1LjEzIi8+PHBvbHlnb24gaWQ9IkZpbGwtMTAiIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxNS4xMyA4Ljg4IDE1LjEzIDE1LjEzIDguODggMTUuMTMgMTUuMTMgOC44OCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSIxNS4xMyA4Ljg4IDE1LjEzIDE1LjEzIDEyIDEyIDE1LjEzIDguODgiLz48L2c+PC9nPjwvc3ZnPg==;imageAspect=1;" vertex="1" parent="1"><mxGeometry x="64.5" y="521" width="64" height="64" as="geometry"/></mxCell>
<mxCell id="n-armor" value="Cloud Armor&lt;br&gt;&lt;font style=&quot;font-size:10px&quot; color=&quot;#545B64&quot;&gt;WAF, rate limiting&lt;/font&gt;" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;verticalLabelPosition=bottom;verticalAlign=top;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiNhZWNiZmE7fS5jbHMtMntmaWxsOiM2NjlkZjY7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5JY29uXzI0cHhfQ2xvdWRBcm1vcl9Db2xvcjwvdGl0bGU+PGcgZGF0YS1uYW1lPSJQcm9kdWN0IEljb25zIj48cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iOS43NiAyMC42IDguNzIgMTkuNTUgMTQuMTcgMTQuMDcgMTUuMjEgMTUuMTIgOS43NiAyMC42Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0xIiBwb2ludHM9IjcuMDMgMTguMzIgNS45OSAxNy4yNyAxMy4zNCA5Ljg4IDE0LjM4IDEwLjkzIDcuMDMgMTguMzIiLz48cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iNS4zNCAxNC45OCA0LjMgMTMuOTMgOS4xOCA5LjAzIDEwLjIyIDEwLjA4IDUuMzQgMTQuOTgiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xMiwzLjYxbDYuNzgsM3Y0LjU1QTkuNzEsOS43MSwwLDAsMSwxMiwyMC40OGE5LjcsOS43LDAsMCwxLTYuNzgtOS4zMVY2LjYzbDYuNzgtM00xMiwyLDMuNzUsNS42OHY1LjQ5QTExLjE3LDExLjE3LDAsMCwwLDExLjg1LDIyTDEyLDIybC4xNSwwYTExLjE3LDExLjE3LDAsMCwwLDguMS0xMC43OFY1LjY4TDEyLDJaIi8+PGNpcmNsZSBjbGFzcz0iY2xzLTIiIGN4PSIxNC42OSIgY3k9IjE0LjYyIiByPSIxLjQyIi8+PGNpcmNsZSBjbGFzcz0iY2xzLTIiIGN4PSIxMy44NSIgY3k9IjEwLjQ1IiByPSIxLjQyIi8+PGNpcmNsZSBjbGFzcz0iY2xzLTIiIGN4PSI5LjY5IiBjeT0iOS42IiByPSIxLjQyIi8+PC9nPjwvc3ZnPg==;imageAspect=1;" vertex="1" parent="1"><mxGeometry x="313.5" y="353" width="64" height="64" as="geometry"/></mxCell>
<mxCell id="n-lb" value="Application Load&lt;br&gt;Balancer&lt;br&gt;&lt;font style=&quot;font-size:10px&quot; color=&quot;#545B64&quot;&gt;global external, TLS, URL map&lt;/font&gt;" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;verticalLabelPosition=bottom;verticalAlign=top;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOm5vbmU7fS5jbHMtMntmaWxsOiM2NjlkZjY7fS5jbHMtM3tmaWxsOiM0Mjg1ZjQ7fS5jbHMtNHtmaWxsOiNhZWNiZmE7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5JY29uXzI0cHhfTG9hZEJhbGFuY2luZ19Db2xvcjwvdGl0bGU+PGcgZGF0YS1uYW1lPSJQcm9kdWN0IEljb25zIj48ZyBkYXRhLW5hbWU9ImNvbG9yZWQtMzIvbG9hZC1iYWxhbmNpbmciPjxyZWN0IGNsYXNzPSJjbHMtMSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+PGcgPjxyZWN0IGNsYXNzPSJjbHMtMiIgeD0iMTgiIHk9IjEyIiB3aWR0aD0iMiIgaGVpZ2h0PSI0Ii8+PHJlY3QgY2xhc3M9ImNscy0yIiB4PSIxMSIgeT0iMTIiIHdpZHRoPSIyIiBoZWlnaHQ9IjQiLz48cmVjdCBjbGFzcz0iY2xzLTIiIHg9IjQiIHk9IjEyIiB3aWR0aD0iMiIgaGVpZ2h0PSI0Ii8+PHBvbHlnb24gaWQ9IkZpbGwtMiIgY2xhc3M9ImNscy0zIiBwb2ludHM9IjEzIDExIDExIDExIDExIDcgMTMgNyAxMyAxMSIvPjxyZWN0IGNsYXNzPSJjbHMtMiIgeD0iNCIgeT0iMTEiIHdpZHRoPSIxNiIgaGVpZ2h0PSIyIi8+PHJlY3QgY2xhc3M9ImNscy00IiB4PSI2IiB5PSIyIiB3aWR0aD0iMTIiIGhlaWdodD0iNSIvPjxyZWN0IGNsYXNzPSJjbHMtMiIgeD0iMTIiIHk9IjIiIHdpZHRoPSI2IiBoZWlnaHQ9IjUiLz48cmVjdCBjbGFzcz0iY2xzLTQiIHg9IjE2IiB5PSIxNiIgd2lkdGg9IjYiIGhlaWdodD0iNiIvPjxyZWN0IGNsYXNzPSJjbHMtNCIgeD0iMiIgeT0iMTYiIHdpZHRoPSI2IiBoZWlnaHQ9IjYiLz48cmVjdCBjbGFzcz0iY2xzLTIiIHg9IjUiIHk9IjE2IiB3aWR0aD0iMyIgaGVpZ2h0PSI2Ii8+PHJlY3QgY2xhc3M9ImNscy00IiB4PSI5IiB5PSIxNiIgd2lkdGg9IjYiIGhlaWdodD0iNiIvPjxyZWN0IGNsYXNzPSJjbHMtMiIgeD0iMTIiIHk9IjE2IiB3aWR0aD0iMyIgaGVpZ2h0PSI2Ii8+PHJlY3QgY2xhc3M9ImNscy0yIiB4PSIxOSIgeT0iMTYiIHdpZHRoPSIzIiBoZWlnaHQ9IjYiLz48L2c+PC9nPjwvZz48L3N2Zz4=;imageAspect=1;" vertex="1" parent="1"><mxGeometry x="313.5" y="521" width="64" height="64" as="geometry"/></mxCell>
<mxCell id="n-web_a" value="Web tier VMs&lt;br&gt;&lt;font style=&quot;font-size:10px&quot; color=&quot;#545B64&quot;&gt;managed instance group, zone a&lt;/font&gt;" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;verticalLabelPosition=bottom;verticalAlign=top;image=data:image/svg+xml,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0ic3RhbmRhcmRfcHJvZHVjdF9pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiAyLjEuMCBCdWlsZCAxNDIpICAtLT4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLnN0MCB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgfQoKICAgICAgLnN0MSB7CiAgICAgICAgZmlsbDogIzQyODVmNDsKICAgICAgfQoKICAgICAgLnN0MiB7CiAgICAgICAgZmlsbDogIzM0YTg1MzsKICAgICAgfQoKICAgICAgLnN0MyB7CiAgICAgICAgZmlsbDogI2ZiYmMwNDsKICAgICAgfQoKICAgICAgLnN0NCB7CiAgICAgICAgZmlsbDogI2VhNDMzNTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPGcgaWQ9ImJvdW5kaW5nX2JveCI+CiAgICA8cmVjdCBjbGFzcz0ic3QwIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIvPgogIDwvZz4KICA8ZyBpZD0iYXJ0Ij4KICAgIDxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0zODAuNywzOTYuN2gtMjQ5LjNjLTguOCwwLTE2LTcuMi0xNi0xNnYtMjQ5LjNjMC04LjgsNy4yLTE2LDE2LTE2aDI0OS4zYzguOCwwLDE2LDcuMiwxNiwxNnYyNDkuM2MwLDguOC03LjIsMTYtMTYsMTZaTTE0Ny4zLDM2NC43aDIxNy4zdi0yMTcuM2gtMjE3LjN2MjE3LjNaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMTQ3LjMsMzY0LjdoLTMydi0yMzMuM2MwLTguOCw3LjItMTYsMTYtMTZoMTQ2LjF2MzJoLTEzMC4xdjIxNy4zaDBaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNDQzLDM2NC43aC02Mi4zYy04LjgsMC0xNi03LjItMTYtMTZzNy4yLTE2LDE2LTE2aDYyLjNjOC44LDAsMTYsNy4yLDE2LDE2cy03LjIsMTYtMTYsMTZaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNDQzLDI3MmgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0NCIgZD0iTTQ0MywxNzguNWgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0NCIgZD0iTTM0OS41LDE0Ny4zYy04LjgsMC0xNi03LjItMTYtMTZ2LTYyLjNjMC04LjgsNy4yLTE2LDE2LTE2czE2LDcuMiwxNiwxNnY2Mi4zYzAsOC44LTcuMiwxNi0xNiwxNloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDQiIGQ9Ik0yNTYsMTQ3LjNjLTguOCwwLTE2LTcuMi0xNi0xNnYtNjIuM2MwLTguOCw3LjItMTYsMTYtMTZzMTYsNy4yLDE2LDE2djYyLjNjMCw4LjgtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTE2Mi41LDE0Ny4zYy04LjgsMC0xNi03LjItMTYtMTZ2LTYyLjNjMC04LjgsNy4yLTE2LDE2LTE2czE2LDcuMiwxNiwxNnY2Mi4zYzAsOC44LTcuMiwxNi0xNiwxNloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0zMTUsMzMxaC0xMThjLTguOCwwLTE2LTcuMi0xNi0xNnYtMTE4YzAtOC44LDcuMi0xNiwxNi0xNmgxMThjOC44LDAsMTYsNy4yLDE2LDE2djExOGMwLDguOC03LjIsMTYtMTYsMTZaTTIxMywyOTloODZ2LTg2aC04NnY4NloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDQiIGQ9Ik0zOTYuNywzMzIuN2gtMzJ2LTE4NS4zaC0xMjQuNnYtMzJoMTQwLjZjOC44LDAsMTYsNy4yLDE2LDE2djIwMS4zWiIvPgogICAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTE2Mi41LDQ1OWMtOC44LDAtMTYtNy4yLTE2LTE2di02Mi4zYzAtOC44LDcuMi0xNiwxNi0xNnMxNiw3LjIsMTYsMTZ2NjIuM2MwLDguOC03LjIsMTYtMTYsMTZaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjU2LDQ1OWMtOC44LDAtMTYtNy4yLTE2LTE2di02Mi4zYzAtOC44LDcuMi0xNiwxNi0xNnMxNiw3LjIsMTYsMTZ2NjIuM2MwLDguOC03LjIsMTYtMTYsMTZaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMzQ5LjUsNDU5Yy04LjgsMC0xNi03LjItMTYtMTZ2LTYyLjNjMC04LjgsNy4yLTE2LDE2LTE2czE2LDcuMiwxNiwxNnY2Mi4zYzAsOC44LTcuMiwxNi0xNiwxNloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xMzEuMywxNzguNWgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTEzMS4zLDI3MmgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTEzMS4zLDM2NC43aC02Mi4zYy04LjgsMC0xNi03LjItMTYtMTZzNy4yLTE2LDE2LTE2aDYyLjNjOC44LDAsMTYsNy4yLDE2LDE2cy03LjIsMTYtMTYsMTZaIi8+CiAgPC9nPgo8L3N2Zz4=;imageAspect=1;" vertex="1" parent="g-za"><mxGeometry x="83" y="48" width="64" height="64" as="geometry"/></mxCell>
<mxCell id="n-app_a" value="App tier VMs&lt;br&gt;&lt;font style=&quot;font-size:10px&quot; color=&quot;#545B64&quot;&gt;zone a&lt;/font&gt;" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;verticalLabelPosition=bottom;verticalAlign=top;image=data:image/svg+xml,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0ic3RhbmRhcmRfcHJvZHVjdF9pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiAyLjEuMCBCdWlsZCAxNDIpICAtLT4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLnN0MCB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgfQoKICAgICAgLnN0MSB7CiAgICAgICAgZmlsbDogIzQyODVmNDsKICAgICAgfQoKICAgICAgLnN0MiB7CiAgICAgICAgZmlsbDogIzM0YTg1MzsKICAgICAgfQoKICAgICAgLnN0MyB7CiAgICAgICAgZmlsbDogI2ZiYmMwNDsKICAgICAgfQoKICAgICAgLnN0NCB7CiAgICAgICAgZmlsbDogI2VhNDMzNTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPGcgaWQ9ImJvdW5kaW5nX2JveCI+CiAgICA8cmVjdCBjbGFzcz0ic3QwIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIvPgogIDwvZz4KICA8ZyBpZD0iYXJ0Ij4KICAgIDxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0zODAuNywzOTYuN2gtMjQ5LjNjLTguOCwwLTE2LTcuMi0xNi0xNnYtMjQ5LjNjMC04LjgsNy4yLTE2LDE2LTE2aDI0OS4zYzguOCwwLDE2LDcuMiwxNiwxNnYyNDkuM2MwLDguOC03LjIsMTYtMTYsMTZaTTE0Ny4zLDM2NC43aDIxNy4zdi0yMTcuM2gtMjE3LjN2MjE3LjNaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMTQ3LjMsMzY0LjdoLTMydi0yMzMuM2MwLTguOCw3LjItMTYsMTYtMTZoMTQ2LjF2MzJoLTEzMC4xdjIxNy4zaDBaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNDQzLDM2NC43aC02Mi4zYy04LjgsMC0xNi03LjItMTYtMTZzNy4yLTE2LDE2LTE2aDYyLjNjOC44LDAsMTYsNy4yLDE2LDE2cy03LjIsMTYtMTYsMTZaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNDQzLDI3MmgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0NCIgZD0iTTQ0MywxNzguNWgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0NCIgZD0iTTM0OS41LDE0Ny4zYy04LjgsMC0xNi03LjItMTYtMTZ2LTYyLjNjMC04LjgsNy4yLTE2LDE2LTE2czE2LDcuMiwxNiwxNnY2Mi4zYzAsOC44LTcuMiwxNi0xNiwxNloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDQiIGQ9Ik0yNTYsMTQ3LjNjLTguOCwwLTE2LTcuMi0xNi0xNnYtNjIuM2MwLTguOCw3LjItMTYsMTYtMTZzMTYsNy4yLDE2LDE2djYyLjNjMCw4LjgtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTE2Mi41LDE0Ny4zYy04LjgsMC0xNi03LjItMTYtMTZ2LTYyLjNjMC04LjgsNy4yLTE2LDE2LTE2czE2LDcuMiwxNiwxNnY2Mi4zYzAsOC44LTcuMiwxNi0xNiwxNloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0zMTUsMzMxaC0xMThjLTguOCwwLTE2LTcuMi0xNi0xNnYtMTE4YzAtOC44LDcuMi0xNiwxNi0xNmgxMThjOC44LDAsMTYsNy4yLDE2LDE2djExOGMwLDguOC03LjIsMTYtMTYsMTZaTTIxMywyOTloODZ2LTg2aC04NnY4NloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDQiIGQ9Ik0zOTYuNywzMzIuN2gtMzJ2LTE4NS4zaC0xMjQuNnYtMzJoMTQwLjZjOC44LDAsMTYsNy4yLDE2LDE2djIwMS4zWiIvPgogICAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTE2Mi41LDQ1OWMtOC44LDAtMTYtNy4yLTE2LTE2di02Mi4zYzAtOC44LDcuMi0xNiwxNi0xNnMxNiw3LjIsMTYsMTZ2NjIuM2MwLDguOC03LjIsMTYtMTYsMTZaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjU2LDQ1OWMtOC44LDAtMTYtNy4yLTE2LTE2di02Mi4zYzAtOC44LDcuMi0xNiwxNi0xNnMxNiw3LjIsMTYsMTZ2NjIuM2MwLDguOC03LjIsMTYtMTYsMTZaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMzQ5LjUsNDU5Yy04LjgsMC0xNi03LjItMTYtMTZ2LTYyLjNjMC04LjgsNy4yLTE2LDE2LTE2czE2LDcuMiwxNiwxNnY2Mi4zYzAsOC44LTcuMiwxNi0xNiwxNloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xMzEuMywxNzguNWgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTEzMS4zLDI3MmgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTEzMS4zLDM2NC43aC02Mi4zYy04LjgsMC0xNi03LjItMTYtMTZzNy4yLTE2LDE2LTE2aDYyLjNjOC44LDAsMTYsNy4yLDE2LDE2cy03LjIsMTYtMTYsMTZaIi8+CiAgPC9nPgo8L3N2Zz4=;imageAspect=1;" vertex="1" parent="g-za"><mxGeometry x="83" y="210" width="64" height="64" as="geometry"/></mxCell>
<mxCell id="n-web_b" value="Web tier VMs&lt;br&gt;&lt;font style=&quot;font-size:10px&quot; color=&quot;#545B64&quot;&gt;managed instance group, zone b&lt;/font&gt;" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;verticalLabelPosition=bottom;verticalAlign=top;image=data:image/svg+xml,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0ic3RhbmRhcmRfcHJvZHVjdF9pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiAyLjEuMCBCdWlsZCAxNDIpICAtLT4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLnN0MCB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgfQoKICAgICAgLnN0MSB7CiAgICAgICAgZmlsbDogIzQyODVmNDsKICAgICAgfQoKICAgICAgLnN0MiB7CiAgICAgICAgZmlsbDogIzM0YTg1MzsKICAgICAgfQoKICAgICAgLnN0MyB7CiAgICAgICAgZmlsbDogI2ZiYmMwNDsKICAgICAgfQoKICAgICAgLnN0NCB7CiAgICAgICAgZmlsbDogI2VhNDMzNTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPGcgaWQ9ImJvdW5kaW5nX2JveCI+CiAgICA8cmVjdCBjbGFzcz0ic3QwIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIvPgogIDwvZz4KICA8ZyBpZD0iYXJ0Ij4KICAgIDxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0zODAuNywzOTYuN2gtMjQ5LjNjLTguOCwwLTE2LTcuMi0xNi0xNnYtMjQ5LjNjMC04LjgsNy4yLTE2LDE2LTE2aDI0OS4zYzguOCwwLDE2LDcuMiwxNiwxNnYyNDkuM2MwLDguOC03LjIsMTYtMTYsMTZaTTE0Ny4zLDM2NC43aDIxNy4zdi0yMTcuM2gtMjE3LjN2MjE3LjNaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMTQ3LjMsMzY0LjdoLTMydi0yMzMuM2MwLTguOCw3LjItMTYsMTYtMTZoMTQ2LjF2MzJoLTEzMC4xdjIxNy4zaDBaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNDQzLDM2NC43aC02Mi4zYy04LjgsMC0xNi03LjItMTYtMTZzNy4yLTE2LDE2LTE2aDYyLjNjOC44LDAsMTYsNy4yLDE2LDE2cy03LjIsMTYtMTYsMTZaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNDQzLDI3MmgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0NCIgZD0iTTQ0MywxNzguNWgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0NCIgZD0iTTM0OS41LDE0Ny4zYy04LjgsMC0xNi03LjItMTYtMTZ2LTYyLjNjMC04LjgsNy4yLTE2LDE2LTE2czE2LDcuMiwxNiwxNnY2Mi4zYzAsOC44LTcuMiwxNi0xNiwxNloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDQiIGQ9Ik0yNTYsMTQ3LjNjLTguOCwwLTE2LTcuMi0xNi0xNnYtNjIuM2MwLTguOCw3LjItMTYsMTYtMTZzMTYsNy4yLDE2LDE2djYyLjNjMCw4LjgtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTE2Mi41LDE0Ny4zYy04LjgsMC0xNi03LjItMTYtMTZ2LTYyLjNjMC04LjgsNy4yLTE2LDE2LTE2czE2LDcuMiwxNiwxNnY2Mi4zYzAsOC44LTcuMiwxNi0xNiwxNloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0zMTUsMzMxaC0xMThjLTguOCwwLTE2LTcuMi0xNi0xNnYtMTE4YzAtOC44LDcuMi0xNiwxNi0xNmgxMThjOC44LDAsMTYsNy4yLDE2LDE2djExOGMwLDguOC03LjIsMTYtMTYsMTZaTTIxMywyOTloODZ2LTg2aC04NnY4NloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDQiIGQ9Ik0zOTYuNywzMzIuN2gtMzJ2LTE4NS4zaC0xMjQuNnYtMzJoMTQwLjZjOC44LDAsMTYsNy4yLDE2LDE2djIwMS4zWiIvPgogICAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTE2Mi41LDQ1OWMtOC44LDAtMTYtNy4yLTE2LTE2di02Mi4zYzAtOC44LDcuMi0xNiwxNi0xNnMxNiw3LjIsMTYsMTZ2NjIuM2MwLDguOC03LjIsMTYtMTYsMTZaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjU2LDQ1OWMtOC44LDAtMTYtNy4yLTE2LTE2di02Mi4zYzAtOC44LDcuMi0xNiwxNi0xNnMxNiw3LjIsMTYsMTZ2NjIuM2MwLDguOC03LjIsMTYtMTYsMTZaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMzQ5LjUsNDU5Yy04LjgsMC0xNi03LjItMTYtMTZ2LTYyLjNjMC04LjgsNy4yLTE2LDE2LTE2czE2LDcuMiwxNiwxNnY2Mi4zYzAsOC44LTcuMiwxNi0xNiwxNloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xMzEuMywxNzguNWgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTEzMS4zLDI3MmgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTEzMS4zLDM2NC43aC02Mi4zYy04LjgsMC0xNi03LjItMTYtMTZzNy4yLTE2LDE2LTE2aDYyLjNjOC44LDAsMTYsNy4yLDE2LDE2cy03LjIsMTYtMTYsMTZaIi8+CiAgPC9nPgo8L3N2Zz4=;imageAspect=1;" vertex="1" parent="g-zb"><mxGeometry x="83" y="48" width="64" height="64" as="geometry"/></mxCell>
<mxCell id="n-app_b" value="App tier VMs&lt;br&gt;&lt;font style=&quot;font-size:10px&quot; color=&quot;#545B64&quot;&gt;zone b&lt;/font&gt;" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;verticalLabelPosition=bottom;verticalAlign=top;image=data:image/svg+xml,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0ic3RhbmRhcmRfcHJvZHVjdF9pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiAyLjEuMCBCdWlsZCAxNDIpICAtLT4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLnN0MCB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgfQoKICAgICAgLnN0MSB7CiAgICAgICAgZmlsbDogIzQyODVmNDsKICAgICAgfQoKICAgICAgLnN0MiB7CiAgICAgICAgZmlsbDogIzM0YTg1MzsKICAgICAgfQoKICAgICAgLnN0MyB7CiAgICAgICAgZmlsbDogI2ZiYmMwNDsKICAgICAgfQoKICAgICAgLnN0NCB7CiAgICAgICAgZmlsbDogI2VhNDMzNTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPGcgaWQ9ImJvdW5kaW5nX2JveCI+CiAgICA8cmVjdCBjbGFzcz0ic3QwIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIvPgogIDwvZz4KICA8ZyBpZD0iYXJ0Ij4KICAgIDxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0zODAuNywzOTYuN2gtMjQ5LjNjLTguOCwwLTE2LTcuMi0xNi0xNnYtMjQ5LjNjMC04LjgsNy4yLTE2LDE2LTE2aDI0OS4zYzguOCwwLDE2LDcuMiwxNiwxNnYyNDkuM2MwLDguOC03LjIsMTYtMTYsMTZaTTE0Ny4zLDM2NC43aDIxNy4zdi0yMTcuM2gtMjE3LjN2MjE3LjNaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMTQ3LjMsMzY0LjdoLTMydi0yMzMuM2MwLTguOCw3LjItMTYsMTYtMTZoMTQ2LjF2MzJoLTEzMC4xdjIxNy4zaDBaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNDQzLDM2NC43aC02Mi4zYy04LjgsMC0xNi03LjItMTYtMTZzNy4yLTE2LDE2LTE2aDYyLjNjOC44LDAsMTYsNy4yLDE2LDE2cy03LjIsMTYtMTYsMTZaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNDQzLDI3MmgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0NCIgZD0iTTQ0MywxNzguNWgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0NCIgZD0iTTM0OS41LDE0Ny4zYy04LjgsMC0xNi03LjItMTYtMTZ2LTYyLjNjMC04LjgsNy4yLTE2LDE2LTE2czE2LDcuMiwxNiwxNnY2Mi4zYzAsOC44LTcuMiwxNi0xNiwxNloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDQiIGQ9Ik0yNTYsMTQ3LjNjLTguOCwwLTE2LTcuMi0xNi0xNnYtNjIuM2MwLTguOCw3LjItMTYsMTYtMTZzMTYsNy4yLDE2LDE2djYyLjNjMCw4LjgtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTE2Mi41LDE0Ny4zYy04LjgsMC0xNi03LjItMTYtMTZ2LTYyLjNjMC04LjgsNy4yLTE2LDE2LTE2czE2LDcuMiwxNiwxNnY2Mi4zYzAsOC44LTcuMiwxNi0xNiwxNloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0zMTUsMzMxaC0xMThjLTguOCwwLTE2LTcuMi0xNi0xNnYtMTE4YzAtOC44LDcuMi0xNiwxNi0xNmgxMThjOC44LDAsMTYsNy4yLDE2LDE2djExOGMwLDguOC03LjIsMTYtMTYsMTZaTTIxMywyOTloODZ2LTg2aC04NnY4NloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDQiIGQ9Ik0zOTYuNywzMzIuN2gtMzJ2LTE4NS4zaC0xMjQuNnYtMzJoMTQwLjZjOC44LDAsMTYsNy4yLDE2LDE2djIwMS4zWiIvPgogICAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTE2Mi41LDQ1OWMtOC44LDAtMTYtNy4yLTE2LTE2di02Mi4zYzAtOC44LDcuMi0xNiwxNi0xNnMxNiw3LjIsMTYsMTZ2NjIuM2MwLDguOC03LjIsMTYtMTYsMTZaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjU2LDQ1OWMtOC44LDAtMTYtNy4yLTE2LTE2di02Mi4zYzAtOC44LDcuMi0xNiwxNi0xNnMxNiw3LjIsMTYsMTZ2NjIuM2MwLDguOC03LjIsMTYtMTYsMTZaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QxIiBkPSJNMzQ5LjUsNDU5Yy04LjgsMC0xNi03LjItMTYtMTZ2LTYyLjNjMC04LjgsNy4yLTE2LDE2LTE2czE2LDcuMiwxNiwxNnY2Mi4zYzAsOC44LTcuMiwxNi0xNiwxNloiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik0xMzEuMywxNzguNWgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTEzMS4zLDI3MmgtNjIuM2MtOC44LDAtMTYtNy4yLTE2LTE2czcuMi0xNiwxNi0xNmg2Mi4zYzguOCwwLDE2LDcuMiwxNiwxNnMtNy4yLDE2LTE2LDE2WiIvPgogICAgPHBhdGggY2xhc3M9InN0MyIgZD0iTTEzMS4zLDM2NC43aC02Mi4zYy04LjgsMC0xNi03LjItMTYtMTZzNy4yLTE2LDE2LTE2aDYyLjNjOC44LDAsMTYsNy4yLDE2LDE2cy03LjIsMTYtMTYsMTZaIi8+CiAgPC9nPgo8L3N2Zz4=;imageAspect=1;" vertex="1" parent="g-zb"><mxGeometry x="83" y="210" width="64" height="64" as="geometry"/></mxCell>
<mxCell id="n-sql" value="Cloud SQL for&lt;br&gt;PostgreSQL&lt;br&gt;&lt;font style=&quot;font-size:10px&quot; color=&quot;#545B64&quot;&gt;high availability (regional)&lt;/font&gt;" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;verticalLabelPosition=bottom;verticalAlign=top;image=data:image/svg+xml,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0ic3RhbmRhcmRfcHJvZHVjdF9pY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiAyLjEuMCBCdWlsZCAxNDIpICAtLT4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLnN0MCB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgfQoKICAgICAgLnN0MSB7CiAgICAgICAgZmlsbDogIzQyODVmNDsKICAgICAgfQoKICAgICAgLnN0MiB7CiAgICAgICAgZmlsbDogIzM0YTg1MzsKICAgICAgfQoKICAgICAgLnN0MyB7CiAgICAgICAgZmlsbDogI2ZiYmMwNDsKICAgICAgfQoKICAgICAgLnN0NCB7CiAgICAgICAgZmlsbDogI2VhNDMzNTsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPGcgaWQ9ImJvdW5kaW5nX2JveCI+CiAgICA8cmVjdCBjbGFzcz0ic3QwIiB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIvPgogIDwvZz4KICA8ZyBpZD0iYXJ0Ij4KICAgIDxwYXRoIGNsYXNzPSJzdDMiIGQ9Ik00NDcuNSwxMjMuN2wtMTg2LTY4LjdjLTMuNi0xLjMtNy41LTEuMy0xMS4xLDBsLTQwLjcsMTUtMTQ1LjIsNTMuNWMtNi4zLDIuMy0xMC41LDguMy0xMC41LDE1czQuMiwxMi43LDEwLjUsMTVsMTQ1LjEsNTMuNHMwLDAsMCwwbDQwLjgsMTVjMS44LjYsMy43LDEsNS41LDFzMy43LS4zLDUuNS0xbDE4NS45LTY4LjJjNi4zLTIuMywxMC41LTguMywxMC41LTE1LDAtNi43LTQuMi0xMi43LTEwLjUtMTVoMFpNMjU2LDE4OS45bC0xMzkuNi01MS40LDEzOS42LTUxLjQsMTM5LjcsNTEuNi0xMzkuNiw1MS4yWiIvPgogICAgPHBhdGggY2xhc3M9InN0MiIgZD0iTTQ0Ny41LDM4OC44bC0xODUuOSw2OC4yYy0xLjguNi0zLjYsMS01LjUsMXMtMy43LS4zLTUuNS0xbC00MC44LTE1aDBsLTE0NS4xLTUzLjRjLTguMy0zLTEyLjUtMTIuMi05LjUtMjAuNSwzLTguMywxMi4yLTEyLjUsMjAuNS05LjVsMTgwLjQsNjYuNCwxODAuNC02Ni4yYzguMy0zLDE3LjUsMS4yLDIwLjUsOS41LDMsOC4zLTEuMiwxNy41LTkuNSwyMC41aDBaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QyIiBkPSJNNDQ3LjUsMzEwLjRsLTE4NS45LDY4LjJjLTEuOC42LTMuNiwxLTUuNSwxcy0zLjctLjMtNS41LTFsLTQwLjgtMTVoMGwtMTQ1LjEtNTMuNGMtOC4zLTMtMTIuNS0xMi4yLTkuNS0yMC41LDMtOC4zLDEyLjItMTIuNSwyMC41LTkuNWwxODAuNCw2Ni40LDE4MC40LTY2LjJjOC4zLTMsMTcuNSwxLjIsMjAuNSw5LjUsMyw4LjMtMS4yLDE3LjUtOS41LDIwLjVoMFoiLz4KICAgIDxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik00NDcuNSwyMzIuMWwtMTg1LjksNjguMmMtMS44LjctMy42LDEtNS41LDFzLTMuNy0uMy01LjUtMWwtNDAuOC0xNWgwbC0xNDUuMS01My40Yy04LjMtMy4xLTEyLjUtMTIuMi05LjUtMjAuNSwzLTguMywxMi4yLTEyLjUsMjAuNS05LjVsMTgwLjQsNjYuNCwxODAuNC02Ni4yYzguMy0zLDE3LjUsMS4yLDIwLjUsOS41LDMsOC4zLTEuMiwxNy41LTkuNSwyMC41aDBaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3Q0IiBkPSJNNDU4LDEzOC43YzAsNi43LTQuMiwxMi43LTEwLjUsMTVsLTE4Niw2OC4yYy0xLjguNy0zLjYsMS01LjUsMXMtMy43LS4zLTUuNS0xbC00MC44LTE1aDBzNDYuNC0xNyw0Ni40LTE3bDEzOS42LTUxLjItMTM5LjctNTEuNi00Ni4yLTE3LjEsNDAuNy0xNWMzLjYtMS4zLDcuNS0xLjMsMTEuMSwwbDE4Niw2OC43YzYuMywyLjMsMTAuNSw4LjMsMTAuNSwxNWgwWiIvPgogICAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTQ0Ny41LDM4OC44bC0xODUuOSw2OC4yYy0xLjguNi0zLjYsMS01LjUsMXMtMy43LS4zLTUuNS0xbC00MC44LTE1LDQ2LjQtMTcsMTgwLjQtNjYuMmM4LjMtMywxNy41LDEuMiwyMC41LDkuNSwzLDguMy0xLjIsMTcuNS05LjUsMjAuNWgwWiIvPgogICAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTQ0Ny41LDMxMC40bC0xODUuOSw2OC4yYy0xLjguNi0zLjYsMS01LjUsMXMtMy43LS4zLTUuNS0xbC00MC44LTE1aDBsNDYuNC0xNywxODAuNC02Ni4yYzguMy0zLDE3LjUsMS4yLDIwLjUsOS41LDMsOC4zLTEuMiwxNy41LTkuNSwyMC41WiIvPgogICAgPHBhdGggY2xhc3M9InN0MSIgZD0iTTQ0Ny41LDIzMi4xbC0xODUuOSw2OC4yYy0xLjguNy0zLjYsMS01LjUsMXMtMy43LS4zLTUuNS0xbC00MC44LTE1aDBsNDYuNC0xNywxODAuNC02Ni4yYzguMy0zLDE3LjUsMS4yLDIwLjUsOS41LDMsOC4zLTEuMiwxNy41LTkuNSwyMC41aDBaIi8+CiAgICA8cGF0aCBjbGFzcz0ic3QzIiBkPSJNMzAyLjQsMjA2LjlsLTE4Ni02OC41LTUxLjgtMTVjLTYuMywyLjMtMTAuNSw4LjMtMTAuNSwxNXM0LjIsMTIuNywxMC41LDE1bDE0NS4xLDUzLjRzMCwwLDAsMGw0MC44LDE1YzEuOC42LDMuNywxLDUuNSwxczMuNy0uMyw1LjUtMWw0MC45LTE1aDBaIi8+CiAgPC9nPgo8L3N2Zz4=;imageAspect=1;" vertex="1" parent="1"><mxGeometry x="1199.5" y="353" width="64" height="64" as="geometry"/></mxCell>
<mxCell id="n-redis" value="Memorystore&lt;br&gt;&lt;font style=&quot;font-size:10px&quot; color=&quot;#545B64&quot;&gt;session cache&lt;/font&gt;" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;verticalLabelPosition=bottom;verticalAlign=top;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMSwuY2xzLTR7ZmlsbDojNjY5ZGY2O30uY2xzLTJ7ZmlsbDojNDI4NWY0O30uY2xzLTIsLmNscy0zLC5jbHMtNHtmaWxsLXJ1bGU6ZXZlbm9kZDt9LmNscy0ze2ZpbGw6I2FlY2JmYTt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPkljb25fMjRweF9NZW1vcnlTdG9yZV9Db2xvcjwvdGl0bGU+PGcgZGF0YS1uYW1lPSJQcm9kdWN0IEljb25zIj48ZyA+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSIyIiB5PSIzLjk0IiB3aWR0aD0iMy4zMyIgaGVpZ2h0PSIyLjU4Ii8+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSIyIiB5PSI4LjQ1IiB3aWR0aD0iMy4zMyIgaGVpZ2h0PSIyLjU4Ii8+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSIyIiB5PSIxMi45NyIgd2lkdGg9IjMuMzMiIGhlaWdodD0iMi41OCIvPjxyZWN0IGNsYXNzPSJjbHMtMSIgeD0iMiIgeT0iMTcuNDgiIHdpZHRoPSIzLjMzIiBoZWlnaHQ9IjIuNTgiLz48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjE4LjY3IiB5PSIzLjk0IiB3aWR0aD0iMy4zMyIgaGVpZ2h0PSIyLjU4Ii8+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSIxOC42NyIgeT0iOC40NSIgd2lkdGg9IjMuMzMiIGhlaWdodD0iMi41OCIvPjxyZWN0IGNsYXNzPSJjbHMtMSIgeD0iMTguNjciIHk9IjEyLjk3IiB3aWR0aD0iMy4zMyIgaGVpZ2h0PSIyLjU4Ii8+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSIxOC42NyIgeT0iMTcuNDgiIHdpZHRoPSIzLjMzIiBoZWlnaHQ9IjIuNTgiLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMjEuMzMgNi41MiAxOC42NyA2LjUyIDE4LjY3IDMuOTQgMjEuMzMgNi41MiIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIyMS4zMyAxMS4wMyAxOC42NyAxMS4wMyAxOC42NyA4LjQ1IDIxLjMzIDExLjAzIi8+PHBvbHlnb24gY2xhc3M9ImNscy0yIiBwb2ludHM9IjIxLjMzIDE1LjU1IDE4LjY3IDE1LjU1IDE4LjY3IDEyLjk3IDIxLjMzIDE1LjU1Ii8+PHBvbHlnb24gY2xhc3M9ImNscy0yIiBwb2ludHM9IjIxLjMzIDIwLjA3IDE4LjY3IDIwLjA3IDE4LjY3IDE3LjQ4IDIxLjMzIDIwLjA3Ii8+PHBhdGggY2xhc3M9ImNscy0zIiBkPSJNNS4zMywyMkgxOC42N1YySDUuMzNabTYtOUg4bDQuNjctNy43NFYxMUgxNmwtNC42Nyw3Ljc0WiIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSIxMS4zMyAyMiAxMS4zMyAxOC43NyAxNiAxMS4wMyAxMi42NyAxMS4wMyAxMi42NyAyIDE4LjY3IDIgMTguNjcgMjIgMTEuMzMgMjIiLz48L2c+PC9nPjwvc3ZnPg==;imageAspect=1;" vertex="1" parent="1"><mxGeometry x="1199.5" y="521" width="64" height="64" as="geometry"/></mxCell>
<mxCell id="n-kms" value="Cloud KMS&lt;br&gt;&lt;font style=&quot;font-size:10px&quot; color=&quot;#545B64&quot;&gt;CMEK keys&lt;/font&gt;" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;verticalLabelPosition=bottom;verticalAlign=top;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiM2NjlkZjY7fS5jbHMtMSwuY2xzLTJ7ZmlsbC1ydWxlOmV2ZW5vZGQ7fS5jbHMtMntmaWxsOiM0Mjg1ZjQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5JY29uXzI0cHhfS2V5TWFuYWdlU2VydmljZV9Db2xvcjwvdGl0bGU+PGcgZGF0YS1uYW1lPSJQcm9kdWN0IEljb25zIj48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMS4zMiwxNy4wNkgxMHYxLjRoMS4zN3YuNjNoMS40M1YxMi4xOGEzLjQ3LDMuNDcsMCwwLDAsMi42Ny0zLjM0LDMuNDIsMy40MiwwLDEsMC00LjEsMy4zNnYyLjEySDkuMjZ2MS40aDIuMDZaTTEyLDJsOC4yMSwzLjQydjUuNjNjMCw1LjA2LTMuNSw5LjgtOC4yMSwxMS00LjcxLTEuMTUtOC4yMS01Ljg5LTguMjEtMTAuOTVWNS40MlptMCw1YTEuODgsMS44OCwwLDAsMSwuNzIsMy42MkExLjg4LDEuODgsMCwxLDEsMTIsN1oiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0xMiwxOS4wOWguNzVWMTIuMThhMy40NywzLjQ3LDAsMCwwLDIuNjctMy4zNEEzLjQyLDMuNDIsMCwwLDAsMTIsNS40MlYybDguMjEsMy40MnY1LjYzYzAsNS4wNi0zLjUsOS44LTguMjEsMTFWMTkuMDlaTTEyLDdhMS44OCwxLjg4LDAsMCwxLC43MiwzLjYyLDEuMDksMS4wOSwwLDAsMS0uNzIuMTVaIi8+PC9nPjwvc3ZnPg==;imageAspect=1;" vertex="1" parent="1"><mxGeometry x="1483.5" y="269" width="64" height="64" as="geometry"/></mxCell>
<mxCell id="n-mon" value="Cloud Monitoring&lt;br&gt;&lt;font style=&quot;font-size:10px&quot; color=&quot;#545B64&quot;&gt;SLOs and alerts&lt;/font&gt;" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;verticalLabelPosition=bottom;verticalAlign=top;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiM2NjlkZjY7fS5jbHMtMntmaWxsOiM0Mjg1ZjQ7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5JY29uXzI0cHhfTW9uaXRvcmluZ19Db2xvcjwvdGl0bGU+PGcgZGF0YS1uYW1lPSJQcm9kdWN0IEljb25zIj48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjEwLjgzIiB5PSIxNS44NCIgd2lkdGg9IjIuMzMiIGhlaWdodD0iMi42NCIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTE4LjQ4LDEzLjg3YS41Ni41NiwwLDAsMS0uNC0uMTdMMTQsOS40N2wtMi43NCwyLjg5YS41Ny41NywwLDAsMS0uNzYuMDVMOC40MiwxMC43M2wtMi4yLDIuOTJhLjU2LjU2LDAsMCwxLS40NS4yMkgydjEuNzFhLjc1Ljc1LDAsMCwwLC43NC43NUgyMS4yNmEuNzUuNzUsMCwwLDAsLjc0LS43NVYxMy44N1oiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik01LjUsMTIuNzYsNy44OCw5LjZhLjU1LjU1LDAsMCwxLC4zNy0uMjIuNjMuNjMsMCwwLDEsLjQyLjEybDIuMTIsMS43MiwyLjgtMi45NGEuNTQuNTQsMCwwLDEsLjQtLjE3aDBhLjU0LjU0LDAsMCwxLC40LjE3bDQuMzMsNC40OEgyMlY2YS43NC43NCwwLDAsMC0uNzQtLjc0SDIuNzRBLjc0Ljc0LDAsMCwwLDIsNnY2LjgxWiIvPjxyZWN0IGNsYXNzPSJjbHMtMiIgeD0iOC42NyIgeT0iMTguMTgiIHdpZHRoPSI2LjY3IiBoZWlnaHQ9IjAuNjEiIHJ4PSIwLjMiLz48L2c+PC9zdmc+;imageAspect=1;" vertex="1" parent="1"><mxGeometry x="1483.5" y="437" width="64" height="64" as="geometry"/></mxCell>
<mxCell id="n-log" value="Cloud Logging&lt;br&gt;&lt;font style=&quot;font-size:10px&quot; color=&quot;#545B64&quot;&gt;audit and app logs&lt;/font&gt;" style="image;aspect=fixed;html=1;points=[];align=center;fontSize=12;fontColor=#232F3E;verticalLabelPosition=bottom;verticalAlign=top;image=data:image/svg+xml,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGRlZnM+PHN0eWxlPi5jbHMtMXtmaWxsOiM0Mjg1ZjQ7fS5jbHMtMntmaWxsOm5vbmU7fS5jbHMtM3tmaWxsOiM2NjlkZjY7fS5jbHMtNHtmaWxsOiNhZWNiZmE7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5JY29uXzI0cHhfTG9nZ2luZ19Db2xvcjwvdGl0bGU+PGcgZGF0YS1uYW1lPSJQcm9kdWN0IEljb25zIj48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjYiIHk9IjExIiB3aWR0aD0iNCIgaGVpZ2h0PSIyIi8+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSI0IiB5PSIxOCIgd2lkdGg9IjYiIGhlaWdodD0iMiIvPjxnIGRhdGEtbmFtZT0iY29sb3JlZC0zMi9sb2dzIj48cmVjdCBjbGFzcz0iY2xzLTIiIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIvPjxnID48cG9seWdvbiBpZD0iRmlsbC0zIiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iNCAxOCA2IDE4IDYgNiA0IDYgNCAxOCIvPjxwb2x5Z29uIGlkPSJGaWxsLTQiIGNsYXNzPSJjbHMtMyIgcG9pbnRzPSI5IDcgMjIgNyAyMiAzIDkgMyA5IDciLz48cG9seWdvbiBpZD0iRmlsbC00LTIiIGRhdGEtbmFtZT0iRmlsbC00IiBjbGFzcz0iY2xzLTMiIHBvaW50cz0iOSAxNCAyMiAxNCAyMiAxMCA5IDEwIDkgMTQiLz48cG9seWdvbiBpZD0iRmlsbC00LTMiIGRhdGEtbmFtZT0iRmlsbC00IiBjbGFzcz0iY2xzLTMiIHBvaW50cz0iOSAyMSAyMiAyMSAyMiAxNyA5IDE3IDkgMjEiLz48cG9seWdvbiBpZD0iRmlsbC03IiBjbGFzcz0iY2xzLTQiIHBvaW50cz0iMiA4IDggOCA4IDIgMiAyIDIgOCIvPjwvZz48L2c+PC9nPjwvc3ZnPg==;imageAspect=1;" vertex="1" parent="1"><mxGeometry x="1483.5" y="605" width="64" height="64" as="geometry"/></mxCell>
<mxCell id="e-0" value="HTTPS" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#232F3E;strokeWidth=2;labelBackgroundColor=#ffffff;fontSize=11;fontColor=#232F3E;endArrow=open;endFill=0;endSize=8;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-users" target="n-armor"><mxGeometry x="0" relative="1" as="geometry"></mxGeometry></mxCell>
<object label="1" tooltip="1. Requests reach the global anycast IP of the load balancer and are screened by Cloud Armor" id="b-0"><mxCell style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;strokeColor=#ffffff;fontColor=#ffffff;fontStyle=1;fontSize=12;" vertex="1" parent="1"><mxGeometry x="141.5" y="374" width="22" height="22" as="geometry"/></mxCell></object>
<mxCell id="e-1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#232F3E;strokeWidth=2;labelBackgroundColor=#ffffff;fontSize=11;fontColor=#232F3E;endArrow=open;endFill=0;endSize=8;exitX=0.5;exitY=1;exitDx=0;exitDy=48;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-armor" target="n-lb"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<object label="2" tooltip="2. Cloud Armor → Application Load Balancer" id="b-1"><mxCell style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;strokeColor=#ffffff;fontColor=#ffffff;fontStyle=1;fontSize=12;" vertex="1" parent="1"><mxGeometry x="334.5" y="478" width="22" height="22" as="geometry"/></mxCell></object>
<mxCell id="e-2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#232F3E;strokeWidth=2;labelBackgroundColor=#ffffff;fontSize=11;fontColor=#232F3E;endArrow=open;endFill=0;endSize=8;exitX=0.5;exitY=1;exitDx=0;exitDy=48;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="g-za" source="n-web_a" target="n-app_a"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<object label="4" tooltip="4. Web tier VMs → App tier VMs" id="b-2"><mxCell style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;strokeColor=#ffffff;fontColor=#ffffff;fontStyle=1;fontSize=12;" vertex="1" parent="g-za"><mxGeometry x="104" y="155" width="22" height="22" as="geometry"/></mxCell></object>
<mxCell id="e-3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#232F3E;strokeWidth=2;labelBackgroundColor=#ffffff;fontSize=11;fontColor=#232F3E;endArrow=open;endFill=0;endSize=8;exitX=0.5;exitY=1;exitDx=0;exitDy=48;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="g-zb" source="n-web_b" target="n-app_b"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<object label="4" tooltip="4. Web tier VMs → App tier VMs" id="b-3"><mxCell style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;strokeColor=#ffffff;fontColor=#ffffff;fontStyle=1;fontSize=12;" vertex="1" parent="g-zb"><mxGeometry x="104" y="173" width="22" height="22" as="geometry"/></mxCell></object>
<mxCell id="e-4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#232F3E;strokeWidth=2;labelBackgroundColor=#ffffff;fontSize=11;fontColor=#232F3E;endArrow=open;endFill=0;endSize=8;dashed=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=1;entryDx=0;entryDy=48;entryPerimeter=0;" edge="1" parent="1" source="n-log" target="n-mon"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="e-5" value="balance" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#232F3E;strokeWidth=2;labelBackgroundColor=#ffffff;fontSize=11;fontColor=#232F3E;endArrow=open;endFill=0;endSize=8;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-lb" target="n-web_a"><mxGeometry x="0" relative="1" as="geometry"><Array as="points"><mxPoint x="518.3" y="553"/><mxPoint x="518.3" y="388"/></Array></mxGeometry></mxCell>
<object label="3" tooltip="3. Application Load Balancer → Web tier VMs (balance)" id="b-5"><mxCell style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;strokeColor=#ffffff;fontColor=#ffffff;fontStyle=1;fontSize=12;" vertex="1" parent="1"><mxGeometry x="410.5" y="542" width="22" height="22" as="geometry"/></mxCell></object>
<mxCell id="e-6" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#232F3E;strokeWidth=2;labelBackgroundColor=#ffffff;fontSize=11;fontColor=#232F3E;endArrow=open;endFill=0;endSize=8;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-lb" target="n-web_b"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="399.5" y="553"/><mxPoint x="399.5" y="672"/><mxPoint x="917" y="672"/><mxPoint x="917" y="388"/></Array></mxGeometry></mxCell>
<object label="3" tooltip="3. Application Load Balancer → Web tier VMs" id="b-6"><mxCell style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;strokeColor=#ffffff;fontColor=#ffffff;fontStyle=1;fontSize=12;" vertex="1" parent="1"><mxGeometry x="906" y="377" width="22" height="22" as="geometry"/></mxCell></object>
<mxCell id="e-7" value="SQL" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#232F3E;strokeWidth=2;labelBackgroundColor=#ffffff;fontSize=11;fontColor=#232F3E;endArrow=open;endFill=0;endSize=8;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-app_a" target="n-sql"><mxGeometry x="0.4" relative="1" as="geometry"><Array as="points"><mxPoint x="691" y="496"/><mxPoint x="838" y="496"/><mxPoint x="838" y="331"/><mxPoint x="1231.5" y="331"/></Array></mxGeometry></mxCell>
<object label="5" tooltip="5. App tier VMs → Cloud SQL for PostgreSQL (SQL)" id="b-7"><mxCell style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;strokeColor=#ffffff;fontColor=#ffffff;fontStyle=1;fontSize=12;" vertex="1" parent="1"><mxGeometry x="680" y="485" width="22" height="22" as="geometry"/></mxCell></object>
<mxCell id="e-8" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#232F3E;strokeWidth=2;labelBackgroundColor=#ffffff;fontSize=11;fontColor=#232F3E;endArrow=open;endFill=0;endSize=8;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-app_b" target="n-sql"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="1101.3" y="550"/><mxPoint x="1101.3" y="385"/></Array></mxGeometry></mxCell>
<object label="5" tooltip="5. App tier VMs → Cloud SQL for PostgreSQL" id="b-8"><mxCell style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#000000;strokeColor=#ffffff;fontColor=#ffffff;fontStyle=1;fontSize=12;" vertex="1" parent="1"><mxGeometry x="1016" y="539" width="22" height="22" as="geometry"/></mxCell></object>
<mxCell id="e-9" value="cache" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#232F3E;strokeWidth=2;labelBackgroundColor=#ffffff;fontSize=11;fontColor=#232F3E;endArrow=open;endFill=0;endSize=8;dashed=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-app_a" target="n-redis"><mxGeometry x="0" relative="1" as="geometry"><Array as="points"><mxPoint x="745" y="550"/><mxPoint x="745" y="672"/><mxPoint x="1177.5" y="672"/><mxPoint x="1177.5" y="553"/></Array></mxGeometry></mxCell>
<mxCell id="e-10" value="CMEK" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#232F3E;strokeWidth=2;labelBackgroundColor=#ffffff;fontSize=11;fontColor=#232F3E;endArrow=open;endFill=0;endSize=8;dashed=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-sql" target="n-kms"><mxGeometry x="0.2" relative="1" as="geometry"><Array as="points"><mxPoint x="1231.5" y="301"/></Array></mxGeometry></mxCell>
<mxCell id="e-11" value="logs" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#232F3E;strokeWidth=2;labelBackgroundColor=#ffffff;fontSize=11;fontColor=#232F3E;endArrow=open;endFill=0;endSize=8;dashed=1;exitX=0.5;exitY=1;exitDx=0;exitDy=48;exitPerimeter=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="1" source="n-app_b" target="n-log"><mxGeometry x="-0.3" relative="1" as="geometry"><Array as="points"><mxPoint x="971" y="637"/></Array></mxGeometry></mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
