← All materials

Technical addendum · v1.0 · companion to the Proposal document

Backend Architecture & Cloud Cost Plan

Sizing LCB ONE's backend for full-load operation — 15,000–20,000 trucks per day across Laem Chabang Port — and the recurring cloud/server cost, plus the other costs that scale alongside it.

Companion to Proposal document — §5 System architecture Date 18 September 2026
01

Executive summary

This addendum sizes LCB ONE's backend (§5 of the main proposal) for full-load operation — 15,000–20,000 trucks/day across Laem Chabang's 18 terminals — and turns that into a concrete infrastructure bill. The headline finding: at this volume, LCB ONE is a mid-sized transactional and real-time-tracking system, not a hyperscale one. Peak sustained throughput lands around 90–150 events/second and roughly 1,300–1,500 trucks tracked live at once — comfortably inside what a right-sized managed-Kubernetes stack handles without exotic engineering.

Full-load cloud infrastructure runs an estimated ฿306,000–720,000 per month (indicative), or under ฿1.2 per truck processed. The larger, less controllable cost line is not cloud compute — it's payment-gateway transaction fees and SMS fallback messaging, both usage-based, negotiated outside engineering, and covered in §6.

Peak throughput
~90–150 events/sec
Concurrent tracked trucks
~1,300–1,500
Cloud infra run-rate
฿306k–720k/mo
Infra cost per truck
< ฿1.2
02

Sizing the load

"15,000–20,000 trucks/day" is a volume figure, not a load figure. To size infrastructure honestly, it has to be translated into events per second, concurrent connections, and storage growth — using the reservation lifecycle and location-ping design already defined in the main proposal (§5.1–§5.3).

2.1 Events per truck, at full load (20,000/day)

Event sourcePer truckDaily total @20,000/day
Slot-browsing reads360,000
Reservation create120,000
Eligibility check120,000
Payment webhook120,000
Driver confirmation120,000
LocationPing (EN_ROUTE, ~40 min trip @ 30–60s)~501,000,000
Gate check-in / check-out240,000
Notifications (push/LINE/SMS)480,000
Total~63~1,260,000

~1.26M events/day averages to ~15 events/sec around the clock. Real traffic isn't flat: assuming the two gate-rush windows the main proposal's root-cause analysis already identifies (§3) carry roughly 35% of daily volume in about 4 hours combined, sustained peak throughput lands around 90–150 events/sec. Concurrently, at a peak arrival rate of ~2,000 trucks/hour and a ~40-minute average EN_ROUTE window, ~1,300–1,500 trucks are being GPS-tracked and holding a live connection at the same moment — the number that actually sizes the real-time layer, not the daily total.

2.2 Storage growth

DataDailyMonthlyRetention plan
LocationPing rows~200 MB~6 GB90 days hot in the operational DB, then archive to object storage
Reservation / Container / GateEvent rows~60 MB~1.8 GBKept indefinitely — trivial volume for a relational DB

Even after a full year at full load, the hot operational dataset stays well under 100 GB with a 90-day GPS-ping window — comfortable headroom for a mid-tier managed Postgres instance for several years of growth before resizing.

Design risk: the slot-release stampede If tomorrow's slots for every terminal open at one fixed clock time, demand concentrates into a burst far above the ~150 events/sec sustained-peak figure above — the same failure mode as a ticket-sale site at on-sale time. Autoscaling reacts too slowly for this; the fix is a staggered release schedule per terminal/carrier tier and hard rate-limiting/queueing at the API gateway, not more compute.
03

Reference architecture

Mapping the four layers already defined in the main proposal (§5) onto concrete, managed cloud services, right-sized to the throughput in §2. AWS service names are used as the primary reference; GCP/Azure equivalents are noted in parentheses since the final vendor is a data-residency decision (§9), not just a technical one.

Layer 1 · Edge & channels

CDN for the driver app, LSP portal, and control-tower frontend (CloudFront / Cloud CDN / Azure Front Door); WAF + DDoS protection and a managed API Gateway/ALB in front of every service, with rate limiting sized against the stampede risk in §2.3.

Layer 2 · Core services (compute)

Managed Kubernetes (EKS / GKE / AKS), autoscaled 4–12 worker nodes — genuinely modest for ~150 events/sec peak. Runs the microservices from §5 of the main proposal: slot engine, reservation service, payment & penalty, reliability scoring, notification hub, ETA engine, and ~10 lightweight terminal adapters.

Layer 3 · Data & messaging

Managed PostgreSQL, Multi-AZ + 1 read replica (Aurora / Cloud SQL) — the replica keeps control-tower/analytics reads off the booking write path. Redis (ElastiCache / Memorystore) for the distributed slot-locks described in §5. A managed message broker (MSK / Pub/Sub / Amazon MQ) sized for tens of events/sec average — genuinely small by Kafka standards. A WebSocket/real-time layer (API Gateway WebSocket, or Socket.io on a small dedicated pool) sized for ~1,500 concurrent connections at peak.

