Professional Heroku Programming
Home > Computing and Information Technology > Computer programming / software engineering > Professional Heroku Programming
Professional Heroku Programming

Professional Heroku Programming

|
     0     
5
4
3
2
1




Out of Stock


Notify me when this book is in stock
About the Book

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 begin with an introduction to the Heroku platform and its associated core concepts and then go 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:
INTRODUCTION xxv PART I: AN OVERVIEW OF HEROKU CHAPTER 1: HOW HEROKU WORKS 3 How the Stacks Stack Up 4 Understanding Dynos and the Dyno Manifold 6 Understanding Dyno Isolation 8 Exploring the Process Model 8 Understanding Erosion Resistance 10 Managing Version Control 11 Understanding the Slug Compiler 12 Routing HTTP Requests 13 Summary 15 CHAPTER 2: ARCHITECTURAL CONSIDERATIONS 17 Building Twelve-Factor Applications 18 Managing Your Application Portfolio with Pace Layering 21 Systems of Record 21 Systems of Differentiation 21 Systems of Innovation 22 Classification 22 Security and Reliability 22 Governance 23 Application Portfolio Management 23 Ensuring Security and Compliance 25 Physical Security and Safeguards 25 Network Security 25 Dyno- and Stack-Layer Security 26 Data Retention 27 Dealing with Security Issues 27 Certifications, Accreditations, and Compliance 27 Understanding Redundancy and Reliability 28 Disaster Recovery and Availability Zones 28 Availability and Transparency 29 Securing Your Heroku Application 31 Use a Strong Password for Your Heroku Account 31 Encrypt All Data in Transit 32 Encrypt Sensitive Data at Rest 32 Use Best Practices for Secure Development 32 Don't Reinvent the Wheel 32 Verify Security and Compliance Needs with Third-Party Providers 32 Monitor Your Application's Logs 33 Encrypting Communications with SSL 33 Piggybacking on Heroku's SSL Certificate 33 Using SSL Endpoint 34 Storing Static Assets and Using CDNs 36 Storing Static Assets on Amazon S3 36 Speeding Up International Applications with Amazon CloudFront 41 Summary 43 CHAPTER 3: PORTING YOUR APPLICATIONS TO HEROKU 45 Understanding Differences from Traditional Filesystems 46 Ephemeral Filesystems 47 Multi-Dyno Applications 47 Considerations for Porting Existing Applications 47 Choosing a Data Store 48 Using Heroku Postgres as a Data Store 48 Using Database.com as a Data Store 49 Using Add-On Data Stores 50 Using a Third-Party Data-as-a-Service Provider 50 Using Multiple Data Stores 51 Considerations for Porting Existing Applications 51 Managing Sessions 51 Understanding Caching 52 Storing Static Assets 54 Managing Configuration Variables 54 Replacing Web Servers and Containers 55 Managing Dependencies 56 E-Mailing from Your Application 57 Running Cron Jobs 57 Understanding Logging 59 Relying on External Programs 61 Scaling Up versus Scaling Out 62 Binding to Ports 62 Managing Long-Running Processes 63 Shutting Down Gracefully 65 Moving Your Domain 66 HTTPS over SSL 66 Considerations for Porting Existing Applications 67 Summary 68 PART II: CREATING AND MANAGING HEROKU APPLICATIONS CHAPTER 4: DEPLOYING YOUR APPLICATIONS TO HEROKU 73 Installing the Heroku Toolbelt 73 Git 74 Foreman 75 The Heroku Client 76 Interacting with Heroku via the Command-Line Interface 77 The Magic of git push 79 Post Deploy Hooks 80 Navigating the Heroku Dashboard 80 Changing Your Application's Name 82 Adding Custom Domains 83 Adding Custom Collaborators 83 Scaling Resources 84 Summary 87 CHAPTER 5: MANAGING RELEASES WITH HEROKU 89 Managing Multiple Environments 90 Managing Configuration Variables 94 Securing Development Environments 97 Versioning and Rolling Back Releases 100 Using Deploy Hooks 102 Managing Planned Downtime and Custom Error Pages 103 Implementing Continuous Integration 107 Summary 114 CHAPTER 6: WORKING WITH ADD-ONS 115 The Heroku Add-On Ecosystem 116 Architectural Considerations 117 Exploring Popular Add-Ons 117 SQL-Based Data Stores 118 NoSQL-Based Data Stores 118 Search 119 Logging and Monitoring 120 Installing Add-Ons 121 Installing Add-Ons from the Heroku Dashboard 122 Installing Add-Ons from the Command-Line Interface 125 Creating Add-Ons 127 Summary 131 CHAPTER 7: MANAGING, MONITORING, AND SCALING YOUR HEROKU APPLICATIONS 133 Adding Custom Domains 133 Viewing Logs and Associated Tools 136 Managing and Tuning Performance 140 Performance Management with New Relic 141 Performance Tuning Guidelines 145 Leveraging the Heroku API 145 Administration Options 146 Mobile 146 Multi-Accounts 149 Heroku Manager 150 Summary 153 PART III: USING A DATA STORE WITH YOUR HEROKU APPLICATIONS CHAPTER 8: USING HEROKU POSTGRES AS A DATA STORE FOR YOUR HEROKU APPLICATIONS 157 Getting Started with Heroku Postgres 159 Understanding Continuous Protection 159 Understanding Automated Health Checks 160 Creating a Higher-Availability Database Architecture 160 Creating Databases 161 Forking Databases 164 Creating Database Followers 164 Managing Databases 166 Monitoring Databases 166 Choosing the Right Plan 167 Deleting Databases 168 Backing Up Data 169 Importing Data 171 Using Advanced Features 173 Sharing Information with Data Clips 173 Using hstore for Schema-Free Data Storage 174 Cancelling Queries 176 Creating a Sample App 176 Summary 179 CHAPTER 9: USING DATABASE.COM AS A DATA STORE FOR YOUR HEROKU APPLICATIONS 181 Getting Started with Database.com 182 Creating a Database 183 Importing and Exporting Data 188 Managing Your Database 191 Creating a Sample Application 193 Managing Users 198 Authenticating Users 198 Using Advanced Features 199 Understanding Profiles and Sharing 199 Enforcing Data Integrity with Validation Rules 200 Automating with Workflow Rules 201 Managing Change with Test Databases 202 Storing Files 203 Automating with Apex Triggers 203 Leveraging Social Graphs 204 Summary 204 CHAPTER 10: USING THIRD-PARTY DATA STORES FOR YOUR HEROKU APPLICATIONS 207 SQL-Based Options 207 MySQL 208 Alternative Postgres -- JustOneDB 215 NoSQL-Based Options 217 MongoDB 218 Redis 220 Apache Cassandra 222 Apache CouchDB 224 Attaching Existing Data Stores 226 Summary 229 PART IV: PROGRAMMING ON HEROKU'S POLYGLOT PLATFORM CHAPTER 11: DEVELOPING WITH RUBY 233 Understanding Ruby 234 Installing Ruby on Your Local Workstation 234 Managing Dependencies 235 Creating an Application with the Rails Framework 238 Writing the Application 238 Signing Up for a Twilio Account 244 Deploying the Application to Heroku 244 Testing the Application 247 Creating an Application with the Sinatra Framework 248 Writing the Application 248 Deploying the Application to Heroku 251 Testing the Application 253 Using Delayed Job for Background Jobs 253 Setting Up Delayed Job 255 Deploying the Application to Heroku 257 Testing Delayed Job 258 Caching with Ruby 261 Porting Ruby Applications to Heroku 263 Summary 265 CHAPTER 12: DEVELOPING WITH JAVA 267 Understanding Java 268 Writing Enterprise Applications on Heroku 268 Installing the Java Development Kit 271 Installing on Windows 271 Installing on Mac OS X 272 Installing on Linux 272 Managing Dependencies 272 Writing a Containerless Application with Embedded Jetty 275 Writing an Application with the Spring Framework and Hibernate on Tomcat 281 Writing an Application with the Play Framework 286 Deploying a WAR File Directly to Heroku 294 Additional Considerations 295 Porting Java Applications to Heroku 296 Session Management and Caching 297 Memory Management 298 Continuous Integration 298 Summary 298 CHAPTER 13: DEVELOPING WITH OTHER SUPPORTED LANGUAGES 301 Developing with Python 302 Additional Considerations 309 Developing with Node.js 311 Additional Considerations 317 Developing with Clojure 319 Additional Considerations 326 Developing with Scala 328 Additional Considerations 334 Developing with Groovy Using the Grails Framework 336 Additional Considerations 341 Developing Non-Facebook Applications on PHP 343 Additional Considerations 346 Summary 349 CHAPTER 14: UNDERSTANDING BUILDPACKS 351 How Buildpacks Work 352 bin/detect 353 bin/compile 353 bin/release 358 Developing .NET Applications on Heroku 359 Developing Perl Applications on Heroku 362 Packaging Binary Buildpack Dependencies 366 Creating Custom Buildpacks 370 Building the Blassic Binary on Vulcan 370 Creating the Build Scripts 373 Pushing Your Buildpack to a Public Git Repository 376 Creating and Deploying Your Application to Heroku 377 Summary 380 PART V: CREATING A NEW GENERATION OF HEROKU APPLICATIONS CHAPTER 15: BUILDING MOBILE APPLICATIONS WITH HEROKU 383 Understanding Mobile Development Architectures 384 Native Mobile Applications 384 HTML5 Mobile Applications 386 Hybrid Mobile Applications 387 Using a Central Data Repository for Mobile Applications 388 Writing an HTML5 Mobile Application 389 Creating the Back End 390 Creating the Front End 394 Using Toolkits and Add-Ons for Mobile Application Development 405 StackMob 405 Parse 406 RhoConnect 407 PubNub 409 BoxCar 409 Summary 409 CHAPTER 16: BUILDING SOCIAL APPLICATIONS WITH HEROKU 411 Writing Facebook Applications with PHP 412 Creating a Facebook Canvas Application 412 Writing the Contest App Code 416 Deploying the Application to Heroku 424 Making Heroku Applications Social with the Chatter API 429 Creating a Shadow Object in Database.com 430 Summary 444 APPENDIX: ADDITIONAL RESOURCES 445 The Heroku Website 445 The Heroku Dev Center 446 Professional Heroku Programming's GitHub Repository 447 Log a Ticket with Heroku Support 447 Heroku Ninja 448 Heroku Java 449 Stack Overfl ow 450 Heroku Community Google Group 451 Heroku IRC Channel 451 Heroku's Twitter Accounts 452 Heroku's Offi cial Blog 453 Heroku News 454 Heroku on Facebook 455 Heroku Status 455 Heroku Postgres 456 Heroku Add-Ons 457 Heroku Add-On Provider Site 458 Database.com User Guide 459 Developer Force Integration 460 Force.com Discussion Boards 461 Heroku API Documentation 462 Heroku Partners 463 Heroku Beta Program Sign-Up 464 Heroku Success Stories 464 Heroku on Vimeo 465 Heroku Waza 466 The Twelve-Factor App 467 James Ward's Blog 468 INDEX 469


Best Sellers


Product Details
  • ISBN-13: 9781118508992
  • Publisher: John Wiley & Sons Inc
  • Binding: Paperback
  • Language: English
  • Returnable: N
  • Weight: 884 gr
  • ISBN-10: 1118508998
  • Publisher Date: 04 Feb 2013
  • Height: 233 mm
  • No of Pages: 522
  • Spine Width: 25 mm
  • Width: 186 mm


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Professional Heroku Programming
John Wiley & Sons Inc -
Professional Heroku Programming
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Professional Heroku Programming

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals

    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!