PacktLib: Heroku Cloud Application Development

Heroku Cloud Application Development


About the Author

About the Reviewers


Hello Heroku

What is cloud computing?

Cloud service models

What is cloud application development?

Key advantages of cloud application development

Introducing Heroku

Walking down the memory lane

An overview of Heroku's architecture

The Heroku feature set

Test driving Heroku


Inside Heroku

The Heroku platform stack

Request routing in Heroku

Heroku's logging infrastructure – the Logplex system

The Heroku add-on architecture

Programmatically consuming Heroku services

The Heroku process architecture

Running applications locally

Setting local environment variables

Process formation

Running a one-off process

Running anything


Building Heroku Applications

Heroku's guiding influence – the Twelve-Factor App methodology

Creating a Heroku application

Configuring your Heroku application

Introducing buildpacks

The slug compiler


Deploying Heroku Applications

Deployment on Heroku

Getting a Heroku account

Installing the toolbelt client kit

Logging into the Heroku account

Writing your application

Pushing your application to Heroku

The Git vocabulary

Creating a Heroku remote

Renaming an application

Sending code to Heroku

Optimizing slug size

Cloning existing Heroku applications

Forking an application

Transferring Apps

Optimizing deployments

The choice of a region

Tracking application changes

Release management


Running Heroku Applications

The Heroku app lifecycle

The Heroku CLI

Running your cloud apps locally

The Apps page


Putting It All Together

Heroku's support for Java

Integrating Eclipse with Heroku

Managing Heroku apps in Eclipse


Heroku Best Practices

The One Cloud development platform

Heroku and the data store

Creating a Heroku Postgres database

Disaster recovery in Heroku PostgreSQL

High availability Postgres

When does Heroku Postgres failover?

Configuring domains the right way

Optimizing applications

Managing your app dynos

Using the Heroku scheduler

Using NewRelic to keep the dyno alive


Heroku Security


Communication between the developer's machine and the Heroku platform

Application security tools


Troubleshooting Heroku Applications

The need for troubleshooting

Your window to the running app – the logs

Techniques for troubleshooting your app

A recommended Heroku configuration

Maintenance windows

Error classification in Heroku


Advanced Heroku Usage

Experimenting with Heroku Labs

Introducing Websockets

Heroku and Websockets

Your first Heroku Platform API call

Sharing your app on Heroku