EC2 Vs. App Engine Vs. GoGrid Vs. AppNexus
snydeq writes "InfoWorld's Peter Wayner delves into the ill-defined realm of 'cloud computing,' providing a deeper look at four shared services: Amazon EC2, Google App Engine, GoGrid, and AppNexus. Offering wildly divergent amounts of hand-holding at various layers in the stack, the services simplify your workload but force you into a set, 'ball-and-chain-computing' routine that you may not prefer. Sure, the services allow you to pull CPU cycles from thin air whenever you need to, but they can't solve the deepest problems that make it hard for applications to scale gracefully, Wayner writes. He describes these 'clouds' as an evolving experiment, rife with potential but 'far from clear winners over traditional shared Web hosting.' The sobering look at the trend includes a QuickTime tour of each service — EC2, App Engine, GoGrid, AppNexus (those links all .MOV)."
Even after reading the wikipedia article on Cloud computing, I still can't give a good definition of it. I know the general concept but if a non-tech person asked me to describe it, I'll give a blank stare.
Every geek has some sort of website, programming or computer project. Here's mine: www.youtasteit.com . What's yours?
In ten years, corporate data centers will be like COBOL is today. There will still be a lot of legacy data centers manned by dinosaurs. The cool kids, young and old, will be in the cloud.
Finally, a burst of common sense on the latest hype. Hosted servers have offered many of the benefits you get out of "cloud" computing for years, without locking you into a particular vendor or platform. With virtualization, you should be able to build your own images and farm them out to hosting companies, using your technology and platform of choice. Clustered ESX and SANs already give us the resource scalability we need for most systems, partitioning finishes the job. You can just pay a hosted server company to host your vmware image on their ESX cluster and scale up your storage as needed on their SAN. The key is that YOU build a scalable design.
I highly doubt a majority of businesses are going to lock themselves into one hosting provider's specific development platform just to take advantage of hosted servers that push themselves into the next layer.
Comparisons are OK, but let's look at reliability. EC2 is not the same as S3, but the recent fiasco with S3 and SQS should give people pause before considering using any other Amazon cloud services. Two of my clients were hit with this over the weekend.
I don't know what kinds of volumes (traffic and hosting) Google AE is handling at this point, but at this point I think I would trust Google more than Amazon. One of the issues with the S3 downtime for many people was the fact that Amazon itself (and all its properties) continued to run perfectly while all the sites that hosted images and other content with them failed. Does Google use its own infrastructure to host AE? I don't know, but if they do I'd trust them a hell of a lot more than AWS.
At this point I'm thinking I'm not going to recommend AWS anymore.
Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo
Just get the EC2 and S3 plugins for Firefox and it's really easy to fire up instances and manage them. Sure, there's a learning curve, but once you really get it, it's awesome.
The cost analysis was really what did it versus our managed hosting plan (1/10th the cost per month). Auto scaling and healing of the application cluster was also a benefit. To scale with a traditional host meant getting locked into a contract for the added server(s).
One thing about ec2 is that it forces you to use best practices for disaster recovery. Instances don't commonly just "disappear" but you need to plan for it. Well tuned ec2 images can have your site up and restored from backup automatically within minutes.
ec2 / s3 is far from perfect and certainly won't meet everyone's needs. The downtime s3 has seen (like last weekend) would be devastating to some businesses. Of course even with a traditional host you may have downtime due to truck crash or other random act.
Sometimes my arms bend back.
"I've been looking into this a bit, and the amazon option seemed the best."
I also looked a bit into Google and Amazons offerings for at Python project. Google was definitely the cheapest and if I could squeeze my project into the limitations they have established I would have chosen it. Unfortunately it is not possible to install C and Fortran extensions to Python (due to security reasons, you can install pure Python modules). This was a showstopper for me.
The critique of not providing access to a local file system is in my opinion misguided. One of the main strongpoints of the Google service is the Google File System (http://labs.google.com/papers/gfs.html). If you do not want to use it, you are probably not building a scalable and distributed web application anyway.
I found the Amazon offering too expensive for my project at this point. I ended up using a minor hosting provider specialized in my type of Python applications (webfaction.com) which does a great job but miss the distributed aspects of cloud computing (not that I need that feature at this point).