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.
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.
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.
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.