1

Possible Duplicate:
How do you do Load Testing and Capacity Planning for Web Sites

First off.. HUGE kudos the the creator of this site as well as the others in this series. As a pre-cursor... I know next to nothing about servers and their setup but am trying to learn a little bit about what I would need for a particular setup, thus knowing what to ask for while getting quotes and in-turn making sure i have all that is needed in the quote... having a relatively realistic quote.

Ok.. so onto the question.

I am looking to setup a server on which i will be hosting a product called Active Collab. This will be accessed by many individuals, eventually 50+. Might eventually have clients access it as well, which would range into the thousands, but initially all internal. The things I can think of off the top of my head are that:

  1. We can't afford to have the server be down for more than maybe a couple of minutes at most, ideally never. Would this be some kind of mirroring option?

  2. The ability to add storage, as files and documents will be added through and stored with this program... on the server. I don't know exactly what the need will be, so the ability to expand would be good.

  3. Would I be correct to assume that the most ideal situation, although more $$ up front, would be to have our own server managed locally? Any drawbacks to some of those online 'dedicated' options?

I may be, and probably am, forgetting a few things so anything is fair game...Any insight would be greatly appreciated. Thanks in advance!

3 Answers3

7

Item 1 - You can't afford a real "zero downtime" solution. I'm certain that your business can allow for scheduled maintenance and downtime. I think you really want to avoid unscheduled downtime and outages. To that end you need to hire / contract a competent server administrator and either pay for an appropriate level of redundancy in a hosted solution, or purchase hardware with sufficient redundancy to mitigate the risk of unscheduled outages.

Item 2 - Modern server computers can easily handle adding storage capacity. That's the easiest "upgrade" to perform. Worry about how you're going to maintain backups of your data being stored on the server computer. The Tao of Backup is a silly little advertisment site, but offers a good introduction course into what backup is (and what backup isn't).

Item 3 - Not necessarily. You'll get the fastest access to data if it's stored locally (since the bandwidth of a LAN is typically at least an order of magnitude faster than an Internet connection), but that data access speed isn't the only factor in deciding what's "ideal". In fact, with the type of application you're talking about you may find that a hosted solution provides more than adequate bandwidth to access your data.

If you don't have personnel to manage a local server computer, if your building isn't physically secure, your electricity isn't very reliable, or your envrionmentals aren't friendly for a server computer (temperature, humidity, dust and dirt, etc) then a hosted solution in a third-party data center might make more sense.

You really need to weigh the pros and cons (capabities, risks, initial and ongoing costs) of each possible solution to come up with the "ideal". It differs on a company for company basis.

For the size of user-base and type of application you're talking about I'd look pretty closely at a hosted server computer with some kind of robust off-site backup to get a copy of your data out of the hosting datacenter on a recurring basis. This will give you low up-front costs, reasonable recurring costs, and an ability to scale up to either a higher-tier hosting package or a dedicated on-site server computer, as the case may be.

Certainly, having your server hosted off-site does put a bigger important on your Internet connection. Luckily there are competing Internet access offerings in metro markets today, so you can easily have a secondary Internet connection (probably of a lower speed and, thus, lower monthly cost) standing by to use in the event of an outage on the primary Internet connection. With some clever routing or selection of networking gear you could even get some "sharing" of a couple of Internet connections.

Evan Anderson
  • 141,071
  • 19
  • 191
  • 328
1

We can't afford to have the server be down for more than maybe a couple of minutes at most, ideally never. Would this be some kind of mirroring option?

Mirroring generally infers that the different layers of your system all have a mirroring capability. It also infers an active/passive or active/active configuration. If performance isn't a problem, active/passive tends to be easier to set up than active/active. For many applications (I haven't administered ActiveCollab) , an active/passive mirror means finding a smart DBA who knows how to set up database replication from one machine to the next, and a systems administrator who can set up something like robocopy or rsync to move all your files from the primary machine your development team will be pushing to across to the mirror. I recommend you consider keeping your mirror in another geographic location. This is one of the benefits of using a large managed hosting company - it becomes easy: " I want two identical servers. Put both of them in different data centers one on the East coast one on the West coast." That way if some massive power outage hits you you are fine. They'll usually pitch a managed DNS system to transparently failover from the primary to the slave.

Now, if you want to scale up - referencing the potentially thousands of clients you mention... this is another matter. This is a Big Project in most cases, unless of course ActiveCollab's team already has a pre-cooked architecture for this.

The ability to add storage, as files and documents will be added through and stored with this program... on the server. I don't know exactly what the need will be, so the ability to expand would be good.

This tends to be simple as long as you plan well. Get a larger server than you need. By this I mean if you think you need one quad core processor and two disks, get a server that can take two quad core processors (or even four, better yet) and six disks. Get SAS disks, not SATA. DAS is your friend if you need even more space later.

Would I be correct to assume that the most ideal situation, although more $$ up front, would be to have our own server managed locally? Any drawbacks to some of those online 'dedicated' options

I've done it both ways. I've saved some money by hosting things locally - but more and more I don't even think twice now. Rent it, don't buy it. Managed hosting is a wonderful thing - when the pager goes off at 2 AM I may have to still jump on the phone, but I don't have to jump in the car. This is a big big difference. Also, no matter how far we took things in the past with generators, air conditioning, and physical security - you will never spend as much as most dedicated facilities do. In the end, it's cheaper to rent instead of racing to outspend them.

A counter point might be if your environment already has a large IT department with all the skillets you're going to need on staff, on call rotations, pagers... and you already have several well managed mission critical applications at your location. If you have a proven track record with this and the capacity to do it, then throwing another machine on to the stack should be simple.

Kyle
  • 1,849
  • 2
  • 17
  • 23
0

How set are you on ActiveCollab? If you do not already have the resources, it will probably work out a lot more cost-effective to go with a provider that hosts project management software. I believe ActiveCollab was developed as a "clone" of basecamp (http://basecamp.com), so you should probably at least make sure you look into something like that as you evaluate alternatives.

Chad Huneycutt
  • 2,096
  • 1
  • 16
  • 14
  • Hi Chad... thanks for the input! We have evaluated about 10 of them. Ultimately it came down to Active Collab's ability for us to have the source code and to be able to tailor modules for our specific use. –  Jul 27 '09 at 20:11