Aarjav asked about Platform-as-a-Service (PaaS) options like Heroku in the comments of yesterday’s post Cloud vs Colocation vs Managed Hosting for Startups. PaaS is great in that it offers the benefits of cloud computing with easy scaling up and down while encapsulating many of the more tedious system administration functions present when doing it yourself.
Heroku, owned by Salesforce.com, is one of the best known PaaS providers, especially in the Ruby community (they support other technologies as well but Ruby is still the most prominent for them). As an example, if you write a new Ruby on Rails application, to run that application you have to set up an environment and maintain it. Manual setup might take an hour if you know what you’re doing or 5 – 10 hours if it’s your first time. With Heroku, you can get things running in 5 minutes in a super simple fashion and as you scale or need more horsepower the process of resizing an instance or adding more instances is much simpler than a traditional cloud or dedicated server model.
Heroku runs on top of Amazon Web Services (AWS), so it is even more expensive than AWS EC2 instances, which are much more expensive than managed hosting which is more expensive than colocation. Out of the box, Heroku is great and fits in with my recommendation for startups to start with the cloud. Heroku does do things like kill web requests that take longer than 30 seconds, which forces code changes like using more background jobs, which is the right way to go but might cause more code refactoring sooner than desired.
Startups using a language like Ruby and a framework like Rails are well suited to start with Heroku and graduate from there as their success permits. Startups using a language like PHP have PaaS options like PHPFog to use as well to cut down on administration time and focus on building a business. Long term, PaaS falls under specialized cloud solutions and so the same thoughts around constant availability vs burstable needs, etc still hold true.
What else? What are some other considerations for Platform-as-a-Service options for startups?