Billing moves from the monolith to its own service
Billing moves out of a monolith. The old path is deprecated (dotted, gray), the new service and its connections are planned (dashed, violet), the gateway, the accounts database and the payment call are critical (strong red). Each role also carries a badge or a line pattern, so it reads without color; the legend names only the roles used, and the description and the table name every role. Illustrative values.
Billing moves from the monolith to its own service
examples/billing-migration.json{
"schemaVersion": 1,
"type": "architecture",
"title": "Billing moves from the monolith to its own service",
"source": "Architecture review, migration plan",
"width": 1400,
"height": 420,
"architecture": {
"boundaries": [
{
"id": "platform",
"label": "Platform"
}
],
"components": [
{
"id": "customer",
"label": "Customer",
"kind": "person"
},
{
"id": "portal",
"label": "Customer portal",
"kind": "frontend"
},
{
"id": "gateway",
"label": "API gateway",
"kind": "security",
"in": "platform",
"role": "critical"
},
{
"id": "monolith",
"label": "Monolith",
"sublabel": "billing module",
"in": "platform",
"role": "deprecated"
},
{
"id": "billing",
"label": "Billing service",
"in": "platform",
"role": "planned"
},
{
"id": "events",
"label": "Invoice events",
"kind": "queue",
"in": "platform",
"role": "planned"
},
{
"id": "db",
"label": "Accounts",
"sublabel": "Postgres",
"kind": "database",
"in": "platform",
"role": "critical"
},
{
"id": "psp",
"label": "Payment provider",
"kind": "external"
}
],
"connections": [
{
"from": "customer",
"to": "portal",
"label": "pays"
},
{
"from": "portal",
"to": "gateway",
"label": "calls",
"technology": "HTTPS"
},
{
"from": "gateway",
"to": "monolith",
"label": "routes today",
"role": "deprecated"
},
{
"from": "gateway",
"to": "billing",
"label": "routes after",
"role": "planned"
},
{
"from": "monolith",
"to": "db",
"technology": "SQL",
"role": "deprecated"
},
{
"from": "billing",
"to": "db",
"technology": "SQL",
"role": "planned"
},
{
"from": "billing",
"to": "events",
"label": "publishes",
"role": "planned"
},
{
"from": "billing",
"to": "psp",
"label": "charges",
"technology": "HTTPS",
"role": "critical"
}
]
}
}Focus
Source: Architecture review, migration plan
Show chart data
| Component | Kind | Boundary | Role | Connects to |
|---|---|---|---|---|
| Customer | person | Customer portal (pays) | ||
| Customer portal | frontend | API gateway (calls, via HTTPS) | ||
| API gateway | security | Platform | critical | Monolith (routes today, deprecated), Billing service (routes after, planned) |
| Monolith | service | Platform | deprecated | Accounts (via SQL, deprecated) |
| Billing service | service | Platform | planned | Accounts (via SQL, planned), Invoice events (publishes, planned), Payment provider (charges, via HTTPS, critical) |
| Accounts | database | Platform | critical | |
| Invoice events | queue | Platform | planned | |
| Payment provider | external system |