- Edited
Hi Everyone,
I’m currently hosting around 70 informative websites using Enhance, all on a single server with the following specs:
- 16 GB Memory / 4 Intel vCPUs / 160 GB Disk - Ubuntu 22.04 (LTS) x64
Each website required on average 2GB of storage space.
While this setup has served me well, I’m planning to switch to a multi-server architecture for better scalability, cost control, and load distribution. Here's what I have in mind:
Proposed Architecture
1. Control Panel (CP) Server:
- Role: Host the Enhance control panel and the main domain.
- Specs: 2GB RAM, 90GB NVMe SSD, 2 vCPUs
- Total Websites: 1
2. Production Website Servers:
- Role: Host around 50 production websites.
- Specs: 2GB RAM, 90GB NVMe SSD, 2 vCPUs (x2 servers)
- Total Websites: 50 (distributed across 2 servers)
3. Development Server:
- Role: Host around 20 development websites (non-production).
- Specs: 2GB RAM, 60GB SSD, 2 vCPUs
- Total Websites: 20
Goals for the New Architecture
- Scalability: Easily add or remove servers as my hosting requirements change.
- Load Distribution: Distribute websites across multiple servers to avoid overloading a single machine.
- Disaster Recovery: In case of a server failure, move websites to other servers with minimal downtime.
Questions and Considerations
Email Hosting:
I’ve read in various discussions that it’s better to have a separate server for emails. Should I consider adding an email server just for production websites' emails? If yes, what specs would you recommend?Database Hosting:
For now, I plan to host databases on the same servers as the websites. Is this a good approach, or should I consider a dedicated database server?DNS Management:
I’m a bit unclear on how DNS will work in this multi-server setup. Will all websites point to the CP server’s IP, and Enhance will handle the routing to the correct server? Or should each website point to the IP of its respective server?Specs:
Are the specs I’ve chosen for the servers (2GB RAM, 2 vCPUs, 90GB NVMe SSD) sufficient for this type of setup?
Additional Context
- Around 20% of the websites are non-production (development websites).
- All production websites are lightweight, requiring around 2GB of storage each.
- My current server setup on DigitalOcean doesn’t allow me to scale down, so I want to leverage a multi-server approach for better cost control.
Seeking Your Input
Does this architecture make sense for Enhance? Are there any pitfalls or improvements I should consider?
Looking forward to hearing your thoughts and learning from your experiences!
Thank you for reading through!