Friday, March 13, 2009

Problems I have had with GoGrid cloud hosting

There are a lot of great things about GoGrid, and you can read about them all over the net. I am writing this post because what I didn't find all over the net was anyone who had any real problems, or anything critical to say about GoGrid. I, however, have had some very serious problems with GoGrid, and they have exposed - to me - things that really need to be public for others going through the decision-making process.

This is not meant to be a "scathing" review. I am a little sore over some of the support issues, but this post is purely so others can be more informed. GoGrid really is cool, and I recognize that more great features are coming.

For the past several months I have been working with several clients on migrating and creating applications to/on the GoGrid cloud. This post is written by someone with real-world experience on GoGrid with both Linux and Windows servers.

Before my decision to recommend GoGrid, I did as much legwork as I could to really understand how GoGrid worked and why it was a better or worse option than a Dedicated host, VPS, or another cloud option (like Mosso or Amazon)

My choice in the end for GoGrid really was based on several key factors: 1) ease of use, 2) recommendations of peers, 3) relative cost and 4) lack of any real complaints out on the net.

The great part of GoGrid is the ease with which you can deploy new servers. It really is as easy as I have seen. A few clicks and a few minutes later you can remote desktop to you Windows server or SSH to a Linux server. Neat!

I want to stop there with the praise though, because as I mentioned above, you can read all about how great and easy GoGrid is elsewhere.

Here come the problems:

1) Your server is not really on a cloud - not really. I created and configured a CentOS 5.1 LAMP image, installed everything I needed, and configured all the sysadmin stuff. The server and the app were running perfectly. The night before the app running on the server was set to premier, I received an email from my client saying that the site was not working. Over the next 30 hours, I came to understand that a "node" on the gogrid cloud had gone down, and my server - and my app - along with it. 

What Gogrid has done is abstracted any clients from the cloud by putting them into these "nodes." So your server apparently isn't distributed in the cloud, it is sitting on a node that I assume is distributed on the cloud. But when the node my server was on went down, GoGrid couldn't get my server back. I have been waiting nearly 2 days now and the server is still just lost. It still shows up in my GoGrid control panel, but this server does not respond to any requests of any sort (ping, ssh, etc.). What is somewhat amusing is that I can still restart this server in the control panel, which indicates that it goes offline and then comes back online - but the control panel seems to be the only thing that can communicate with the server.

The rationale for using this node model (as explained to me by support) is that if a client creates several servers, each one is guaranteed to be on its own node, and then you can use the free load balancers to distribute the applications on the servers. The immediate glaring problem is that you can't clone a server (although I am being repeatedly told that this feature is coming), so you have to manually create the servers and set them all up on your own - or use some third party tool to help you.  

If a hosting environment takes a catastrophic hit, they can almost always bring everything back the way it was from a backup (at least in my experience). This has not been my experience with GoGrid, my server has not been recoverable for almost 2 days now. On a true grid, backups would not be necessary from the host since the server would be on the grid and a failure of some part of the grid wouldn't result in the loss of your server. Of course a user would create their own backups, which they could use to repair any damage they did themselves.

GoGrid, as it exists right now, should probably stop offering LAMP images or Windows images with included SQL Server 2005 Express; this leads potential customers like me to believe that these are good, easy choices on GoGrid. They are absolutely not good choices, until GoGrid makes creating custom images a reality, starts truly distributing the servers on the grid, or until GoGrid gets some sort of useful backup routine in place.

2) Your server is not scalable. The server you deploy cannot dynamically scale. I won't go into detail on this because you can find this documented on GoGrid's site and on other reviews of GoGrid. There is a scalable storage option, but this doesn't help if you need more RAM on a server.

3) There are no tools to manage or even view DNS zone settings for the servepath name servers. If you want to use the nameservers from GoGrid, you can, but you have to create a help ticket and hope whoever creates the entries does it right (they didn't get it right the first time at least once for me). Once they are set, you can request that support emails you your settings, but until DNS propagation is complete you have no other way to verify your name server settings - nothing real time, and nothing easy. I was coming from Rackspace, who had a control panel built into their interface for viewing and editing zone settings. Again, in GoGrid you can create a nameserver of your own and administer it - but that is completely up to you - nothing easy.

4) This brings me to my last big issue with GoGrid: support and support updates.

