Server rental store

AI in Nottingham

```wiki #REDIRECT AI in Nottingham

AI in Nottingham: Server Configuration Overview

This document details the server configuration supporting the "AI in Nottingham" project. This project aims to provide a centralised resource for information about Artificial Intelligence initiatives, research, and businesses within the Nottingham area. This guide is intended for new system administrators and developers contributing to the platform. Understanding these configurations is crucial for maintenance, scaling, and troubleshooting. This wiki page details the core infrastructure. For details on software deployment, see the separate Deployment Guide.

Core Infrastructure

The AI in Nottingham platform is hosted on a cluster of dedicated servers located within the University of Nottingham’s High Performance Computing facility. The cluster is designed for high availability and scalability. We utilise a three-tier architecture: web servers, application servers, and database servers. Network connectivity is provided by a dedicated 10Gbps fibre link. A detailed network diagram can be found at Network Diagram. For information on security protocols, see the security documentation.

Web Server Configuration

The web servers handle incoming HTTP/HTTPS requests and serve static content. They are also responsible for reverse proxying requests to the application servers.

Parameter Value
Operating System Ubuntu Server 22.04 LTS
Web Server Nginx 1.22.0
SSL Certificate Let's Encrypt (Renewed Automatically)
Reverse Proxy Enabled (to Application Servers)
Load Balancing Nginx with upstream module
PHP Version PHP 8.2

These servers are monitored using Nagios for uptime, CPU usage, memory usage, and disk space. Alerts are configured to notify the on-call team of any issues. Regular backups are performed using rsync to a remote storage location. See Backup Procedures for more details. Web server logs are rotated daily and archived for one month. For details on Nginx configuration, see the Nginx documentation.

Application Server Configuration

The application servers execute the core logic of the AI in Nottingham platform, including handling user authentication, data processing, and API requests. They interact with the database servers to retrieve and store data.

Parameter Value
Operating System Ubuntu Server 22.04 LTS
Application Framework Python 3.10 with Django 4.1
WSGI Server Gunicorn 20.1.0
Database Driver psycopg2 (PostgreSQL)
Caching Redis 6.2
Task Queue Celery 5.2

Application server performance is critical. We use New Relic for application performance monitoring (APM). Code deployments are automated using Jenkins. Error logging is handled by Sentry. For information on Django settings, see the settings documentation.

Database Server Configuration

The database servers store all persistent data for the AI in Nottingham platform, including user accounts, AI initiative details, and research papers.

Parameter Value
Operating System Ubuntu Server 22.04 LTS
Database System PostgreSQL 14.5
Replication Streaming Replication (Primary-Standby)
Backup Strategy Daily Full Backups, Hourly Transaction Log Backups
Storage SSD RAID 10
Connection Pooling PgBouncer

Database performance is monitored using pgAdmin. Database backups are stored offsite for disaster recovery. Regular database maintenance tasks, such as vacuuming and indexing, are performed automatically. See Database schema for details on the data model. For information on PostgreSQL configuration, see the PostgreSQL documentation.

Scaling Considerations

The platform is designed to scale horizontally. Additional web and application servers can be easily added to the cluster to handle increased traffic. Database scaling is more complex and requires careful planning. We are currently investigating the use of database sharding to improve database scalability. Load testing is performed regularly to identify performance bottlenecks.

Future Enhancements

Future enhancements to the server configuration include:

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