in reply to How to recommend hardware to customers?

How are you to decide a strategy without knowing what your realistic choices are? Here are a few.

Strategy A:

Figure out how much you'll charge them. Figure hardware as a fixed percentage of that. Decide what the best configuration is that you can buy for that much money. Find a vendor that will give you a kickback for driving business to them.

Recommend that configuration from that vendor.

Above all, do not admit that your application runs just fine on a 2 GHz PC running Linux. If your customer knows that, then they might decide that there can't be much to the application and they'll want to be charged less.

Profit.

Strategy B:

Take the configuration from strategy A. Gold plate it. Recommend that.

Offer as an alternative for a low low hosting fee of X$/month to provide them with a working system that you'll administer and keep in tiptop shape, plus deliver upgrade fees for. Make sure that this fee would cover the goldplated system and then some.

Deliver the cheapest system that you think will actually meet their needs, and replace it periodically. Make sure that one of these "upgrades under your service plan" takes place within the 6 month period leading up to renegotiating your software contract. (You want the benefit of the warm fuzzies.

Profit.

Strategy C:

Be honest.

Go broke.

  • Comment on Re: How to recommend hardware to customers?

Replies are listed 'Best First'.
Re^2: How to recommend hardware to customers?
by techy (Scribe) on Oct 23, 2004 at 13:01 UTC
    I agree - a good response to the original question is to recommend the biggest, fastest computer(s) available on the market today. Realistically, though, this is not feasable, so the question becomes a business one, as in "What hardware do we think the customer will buy?" From a development role, the important thing is to make sure that the software runs acceptable on the system that is recommended (with mod_perl that probably means a lot of RAM). Also it is useful to recommend a configuration that will be easy to support.

    Given all of this, it is probably best to take this question from a business/sales standpoint and ask the question "what is the best way to make money off this recommendation?" Spending a lot of time benchmarking can eat into profits without providing a tangible value for the customer, so in general it may be best to test as few configurations as possible.

    Also, a good solution might include suggesting lots of horizontal scalability - instead of a single server, why not recommend a horizonatally scalable solution using a load balancer and a couple of less powerful computers rather than one large server? This way, if additional hardware is required to meet performance expectations, additional (less expensive) servers can be added to the configuration. This configuration may also be easier to maintain, as individual servers can be swapped out, upgraded, etc without causing a system outage.

    techy
    When art critics get together they talk about Form and Structure and Meaning. When artists get together they talk about where you can buy cheap turpentine. -- Pablo Picasso

      Thanks all. The horizontal scalability sounds interesting. Do you know where can I find more info about makin my application horizontally scalable, or is it more of a configuration of Apache/MySQL type of issue?
        To make your application "horizontally scalable", don't do anything to keep it from being so. Don't use shared memory. Don't use the local filesystem. Put stuff in the database.

        Voila! You can now run one database and many webservers. As long as the database doesn't fall over, you scale.