AI in the Cambodian Rainforest
- AI in the Cambodian Rainforest: Server Configuration
This document details the server configuration used to support the "AI in the Cambodian Rainforest" project. This project utilizes artificial intelligence for real-time analysis of audio and visual data collected from remote sensors deployed within the Cardamom Mountains of Cambodia. The goal is to monitor biodiversity, detect illegal logging, and track wildlife populations. This guide is intended for new system administrators and developers contributing to the project.
Overview
The server infrastructure is designed for high availability, scalability, and data security. It is a hybrid architecture, utilizing both on-premise servers for immediate data processing and cloud-based resources for long-term storage and complex model training. The system relies heavily on Python for data processing and machine learning tasks, with a PostgreSQL database for storing metadata and analysis results. We use Docker extensively for containerization and deployment. The entire system is monitored using Nagios.
Hardware Specifications
The on-premise servers are located in a secure, climate-controlled facility in Phnom Penh, Cambodia. These servers are the primary interface with the sensor network and perform initial data filtering and analysis.
Component | Specification | Quantity |
---|---|---|
CPU | Intel Xeon Gold 6248R (24 cores, 3.0 GHz) | 2 |
RAM | 256 GB DDR4 ECC Registered | 2 |
Storage (OS & Apps) | 2 x 1TB NVMe SSD (RAID 1) | 2 |
Storage (Temporary Data) | 8 x 4TB SATA HDD (RAID 6) | 2 |
Network Interface | Dual 10 Gigabit Ethernet | 2 |
Power Supply | Redundant 1200W 80+ Platinum | 2 |
Software Stack
The software stack is built around a Linux operating system and a set of open-source tools. We utilize Ubuntu Server 22.04 LTS as our base operating system.
Software | Version | Purpose |
---|---|---|
Operating System | Ubuntu Server 22.04 LTS | Base operating system |
Database | PostgreSQL 14 | Metadata storage and analysis results |
Programming Language | Python 3.10 | Data processing, machine learning |
Web Server | Nginx 1.22 | Serving API endpoints and web interface |
Containerization | Docker 20.10 | Application deployment and isolation |
Message Queue | RabbitMQ 3.9 | Asynchronous task processing |
Machine Learning Framework | TensorFlow 2.9 | Deep learning model execution |
Data Visualization | Grafana 8.5 | Monitoring and data visualization |
Network Configuration
The network is segmented into three zones: a public zone for external access, a DMZ for the web server and API endpoints, and a private zone for the database and data processing servers. Firewall rules are implemented to restrict access between zones. We utilize a VPN for secure remote access.
Zone | IP Range | Access Control |
---|---|---|
Public | 203.0.113.0/24 | Limited to specific ports (80, 443) |
DMZ | 192.168.1.0/24 | Access from Public zone via firewall |
Private | 10.0.0.0/24 | Access from DMZ zone via firewall, restricted to specific services |
Data Flow
1. Sensor data is transmitted wirelessly to a local gateway. 2. The gateway forwards the data to the on-premise servers via a secure network connection. 3. On-premise servers perform initial data filtering and preprocessing. 4. Filtered data is transmitted to the cloud for long-term storage and complex analysis using Amazon S3. 5. Machine learning models are trained in the cloud using Amazon SageMaker. 6. Trained models are deployed to the on-premise servers for real-time inference. 7. Analysis results are stored in the PostgreSQL database. 8. Data visualizations are generated using Grafana.
Security Considerations
- All data transmissions are encrypted using TLS.
- Regular security audits are conducted to identify and address vulnerabilities.
- Access control lists (ACLs) are used to restrict access to sensitive data.
- Intrusion detection and prevention systems are in place to monitor for malicious activity.
- Regular backups are performed to protect against data loss. We use rsync for efficient backups.
- The system is hardened according to CIS benchmarks.
Future Enhancements
- Implement a distributed processing framework like Apache Spark for faster data analysis.
- Explore the use of edge computing to perform more analysis locally at the sensor gateways.
- Integrate with a GIS system for spatial data analysis.
- Automate the deployment process using Ansible.
Main Page Server Administration Data Analysis Machine Learning Network Security Database Management Cloud Computing System Monitoring Troubleshooting Documentation Glossary Contact Us Privacy Policy Terms of Service
Intel-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Core i7-6700K/7700 Server | 64 GB DDR4, NVMe SSD 2 x 512 GB | CPU Benchmark: 8046 |
Core i7-8700 Server | 64 GB DDR4, NVMe SSD 2x1 TB | CPU Benchmark: 13124 |
Core i9-9900K Server | 128 GB DDR4, NVMe SSD 2 x 1 TB | CPU Benchmark: 49969 |
Core i9-13900 Server (64GB) | 64 GB RAM, 2x2 TB NVMe SSD | |
Core i9-13900 Server (128GB) | 128 GB RAM, 2x2 TB NVMe SSD | |
Core i5-13500 Server (64GB) | 64 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Server (128GB) | 128 GB RAM, 2x500 GB NVMe SSD | |
Core i5-13500 Workstation | 64 GB DDR5 RAM, 2 NVMe SSD, NVIDIA RTX 4000 |
AMD-Based Server Configurations
Configuration | Specifications | Benchmark |
---|---|---|
Ryzen 5 3600 Server | 64 GB RAM, 2x480 GB NVMe | CPU Benchmark: 17849 |
Ryzen 7 7700 Server | 64 GB DDR5 RAM, 2x1 TB NVMe | CPU Benchmark: 35224 |
Ryzen 9 5950X Server | 128 GB RAM, 2x4 TB NVMe | CPU Benchmark: 46045 |
Ryzen 9 7950X Server | 128 GB DDR5 ECC, 2x2 TB NVMe | CPU Benchmark: 63561 |
EPYC 7502P Server (128GB/1TB) | 128 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/2TB) | 128 GB RAM, 2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (128GB/4TB) | 128 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/1TB) | 256 GB RAM, 1 TB NVMe | CPU Benchmark: 48021 |
EPYC 7502P Server (256GB/4TB) | 256 GB RAM, 2x2 TB NVMe | CPU Benchmark: 48021 |
EPYC 9454P Server | 256 GB RAM, 2x2 TB NVMe |
Order Your Dedicated Server
Configure and order your ideal server configuration
Need Assistance?
- Telegram: @powervps Servers at a discounted price
⚠️ *Note: All benchmark scores are approximate and may vary based on configuration. Server availability subject to stock.* ⚠️