I was coming from a Rackspace dedicated hosting environment. My client was paying about 30% more for that Rackspace solution that they are currently paying for a comparable GoGrid solution. My experience with Rackspace has been absolutely fantastic. Rackspace support is really second to none. Rackspace understands that since they are in the business of leasing servers, it makes sense to provide as much information about how to best manage those servers to their clients as they can.

GoGrid support is not Rackspace support. If you need OS-specific help working something out, you and Google are on your own - or you have to shell out more $$ for paid support from GoGrid. Hear me out; how many times have you set something up that you have set up a hundred times before, but there is one little problem and for the life of you, you can't see where the issue is coming from? You just need a second set of eyes, and 2 minutes of someone's time to help you see past the problem. 

With Rackspace, that sort of help was always there. With GoGrid it falls away very quickly. I had a couple of these little issues, and eventually worked them out and slapped myself on the forehead. But in the moment, when I could have used a quick answer from the host that my client was shelling out good money for - there was only the suggestion that I look into their paid support.

I will say that you can end up on chat or on the phone with some very helpful people at GoGrid. But you can also get someone who is far less helpful. It seems clear to me that there are support staff who are stakeholders in GoGrid's success, but there are other (probably contracted) support staff who are not.

When my server went down, I opened a support case, jumped on chat and started trying to get any information about what was going on. It took several chat sessions, a handful of emails, several phone calls, and about 4 hours to finally get someone to tell me that a node had gone down on GoGrid, which is why my server stopped responding. This still raises my blood pressure, because when I finally got an answer about what had happened, the person who told me said that there had been an entry made (into whatever system they use to track problems) around the time I first logged my case about the server problem. 

I have things go wrong with clients sometimes. Sometimes it is the result of something that I did or didn't do. It happens. But I don't try to hide it, and I don't run them around if they ask me what happened. This has been my biggest disappointment to date with GoGrid; I feel as though I was given the run-around by support staff until I talked to the right person. 

One interesting aside is that I was using Twitter to document some of my experience and several GoGrid folks started following me. Someone from GoGrid support called and left a message last night at midnight to see if there was anything they could do, mentioning that one of their superiors had seen my tweets. That felt kind of cool, but I still have not had anyone update me on the open ticket on my server status since yesterday when I called to check. 

In the saga of the lost server, we ended up recreating the application on a shared host and changing our domain's name server settings to point to the shared host. The app is not expected to need too much bandwidth as it is only the preview version. We will probably still use GoGrid for the final app, we will just set everything up differently.

CONCLUSIONS:
  • GoGrid is really only easy for the first 20 minutes of a server's lifespan, after that you may as well be on a VPS for a lot less money (unless you want a distributed app).
  • I am going to continue to recommend GoGrid for some clients. 
  • I am going to recommend against GoGrid for far more clients.
  • I know now that having two 512KB (of RAM) servers, a separate database server with backups scheduled onto the cloud storage, and a free load balancer to distribute incoming requests to the 2 servers is better than a single 1GB LAMP server. 
  • I have found that there are some great support people with GoGrid, it is just a shame that there are also some less-great support people.
  • Don't use GoGrid if you need a single server. Seriously don't.
My suggestions to GoGrid
  • Stop offering LAMP images and Windows Server with SQL 2005 Express images until you can offer truly distributed server instances, or work out real backups.
  • Provide at least read access to the zone settings for domains within users' accounts. Better yet let them manage the zone settings for their domain, on your name servers, on their own.
  • Make cloning servers, or creating custom, boot-able images easy (I am being told this is coming)
  • Allow scaling of servers (this is supposed to be coming as well)
  • Get more "stakeholder" support staff, and when something really bad happens be proactive on keeping clients updated. (I've waited long enough for my update, I'm deleting my servers in the control panel now)

Labels: , , , , ,

9 Comments:

Anonymous Anonymous said...

Great post! I've been looking for something like this for weeks - I'm in the process of working out if GoGrid is a good option.

I think for now I'll give them a skip.