Layer 4 · Platform & security

OAuth2/OIDC identity gateway, secrets management (Secrets Manager/KMS), observability (metrics, logs, tracing), CI/CD with a container registry, and automated backups with cross-AZ (and, at full load, cross-region pilot-light) disaster recovery.

Right-sized, not hyperscale 20,000 trucks/day is a moderate transactional load — about 1.26M events/day. Provisioning a cluster or a Kafka topology sized for tens of millions of daily events, because "trucks" sounds like a big number, would be over-engineering that inflates the bill in §5 without buying real headroom.
04

Capacity & scaling plan

Linear-scaled from the full-load baseline in §2, against the same four roadmap phases from the main proposal (§7):

PhaseTrucks/dayPeak events/secConcurrent tracked trucksScaling action
1 — MVP1,000–2,000~7–11~100–110Single-AZ, minimum viable HA; serverless-leaning where possible
2 — Smooth demand5,000–8,000~29–49~420–490Enable Multi-AZ DB; add Redis HA pair; stand up the message broker
3 — See the port12,000–16,000~63–105~910–1,050Add a DB read replica for control-tower reads; raise the node-pool autoscaling ceiling
4 — Off the road (full load)15,000–20,000~90–150~1,300–1,500Enable pilot-light DR; lock in reserved-instance commitments against confirmed steady-state
05

Monthly cloud cost model

Indicative planning-level figures for the full-load production environment (Phase 4, §4), in a mid-tier public-cloud Southeast Asia region. Low = reserved/committed pricing, lean sizing; High = on-demand headroom, premium support. See §10 for what these figures are — and aren't.

ComponentLow (฿/mo)High (฿/mo)
Kubernetes compute (control plane + autoscaled nodes)79,200151,200
Managed PostgreSQL (Multi-AZ + 1 read replica)39,60072,000
Redis (locks, cache, pub/sub)12,60023,400
Message broker / event streaming25,20057,600
Real-time layer (~1,500 concurrent connections)5,40014,400
Object storage & backups5,40014,400
CDN + WAF + DDoS protection9,00021,600
Load balancing & networking10,80021,600
Observability (metrics/logs/tracing)14,40043,200
Identity & access management5,40018,000
Security tooling (secrets, KMS, threat detection)5,40012,600
CI/CD & container registry3,60010,800
Cloud provider support plan9,00032,400
Production subtotal225,000493,200
Non-production (staging/UAT/DR-test, ~30% of prod)68,400147,600
Disaster-recovery standby (pilot-light, optional at Phase 4)18,00064,800
Total cloud infrastructure฿311,400฿705,600
How these figures were built Public cloud providers typically publish list pricing in US dollars; the Baht figures above are converted at an indicative ~36 Baht per US dollar planning rate and rounded for readability. Reverify the live exchange rate and current list pricing at budgeting time — see §10.
06

Other costs to budget

The cloud infrastructure bill in §5 is not the whole picture. Two more categories scale with truck volume or are simply necessary to run the platform responsibly.

6.1 Usage-based third-party services

ServiceIndicative monthly cost @20,000/dayNote
LINE Messaging API (driver notifications)฿10,000–40,000Depends on plan tier and message mix; needs a direct quote from LINE Business Manager
SMS fallback gateway฿70,000–150,000If used broadly; keep this under ~10% of notifications by defaulting to LINE (§optimization)
Maps/routing API (ETA engine)~฿0 self-hosted, or ~฿72,000–126,000 commercialA self-hosted routing engine (OSRM/GraphHopper) on the port's static road network avoids per-call fees entirely — see §optimization
Payment gateway / PromptPay merchant feesIllustratively ฿0.3M–1M+Scales directly with port-fee transaction volume and the negotiated per-transaction rate — a finance/bank negotiation, not an engineering choice. See warning below.
The largest, least-controllable line item At full load, payment-gateway fees can plausibly exceed the entire cloud infrastructure bill in §5, depending on the fee-per-transaction structure negotiated with the acquiring bank/PSP for port-fee QR/PromptPay payments (§5 & §6.3 of the main proposal). This needs direct scoping with the Port Authority's finance team and the payment activation work in Roadmap Phase 2 — it should not be left as an unstated assumption in any budget built from this page.

6.2 Non-infrastructure operational costs

  • Platform engineering / SRE run-cost — the people who own uptime, on-call, and capacity planning; not a cloud line item, but required to run any of the above.
  • Commercial APM/observability licensing — if a premium tool (Datadog/New Relic) is chosen over self-hosted Prometheus/Grafana, add roughly ฿540–900/host/month on top of §5's observability line.
  • Annual security penetration test & PDPA compliance support — a one-time-per-year professional-services cost, material given the GPS-tracking and payment data in scope (§9).
  • Quarterly DR test exercises — validating the pilot-light standby in §5 actually fails over, not just that it's provisioned.
  • Training & change management — for Port Authority control-tower staff, terminal operations console users, and LSP/trucking onboarding.
  • Support/maintenance contract with the implementing vendor/integrator, beyond the initial build.
  • Contingency buffer — recommend 15–20% on top of the §5 total for any board-level budget submission.
