Server rental store

Application hosting

# Application Hosting

This article details the server configuration for application hosting within our MediaWiki environment. It is intended for newcomers responsible for server maintenance and expansion. Understanding these configurations is crucial for ensuring the stability and performance of hosted applications.

Overview

We utilize a distributed server architecture to host various applications alongside MediaWiki itself. This approach allows for resource isolation, scalability, and improved fault tolerance. Applications are generally containerized using Docker and orchestrated with Docker Compose, though bare-metal deployments are also supported for specific legacy systems. This document focuses on the underlying server infrastructure and configurations, not the application-specific details. See Server Administration for general server maintenance procedures.

Server Hardware Specifications

Our application hosting servers are built to a standardized specification to simplify management and ensure consistent performance. The following table details the core hardware components:

Component Specification
CPU Intel Xeon Gold 6248R (24 cores/48 threads)
RAM 128 GB DDR4 ECC Registered
Storage 2 x 1 TB NVMe SSD (RAID 1) for OS & Applications 4 x 8 TB SATA HDD (RAID 10) for data storage
Network Interface Dual 10 Gigabit Ethernet
Power Supply Redundant 800W Platinum

These specifications are subject to change based on application demands and budget constraints. Please consult the Hardware Inventory for the latest details. Regular hardware monitoring is performed using Nagios.

Operating System and Software Stack

All application hosting servers run Ubuntu Server 22.04 LTS. This provides a stable and well-supported base for our applications. The following software is installed as standard:

Software Version Purpose
Operating System Ubuntu Server 22.04 LTS Base operating system
Docker 24.0.7 Containerization platform
Docker Compose v2.21.0 Container orchestration
Nginx 1.25.3 Reverse proxy & load balancer
Fail2ban 0.12.0 Intrusion prevention system
UFW 0.36 Firewall

Regular security updates are applied automatically via APT. We also employ a robust logging system using rsyslog to facilitate troubleshooting and security auditing.

Network Configuration

Application servers are segmented into different networks based on security requirements and application function. A dedicated VLAN is used for each application environment (development, staging, production). Nginx acts as a reverse proxy, routing traffic to the appropriate application containers.

The following table outlines the key network parameters:

Parameter Value
IP Address Range (Production) 192.168.10.0/24
IP Address Range (Staging) 192.168.20.0/24
IP Address Range (Development) 192.168.30.0/24
DNS Server 192.168.1.1 (Internal)
Gateway 192.168.1.254

Access to application servers is restricted via firewall rules managed by UFW. Secure Shell (SSH) access is limited to authorized personnel only, and key-based authentication is enforced. See Network Security for further details.

Security Considerations

Security is paramount. We implement several layers of security to protect our applications and data. These include:

⚠️ *Note: All benchmark scores are approximate and may vary based on configuration. Server availability subject to stock.* ⚠️