Creating Java TrustStores and KeyStores from Environment Variables

Java apps have traditionally managed TrustStores and KeyStores as regular files on the filesystem in JKS format with keytool. This mechanism was fine when the state-of-the-art in system administration required copying files from server to server. But in the era of the cloud, our apps need a better system.

»
Author's profile picture Joe Kutner

Customizing JRuby Cipher Suites

A flurry of security vulnerabilities in the last couple of years have accelerated the deprecation of many cryptographic protocols and cipher suites. As a result, you might have run into this error if you use JRuby:

»
Author's profile picture Joe Kutner

Using SSL with the Postgres JDBC Driver

The PostgreSQL JDBC Driver defaults to using an unencrypted connection. At Heroku, this presented a problem when we decided to move certain database types to dedicated single-tenant instances. Our hope was to improve performance for our customers without them needing to change a single line of code. But the new database instances required an SSL connection, which meant our customers would need to adjust their database configuration before we could migrate them.

»
Author's profile picture Joe Kutner

Improving Java Start-Up Time

The performance of the JVM can’t be beat, unless you’re talking about its start-up time. The JVM isn't known for being fast to boot, and many application frameworks have only made the situation worse.

»
Author's profile picture Joe Kutner

Running ClojureScript Apps on Heroku

In this article, you'll create a simple ClojureScript application with Leiningen, Figwheel, Om and a few other libraries from the Chestnut template. Then you'll learn how to deploy that application as an Uberjar to Heroku.

»
Author's profile picture Joe Kutner

Deploying Gradle Apps to Heroku with Docker

In this post, you'll learn how to deploy a Docker-based Gradle application to Heroku using the Heroku Docker CLI. We'll use a simple Ratpack app as an example, but you can follow along with any Gradle application. This is a Mac and Linux guide only (until Docker supports docker-compose on Windows).

»
Author's profile picture Joe Kutner

Deploying Clojure Apps to Heroku with Docker

In this post, you'll learn how to deploy a Docker-based Clojure application to Heroku using the Heroku Docker CLI. We'll use the Immutant Feature Demo as an example, but you can follow along with any Clojure application as long as it uses Leiningen to build an uberjar. This is a Mac and Linux guide only (until Docker supports docker-compose on Windows).

»
Author's profile picture Joe Kutner

A New JRuby Launcher

Updated: September 11, 2015. Please try this again with the new release!

»
Author's profile picture Joe Kutner

Testing JDK 9 EA with Heroku

You can test JDK 9 in just a couple of minutes by deploying any JVM-based app to Heroku.

»
Author's profile picture Joe Kutner

Asynchronous Request Processing with JRuby

Many Ruby developers have turned to Node.js because it allows them to do the kind of asynchronous programming that improves throughput, latency, and resource utilization. Its inherent non-blocking IO makes asynchronous request processing natural. CRuby doesn't have a built-in async IO solution, but JRuby does!

»
Author's profile picture Joe Kutner

Deploying JHipster Apps to Heroku with Git

JHipster is a Yeoman generator used to create Spring Boot and AngularJS apps.

»
Author's profile picture Joe Kutner

Remote Debugging a Java Process on Heroku

Java processes on Heroku run inside of a dyno, which has a few restrictions that make it difficult to attach debuggers and management consoles. But it's not impossible.

»
Author's profile picture Joe Kutner

The Twelve Factor Scala App

The 12-factor app is a collection of best practices for deploying scalable, maintainable and portable applications in the cloud. It synthesizes the experiences and observations we've made at Heroku after hosting and supporting thousands of production Scala applications.

»
Author's profile picture Joe Kutner

Running a Minecraft server on Heroku

You only need one file with one line of text to run a Minecraft server on Heroku with my Minecraft buildpack. It solves all the problems associated with the use of TCP and Heroku's ephemeral filesystem.

»
Author's profile picture Joe Kutner

How to Deploy to Heroku from Eclipse

This short video (less than a minute and a half) demonstrates how to create, deploy and configure a Heroku application from Eclipse.

»
Author's profile picture Joe Kutner