3:44 AM  
Blogger John Daharsh said...

To be clear, we are still using GoGrid for 2 clients, and it is working great. For now though, they should be used for apps that you build to be distributed, not just for stand alone servers.

3:44 PM  
Anonymous Anonymous said...

Great review and very informative one. GoGrid has recently made changes to their setup/plans I believe (checked them again after a month or so and it looks different for sure).

I was seriously thinking about using GoGrid for my future website (really big one! ASP.NET + SQL Server) and tried to take a deeper look into their plans last night.

What bothered me and took me away was them pushing me to create an account and give them my creadit card just to configure their plans???

I mean, seriously, they have a problem. Their model is pay per use yet they wont let me configure/setup a plan to see how much it is going to cost me every month without taking personal/billing information from me. All I wanted to know was get an idea how much it was "probably" going to cost me and they started asking for credit card? No Thank You!

1:06 PM  
Anonymous Michael Sheehan said...

Hi John,

First, just so that it's clear, I'm the Technology Evangelist for GoGrid and I'm here as a resource for you (and other reading this post).

I appreciate the time you spent on this article. It shows that you clearly took time to think out a response. I think it is important to list out the positives and negatives with any product so kudos to you for taking the time to do so.

I did want to briefly address some of the points in your article. I definitely don't want this response to be a rebuttal but I do want to respond in some way.

First off, no Cloud Computing provider is perfect, whether it be large or small. It's important to look at both the strengths and weaknesses when evaluating a hosting strategy, cloud, dedicated or mixed.

To answer some of your specific points:
Node model - Our model is similar to other cloud providers (e.g., Amazon) where there is a topology of nodes and “servers” are instantiated across distributed nodes. We do make best efforts to instantiate servers across these distributed nodes. However, with ANY type of hosting, it is important to have not only a full backup strategy, but also redundancy built into your environment.
Personal Server Images - You are correct about the ability to create private server images is coming. I encourage you to read this post about it.
LAMP & Windows Images – I don’t fully understand your comment about that. We want to help users get a jump start, thus we provide some templates.
Not Scalable – not many cloud providers offer scalability as an option. We do have a few partnerships (with RightScale & Skytap among others) that can help with scalability. Also with the personal server images coming out and some new architecture, scalability will be improved.
DNS – this is something that is on our roadmap and will be coming
Support– Rackspace does have good support from what I have heard. I agree that support is a critical component to any vendor. As we grow (and we have been hiring), we continue to fine tune our support strategies and systems to make it even more robust. Thank you for the input. Do note, Amazon only offer paid-for support (free is their forums). I believe that some Rackspace support has optional paid support as well (I would have to confirm that). Also remember, with many organizations there are good and better support people and a tiered structure usually exists.
Transparency– this is critical to me in particular. We make best efforts to send out RFO’s as well as update the status blogs when appropriate. When we were recently attacked by a DDoS, our founders repeatedly sent out updates on the status, as well as issued SLA credits (despite the fact that DDoS attacks are NOT covered under the SLA).
Twitter– there are many of us on twitter that can help out if needed – me (@hightechdad), Randy Bias (@randybias) and Paul Lancaster (@paullancaster).
Cloud – I haven’t seen any Cloud Computing definitions that talk about fault tolerance or resiliency. In my mind, this is up to the Infrastructure Architect when crafting a solution. We are working on some “best practices” that people should think about when creating an infrastructure. See this post for an example.
Single Server– If you have a single server with no backups or redundancy, you could well suffer an outage. BUT this is true with ANY hosting provider.

A quick response to the Anonymous commenter: what changes in specific are you talking about? We have not made any significant changes recently. Also, most hosting providers require a credit card to do business. There are very few providers that let you try the service for free. In order to keep our environment clear of spammers and the like, we do have fraud prevention measures in place so we do require a credit card.

Thanks again John for your thoughtful post. I’m here to answer any questions that you may have. Feel free to email me as well: Michael [at] gogrid.com

Sincerely,
Michael

12:15 PM  
Anonymous Anonymous said...

Excellent post. We found GoGrid good unless your userid goes inactive, then it is impossible for support to reactivate it again. Do not under any cirumstances forget your password and get your userid locked.

