How much do you charge for this kind of works?

How do you determine the price to charge a client if i want to propose them to have:

  • VPS (Linode 512 at least)

  • CDN (Amazon S3 or RackCDN)

  • NodeBalancer (optional but he is willing to pay if its good)

  • Server setup (from OS to webserver, database, etc)

  • Monthly fees for maintenance (or yearly)

6 Replies

The cost of all that stuff plus $100/hr for your time?

I actually have no clue. Figure out what they can afford, and charge that much.

They said money is not a problem. My problem is to determine the price

@dzulfriday:

  • VPS (Linode 512 at least)
    I'd say $20 per month for a single Linode 512 (in essence, round it up to the nearest dollar), or $40 per month for a single Linode 1024. If your client's setup requires more than one Linode, just multiply.

@dzulfriday:

  • CDN (Amazon S3 or RackCDN)
    This depends greatly on how much is stored on the CDN, and how much will be downloaded from it. Pricing for Amazon S3 can be found at http://aws.amazon.com/s3/#pricing, or you can use their AWS Simple Monthly Calculator (click "Amazon S3" from the left menu) to find the most relevant pricing. For example, just to make up some random numbers 5 GB storage, 1 GB transfer in (uploads to the server - new files or updated files), 100 GB transfer out (file downloads), with 10,000 GET requests (number of downloads - giving an average of 10 MB per file download), gives a price of $12.37 per month (without their free usage tier for new customers).

For RackCDN (or rather, Cloud Files), there's a similar pricing calculator at http://www.rackspace.com/cloud/public/files/pricing/. Using the same example values as above (5 GB storage, 100 GB outbound traffic), the estimated price here would be $18.50 per month.

In both cases, you pay as you go, depending on actual usage. You don't have to learn anything to upload files to it, as there are client software that allows you to upload files to it. I can highly recommend CyberDuck, which is available for both Windows and Mac, and supports both Amazon S3 and Rackspace Cloud Files (and a wide variety of other cloud storage protocols, in addition to FTP and SFTP).

@dzulfriday:

  • NodeBalancer (optional but he is willing to pay if its good)
    This is only useful if you have (or need) more than one Linode responding to HTTP requests. In any case, pricing is $20 per month (rounded up).

http://www.linode.com/nodebalancers/

Whether or not you need additional Linodes with NodeBalancer depends on the expected traffic/load on your client's website. If your client already has a website, it would be useful to know how much traffic his website has today.

@dzulfriday:

  • Server setup (from OS to webserver, database, etc)
    Time for an initial setup may vary on your skills. To test yourself (if you're unsure), I suggest you do a trial run of setting it up on your spare time, just to see how long it would take you from start to finish. First, set up a detailed checklist of what you need to set up for your client (OS installation, installation of software for web server, database, PHP/Perl/Java/other, proper configuration of PHP/Perl/Java/other, installing and configuring the client's website onto the server, etc), then use VMware Player (or similar virtual machine software) on your desktop computer to do the trial run. Round up your time to the nearest hour, and charge your usual hourly rate for this.

If your client's setup requires you to use separate servers for web server and database, you'll also need to keep this in mind when setting this up.

And more importantly, you'll need to add the time needed to properly document the server setup, in case you need to look up any information about the setup later on. This will also be useful if you need to hand off the system/setup to someone else further down the line (hopefully to a colleague or employee/subcontractor hired by you).

@dzulfriday:

  • Monthly fees for maintenance (or yearly)
    This depends on how much maintenance you need to perform. A suggestion would be to include a certain number of maintenance hours into the monthly price (e.g. 10 hours at a slight discount of your usual hourly rate if he only requires a few hours a month, or 50 to 100 hours if he needs your assistance almost every weekday), which are not transferrable to the next month if they are left unused. If you use more hours than what's included, this would be at your regular hourly rate. Going into the server once a month to download and install OS/software updates (via APT or YUM) takes 20-30 minutes per server at the most.

Basically, you need to set up a more detailed list of your client's actual needs and requirements to be able to figure out a more exact price for the services you want to provide an estimate for. Key information you need to know (or find out):

  • How much traffic and concurrent users (load) does his website currently have? Is this expected to increase? If possible, get weekly/monthly hits and GB traffic for the past three months (at least) to see a graph of the increased load you can expect.

  • How much of the traffic consists of larger file downloads, such as software and videos? (This is what you would usually separate to AmazonS3/RackCDN.)

  • What setup/configuration does your client or his website require? (Software needed, server separation, etc.)

  • How many hours do you need to put in every month for server or website maintenance? More importantly, how often does your client require you to do hands-on website or server maintenance?

Expected traffic and website load will allow you to find out how to scale server setup and to calculate cloud storage needs (scale up big time, just to be on the safe side). The server setup also allows you to calculate the time you need for setting up the server(s) needed (which is the initial cost).

If you're going to offer all of this as a complete package (where you pay for the actual servers/services, and then the client pays you for it), include time spent to create accounts on each relevant service, and all maintenance costs you're paying for services on behalf of your client. Also include time (and a regular hourly rate) you need to spend to maintain the accounts on the various servers.

Quick note: When setting up the various servers/services, make sure you create an e-mail address (alias) on your own domain that's specific to this particular client of yours, instead of using your private e-mail address (or an account you've already created for yourself), as separating the service (so the client can access it directly) later on will be much more of a hassle than it's worth.

But, as you were saying, if your problem is not to determine the price, why are you asking how to determine the price for the services you listed?

Actual Cost + 15% + hourly rate (minimum x hours per month) = your invoice to them

Then bill them time and material each month (with a minimum of 2 hours of time or whatever your threshold is for nuisance accounts).

If they don't want to pay a 15% markup on material cost, have them buy it themselves direct (you're not a bank, so they don't get to use YOUR money for free by having you pay out of pocket for their expenses without making a small profit).

Plus that 15% markup has to cover some of your own costs for maintaining the systems that you can't bill for. Any problems from Linode's end that you have to take time to deal with, for example.

Thanks guys…this really helping.

Reply

Please enter an answer
Tips:

You can mention users to notify them: @username

You can use Markdown to format your question. For more examples see the Markdown Cheatsheet.

> I’m a blockquote.

I’m a blockquote.

[I'm a link] (https://www.google.com)

I'm a link

**I am bold** I am bold

*I am italicized* I am italicized

Community Code of Conduct