ReviewGoGrid vs.Amazon EC2
For the last year or so, I have been running my servers on GoGrid. The main reason for wanting to do that is because I wanted to run on a Windows 2008 server, and there was no good UI for managing EC2 at the time. I have been playing around with EC2, trying to see if this fit my needs better. Well, in reality, I was trying to see if locating a server instance in Europe would give me better latency when I need to administer the servers (it does).
Nitpicker corner: The following is a review of both providers for my scenario. I know that you’ll ignore that, but do try paying attention to the fact that I am talking about my scenario, and not yours.
After playing around with EC2 for several days, I came with the following conclusions. GoGrid & EC2 only looks similar. They are actually two different offering targeting different types of scenarios.
EC2 is to handle clouds, period. Server instances are meaningless, except maybe by their role. They come & go as they please and they are utterly disposable. That makes it great if what you want to do is have a cloud. It is very hard if what you want is just running server instances.
For my purposes, I don’t want to have a cloud of indistinguishable machines, I want to be able to run a lot of different sites on different machines. Maybe I want to have a set of machines for a single site, but I still want to be able to clearly and easily separate the machines that run nhprof.com and the ones that run ayende.com.
That made working with EC2 really uncomfortable, to tell you the truth. They don’t support anything like naming an instance, which make sense, from their point of view. You should not get attached to an instance, you should get attached to an image of that instance.
That doesn’t work quite that well for my case, however. I was willing to accept this limitation, but I run into a few others that were deal breakers for me.
- Amazon EC2 doesn’t support Windows 2008. This is really annoying, both because there are some features that I could have used and because Windows 2003 (their only Windows offering) is not supporting RDP saved passwords, and doesn’t support copy/paste in the login screen. Both of which make it horrible login experience with the crazy passwords Amazon assign.
- No good way to recover an instance. I setup an instance, told it to install security updates, and rebooted it. It didn’t come up. I am not sure what I am supposed to do in this case. You have to enter a support contract to recover this, as far as I could tell (and I wasn’t willing to do so just for the trial). It seems that the response would have been: ‘just recreate the instance’.
- Long instance provisioning time. Spinning up a new instance in EC2 seems to take about 15 – 30 minutes, which is annoyingly long. Yes, I know about reserved instances, not applicable for my scenario. (GoGrid feels faster, but I don’t have any data to say if it is faster).
GoGrid, on the other hand, takes a drastically different approach.
Basically, they give you a server farm, you can create instances of machines, name them and manage them as individuals. They do support Windows 2008, and their support is phenomenal.
I have been running nhprof.com there for a long while, and overall, I love what they are doing, their support level and the experience.
Their main disadvantage compared to EC2 was that they didn’t support cloning an image, they fixed that a while ago, which makes me very happy.
This subtle difference, from focusing on set of instances to focusing on an instance, is a huge benefit for my scenario, because it allows me to manage the different parts of my infrastructure directly, instead of indirectly or via brute force.
One thing to note about both of them. They both consider instances to be disposable. If you have problems with a server, you are probably better off just creating a new instance and setting that up.
GoGrid is better than EC2 here, because they will try to salvage a dead instance, but you should have a backup and the means to restore it on a new machine ready, in the end, it is much easier than the alternative.
I am using a backup service (Mozy, if you care) for all my servers, and that takes care of that.
Note that my scenario is that I care about running my existing applications on a server in the cloud, not running in the cloud. That is why I didn’t even consider something like Azure of AppEngine. They don’t matter for this scenario.
If I was building a new application that required scaling, it would probably be a different sort of decision matrix, with potentially a different result.
From pricing perspective, they seems comparable. GoGrid says that they are cheaper, but they would :-)
Comments
Interesting evaluation. Were there any other venders that you considered before deciding on GoGrid?
I recently tried both GoGrid and EC2 as well but ended up with EC2. A couple notes on your EC2 issues:
1) You can change the admin password of an instance before you create an image, this is the first thing I do. That way when I pull up a new instance I know what the password will be.
2) Instances are disposable, but they rarely just go down. If you setup your images right and you use your EBS storage for any databases or files then it's not a big issue.
3) Totally agree about naming, the way I hack around this is to create security groups for my different images. So if its in the SQL group I know its my SQL server, you could even get more detailed like NHProf Group. Its a little hacky but it works.
I actually found the spin-up times be about the same on GoGrid and EC2.
I do agree it sucks that EC2 doesn't have Windows Server 2008, but hopefully that will be added soon.
I had two issues with GoGrid. The first was that when I was trying to send large amounts of data over FTP the connection kept being reset. This isn't a normal use case but it made me wary of their connection. The other was trying to setup your SAN storage was rocket science and after 30 minutes of messing with network settings it still wasn't working.
What are the advantages of running on a server in the cloud as opposed to running on a server anywhere else? Isn't the entire idea of clouding that you run on the cloud itself?
configurator,
The idea is that you have very short provisioning time.
I didn't think Amazon did reserved instances for Windows, only Linux?
I've used all three as well. Softlayer offers "Cloud" instances which are used for scaling and provisioning new servers in 10 minutes, are charged per minute and used bandwidth. They also offer dedicated servers which takes 15 to 30 minutes to set up (although they say it could take up to four hours). I haven't used it yet, but Softlayer also exposes a rich API for provisioning, support, and other services. Their support is wonderful. If you like GoGrid, I bet you'll love Softlayer.
When I last reviewed Amazon pricing (and go-grid pricing, which is comparable), I came to the conclusion that it does not make much economic sense to hold constantly working servers there. You can get a basic virtual private server for $40-$50 a month, while Amazon/GoGrid will charge you something like $80. Am I getting it wrong?
Ivan,
Most VPS host that I have seen give you crappy stuff.
I would rather pay to get great support and good experience.
Ivan, Amazon's pricing is very affordable if you use reserved instances: http://aws.amazon.com/ec2/#pricing
Hi,
We are competitors with all three mentioned in the above blog and agree that everyone is doing this differently. Check out our offering it might surprise you to know we are normally 1/3 the cost of Amazon EC2.
Also named in Gartner's Magic Quandrant... mediaproducts.gartner.com/.../168687.html
Here is a link http://www.layeredtech.com/cloud-computing/
Thanks for your time.
Erin 312-962-2420
If you have active GoGrid account that is not in use CLOSE IT!.
I had a terrible experience in which GoGrid charged me 500$ for a virtual machine that I never created. I also found that I'm not the only one: www.web-hosting-top.com/.../....gogrid.com-reviews.
And of course the support would not aknowledge my complaints!
Comment preview