How much do you charge for this kind of works?
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
I actually have no clue. Figure out what they can afford, and charge that much.
@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, or you can use their http://aws.amazon.com/s3/#pricing(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). AWS Simple Monthly Calculator
For RackCDN (or rather, Cloud Files), there's a similar pricing calculator at
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
@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).
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?
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).