Chapter 14

Understanding Buildpacks


  • How buildpacks work
  • Developing .NET applications on Heroku
  • Developing Perl applications on Heroku
  • Packaging binary buildpack dependencies
  • Creating custom buildpacks


The code downloads for this chapter are found at on the Download Code tab. The code is in the Chapter 14 download and individually named according to the names throughout the chapter.

When the Cedar stack was first released, it ushered in a new era of polyglot development by enabling developers to run programs on Heroku, not just in Ruby, but also with a multitude of different languages. Instead of being designed with a set of popular languages in mind, Cedar was built to be language agnostic, with a buildpack used as a script to set up the run time for that language or framework on Heroku. Heroku provides a number of supported, open-source buildpacks, as shown in the examples in previous chapters. For a complete list, see

However, Heroku’s creators realized that developers of less mainstream or esoteric languages would also want their programs to leverage Heroku’s rapid scalability and increased developer productivity. Obviously, developing supported buildpacks in every language that exists is not a very scalable plan (or a good use of Heroku’s resources). Therefore, they instead built in the capability ...

Get Professional Heroku Programming now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.