Heroku (pronounced her-OH-koo) is a cloud platform for Ruby, Node.js, Clojure, Python, PHP and JVM-based (Java, Scala, etc.) applications. It features, among other things:
- Cloud-based web and worker processes ("dynos")
- Hosted PostgreSQL database (both shared and dedicated)
- a Git-based deployment strategy
- a number of services offered as add-ons
- a fully managed, multi-tenant architecture
- a full API
Git-based deployment strategy
Applications on Heroku are managed with Git. Simply pushing your codebase to Heroku is all it takes to deploy your application.
Heroku offers a growing number of add-ons via its add-on provider program. Additional services, such as error tracking and reporting, incoming and outgoing email services, hosted no-SQL databases and more is available via a few clicks or commands on the prompt.
Fully Managed, Multi-Tenant Architecture
Heroku's architecture is designed to keep your app running smoothly with minimal interaction on your part. The Heroku site has a detailed explanation of its architecture.
All of Heroku's functionality can be accessed from the command line (via the Heroku gem), including managing SSH keys, increasing or decreasing the number of dynos, managing SSL certificates, adding or removing add-ons, and more.