cdn flows

This commit is contained in:
Nico Schottelius 2021-08-03 09:44:16 +02:00
parent 11e8ef03ae
commit 3f4565d002
2 changed files with 85 additions and 14 deletions

View File

@ -6,15 +6,16 @@ digraph G {
subgraph cluster_user {
label="Outside / in the Internet"
user [ label="User\n(internal/customer)" ]
client [ label="Web site User\n" ]
user [ label="User\n(internal/customer)" color=pink ]
client [ label="Web site User\n" color=blue ]
operator [ label="CDN Operator\n" color=green ]
}
subgraph cluster_origin {
label="Origin DC"
origin [ label="Origin Node\nServing example.com" ]
origin [ label="Origin Node\nServing example.com" ]
}
client->origin [ label="non-CDN access" style=dashed ]
client->origin [ label="non-CDN access" style=dashed color=blue ]
subgraph cluster_homedc {
label="HomeDC"
@ -25,9 +26,11 @@ digraph G {
subgraph cluster_kubernetes {
label="Kubernetes Workload"
api [ label="Tenant/OpsAPI" ]
api [ label="Tenant/OpsAPS" ]
ui [ label="User Interface\nPost MVP" ]
db [ label="Database" ]
promhome [ label="Prometheus" ]
grafana [ label="Grafana" ]
}
}
kubemaster->kubeworker [ label="Controls" ]
@ -39,18 +42,25 @@ digraph G {
servicenode [ label="Service Node" ]
edgenode [ label="Edge nodes" ]
delivery [ label="Delivery API" ]
prompop [ label="Prometheus" ]
}
delivery->servicenode [ label="Runs on" ]
user->ui [ label="A1. Create configuration" ]
user->api [ label="A1. Create configuration" style=dashed ]
ui->api [ label="A2. Create configuration" ]
api->db [ label="A3. Store data" ]
kubeworker->delivery [ label="A4. Trigger update" ]
delivery->edgenode [ label="A5. Reconfigure" ]
user->ui [ label="A1. Create configuration" color=pink ]
user->api [ label="A1. Create configuration" style=dashed color=pink ]
ui->api [ label="A2. Create configuration" color=pink ]
api->db [ label="A3. Store data" color=pink ]
kubeworker->delivery [ label="A4. Trigger update" color=pink ]
delivery->edgenode [ label="A5. Reconfigure" color=pink ]
client->edgenode [ label="B1. Request data for example.com" ]
edgenode->origin [ label="B2. Request data\n(If not cached)" ]
edgenode->client [ label="B3. Return data for example.com" weight=0.2 ]
client->edgenode [ label="B1. Request data for example.com" color=blue ]
edgenode->origin [ label="B2. Request data\n(If not cached)" color=blue]
edgenode->client [ label="B3. Return data for example.com" weight=0.2 color=blue ]
promhome->prompop [ label="C1. Pulls metrics" color=green ]
operator->grafana [ label="C2. View monitoring data" color=green ]
grafana->promhome [ label="C3. Gets data" color=green ]
prompop->{edgenode,servicenode} [ label="Monitors" ]
promhome->{api,db} [ label="Monitors" ]
}

61
cdn-maintenance.dot Normal file
View File

@ -0,0 +1,61 @@
digraph G {
node [ shape=box ]
rankdir=LR;
label="CDN maintenance"
subgraph cluster_outsideuser {
label="Customer/Users"
customer [ label="Customer" ]
users [ label="Users" ]
}
subgraph cluster_user {
label="Staff"
devops [ label="DevOps" ]
developer [ label="Developer" ]
networking [ label="Network Engineer" ]
support [ label="Support Staff" ]
}
{customer,users}->support [ color=red ]
subgraph cluster_origin {
label="Origin DC"
origin [ label="Origin Node\nServing example.com" ]
}
customer->origin [ color=red ]
subgraph cluster_homedc {
label="HomeDC"
kubemaster [ label="Kubernetes master nodes" ]
kubeworker [ label="Kubernetes worker nodes" ]
subgraph cluster_kubernetes {
label="Kubernetes Workload"
api [ label="Tenant/OpsAPS" ]
ui [ label="User Interface\nPost MVP" ]
db [ label="Database" ]
promhome [ label="Prometheus" ]
grafana [ label="Grafana" ]
}
}
developer->{kubemaster,kubeworker,api} [ color=green ]
devops->{kubemaster,kubeworker,api} [ color=blue ]
devops->{db,promhome,grafana} [ color=blue ]
support->grafana [ color=pink ]
subgraph cluster_pops {
label="PoP"
servicenode [ label="Service Node" ]
edgenode [ label="Edge nodes" ]
delivery [ label="Delivery API" ]
prompop [ label="Prometheus" ]
}
devops->{delivery, servicenode} [ color=blue ]
developer->{delivery, servicenode} [ color=green ]
devops->{edgenode,prompop} [ color=blue ]
}