Those of you who read my blog would know that I have been using GoGrid for almost a year now as a primary host for our suite of applications.
Although the EC2 offering is much richer and far more advanced, GoGrid has the benefit of Windows Server 2008 images which was too compelling to ignore. However choosing to go with GoGrid meant forfeiting the very solid infrastructure that EC2 has.
So it was to my delight on August 10th that GoGrid announced MyGSI.
“The MyGSI feature allows you to create, save, and store a "Server Image" in which to instantiate Database and Web/App Servers from.”
My requirement was to set up a Windows Server 2003 – 64-bit image with IIS, SQL Server 2005 Express, MSMQ, SMTP Service and FTP Service. Pretty standard setup really for a .NET app.
The first (of many) disappointments was that there is no way to create an image from a running instance. This is a big PITA and is one of the key reasons why it’s taken me till now to try out the new offering.
I was able to create the Sandbox server with no problems and get working within minutes.
Beware however that the Image Sandbox only comes with only 20GB storage but that should be enough for most applications.
First on my list was to install FTP Service, SMTP Service and MSMQ. Was pretty annoyed to find that the files needed to install these weren’t on the server. After chatting to a support person they clarified that the files should be there, however they weren’t.
Next up I needed to connect to my Cloud Storage drive and ran through the steps on their wiki but again it did not work correctly and I needed to go to support for help, they resolved it swiftly but would be nice if thing’s worked first time.
Cloud Storage works differently to the EC2 EBS Solution and acts more or less like a NAS unlike the EBS which acts like a mounted drive. This effectively means you wouldn’t want to run all your application files and database off of this drive as the performance (I think) would be too slow. Also as far as I can tell there is no CDN offering for Cloud Storage so it isn’t really a solution for serving unstructured data either. It makes for a nice backup solution but that’s about all.
So eventually I managed to build my image sandbox and everything was working nicely, it then came time to save my image.
Now the process of saving your image is quite scary to say the least because you first have to “Prep” it. This involves running a little console app and then follow the instructions. This then triggers the server to shut itself down and boots you out of RDP.
What happened next was not the intended behaviour (I hope).
There was no log or status updates to be found in the GoGrid Console so I guess you just have to cross your fingers and hope for the best. I later found out that only the network adapter was shutdown which meant I couldn’t use RDP and the image was not created.
Again I had to use support and they resolved the issue quickly.
Finally I had my image saved and ready. Now came the true test, creating a new instance from my saved image.
Given the experience thus far I thought maybe it could be redeemed. Nope! no such luck. The “Creating Virtual Server” job failed with the very helpful “Fatal” error message. I tried again twice and got the same error.
Again I had to use support, they couldn’t resolve the issue and I currently have an open support ticket.
So basically this arduous process was a waste of half of my day with no result. In total I had to use the support chat four times, once at every major step of the process.
The big picture goal I was trying to achieve here was moving some of our infrastructure from EC2 to GoGrid. I’m now in the position of being responsible for not delivering on these tasks because to my fault I trusted that this service would work as intended.
It highlights what seems to be a growing trend in agile tech companies. Releasing Alpha versions of products/services, labelling them as Beta then letting your paying customers test them and swallow the support costs.
I certainly don’t envy GoGrid and other cloud computing providers who are effectively playing catch up on Amazon who are miles ahead of anyone in this area.
Responding with less features is acceptable given that they function correctly and there is a clear roadmap for new features. However the ability to create and maintain server images of which to create instances from is an absolute fundamental part of the Cloud Computing model and as such should be the main priority.
To GoGrid’s credit the support team are very helpful and can answer and respond to most questions quickly. However with the Amazon Web Services there is no support (unless you pay for it) but there hasn’t been a single case where I’ve needed it because everything “just works” as it should and there is documentation a plenty.
Pros
- Ability to add meaningful names and descriptions to your instances and images, this is something that bugs the hell out of me in Amazons new Management Console
- You can downgrade your instances. (In EC2 you can’t go smaller than the instance you created the image from).
- 24/7 Support
Cons
- No answer yet to Amazon EBS Volumes
- Cloud Storage is more of a NAS approach than RAID
- Not all files exist on the server for the optional Windows components (FTP Service etc).
- Can’t create Images from running instances.
- Pretty meaningless logs and messages.