1
0
Fork 0
mirror of synced 2024-07-06 07:00:56 +12:00
appwrite/docs/specs/overview.drawio.svg
2021-02-22 13:11:43 +02:00

755 lines
64 KiB
XML

<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1108px" height="839px" viewBox="-0.5 -0.5 1108 839" content="&lt;mxfile host=&quot;612c770d-d23c-4897-ac0d-72478d1c5aef&quot; modified=&quot;2021-02-22T07:17:54.650Z&quot; agent=&quot;5.0 (Macintosh; Intel Mac OS X 11_2_1) AppleWebKit/537.36 (KHTML, like Gecko) Code/1.53.2 Chrome/87.0.4280.141 Electron/11.2.1 Safari/537.36&quot; etag=&quot;sAOb0L0gpVpMeEycjwCe&quot; version=&quot;14.2.4&quot; type=&quot;embed&quot;&gt;&lt;diagram id=&quot;WOshqXSVd2VkRfcggtcB&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;">
<defs/>
<g>
<path d="M 77 40 L 77 80 L 397 80 L 397 113.63" fill="none" stroke="#23445d" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 397 118.88 L 393.5 111.88 L 397 113.63 L 400.5 111.88 Z" fill="#23445d" stroke="#23445d" stroke-miterlimit="10" pointer-events="all"/>
<rect x="17" y="0" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 20px; margin-left: 18px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Web
</div>
</div>
</div>
</foreignObject>
<text x="77" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Web
</text>
</switch>
</g>
<path d="M 237 40 L 237 80 L 397 80 L 397 113.63" fill="none" stroke="#23445d" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 397 118.88 L 393.5 111.88 L 397 113.63 L 400.5 111.88 Z" fill="#23445d" stroke="#23445d" stroke-miterlimit="10" pointer-events="all"/>
<rect x="177" y="0" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 20px; margin-left: 178px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Flutter
</div>
</div>
</div>
</foreignObject>
<text x="237" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Flutter
</text>
</switch>
</g>
<path d="M 397 40 L 397 113.63" fill="none" stroke="#23445d" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 397 118.88 L 393.5 111.88 L 397 113.63 L 400.5 111.88 Z" fill="#23445d" stroke="#23445d" stroke-miterlimit="10" pointer-events="all"/>
<rect x="337" y="0" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 20px; margin-left: 338px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
iOS
</div>
</div>
</div>
</foreignObject>
<text x="397" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
iOS
</text>
</switch>
</g>
<path d="M 557 40 L 557 80 L 397 80 L 397 113.63" fill="none" stroke="#23445d" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 397 118.88 L 393.5 111.88 L 397 113.63 L 400.5 111.88 Z" fill="#23445d" stroke="#23445d" stroke-miterlimit="10" pointer-events="all"/>
<rect x="497" y="0" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 20px; margin-left: 498px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Android
</div>
</div>
</div>
</foreignObject>
<text x="557" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Android
</text>
</switch>
</g>
<path d="M 717 40 L 717 80 L 397 80 L 397 113.63" fill="none" stroke="#23445d" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 397 118.88 L 393.5 111.88 L 397 113.63 L 400.5 111.88 Z" fill="#23445d" stroke="#23445d" stroke-miterlimit="10" pointer-events="all"/>
<rect x="657" y="0" width="120" height="40" fill="#bac8d3" stroke="#23445d" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 20px; margin-left: 658px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Servers
</div>
</div>
</div>
</foreignObject>
<text x="717" y="24" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Servers
</text>
</switch>
</g>
<path d="M 397 160 L 397 193.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 397 198.88 L 393.5 191.88 L 397 193.63 L 400.5 191.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<rect x="337" y="120" width="120" height="40" fill="#ffffff" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 140px; margin-left: 338px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Appwrite
</div>
</div>
</div>
</foreignObject>
<text x="397" y="144" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Appwrite
</text>
</switch>
</g>
<path d="M 457 220 L 500.63 220" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 505.88 220 L 498.88 223.5 L 500.63 220 L 498.88 216.5 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 397 240 L 397 275 L 437 275 L 437 303.63" fill="none" stroke="#10739e" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 437 308.88 L 433.5 301.88 L 437 303.63 L 440.5 301.88 Z" fill="#10739e" stroke="#10739e" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 397 240 L 397 275 L 97 275 L 97 303.63" fill="none" stroke="#10739e" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 97 308.88 L 93.5 301.88 L 97 303.63 L 100.5 301.88 Z" fill="#10739e" stroke="#10739e" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 397 240 L 397 275 L 597 275 L 597 303.63" fill="none" stroke="#006eaf" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 597 308.88 L 593.5 301.88 L 597 303.63 L 600.5 301.88 Z" fill="#006eaf" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/>
<rect x="337" y="200" width="120" height="40" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 220px; margin-left: 338px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Loadbalancer
</div>
</div>
</div>
</foreignObject>
<text x="397" y="224" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Loadbalancer
</text>
</switch>
</g>
<rect x="37" y="310" width="120" height="40" fill="#ffffff" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 330px; margin-left: 38px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Console
</div>
</div>
</div>
</foreignObject>
<text x="97" y="334" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Console
</text>
</switch>
</g>
<path d="M 497 330 L 897 330 L 897 250 L 960.63 250" fill="none" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 965.88 250 L 958.88 253.5 L 960.63 250 L 958.88 246.5 Z" fill="#d4d4d4" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 497 330 L 897 330 L 897 300 L 960.63 300" fill="none" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 965.88 300 L 958.88 303.5 L 960.63 300 L 958.88 296.5 Z" fill="#d4d4d4" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 497 330 L 897 330 L 897 400 L 960.63 400" fill="none" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 965.88 400 L 958.88 403.5 L 960.63 400 L 958.88 396.5 Z" fill="#d4d4d4" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 497 330 L 897 330 L 897 450 L 960.63 450" fill="none" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 965.88 450 L 958.88 453.5 L 960.63 450 L 958.88 446.5 Z" fill="#d4d4d4" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 497 330 L 897 330 L 897 500 L 960.63 500" fill="none" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 965.88 500 L 958.88 503.5 L 960.63 500 L 958.88 496.5 Z" fill="#d4d4d4" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 497 330 L 897 330 L 897 550 L 960.63 550" fill="none" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 965.88 550 L 958.88 553.5 L 960.63 550 L 958.88 546.5 Z" fill="#d4d4d4" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 497 330 L 897 330 L 897 600 L 960.63 600" fill="none" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 965.88 600 L 958.88 603.5 L 960.63 600 L 958.88 596.5 Z" fill="#d4d4d4" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 377 330 L 207 330 L 207 493.63" fill="none" stroke="#56517e" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 207 498.88 L 203.5 491.88 L 207 493.63 L 210.5 491.88 Z" fill="#56517e" stroke="#56517e" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 437 350 L 437 380 L 597 380 L 597 403.63" fill="none" stroke="#2d7600" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 597 408.88 L 593.5 401.88 L 597 403.63 L 600.5 401.88 Z" fill="#2d7600" stroke="#2d7600" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 497 330 L 897 330 L 897 350 L 960.63 350" fill="none" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 965.88 350 L 958.88 353.5 L 960.63 350 L 958.88 346.5 Z" fill="#d4d4d4" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="all"/>
<rect x="377" y="310" width="120" height="40" fill="#ffffff" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 330px; margin-left: 378px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
REST API
</div>
</div>
</div>
</foreignObject>
<text x="437" y="334" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
REST API
</text>
</switch>
</g>
<rect x="607" y="500" width="120" height="40" fill="#f8cecc" stroke="#b85450" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 520px; margin-left: 608px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Pub/Sub (Redis)
</div>
</div>
</div>
</foreignObject>
<text x="667" y="524" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Pub/Sub (Redis)
</text>
</switch>
</g>
<path d="M 527 540 L 527 560 L 527 550 L 527 563.63" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 527 568.88 L 523.5 561.88 L 527 563.63 L 530.5 561.88 Z" fill="#d6b656" stroke="#d6b656" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 527 500 L 527 465 L 597 465 L 597 436.37" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 597 431.12 L 600.5 438.12 L 597 436.37 L 593.5 438.12 Z" fill="#82b366" stroke="#82b366" stroke-miterlimit="10" pointer-events="all"/>
<rect x="467" y="500" width="120" height="40" fill="#f8cecc" stroke="#b85450" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 520px; margin-left: 468px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Cache (Redis)
</div>
</div>
</div>
</foreignObject>
<text x="527" y="524" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Cache (Redis)
</text>
</switch>
</g>
<rect x="467" y="570" width="120" height="40" fill="#fff2cc" stroke="#d6b656" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 590px; margin-left: 468px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Database (MariaDB)
</div>
</div>
</div>
</foreignObject>
<text x="527" y="594" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Database (MariaDB)
</text>
</switch>
</g>
<rect x="967" y="230" width="120" height="40" fill="#f5f5f5" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 250px; margin-left: 968px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #333333; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Users
</div>
</div>
</div>
</foreignObject>
<text x="1027" y="254" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">
Users
</text>
</switch>
</g>
<rect x="967" y="280" width="120" height="40" fill="#f5f5f5" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 300px; margin-left: 968px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #333333; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Account
</div>
</div>
</div>
</foreignObject>
<text x="1027" y="304" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">
Account
</text>
</switch>
</g>
<rect x="967" y="330" width="120" height="40" fill="#f5f5f5" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 350px; margin-left: 968px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #333333; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Teams
</div>
</div>
</div>
</foreignObject>
<text x="1027" y="354" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">
Teams
</text>
</switch>
</g>
<rect x="967" y="380" width="120" height="40" fill="#f5f5f5" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 400px; margin-left: 968px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #333333; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Database
</div>
</div>
</div>
</foreignObject>
<text x="1027" y="404" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">
Database
</text>
</switch>
</g>
<rect x="967" y="430" width="120" height="40" fill="#f5f5f5" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 450px; margin-left: 968px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #333333; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Storage
</div>
</div>
</div>
</foreignObject>
<text x="1027" y="454" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">
Storage
</text>
</switch>
</g>
<rect x="967" y="480" width="120" height="40" fill="#f5f5f5" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 500px; margin-left: 968px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #333333; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Localization
</div>
</div>
</div>
</foreignObject>
<text x="1027" y="504" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">
Localization
</text>
</switch>
</g>
<rect x="967" y="530" width="120" height="40" fill="#f5f5f5" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 550px; margin-left: 968px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #333333; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Avatars
</div>
</div>
</div>
</foreignObject>
<text x="1027" y="554" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">
Avatars
</text>
</switch>
</g>
<rect x="967" y="580" width="120" height="40" fill="#f5f5f5" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 600px; margin-left: 968px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #333333; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Health
</div>
</div>
</div>
</foreignObject>
<text x="1027" y="604" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">
Health
</text>
</switch>
</g>
<rect x="507" y="200" width="120" height="40" fill="#f5f5f5" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 220px; margin-left: 508px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #333333; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
SSL Gateway
</div>
</div>
</div>
</foreignObject>
<text x="567" y="224" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">
SSL Gateway
</text>
</switch>
</g>
<path d="M 437 720 L 437 820 L 297 820 L 297 590 L 460.63 590" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 465.88 590 L 458.88 593.5 L 460.63 590 L 458.88 586.5 Z" fill="#d6b656" stroke="#d6b656" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 437 680 L 437 640 L 667 640 L 667 546.37" fill="none" stroke="#0e8088" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 667 541.12 L 670.5 548.12 L 667 546.37 L 663.5 548.12 Z" fill="#0e8088" stroke="#0e8088" stroke-miterlimit="10" pointer-events="all"/>
<rect x="397" y="680" width="80" height="40" fill="#b0e3e6" stroke="#0e8088" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 700px; margin-left: 398px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Deletes
</div>
</div>
</div>
</foreignObject>
<text x="437" y="704" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Deletes
</text>
</switch>
</g>
<path d="M 597 430 L 597 465 L 527 465 L 527 493.63" fill="none" stroke="#2d7600" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 527 498.88 L 523.5 491.88 L 527 493.63 L 530.5 491.88 Z" fill="#2d7600" stroke="#2d7600" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 597 430 L 597 465 L 667 465 L 667 493.63" fill="none" stroke="#2d7600" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 667 498.88 L 663.5 491.88 L 667 493.63 L 670.5 491.88 Z" fill="#2d7600" stroke="#2d7600" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 597 430 L 597 465 L 807 465 L 807 493.63" fill="none" stroke="#2d7600" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 807 498.88 L 803.5 491.88 L 807 493.63 L 810.5 491.88 Z" fill="#2d7600" stroke="#2d7600" stroke-miterlimit="10" pointer-events="all"/>
<rect x="437" y="410" width="320" height="20" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 318px; height: 1px; padding-top: 420px; margin-left: 438px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Security Layer
</div>
</div>
</div>
</foreignObject>
<text x="597" y="424" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Security Layer
</text>
</switch>
</g>
<path d="M 347 720 L 347 740 L 287 740 L 287 580 L 347 580 L 347 546.37" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 347 541.12 L 350.5 548.12 L 347 546.37 L 343.5 548.12 Z" fill="#9673a6" stroke="#9673a6" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 347 720 L 347 740 L 207 740 L 207 546.37" fill="none" stroke="#9673a6" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 207 541.12 L 210.5 548.12 L 207 546.37 L 203.5 548.12 Z" fill="#9673a6" stroke="#9673a6" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 347 680 L 347 640 L 667 640 L 667 546.37" fill="none" stroke="#0e8088" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 667 541.12 L 670.5 548.12 L 667 546.37 L 663.5 548.12 Z" fill="#0e8088" stroke="#0e8088" stroke-miterlimit="10" pointer-events="all"/>
<rect x="307" y="680" width="80" height="40" fill="#b0e3e6" stroke="#0e8088" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 700px; margin-left: 308px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Usage
</div>
</div>
</div>
</foreignObject>
<text x="347" y="704" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Usage
</text>
</switch>
</g>
<path d="M 527 720 L 527 820 L 297 820 L 297 590 L 460.63 590" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 465.88 590 L 458.88 593.5 L 460.63 590 L 458.88 586.5 Z" fill="#d6b656" stroke="#d6b656" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 527 680 L 527 640 L 667 640 L 667 546.37" fill="none" stroke="#0e8088" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 667 541.12 L 670.5 548.12 L 667 546.37 L 663.5 548.12 Z" fill="#0e8088" stroke="#0e8088" stroke-miterlimit="10" pointer-events="all"/>
<rect x="487" y="680" width="80" height="40" fill="#b0e3e6" stroke="#0e8088" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 700px; margin-left: 488px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Audits
</div>
</div>
</div>
</foreignObject>
<text x="527" y="704" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Audits
</text>
</switch>
</g>
<path d="M 617 720 L 617 740 L 617 720 L 617 733.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 617 738.88 L 613.5 731.88 L 617 733.63 L 620.5 731.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 617 680 L 617 640 L 667 640 L 667 546.37" fill="none" stroke="#0e8088" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 667 541.12 L 670.5 548.12 L 667 546.37 L 663.5 548.12 Z" fill="#0e8088" stroke="#0e8088" stroke-miterlimit="10" pointer-events="all"/>
<rect x="577" y="680" width="80" height="40" fill="#b0e3e6" stroke="#0e8088" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 700px; margin-left: 578px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Mails
</div>
</div>
</div>
</foreignObject>
<text x="617" y="704" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Mails
</text>
</switch>
</g>
<rect x="577" y="740" width="80" height="40" fill="#ffffff" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 760px; margin-left: 578px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
SMTP
</div>
</div>
</div>
</foreignObject>
<text x="617" y="764" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
SMTP
</text>
</switch>
</g>
<path d="M 707 720 L 707 820 L 297 820 L 297 590 L 460.63 590" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 465.88 590 L 458.88 593.5 L 460.63 590 L 458.88 586.5 Z" fill="#d6b656" stroke="#d6b656" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 707 680 L 707 640 L 667 640 L 667 546.37" fill="none" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 667 541.12 L 670.5 548.12 L 667 546.37 L 663.5 548.12 Z" fill="#d4d4d4" stroke="#d4d4d4" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 707 680 L 707 640 L 667 640 L 667 546.37" fill="none" stroke="#0e8088" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 667 541.12 L 670.5 548.12 L 667 546.37 L 663.5 548.12 Z" fill="#0e8088" stroke="#0e8088" stroke-miterlimit="10" pointer-events="all"/>
<rect x="667" y="680" width="80" height="40" fill="#b0e3e6" stroke="#0e8088" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 700px; margin-left: 668px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Tasks
</div>
</div>
</div>
</foreignObject>
<text x="707" y="704" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Tasks
</text>
</switch>
</g>
<path d="M 797 720 L 797 820 L 297 820 L 297 590 L 460.63 590" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 465.88 590 L 458.88 593.5 L 460.63 590 L 458.88 586.5 Z" fill="#d6b656" stroke="#d6b656" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 797 680 L 797 640 L 667 640 L 667 546.37" fill="none" stroke="#0e8088" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 667 541.12 L 670.5 548.12 L 667 546.37 L 663.5 548.12 Z" fill="#0e8088" stroke="#0e8088" stroke-miterlimit="10" pointer-events="all"/>
<rect x="757" y="680" width="80" height="40" fill="#b0e3e6" stroke="#0e8088" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 700px; margin-left: 758px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Webhooks
</div>
</div>
</div>
</foreignObject>
<text x="797" y="704" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Webhooks
</text>
</switch>
</g>
<path d="M 887 720 L 887 740 L 887 720 L 887 733.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 887 738.88 L 883.5 731.88 L 887 733.63 L 890.5 731.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 887 720 L 887 820 L 297 820 L 297 590 L 460.63 590" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 465.88 590 L 458.88 593.5 L 460.63 590 L 458.88 586.5 Z" fill="#d6b656" stroke="#d6b656" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 887 680 L 887 640 L 667 640 L 667 546.37" fill="none" stroke="#0e8088" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 667 541.12 L 670.5 548.12 L 667 546.37 L 663.5 548.12 Z" fill="#0e8088" stroke="#0e8088" stroke-miterlimit="10" pointer-events="all"/>
<rect x="847" y="680" width="80" height="40" fill="#b0e3e6" stroke="#0e8088" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 700px; margin-left: 848px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Functions
</div>
</div>
</div>
</foreignObject>
<text x="887" y="704" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Functions
</text>
</switch>
</g>
<rect x="847" y="740" width="80" height="40" fill="#ffffff" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 760px; margin-left: 848px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Docker
</div>
</div>
</div>
</foreignObject>
<text x="887" y="764" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Docker
</text>
</switch>
</g>
<rect x="287" y="500" width="120" height="40" fill="#e1d5e7" stroke="#9673a6" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 520px; margin-left: 288px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
StatsD (Telegraf)
</div>
</div>
</div>
</foreignObject>
<text x="347" y="524" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
StatsD (Telegraf)
</text>
</switch>
</g>
<rect x="147" y="500" width="120" height="40" fill="#e1d5e7" stroke="#9673a6" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 520px; margin-left: 148px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
TimeSeries (InfluxDB)
</div>
</div>
</div>
</foreignObject>
<text x="207" y="524" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
TimeSeries (InfluxDB)
</text>
</switch>
</g>
<path d="M 977 720 L 977 740 L 977 720 L 977 733.63" fill="none" stroke="#000000" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 977 738.88 L 973.5 731.88 L 977 733.63 L 980.5 731.88 Z" fill="#000000" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 977 720 L 977 820 L 297 820 L 297 590 L 460.63 590" fill="none" stroke="#d6b656" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 465.88 590 L 458.88 593.5 L 460.63 590 L 458.88 586.5 Z" fill="#d6b656" stroke="#d6b656" stroke-miterlimit="10" pointer-events="all"/>
<path d="M 977 680 L 977 640 L 667 640 L 667 546.37" fill="none" stroke="#0e8088" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 667 541.12 L 670.5 548.12 L 667 546.37 L 663.5 548.12 Z" fill="#0e8088" stroke="#0e8088" stroke-miterlimit="10" pointer-events="all"/>
<rect x="937" y="680" width="80" height="40" fill="#b0e3e6" stroke="#0e8088" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 700px; margin-left: 938px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Certs
</div>
</div>
</div>
</foreignObject>
<text x="977" y="704" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Certs
</text>
</switch>
</g>
<path d="M 1067 680 L 1067 640 L 667 640 L 667 546.37" fill="none" stroke="#0e8088" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 667 541.12 L 670.5 548.12 L 667 546.37 L 663.5 548.12 Z" fill="#0e8088" stroke="#0e8088" stroke-miterlimit="10" pointer-events="all"/>
<rect x="1027" y="680" width="80" height="40" fill="#b0e3e6" stroke="#0e8088" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 700px; margin-left: 1028px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Scheduler
</div>
</div>
</div>
</foreignObject>
<text x="1067" y="704" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Scheduler
</text>
</switch>
</g>
<path d="M 977 780 L 977 830 L 7 830 L 7 220 L 330.63 220" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 335.88 220 L 328.88 223.5 L 330.63 220 L 328.88 216.5 Z" fill="#6c8ebf" stroke="#6c8ebf" stroke-miterlimit="10" pointer-events="all"/>
<rect x="937" y="740" width="80" height="40" fill="#ffffff" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 760px; margin-left: 938px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
Letsencrypt
</div>
</div>
</div>
</foreignObject>
<text x="977" y="764" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
Letsencrypt
</text>
</switch>
</g>
<rect x="747" y="500" width="120" height="40" fill="#ffe6cc" stroke="#d79b00" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 520px; margin-left: 748px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
AntiVirus (ClamAV)
</div>
</div>
</div>
</foreignObject>
<text x="807" y="524" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
AntiVirus (ClamAV)
</text>
</switch>
</g>
<path d="M 597 350 L 597 403.63" fill="none" stroke="#2d7600" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 597 408.88 L 593.5 401.88 L 597 403.63 L 600.5 401.88 Z" fill="#2d7600" stroke="#2d7600" stroke-miterlimit="10" pointer-events="all"/>
<rect x="537" y="310" width="120" height="40" fill="#ffffff" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 330px; margin-left: 538px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: #000000; line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">
REALTIME API
</div>
</div>
</div>
</foreignObject>
<text x="597" y="334" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">
REALTIME API
</text>
</switch>
</g>
</g>
<switch>
<g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>
<a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank">
<text text-anchor="middle" font-size="10px" x="50%" y="100%">
Viewer does not support full SVG 1.1
</text>
</a>
</switch>
</svg>