Sizing hardware
Capacity planning
Before selecting hosting resources, select a ThingPark Enterprise sizing segment for your deployment (S up to XXL).
Use the next table to determine the number of base stations and devices, and the LoRaWAN® uplink/downlink traffic rate.
_ | Small (S) | Medium (M) | Large (L) | Extra-Large (XL) | Double-Extra-Large (XXL) |
---|---|---|---|---|---|
Base stations | Up to 10 | Up to 50 | Up to 100 | Up to 200 | Up to 1000 |
Devices | Up to 2 000 | Up to 10 000 | Up to 20 000 | Up to 50 000 | Up to 300 000 |
Average Traffic Rate (uplink + downlink) | 0.6 msg/sec | 3 msg/sec | 6 msg/sec | 15 msg/sec | 90 msg/sec |
Peak Traffic Rate (1) | 3 msg/sec | 15 msg/sec | 30 msg/sec | 60 msg/sec | 180 msg/sec |
(1) The peak load (uplink and downlink packets per second) cannot be sustained over more than one minute.
Compute requirements
Compute requirements are expressed in allocatable Cores CPUs and allocatable GiB RAM on Kubernetes worker nodes. Compute resources must be fairly distributed between 3 Availability Zones. We also provide the highest atomic (pod) CPU and RAM request that should be allocatable on each zones:
_ | Small (S) | Medium (M) | Large (L) | Extra-Large (XL) | Double-Extra-Large (XXL) |
---|---|---|---|---|---|
CPU (cores) | Under Study | 8 | 12 | 15 | Under Study |
RAM (GiB) | Under Study | 24 | 30 | 48 | Under Study |
Biggest pod requests | - 150m CPU / 1400Mi RAM - 350m CPU / 100Mi RAM | - 400m CPU / 4080Mi RAM - 500m CPU / 100Mi RAM | - 600m CPU / 10965Mi RAM - 700m CPU / 150Mi RAM |
It is recommended to set RAM resource requests/limits to all workloads on
the Kubernetes cluster. Several ThingPark workloads use reclamable memory
cache, this measure will avoid inactive_file
(i.e. # of bytes of file-backed
memory on inactive LRU list) reclaim under node MemoryPressure situations.
Too aggressive cache write-back can cause performance issues.
Storage
No resource provisioning is required, Thingpark Enterprise uses dynamic volume provisioning.
Service | Small (S) | Medium (M) | Large (L) | Extra Large (XL) | Double ExtraLarge (XXL) |
---|---|---|---|---|---|
mariadb-galera | 3 x 5Gi (1)(3) | 3 x 5Gi (1)(3) | 3 x 10Gi (1)(3) | 3 x 15Gi (1)(3) | 3 x 30Gi (1)(3) |
mongodb | 2 x 10Gi (1)(3) | 2 x 15Gi (1)(3) | 2 x 25Gi (1)(3) | 2 x 45Gi (1)(3) | 2 x 1000Gi (1)(3) |
kafka | 2 x 10Gi (1)(3) | 2 x 15Gi (1)(3) | 2 x 20Gi (1)(3) | 2 x 30Gi (1)(3) | 2 x 40Gi (1)(3) |
lrc | 2 x 5Gi (1)(3) | 2 x 5Gi (1)(3) | 2 x 5Gi (1)(3) | 2 x 10Gi (1)(3) | 2 x 15Gi (1)(3) |
zookeeper | 6 x 5Gi (1)(3) | 6 x 5Gi (1)(3) | 6 x 5Gi(1)(3) | 6 x 5Gi (1)(3) | 6 x 5Gi (1)(3) |
lrc-ftp | 2 x 10Gi (2)(3) | 2 x 10Gi (2)(3) | 2 x 10Gi (2)(3) | 2 x 10Gi (2)(3) | 2 x 10Gi (2)(3) |
(1) Azure Premium SSD LRS volumes provisioned
(2) Azure Standard SSD LRS volumes provisioned
(3) AWS gp3 volumes provisioned