Launching a technology startup is a largely democratic process. Almost anyone can be a startup founder, with little more than a laptop and an internet connection. This is what makes startups such a powerful driver of change, the fact that anyone with a good idea can potentially create something useful.
However, the biggest barrier to entry for internet startups arises after the code is written; hosting an application on the internet and making it available to users can be a costly proposition. Servers, bandwidth and administration can burn through a founder's funds at an incredible rate. This may require the founder to search for angel or early-stage funding before even putting the application out to users. Without user traction, funding is less than assured.
Heroku: A Platform as a Service
This is the issue that Heroku is looking to address. Founded in 2007, Heroku is a company that offers a Platform as a Service (PaaS). This differs from the Infrastructure as a Service (IaaS) offered by the popular Amazon Web Service (AWS) that Heroku is in fact built upon. Where AWS offers infrastructure instances like linux boxes and storage space, Heroku offers a fully built and administered solution that requires little more than a code push to get an application online.
Heroku sits atop Amazon Web Services and provides the load balancing, instance management, clustering and deployment that would have to be manually created if using AWS alone. As such the cost of Heroku is higher than AWS, roughly twice the instance per hour cost. This additional cost should be balanced against the time and resources required to manage a platform yourself as a small startup. Heroku supports many popular web application languages, including Ruby, Python, Java and others.
Platform as a Service is a relatively new proposition for mass consumption, but one notable competitor to Heroku is Google, with its Google App Engine (GAE) service. While App Engine benefits from the near limitless computing power of Google servers, it is a significant design decision to use GAE. Heroku offers significantly more freedom in implementation than App Engine, which though robust, can be quite restrictive, particularly with its proprietary database model.
A Great Option in the Early Stages
The reason Heroku is such an enticing proposition for cash-strapped startups is that it is free for the first instance, which Heroku calls a "Web Dyno." This allows for deployment, prototyping and initial testing of your web application at no cost. As you build users and popularity, you simply add Web Dynos, and pay for the instance time you use. This scaleable cost structure allows you to get an application online without the previously prohibitive costs of servers and bandwidth.
An additional feature of this scalability is in matching your platform costs to the volatility of your users. If you are building a regional startup, like for example TaskRabbit, you will find traffic will vary widely over the course of a day; high traffic during the workday and weekends, low traffic overnight. With Heroku you can scale your platform up and down to meet these changes in traffic, thus ensuring you aren't incurring unnecessary costs.
Heroku is geared towards early stage applications. For applications already at scale, the platform may be quite restrictive. But as you scale up an application, you will likely have more resources to devote to building a platform yourself, and migrating to a less restrictive platform because you have too many users is not trivial, but is what entrepreneurs and investors call a "high quality problem."
A web startup is a risky proposition, success and users are far from guaranteed. This undertaking is made even more risky by the costs of getting an app online. Heroku is a great option to hedge this bet, allowing you to devote time and resources to building features that users desire, at the critical early stages of your application, a time when the long term success of your startup likely depends on it.