11:39 AM  
Blogger system admin said...

As a GoGrid customer, I would have to agree that support is less than stellar. Today I had an issue with one of my web servers. It has an intermittent high load problem. The first two "primary" tech support people I talked to did not understand the problem: one recommended I reboot the server, and the other one remove my firewall entries. Needless to say the issue was not resolved until I pointed out the problem to the tech support person on the phone while it was happening. After this the problem got escalated to a "system" tech after which the issue got resolved. I am still waiting for explanation of the problem.

My current strategy dealing with server problems in GoGrid is to create a new server, move over the services from the offending server to the new server, and abandon the failing server. This is typically quicker than having to deal with their tech support. However this has one big issue, the load balancer.

The load balancer GoGrid offers does not currently allow you to change configurations on the fly, i.e. add or remove IP address from a running load balancer entry. The only way to change a load balancer entry is to delete it, wait 15 minutes, and the recreate it. This causes an unavoidable 15 minutes of downtime. The only way for the load balancer to ignore one the entires is to delete the server, down the eth0 interface, or reboot the server. Shutting down the web server process does not stop the load balancer from sending requests to the server involved.

7:06 PM  
Blogger guillomemain said...

Hello,

I have just had a very annoying issue with them. Tried to install ISA, but it will drop every incoming connection after installation. I don't get any console access. The guy didn't really understand my problem.

The other was: I had a server running and then overnight it stopped working. They told me it was some kind of memory problem and couldn't get the server up and running again. Ridiculous. They told me to reinstall the server.

No comment...

11:16 AM  
Anonymous Anonymous said...

Wow! - GREAT Article - I almost sign4ed up for my company with GoGrid - this article changes that - I will stick to struggle with Amazon - I am confident once I figure it out it will be a much more stable and better company to deal with. I am so GLAD that I read this. Thanks John!!!!

5:08 AM  
Anonymous Michael Sheehan said...

Hi all,

It's been a while since I visited this thread so I figured that I would bring everyone up to speed on the latest status of GoGrid as well as respond to some of the questions from those who left comments.

For starters, GoGrid is officially out of beta (a few months ago) and we have released some new product enhancements that are important, specifically, the introduction of personal server images known as MyGSIs.

With a MyGSI, you can create a server image, install your data, code and applications, then package it up (shrink the size) and store within GoGrid Cloud Storage (remember we provide 10GBs for free so typically you can store a couple MyGSIs for free or for just a few dollars a month if you are over your initial 10GB allotment). Once you have a MyGSI configured, you can deploy clones of those MyGSIs which have all of the code/applications/data that were in your initial MyGSI. This is helpful especially if you want to scale your infrastructure quickly.

Specific to some of the comments that were made:

@Anonymous - If you want, we have a billing calculator located here: http://www.gogrid.com/pricing/ (look for the "Estimating Your Costs" button on the left). This should provide you with a means to figure out what package best suits your needs.

@Anonymous #2 - We have made changes to how the User ID works and there is a complete password recovery section now built in.

@system admin - As I mentioned previously, with MyGSI if you set up any new servers that way, should you encounter any issues, you can simply delete and deploy a new server in minutes. Regarding the Load Balancer, I agree that we need the ability to be able to edit the LB. That functionality is on our Road Map and will be deployed in the near future.

@guillomemain - Sometimes Microsoft installations may fail if you only have 512MB (or less than 1 GB) of RAM on the server. How much did you have configured? Have you tried again recently?

@Anonymous #3 - We have made great inroads with the 2.0 release, coming out of beta and 99.99% uptime as of recently. We also continue to fine-tune the Support & Billing experiences and have fully implemented Service Teams to make the on-boarding and management process a bit easier (hopefully).

I am always open to suggestions on what we can do from a service or functionality standpoint to make GoGrid better. Feel free to contact me: Michael AT GoGrid.com if you have questions or suggestions.

Lastly, for those people who want to try GoGrid, I can offer a $100 credit good for new accounts only. Simply click through this link and sign up and you will have the credit applied.

Thanks,
Michael Sheehan
Technology Evangelist for GoGrid

10:21 AM  

Post a Comment

<< Home