Learning how to program a loop is a total waste of time which brings zero value to the end user. If I can hand that drudgery off to someone else, I'll be adding features and stealing your customers while you're giddy about nesting your loops.
Learning how to use photoshop is a total waste of time which brings zero value to the end user. If I can hand that drudgery off to someone else, I'll be adding features and stealing your customers while you're giddy about reducing your PNGs.
We set up on Rackspace Cloud in a couple of hours, and we're running just fine. We're lucky in that our core market doesn't give us traffic spikes.
If and when we run into scaling problems, we'll have a learning experience but that's the same whether you're on App Engine, Amazon or just a cheap web-host running PHP/cPanel/MySQL for £20/year.
GAE is not perfect but it's a much faster environment to develop on than IaaS services like EC2. I spend 100% of my time developing features and 0% of my time developing infrastructure. "DevOps" isn't even a job description in my present company.
It is true that there are occasionally some components (eg large memory indexes) that need to be "outsourced" to other parts of the cloud. It's trivial to do, but we judge each very carefully because of the added operational load.
If you really thing appengine is shitty or overpriced, then it should be pretty easy for others to replicate and eat their lunch. The fact that no one else has managed to yet says a lot.
As an anecdote, reddit frequently has outages, they run on aws. If they switched to gae they wouldn't, it's as simple as that.
Yep. Everything I've ever taken up in life I'm still doing X years later. I've never ever transferred a job to someone else, outsourced a task I learned, or hired someone to do what I do. Nope. 100% of the time I'm doing everything I ever used to. Still. WTF?
I think most cell phone service is shitty and overpriced, but it doesn't mean anyone can just set up a competitor - it's extremely capital intensive to compete at that scale.
Yeah, I forgot that GAE never goes down.
http://www.crn.com/news/cloud/231001916/google-app-engine-cl...
http://groups.google.com/group/google-appengine-downtime-not...
Reddit is one of the top 1% of the 1% in terms of traffic. I suspect GAE would probably have trouble with Reddit on a global 24/7 basis. Perhaps not as much as Reddit's having themselves at times, but nothing's perfect. And I suspect Reddit's pocketbook wouldn't be able to afford the marginal benefit GAE would provide.
* reddit on GAE would have no options if they ran into a feature which is too expensive on the GAE architecture. Reddit on EC2 has been able to change their backend architecture dramatically to deal with growth and new features — that's a really powerful thing to give up since it means you aren't limited to GAE's lowest-common-denominator functionality.
* Even assuming reddit could affort to spend kilobucks per day on GAE, how many good sysadmins and developers could they hire for that same amount of money? At their scale, the answer is a LOT of people - and that gives a lot more flexibility since money going to GAE is a sunk cost which scales linearly with traffic whereas people generally give better than linear returns.
This is not true at all. It's very easy to run a hybrid with parts of your application in other parts of the cloud. I do this. There's even a remote API stub so you have direct access to the full suite of GAE APIs from servers in EC2 or whatnot.
There are certainly limitations to what you can run inside of GAE, but there's almost always a good way to work around it while preserving the benefits of scalability, multi-datacenter reliability, etc. I'm not saying it's for everyone, but it's great for most common web applications.
The only real difference is that gae forces you to code for scalability while aws leaves with possibilities to shoot yourself in the foot, which reddit apparently does.
I'll say they're getting better now--for a while they were a major PITA for AWS folks.
I learnt how denormalized data in the datastore can help speed things up for your app. I learnt sharding thanks to app engine. The pricing has made me make use of memcache more often and trying to avoid hitting the datastore. When I look at it, I feel I've brought in more discipline in my code because of app engine. I am now in the habit of building APIs that would run instantly. If a http call takes too long, my instinct is to make it run as a background task and then return the result.
I've learnt all of these because I've been on App Engine. I can see a significant improvement in what I'm building now. The apps we build now, all our users say it's "fast and responsive". A lot of that credit goes to App Engine and the things it has taught me.
Nothing you learn in life is really a waste of time.
This is akin to saying "Rails made me a better developer", which in and of itself is not bad or wrong, but isn't really terribly useful as a datapoint when deciding which framework to choose. Frameworks by their very nature (almost always) force concepts on you that improve your code. So too with GAE - by limiting some of what you can do, they can provide a more focused service.
It's also a great queuing service for running background tasks on an infrastructure that needs zero maintenance.
The cloud is the future and GAE greatly increases your power as a developer, so I'd say learning App Engine will make you a commodity rather than someone with unwanted skills.