reference:system-architecture:infrastructure
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| reference:system-architecture:infrastructure [2025/08/26 22:05] – [Infrastructure Layer] runarbe | reference:system-architecture:infrastructure [2025/08/26 22:10] (current) – runarbe | ||
|---|---|---|---|
| Line 6: | Line 6: | ||
| On top of that, there may be 1000s of users accessing the data retrieval and query interfaces in the API. The following hardware and networking infrastructure requirements are based on the above assumptions. | On top of that, there may be 1000s of users accessing the data retrieval and query interfaces in the API. The following hardware and networking infrastructure requirements are based on the above assumptions. | ||
| - | |||
| ===== 1. Technical requirements specification for database server ===== | ===== 1. Technical requirements specification for database server ===== | ||
| Line 45: | Line 44: | ||
| For a system accommodating 120 concurrent users and managing substantial datasets, a robust cloud server infrastructure is essential. Below are the recommended specifications based on the criteria provided: | For a system accommodating 120 concurrent users and managing substantial datasets, a robust cloud server infrastructure is essential. Below are the recommended specifications based on the criteria provided: | ||
| - | Processor | + | === Processor |
| * CPU Type and Frequency: Utilise Intel Xeon or AMD EPYC processors with a minimum base frequency of 2.5 GHz. | * CPU Type and Frequency: Utilise Intel Xeon or AMD EPYC processors with a minimum base frequency of 2.5 GHz. | ||
| * Number of CPU Cores: Opt for a configuration with 16 to 32 CPU cores to ensure responsiveness under load. | * Number of CPU Cores: Opt for a configuration with 16 to 32 CPU cores to ensure responsiveness under load. | ||
| - | Memory | + | === Memory |
| * Amount of RAM: A minimum of 64 GB RAM is advisable for efficient data handling and application performance. | * Amount of RAM: A minimum of 64 GB RAM is advisable for efficient data handling and application performance. | ||
| - | Storage | + | === Storage |
| * Type of Storage: Implement NVMe SSD storage for fast data retrieval and enhanced system performance. | * Type of Storage: Implement NVMe SSD storage for fast data retrieval and enhanced system performance. | ||
| Line 62: | Line 61: | ||
| * Partitioning: | * Partitioning: | ||
| - | System Configuration | + | === System Configuration |
| * Network Configuration: | * Network Configuration: | ||
| Line 68: | Line 67: | ||
| * Performance Monitoring: Implement continuous monitoring and scaling to adapt to workload variations. | * Performance Monitoring: Implement continuous monitoring and scaling to adapt to workload variations. | ||
| - | Example Cloud Server Types | + | === Example Cloud Server Types === |
| If the applications will be served in the cloud, these are examples of standard configurations offered by the leading cloud service providers. If the solutions are to be hosted on premise, equivalent hardware/ | If the applications will be served in the cloud, these are examples of standard configurations offered by the leading cloud service providers. If the solutions are to be hosted on premise, equivalent hardware/ | ||
| Line 82: | Line 81: | ||
| Network infrastructure plays a crucial role in supporting the National Addressing System. When considering the specifications for such an environment, | Network infrastructure plays a crucial role in supporting the National Addressing System. When considering the specifications for such an environment, | ||
| - | Bandwidth requirements | + | === Bandwidth requirements |
| * For handling a variety of operations, including a database server, file server, and web application server with Docker containers, a robust bandwidth is essential. | * For handling a variety of operations, including a database server, file server, and web application server with Docker containers, a robust bandwidth is essential. | ||
| Line 88: | Line 87: | ||
| * Ensure scalable bandwidth options to accommodate future growth in user number or data volume without degradation in service quality. | * Ensure scalable bandwidth options to accommodate future growth in user number or data volume without degradation in service quality. | ||
| - | Uptime requirements | + | === Uptime requirements |
| * The system should aim for an uptime of at least 99.9%. This reflects high availability, | * The system should aim for an uptime of at least 99.9%. This reflects high availability, | ||
| * Implement redundant network paths and failover strategies to maintain continuity. Using high-availability network infrastructure components such as clustered firewalls and redundant power supplies is also beneficial. | * Implement redundant network paths and failover strategies to maintain continuity. Using high-availability network infrastructure components such as clustered firewalls and redundant power supplies is also beneficial. | ||
| - | Latency requirements | + | === Latency requirements |
| * Low latency is critical for user interactions, | * Low latency is critical for user interactions, | ||
| Line 109: | Line 108: | ||
| When building a business-oriented React web application that relies heavily on web maps (both PBF vector tiles and PNG raster tiles), it’s important to establish baseline client-side requirements to ensure acceptable performance and user experience. Rendering vector tiles in the browser involves client-side decoding (often via WebGL) and styling, while raster tiles require frequent image loading. Below are starting-point recommendations for CPU, RAM, screen resolution, browsers, and network bandwidth on client machines. | When building a business-oriented React web application that relies heavily on web maps (both PBF vector tiles and PNG raster tiles), it’s important to establish baseline client-side requirements to ensure acceptable performance and user experience. Rendering vector tiles in the browser involves client-side decoding (often via WebGL) and styling, while raster tiles require frequent image loading. Below are starting-point recommendations for CPU, RAM, screen resolution, browsers, and network bandwidth on client machines. | ||
| - | CPU (Processor) | + | === CPU (Processor) |
| * Requirement: | * Requirement: | ||
| * Rationale: Vector tile rendering is performed client-side via WebGL or Canvas, which benefits from both GPU acceleration and CPU tasks such as tile parsing and layout updates. Lower-end or very old CPUs may exhibit sluggish pan/zoom and style updates. Raster tile handling (downloading and compositing PNGs) also uses CPU for decoding image data and updating the DOM/canvas. Modern multi-core chips help when multiple browser tabs or other applications run concurrently. | * Rationale: Vector tile rendering is performed client-side via WebGL or Canvas, which benefits from both GPU acceleration and CPU tasks such as tile parsing and layout updates. Lower-end or very old CPUs may exhibit sluggish pan/zoom and style updates. Raster tile handling (downloading and compositing PNGs) also uses CPU for decoding image data and updating the DOM/canvas. Modern multi-core chips help when multiple browser tabs or other applications run concurrently. | ||
| - | Recommendations: | + | === Recommendations: |
| - Minimum: Dual-core CPU at ~2.0–2.5 GHz (e.g., older Intel Core i3 or equivalent), | - Minimum: Dual-core CPU at ~2.0–2.5 GHz (e.g., older Intel Core i3 or equivalent), | ||
| - Recommended: | - Recommended: | ||
| - | GPU / Graphics (indirectly via browser) | + | === GPU / Graphics (indirectly via browser) |
| * Requirement: | * Requirement: | ||
| Line 125: | Line 124: | ||
| * Recommendations: | * Recommendations: | ||
| - | RAM (Memory) | + | === RAM (Memory) |
| * Requirement: | * Requirement: | ||
| Line 133: | Line 132: | ||
| * Recommended: | * Recommended: | ||
| - | Screen resolution and display | + | === Screen resolution and display |
| * Requirement: | * Requirement: | ||
| Line 141: | Line 140: | ||
| * Recommended viewport: 1920 × 1080 (typical desktop/ | * Recommended viewport: 1920 × 1080 (typical desktop/ | ||
| - | Client browsers (Software) | + | === Client browsers (Software) |
| * Requirement: | * Requirement: | ||
| Line 149: | Line 148: | ||
| * Enterprise Constraints: | * Enterprise Constraints: | ||
| - | Client network bandwidth and latency | + | === Client network bandwidth and latency |
| * Requirement: | * Requirement: | ||
| Line 158: | Line 157: | ||
| * Offline or Low-bandwidth Strategies: If clients occasionally have poor connectivity, | * Offline or Low-bandwidth Strategies: If clients occasionally have poor connectivity, | ||
| - | Summary table (baseline vs. recommended) | + | Summary |
| - | | \\ Component| \\ Minimum| \\ Recommended| | + | ^ \\ Component^ \\ Minimum^ \\ Recommended| |
| - | | \\ CPU| \\ Dual-core ~2.0–2.5 GHz| \\ Quad-core ~3.0 GHz+| | + | ^ \\ CPU| \\ Dual-core ~2.0–2.5 GHz| \\ Quad-core ~3.0 GHz+| |
| - | | \\ GPU/WebGL| \\ Basic WebGL support| \\ Up-to-date GPU drivers with hardware accel.| | + | ^ \\ GPU/WebGL| \\ Basic WebGL support| \\ Up-to-date GPU drivers with hardware accel.| |
| - | | \\ RAM| \\ ~4 GB available for browser| \\ 8–16 GB total system RAM| | + | ^ \\ RAM| \\ ~4 GB available for browser| \\ 8–16 GB total system RAM| |
| - | | \\ Screen Resolution| \\ 1366 × 768 CSS pixels viewport| \\ 1920 × 1080 pixels viewport| | + | ^ \\ Screen Resolution| \\ 1366 × 768 CSS pixels viewport| \\ 1920 × 1080 pixels viewport| |
| - | | \\ Browsers| \\ Modern: Chrome/ | + | ^ \\ Browsers| \\ Modern: Chrome/ |
| - | | \\ Network Bandwidth| \\ ≥5 Mbps download, <100 ms latency| \\ ≥10 Mbps download, <50 ms latency| | + | ^ \\ Network Bandwidth| \\ ≥5 Mbps download, <100 ms latency| \\ ≥10 Mbps download, <50 ms latency| |
| - | ===== Data governance and security measures ===== | + | ===== 5. Data governance and security measures ===== |
| In developing the National Addressing System in Oman, maintaining data governance and implementing robust security measures are critical considerations. While it is important not to restrict access to addressing data, prioritising data integrity remains essential. Ensuring that data is accurate, reliable, and trustworthy requires specific strategies. | In developing the National Addressing System in Oman, maintaining data governance and implementing robust security measures are critical considerations. While it is important not to restrict access to addressing data, prioritising data integrity remains essential. Ensuring that data is accurate, reliable, and trustworthy requires specific strategies. | ||
| Line 178: | Line 177: | ||
| To maintain the integrity of addressing data, especially in distributed systems, ensuring data concurrency across any distributed copies or caches is crucial. Data concurrency will ensure that different versions of the data remain consistent with each other, preventing discrepancies and potential data conflicts. | To maintain the integrity of addressing data, especially in distributed systems, ensuring data concurrency across any distributed copies or caches is crucial. Data concurrency will ensure that different versions of the data remain consistent with each other, preventing discrepancies and potential data conflicts. | ||
| - | ===== Service Level Requirements for Infrastructure ===== | + | ===== 6. Service Level Requirements for Infrastructure ===== |
| To ensure continuous availability, | To ensure continuous availability, | ||
| - | ==== Disaster Recovery | + | === Disaster Recovery === |
| A comprehensive disaster recovery plan will be established to protect the NAS against events such as hardware failures, data corruption, natural disasters, and cyber incidents. The plan will include regular, automated backups of all critical data and system configurations, | A comprehensive disaster recovery plan will be established to protect the NAS against events such as hardware failures, data corruption, natural disasters, and cyber incidents. The plan will include regular, automated backups of all critical data and system configurations, | ||
| - | ==== Recovery Time Objective (RTO) ==== | + | === Recovery Time Objective (RTO) === |
| The Recovery Time Objective defines the maximum acceptable duration for restoring full service following a disruption. For the NAS, the RTO shall not exceed 4 hours for core database and API services, ensuring that essential address data and integrations remain available to users and stakeholders with minimal downtime. Routine tests of recovery procedures will be conducted to validate adherence to the RTO. | The Recovery Time Objective defines the maximum acceptable duration for restoring full service following a disruption. For the NAS, the RTO shall not exceed 4 hours for core database and API services, ensuring that essential address data and integrations remain available to users and stakeholders with minimal downtime. Routine tests of recovery procedures will be conducted to validate adherence to the RTO. | ||
| - | ==== Recovery Point Objective (RPO) ==== | + | === Recovery Point Objective (RPO) === |
| The Recovery Point Objective specifies the maximum age of data that may be lost in the event of a failure. For the NAS, the RPO is set at 15 minutes, meaning that backup and replication strategies must ensure that, at most, only the last 15 minutes of transactions could be lost under worst-case scenarios. Incremental backups and near-real-time data replication will be employed to achieve this goal. | The Recovery Point Objective specifies the maximum age of data that may be lost in the event of a failure. For the NAS, the RPO is set at 15 minutes, meaning that backup and replication strategies must ensure that, at most, only the last 15 minutes of transactions could be lost under worst-case scenarios. Incremental backups and near-real-time data replication will be employed to achieve this goal. | ||
| - | ==== Optional Multi-Region Deployment (Middle East/ | + | === Optional Multi-Region Deployment (Middle East/ |
| For public facing applications that might be used by global audiences, it may be possible to further strengthen resilience by supporting geographic redundancy, such parts of the NAS infrastructure as is relevant may optionally be deployed in a multi-region configuration spanning the Middle East and Europe. | For public facing applications that might be used by global audiences, it may be possible to further strengthen resilience by supporting geographic redundancy, such parts of the NAS infrastructure as is relevant may optionally be deployed in a multi-region configuration spanning the Middle East and Europe. | ||
reference/system-architecture/infrastructure.1756245915.txt.gz · Last modified: by runarbe
