I am hugely excited. Yes, I am amazed by something that I got exposed to only recently. I am talking about Heroku – a fast emerging cloud application platform that is essentially an online RACK. It has been developed with the philosophy that web development was too complicated and yes it was.
Heroku introduces instant and continuous deployment options combined with something it calls poka-yoke (mistake proof) design philosophy that helps application management by an order. It is amazing to see how easy it is to administer apps.
Not only does Heroku offer easy application deployment options, it also helps you work with third party services or service providers like Amazon (e.g for S3 service if needed) besides aiding simpler access to external services like Twitter using pre-deploy configuration parameters.
Heroku provides the control surfaces available as a CLI, web console or full REST API for managing your app. Role based access, infinite capacity, spin-up growth, easy than easy scaling and granular control of security policies comes naturally to the Heroku platform. How can I miss the Logplex framework used for logging each real-time event that happens in your deployment? This data can be easily mined, observed for gaining fine grained understanding of what went on with your application. You could actually direct logs from other apps to your Logplex.
Heroku calls the app processes Dynos – they are fully-isolated, erosion-resistent processes running on and kept alive by the dyno manifold. Dynos receive web requests from routing, connect to app resources via environment variables, and write output to Logplex.
You can define your application parts with a Procfile and scale the dynos for each component independently. This model allows apps to scale without constant resizing. The incoming web traffic is automatically routed to web dynos, with intelligent distribution of load instantly as your scale increases.