07

Cost optimization levers

  • Reserved instances / savings plans for baseline compute and the database — typically 30–50% off on-demand pricing once steady-state is confirmed at Phase 3–4.
  • Spot instances for stateless, interruption-tolerant workers — GPS-ping ingestion and notification fan-out are both good fits.
  • Autoscale burst node pools to near-zero outside the gate-rush windows identified in §2.1 — the load is not flat, and the infrastructure shouldn't be provisioned as if it were.
  • Self-host the routing engine for the ETA engine (§5.3 of the main proposal) instead of a pay-per-call maps API — the port's road network is a small, static graph, well suited to OSRM/GraphHopper. This alone avoids the ฿72,000–126,000/month line in §6.1.
  • LINE-first notification strategy over SMS — consistent with the driver app's LINE Mini App channel already proposed (see the Driver app, three platforms page) — keeps the far more expensive SMS line in §6.1 small.
  • Archive, don't hoard, GPS pings — 90 days hot in the operational DB (§2.2), then move to cheap object storage. Keeps the primary database small and fast instead of accumulating an unbounded LocationPing table.
  • Serverless-first for Phases 1–2 (Aurora Serverless v2, managed Fargate, serverless message-broker tiers) so Phase 1–2 doesn't pay for full HA capacity before the load in §4 justifies it — migrate to the provisioned sizing in §5 as Phase 3–4 is reached.
08

Phased cost ramp

Cloud infrastructure cost tracks the roadmap in §7 of the main proposal, not a single full-load number from day one — applying the optimization levers in §7 above most aggressively in the earlier phases:

PhaseTrucks/dayMonthly cloud infraApproach
1 — MVP1,000–2,000฿54,000–108,000One terminal, single-AZ, serverless-leaning
2 — Smooth demand5,000–8,000฿144,000–288,000Multi-terminal, Multi-AZ DB, payment activation
3 — See the port12,000–16,000฿234,000–504,000Most terminals, read replica, control tower live
4 — Off the road (full load)15,000–20,000฿306,000–720,000All terminals, full HA, pilot-light DR — the §5 figure
Read alongside This ramp assumes the same four phases and success metrics already defined in the main proposal's roadmap (§7) — it is a cost lens on that plan, not a separate schedule.
09

Data residency & compliance

LCB ONE handles personal data in scope of Thailand's PDPA — driver names and phone numbers, GPS location (§5.3 of the main proposal), and license-plate/vehicle data. Because the Port Authority is a state enterprise, the cloud vendor decision in §3 may not be purely technical: Thai government IT-governance policy (DGA guidelines) may call for GDCC (the government's own data center/cloud service) or an accredited private-cloud provider for some or all workloads, rather than a public hyperscaler by default.

If a public-cloud path is preferred with in-country data residency, an Asia Pacific (Bangkok) region is now a realistic option from major providers, alongside the long-standing Singapore region used for the cost figures above. Either way, this is a decision for the Port Authority's IT governance and legal teams to confirm early — it can change both the vendor and the §5 cost figures materially, and shouldn't be assumed by default.

Ties back to the main proposal's own risk note The main proposal (§9) already flags that GPS tracking touches driver consent and labor relations. A Data Protection Impact Assessment (DPIA) for the tracking feature is recommended before Phase 1, run alongside — not after — the infrastructure decisions on this page.
10

Assumptions & caveats

  • Figures in §5 and §8 are order-of-magnitude planning estimates built from public list-price patterns for a mid-tier public-cloud Southeast Asia region — not a vendor quotation. Actual pricing depends on region, negotiated enterprise discount, committed-use terms, and instance sizing confirmed by a real load test.
  • All figures are shown in Thai Baht. Source cloud list pricing is typically US-dollar-denominated internationally; the indicative ~36 Baht per US dollar planning rate used to convert it is a rounded assumption only — reverify the live exchange rate and current list pricing at the time a budget is actually submitted.
  • This page covers recurring run-rate cost only — one-time build/integration effort is scoped separately in the main proposal's roadmap (§7) and is not estimated here.
  • Recommend validating §5 against a formal cloud-provider TCO calculator and an actual load test before committing budget — the sizing in §2 is a design-time estimate, not a measured result.
  • Payment-gateway and SMS costs (§6.1) are pass-through/variable and require direct vendor negotiation — they are not controlled by the architecture choices in §3 and are flagged, not estimated with confidence, for exactly that reason.