Introducing AWS Elastic Beanstalk
aws.typepad.com
aws.typepad.com
(edit: I had somehow read what you said to mean, "no, but with these new limitations", so arguably I should just delete my response here, but I think that a specific list of things might be valuable still)
What has AWS done in the past? They've introduced a new product, then over time:
1) Made it easier to manage 2) Made it more automated 3) Added additional bits of functionality
Why would we not expect them to do the same with Beanstalk?
More importantly, that loses some of the simplicity, meaning that you still have to think about infrastructure to a degree.
Heroku is git push to deploy, and if you have a standard Rails app, that's it.
Whereas to deploy a standard Rails app, after you package up your app as a .war with JRuby (and deal with possible gem incompatibilities), you have to spin up an RDS instance too. And change the config in your Rails app so that it knows how to talk to the RDS instance. And if your RDS instance crashes, they backed it up for you, but you still have to manually restore from the backup.
And once you're already thinking about infrastructure to that degree, you've lost a lot of the benefit of a PaaS.
Ignoring provisioned storage and request costs one can have a small on-demand RDS instance for ~$80/month. Heroku's instance (RAM/CPU) equivalent (Ronin) is $200/month.
It's possible we'll see people springing up on EC2 offering those as separate services, however.
The other interesting part is that, since they don't do shared hosting but make you use a whole EC2 instance, there's potential for it to cost considerably more for smaller sites, but only once you get past that free plan of theirs (then again, the disk I/O on the Micro instances is truly awful)
From what I'm reading, Beanstalk changes this and clearly puts AWS in the category they've long claimed to be in. Not that their service wasn't great/unique before. This just puts them that much further ahead.
It's along the lines of what Heroku does with their routing mesh layer (as far as I understand it).
Now, Amazon may start siphoning off python users that switched to rails just to use Heroku.
“We’re working with AWS to provide an Elastic Beanstalk Ruby on Rails container that leverages the optimized Engine Yard stack which has been battle-tested by thousands of high-growth companies.” John Dillon, CEO of Engine Yard
http://www.businesswire.com/news/home/20110119005591/en/Amaz...
a lot of "cloud" services these days are nearly identical to VPS services of yore, with the added new ability to create/destroy VPS nodes whenever you want. very few of the big "cloud" providers actually handle auto scaling (as it's difficult in a world where all apps are not made the same).
You can do this with EC2. You can set up monitors based on CPU usage over a time period and it'll start new nodes if required.
S3 is 'autoscaling' for serving files. Just upload your files and pay for what you use.
a "true" cloud would just handle all that stuff transparently.
Be wary of leaky abstractions.
http://www.joelonsoftware.com/articles/LeakyAbstractions.htm...
Cloud = "That service/infrastructure/platform that you need that will be hosted by someone else in their data center"
If we wanted to be precise, we could refer to it as "Storage Clouds", "App Server Clouds", "Database Clouds", etc...
1. Can my database auto-scale?
2. Can my JVM heap auto-scale beyond 2 GB without GC pauses?
Conceivably one could use jython or quercos to deploy python or php applications.
If you wanted something similar for Python or PHP then you could use VMWares VApp stuff which gives you the PaaS solution on top of hardware hosted by Colt which gives you the IaaS solution.
The reason that the VMWare offer gives you Python, PHP or other stuff, is that under-the-hood VMWare are using Chef and you can run your own custom Recipes, hence you could deploy whatever you want as a managed platform... though you would lose the Eclipse right-click deploy (though honestly if you're deploying from CI you're probably not going to be using this anyway).
Edit: It being almost impossible to just find simple and clear documentation on the VMWare site, this is the info link I've managed to unearth: http://www.vmware.com/products/vcloud-director/overview.html
The key point is that you could create a virtual datacenter, hosted with a 3rd party like Colt, and then use Chef to manage it as a platform, and deploy directly to it as if you owned your own "Elastic Beanstalk".
As an aside, I for one am getting tired of the never-ending list of acronyms and strange product names that are coming out from every vendor.
http://techcrunch.com/2011/01/19/amazon-web-services-introdu...
The specialized services will be less work to maintain for developers, and will offer unique additional features that Amazon will have a hard time keeping up with if they try to spread themselves too thin.
It seems likely that, not only can Amazon compete, but could probably dominate. Heroku is a big outlier and really the first to demonstrate that the need/power of a PaaS. It doesn't look like there's anything nearly as mature for Python. Don't know about other languages/frameworks, but if it's like Python, Amazon has a big opportunity here.
I've had the opportunity to play around with andrewgodwin's ep.io and while also in private beta, is worth some attention.
For python hosting, GAE is probably the only real competition at this point. There is a HUGE opportunity to eliminate sysadmin work on all these stacks for smaller developers especially. I am just not sure if Amazon will domiate both the infrastructure and platform layer.
I think smaller developers stand to reap huge productivity benefits from easier to use and more feature-rich platforms such as Heroku.