After sourcing hosting several times for this site, I find that it is, at the end of the day, an IT project that needs business requirements. In the previous article, Falling From the Sky – Why STH is Leaving the Cloud, the reason for the move, or at least the problem was outlined. After the initial problem was roughly scoped, the next task was deciding exactly what the requirements are. Being a consultant at heart, the first step was to sit and write high-level requirements. Although this started in Word, it finally found its way to Excel. Here are the high-level requirements as jotted down that day. Feel free to critique in comments.
High Level Requirements for Hosting a Review Site like STH
These requirements are heaped into buckets. The basic tenants were the following though:
- The next-generation architecture must increase fault tolerance
- The next-generation architecture must improve performance
- The next-generation architecture must scale with the site for 24 months of growth
- The next-generation architecture must be as secure or more secure than its predecessor
- Costs must be minimized in the next-generation architecture
After these atmospherically high level requirements were put forward, the next step was to start decomposing these into something useful so that I could start evaluating architecture options.
Hosted Instances
Within 24 months, it is likely we will move to a multiple site HA solution, for now, the goal is just to move to a HA architecture where one kernel panic or one device failure does not take down the entire site or the forums. Right now we have single instances for the forums and for the main site. When one goes down, the other is generally online but one site goes down until the issue is resolved. The goal here is to look for some level of redundancy and a bit more than if the virtual machines were running on the same hardware.
- 2x Virtual Machines for ServeTheHome.com on different hosts
- 8-16GB RAM each as it is at 3.75GB and growing (usage more than doubled in 2012)
- 2x Virtual Machines for the ServeTheHome Forums on different hosts.
- Need 2-4GB RAM. Must be separate from the main STH virtual machines. The forums are the fastest growing part of the site by far.
- 1x ServeTheHome.com development/ staging instance
- 1x Forums development/ staging instance
- 1x SandBox instance
Bandwidth and Connectivity
Currently, bandwidth is a big cost at ServeTheHome. Since some of the providers charge by GB, others give unmetered ports while still others give bandwidth allocations, here is what we know in terms of bandwidth requirements.
- Must allow for a minimum of 5TB/mo in data transfer to allow for expansion in the next 24 months. That is about 15mbps of constant throughput.
- Bandwidth needs from peak to valley have a differential of 2x (so highest hour is 2x that of lowest hour.)
Traffic generally starts to pick up somewhere between 10PM GMT -8 and 2AM and falls off around 4PM. While the current site may be able to be served via a 100% utilized 5mbps port, the reality is that bandwidth requirements are not constant.
Server Backup
The idea with the server backup is that it needs to be constant and it needs to allow for quick backups. Servers will use SSDs as primary storage, but rotating disks are generally good enough for backup purposes.
- Backup must occur on a separate server node than the main VM hosts. A portion of the backup server may also be partitioned for a sandbox.
- Backup storage must be stored on redundant media. Therefore to lose data, the main instance plus redundant backup storage will need to fail.
- Backup storage must be at minimum 1TB in usable capacity.
Currently, Amazon EBS provides snapshots which let one do three clicks on a GUI to create a snapshot of a EBS store. It is likely that the backup data will be replicated off-site but it is an important consideration as local storage saves a lot of time for restoring back-ups.
Other Requirements
These were a few general thoughts that warranted being noted.
- Primary storage is preferably SSD based, although backups can be on disk. A key aspect of the build out is improving speed.
- Must be located in North America
- Must have options for enabling a high-availability architecture.
- Firewall capabilities for all instances
Cost – Sub $300/mo and under $3,000 start up costs
Now, if I were planning a major Fortune 500 company ERP implementation, this would not be good enough. For a website, this is probably good enough. Again, in the previous piece, we started with the idea that a simple single colocated or dedicated server would be enough. That idea clearly did not work with the above requirements. In the next piece we are going to look at what that looks like in terms of evaluating solution options against that architecture.
Seems like you at least put some thought into this. Only trick will be using the staging instances. WordPress seems to have issues with this in single site installations.
More thought than we gave our first time.
Patrick- you should document all of this in a how to do colo type of article.
What about looking at connections per second? Are you factoring CDN or is that not part of this scope? What about data transfer to CDN? How much disk space do you need? Only see RAM and backup requirements.
Will you big bang move everything at once? Use Phased approach? Maybe covered later/
Plan to run your own DNS servers?
Funny that someone would even think of collocation with requirements like that. I guess site content has something to do w/it tho
You are missing how many IPs you need. They are $0.50/mo to $1/mo each usually.
did you pick a solution yet? is this being done real time?