Deploy modern JVM-based apps written in

Java

Scala

Clojure

Groovy

Kotlin

Java

Polyglot JVM Platform for modern apps

Deploy

Deploy using Git, GitHub or directly from your CI system using precompiled builds with tools like SBT or Maven. Regardless of how your source is delivered, Heroku runs it in a dyno - a smart, secure, curated container with your choice of JVM version.

Manage

Manage your portfolio of apps in a single view using a straightforward Dashboard. Instantly see what version of your app is deployed and rollback to a stable version without recompiling. Manage your app’s environment specific configurations with external config vars.

Scale

Heroku’s horizontally scalable, share-nothing architecture is perfect for apps built with modern frameworks like Play, that are async, stateless and non-blocking. Heroku makes scaling out or up as simple as dragging a slider in the Dashboard or using a single CLI command.

Monitor

View detailed memory and garbage collection metrics in your Dashboard with JVM runtime metrics. Connect remote debuggers and inspection tools like VisualVM, or generate heap and thread dumps on demand to help track down even the most elusive bugs.

Curated language stacks, intelligent defaults

Get early access to the latest JDK as soon as it’s available. Heroku runs your app on the latest stable version, Java 8, by default. Heroku sets intelligent defaults for your max heap size and stack size based on the size of the dyno smart container your app is running in. Learn more >>

Extend your apps with 150+ Add-ons

Heroku add-ons like CloudAMQP, Postgres, Redis, Treasure Data (Hadoop as a service) and GrapheneDB (Neo4J as a service) allow you to extend, manage and deploy modern JVM-based applications without operational overhead. Learn more >>

Built-in debugging and inspection tools

Heroku's Metrics dashboard helps you identify many kinds of performance problems, while key language specific metrics, like garbage collection activity and memory usage, are included in Heroku's Language runtime metrics dashboard. After you've identified an issue, you can use Heroku Exec to connect to a running dyno via SSH. Learn more >>

“The Java language will always be the flagship of the platform, but the future of the JVM is polyglot programming. The JVM enables developers to choose the right tool for the job and allows those tools to interoperate using a consistent and robust platform.”