Subscribe to the book’s mailing list to be notified when it publishes and also receive a nice discount! No spam ever!
Heroku ® is a cloud Platform as a Service (PaaS) that in the seven years since its founding has experienced extraordinary growth for one simple reason: the company remains steadfastly focused on offering the premiere hosting platform for Rails, Node.js, Python, Java and PHP developers. Tasked with hosting more than four million applications and boasting a respectable list of clientele including Dollar General, Macy’s, and Toyota, it has by all accounts met these lofty expectations.
As a longtime PHP and Rails developer, I love Heroku. It’s cost-effective, offers an incredibly simple deployment process, is extremely stable and easily scalable, and is built atop much of the very same software that I use every day. Most importantly, it allows me to focus on building great applications rather than the seemingly endless administrative minutiae often required when using other hosting providers. Yet once you’ve taken the absurdly simple step of deploying your application to a Heroku server, in my experience figuring out how to most effectively carry out various administrative tasks can be a bit frustrating.
The frustration doesn’t stem from a lack of documentation; Heroku offers a comprehensive set of guides through the Heroku Dev Center. However I’ve always thought fellow developers would appreciate a learning resource that introduces key topics in a sequence coinciding with the discovery process typically followed by a new Heroku user. Being the type of person who likes to write such resources, I figured it was a fine time to put such a guide together, and so here we are.
“This is the book I wish I had when using Heroku for the first time” – Rails Developers Everywhere*
About the Book
This book is broken into five chapters, each of which is described below.
Chapter 1. Deploying Your Project on Heroku
Without question one of Heroku’s most attractive aspects is the deployment process; you’ll simply associate a Heroku-hosted remote repository to your project’s Git repository and push changes to that repository. It’s an incredibly easy task that will make your application available to the world in mere seconds. However deployment is but one of many considerations you’ll need to take into account. Other matters you’ll likely need to settle include custom domain configuration, establishment of a staging server, and installation of an SSL certificate. In Chapter 1 I’ll guide you through the myriad tasks you’ll need to undertake beyond mere deployment.
Chapter 2. Managing Your PostgreSQL Database
Although in Chapter 1 we unavoidably reviewed various PostgreSQL-related concepts since it is an crucial part of the deployment process, we barely scratched the surface in terms of how you can effectively use PostgreSQL in conjunction with your Heroku applications. In this chapter I’ll introduce you to Heroku’s various PostgreSQL plans, and show you several different ways in which you can interact with your Heroku database. You’ll also learn how to fork (create a snapshot) and follow (replicate) databases, backup your databases, and even use MySQL on Heroku.
Chapter 3. Integrating Amazon S3
Rails developers regularly use Amazon’s AWS Simple Storage Service (S3) in conjunction with Heroku to manage application content such as images and file uploads. Yet S3 can be pretty confusing to newcomers, and even more so when you need to integrate it alongside an application hosting service such as Heroku. In this chapter I’ll introduce you to S3, and guide you throug the process of integrating S3 into your Heroku-hosted application.
Chapter 4. Monitoring Your Application
Although you’ve certainly taken great care to iron out every bug before deploying your application to production, there’s simply no doubt problems will arise. As the developer it’s your responsibility to proactively monitor your application and address any problems. But how do you monitor your application logs? At first glance it isn’t so obvious and the seeming lack of capabilities can be unnerving. Not to worry because Heroku actually offers a powerful log monitoring service called Papertrail that I guarantee will serve all of your logging needs. In this chapter I’ll introduce you to Papertrail, in addition to other logging features at your disposal.
Chapter 5. Scaling Your Application
You wake up early one morning to a frantic phone call from a fellow developer. The site has crashed due to a flood of overnight traffic due to a surprise mention on YComboCrunch. Fortunately, you can easily scale your application both upwards and downwards with Heroku, adding and subtracting dynos in seconds flat. In this chapter I’ll show you how to keep tabs on your application’s performance and easily scale your project to meet present demands.
I’ve been hard at work writing “Easy Heroku for Busy Rails Developers”, and about 40% of the material is complete. In the very near future I’ll publish an early access version, and plan on publishing the book some time in January, 2015.
“Easy Heroku for Busy Rails Developers” is not affiliated with or otherwise sponsored by Heroku or Salesforce.com, Inc.. Heroku ® is a trademark of Salesforce.com, Inc. All brand names and product names used in this book are trade names, service marks, trademarks or registered trademarks of their respective owners.
* – OK I have taken the liberty of speaking on behalf of Rails developers everywhere. Trust me though it’s going to be a great book! -Jason