Client has asked me for budget to move his set up to Amazon Cloud. Need help/Advice.
I am looking into some information/pricing about moving one of my clients over to the Amazon Cloud. They are currently hosted at GoGrid.
The client has asked me to find out some pricings and to be honest I am finding it complicated to give them an answer, even when using the AWS pricing calculator.
The reasoning behind moving to Amazon Cloud is to get some form of scalability and uptime plus the storage capacity as currently they are tied into the server they have which are of course limited by the space on the HD's.
To give you an idea of what we are looking at.....they have 3 x VPS/Dedicated Servers on gogrid.
server 1: hosts a MSSQL 2008 database
server 2: hosts Windows 2008 which hosts a .net application and a .net api
server 3: WHM/cpanel server which hosts the web application and php api's
So we are looking to move this setup to Amazon cloud PLUS have the scalable cloud storage for the files.
Initially we would probably need 50-200GB of storage for the clients upload files, this will grow over time.
I have no idea what the bandwidth costs are, I think this is the difficulty at the moment, not really knowing what they will be, but of course the client needs me to produce a budget.
Any ideas on how to handle this?
Are there specialist Amazon consultants out there who can assist with this?
Gosh... that's a really big thing to do... Hmmm... how interesting 2 things running Windows and 1 running WHM/cPanel. Lol.
Bandwidth is definitely a hard thing to predict but you could give him the average that he is using monthly and take that into consideration and then multiply it by the bandwidth cost of Amazon and you'll get roughly about what he is needing. That's the best thing I could tell you. But as for storage, then there's another cost all by itself.
But then again, what's the real reason why he is wanting to move to Amazon? Go to Rackspace, tell them your needs and let them calculate it out for you. By using Rackspace's price, you could roughly calculate about how much is AWS by just taking off about 10% from the price.
That's usually about the price of AWS compared to Rackspace.
Ps. Research by a client of mine showed that Reliability and Consistency wise, Rackspace is more reliable and more consistant. Their connection is better too than compared with AWS.
Dedicated Servers - 100TB Servers - 100Mbps Unmetered Servers - Web Hosting - CDN Network
Servers in Central, East/West Coast USA, EUROPE and ASIA
Welltodo Century - www.welltodocentury.com
Certainly there are consultants out here to help but it seems that you need to get a handle on the "utility billing" concept. On AWS your client will pay for what they use on an hourly basis.
Calculating a budget for AWS is much the same as calculating your budget for household electricity. Factoring in the weather and the amount of time the AC unit will run may tell you that your bill will be higher next month but you will have no real idea of how much - you just know that it costs x amount for every hour that the AC unit runs.
Moving your client to a system that can scale based on needs and that is billed on an hourly basis will mean a whole new budgeting paradigm for your client. If system usage is higher this month than last, your bill will be higher but the peace of mind from knowing that your system can handle it with out shutting down makes it worth it. Conversely, if usage is lower this month than last your bill is lower and you do not have to pay for unused capacity.
Before moving to a utility billing system, you want to be sure that their applications are running as efficiently as possible and that the system architecture is such that it scales nicely. Application choices and changes will be made with efficiency in mind, just like the choices made in buying new appliances for the home.
Always have policies in place to handle extreme usage events and be sure that the client understands that high usage will equate to a higher bill. Imagine what could happen if an auto-scaling application suffers a denial of service attack - the application scales as fast as it can and the billing goes through the roof.
I think what srfreeman says is true, but I still think a rough back of the envelope budgeting is essential to working with EC2. At the very least, the exercise will get you familiar with how the different levers scale.
Your 200GB+ storage sounds like you'll be living on one or several EBS volumes for the short while, in addition to whatever backing store you choose for your individual instances. Double check against the calculator, but I recall it being $0.1/GB. You might also have to watch the i/o ops count on a EBS if you're dealing with a large set of small files that's frequently accessed. That's generally a secondary concern, but can add up for certain users.
Bandwidth into/out of the cluster (assuming a single availability zone) should be relatively straightforward, as are the instance costs. Transfers between your instances in the avail zone are free.
That said, I would personally have concern over your apps' ability to survive an EC2 node's failure. Unless you're ready to turn it more into a proper cluster, I'd avoid EC2 and give Rackspace a better look. Their main disadvantage is that they lack any analogous thing to a EBS volume, so storage would have to be a more custom configuration your sales rep would have to setup.