You are previewing Professional Heroku Programming.
O'Reilly logo
Professional Heroku Programming

Book Description

A complete guide to building and deploying web apps with Heroku

A cloud application platform, Heroku is currently the only approved platform for creating apps within Facebook, and its number of users is growing at rapid pace. However, there are very few books on the market that offer professional-level coverage of this platform, until now. The author duo begins with an introduction to the Heroku platform and its associated core concepts and then goes on to explain how writing for this platform differs from that of traditional development systems. Example applications, additional resources, and advice for your next steps round out this resource, making it a thorough, indispensable guide.

  • Features information not found anywhere else, as both authors work for Heroku

  • Explains the inner workings of Heroku with special emphasis placed on building web and mobile applications

  • Introduces GIT-based development workflow and the process model within the Heroku platform

  • Details coding, building, deploying, and scaling effectively using the Heroku tool base

Providing you with fully functional code and downloadable code examples, Professional Heroku Programming is your complete guide to mastering this platform.

Table of Contents

  1. Cover
  2. Contents
  3. Part I: An Overview of Heroku
    1. Chapter 1: How Heroku Works
      1. How the Stacks Stack Up
      2. Understanding Dynos and the Dyno Manifold
      3. Understanding Dyno Isolation
      4. Exploring the Process Model
      5. Understanding Erosion Resistance
      6. Managing Version Control
      7. Understanding the Slug Compiler
      8. Routing HTTP Requests
      9. Summary
    2. Chapter 2: Architectural Considerations
      1. Building Twelve-Factor Applications
      2. Managing Your Application Portfolio with Pace Layering
      3. Ensuring Security and Compliance
      4. Understanding Redundancy and Reliability
      5. Securing Your Heroku Application
      6. Encrypting Communications with SSL
      7. Storing Static Assets and Using CDNs
      8. Summary
    3. Chapter 3: Porting Your Applications to Heroku
      1. Understanding Differences from Traditional Filesystems
      2. Choosing a Data Store
      3. Managing Sessions
      4. Understanding Caching
      5. Storing Static Assets
      6. Managing Configuration Variables
      7. Replacing Web Servers and Containers
      8. Managing Dependencies
      9. E-Mailing from Your Application
      10. Running Cron Jobs
      11. Understanding Logging
      12. Relying on External Programs
      13. Scaling Up versus Scaling Out
      14. Binding to Ports
      15. Managing Long-Running Processes
      16. Shutting Down Gracefully
      17. Moving Your Domain
      18. Summary
  4. Part II: Creating and Managing Heroku Applications
    1. Chapter 4: Deploying Your Applications to Heroku
      1. Installing the Heroku Toolbelt
      2. Interacting with Heroku via the Command-Line Interface
      3. The Magic of git push
      4. Post Deploy Hooks
      5. Navigating the Heroku Dashboard
      6. Summary
    2. Chapter 5: Managing Releases with Heroku
      1. Managing Multiple Environments
      2. Managing Configuration Variables
      3. Securing Development Environments
      4. Versioning and Rolling Back Releases
      5. Using Deploy Hooks
      6. Managing Planned Downtime and Custom Error Pages
      7. Implementing Continuous Integration
      8. Summary
    3. Chapter 6: Working with Add-Ons
      1. The Heroku Add-On Ecosystem
      2. Architectural Considerations
      3. Exploring Popular Add-Ons
      4. Installing Add-Ons
      5. Creating Add-Ons
      6. Summary
    4. Chapter 7: Managing, Monitoring, and Scaling Your Heroku Applications
      1. Adding Custom Domains
      2. Viewing Logs and Associated Tools
      3. Managing and Tuning Performance
      4. Leveraging the Heroku API
      5. Administration Options
      6. Summary
  5. Part III: Using A Data Store with Your Heroku Applications
    1. Chapter 8: Using Heroku Postgres as a Data Store for Your Heroku Applications
      1. Getting Started with Heroku Postgres
      2. Understanding Continuous Protection
      3. Understanding Automated Health Checks
      4. Creating a Higher-Availability Database Architecture
      5. Creating Databases
      6. Forking Databases
      7. Creating Database Followers
      8. Managing Databases
      9. Monitoring Databases
      10. Choosing the Right Plan
      11. Deleting Databases
      12. Backing Up Data
      13. Importing Data
      14. Using Advanced Features
      15. Creating a Sample App
      16. Summary
    2. Chapter 9: Using as a Data Store for Your Heroku Applications
      1. Getting Started with
      2. Creating a Database
      3. Importing and Exporting Data
      4. Managing Your Database
      5. Creating a Sample Application
      6. Managing Users
      7. Using Database.Com’s Advanced Features
      8. Summary
    3. Chapter 10: Using Third-Party Data Stores for Your Heroku Applications
      1. SQL-Based Options
      2. NoSQL-Based Options
      3. Attaching Existing Data Stores
      4. Summary
  6. Part IV: Programming on Heroku’s Polyglot Platform
    1. Chapter 11: Developing with Ruby
      1. Understanding Ruby
      2. Installing Ruby on Your Local Workstation
      3. Managing Dependencies
      4. Creating an Application with the Rails Framework
      5. Creating an Application with the Sinatra Framework
      6. Using Delayed Job for Background Jobs
      7. Caching with Ruby
      8. Porting Ruby Applications to Heroku
      9. Summary
    2. Chapter 12: Developing with Java
      1. Understanding Java
      2. Writing Enterprise Applications on Heroku
      3. Installing the Java Development Kit
      4. Managing Dependencies
      5. Writing a Containerless Application with Embedded Jetty
      6. Writing an Application with the Spring Framework and Hibernate on Tomcat
      7. Writing an Application with the Play Framework
      8. Deploying a WAR File Directly to Heroku
      9. Additional Considerations
      10. Summary
    3. Chapter 13: Developing with Other Supported Languages
      1. Developing with Python
      2. Developing with Node.js
      3. Developing with Clojure
      4. Developing with Scala
      5. Developing with Groovy Using the Grails Framework
      6. Developing Non-Facebook Applications on PHP
      7. Summary
    4. Chapter 14: Understanding Buildpacks
      1. How Buildpacks Work
      2. Developing .NET Applications on Heroku
      3. Developing Perl Applications on Heroku
      4. Packaging Binary Buildpack Dependencies
      5. Creating Custom Buildpacks
      6. Summary
  7. Part V: Creating a New Generation of Heroku Applications
    1. Chapter 15: Building Mobile Applications with Heroku
      1. Understanding Mobile Development Architectures
      2. Writing an HTML5 Mobile Application
      3. Using Toolkits and Add-Ons for Mobile Application Development
      4. Summary
    2. Chapter 16: Building Social Applications with Heroku
      1. Writing Facebook Applications with PHP
      2. Making Heroku Applications Social with the Chatter API
      3. Summary
  8. Appendix: Additional Resources
  9. Introduction
  10. Advertisements