Book description
A comprehensive guide to help you build, deploy, and troubleshoot cloud applications seamlessly using Heroku
In Detail
Heroku is one of the leading cloud platforms supported by several programming languages. It lets you develop applications without worrying about the infrastructure. You can instantly build, deploy, and troubleshoot the most advanced and robust cloud applications using a rich set of available tools. Just write your application and leave the rest to Heroku. Heroku helps you build the most feature-rich web applications using add-ons and multiple data sources that can be easily configured.
This book is about Heroku, but more importantly, it is about the ease with which a developer with limited availability or knowledge of deployment infrastructure can run and manage a cloud app 24/7/365. It will show how Heroku is language independent and does not lock the user to a particular operating environment.
What You Will Learn
- Recognize the components of the Heroku infrastructure and how they work together to give a seamless platform experience
- Write an application using any supported language (Ruby, Java, PHP, Python, and more) and deploy it easily and instantly
- Run and scale your cloud application on demand using a variety of useful Heroku commands
- Secure and debug your cloud application faster using popular techniques and tools
- Reuse the provided samples to build agile and robust applications
- Extend your application features by using simple plugins and add-ons
- Manage all your applications intuitively using the one-stop Heroku dashboard
Table of contents
-
Heroku Cloud Application Development
- Table of Contents
- Heroku Cloud Application Development
- Credits
- About the Author
- About the Reviewers
- www.PacktPub.com
- Preface
- 1. Hello Heroku
-
2. 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
- Summary
-
3. Building Heroku Applications
-
Heroku's guiding influence – the Twelve-Factor App methodology
- A codebase is always versioned and it can have multiple deploys
- Declare and isolate dependencies explicitly (always)
- Configuration should be stored in the environment
- Backend services should be treated as attached (loosely-coupled) resources
- Strict separation of the build, release, and run stages of an app
- An app in execution is a process or many processes
- Services should be exported through port binding
- An app should scale out through its process model
- Faster startup and graceful shutdown is the way to app agility and scalability
- Development and production (and everything in between) should be as similar as possible
- The app should just log the event not manage it
- App's administrative or management task should be run as a one-off process
- Creating a Heroku application
- Configuring your Heroku application
- Introducing buildpacks
- The slug compiler
- Summary
-
Heroku's guiding influence – the Twelve-Factor App methodology
-
4. 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
-
Getting started with Git
- Tracking a new project
- Using an existing Git project
- The life cycle of an artifact in Git
- Tracking files in a Git project
- When you don't need Git to track your files
- The git diff command – knowing what changed
- Committing your changes
- Deleting a file
- Moving a file
- Viewing commit history
- Undoing a change
- You can use some Git help
- The local repository
-
Getting started with Git
- 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
- Summary
-
5. Running Heroku Applications
- The Heroku app lifecycle
- The Heroku CLI
- Running your cloud apps locally
- The Apps page
- Summary
- 6. Putting It All Together
-
7. 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
- Summary
-
8. Heroku Security
- Overview
-
Communication between the developer's machine and the Heroku platform
- General concepts of security
- Security of developer communication with Heroku
- A look inside the SSH protocol
- App security and the Heroku dashboard
-
Security of applications and data resident on Heroku and third-party servers
- Heroku security practices
- Source code security
- Build and deploy security
- Application security
- Data security
- Configuration and metadata
- Infrastructure security
- Security in add-ons
- Securing the logging infrastructure
- Network security
- Security standards and compliance
- Securing web requests
- Piggyback SSL
- SSL for a custom domain
- Application security tools
- Summary
-
9. 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
- Summary
- 10. Advanced Heroku Usage
- Index
Product information
- Title: Heroku Cloud Application Development
- Author(s):
- Release date: April 2014
- Publisher(s): Packt Publishing
- ISBN: 9781783550975
You might also like
book
Heroku: Up and Running
Take full advantage of Heroku’s cloud-based hosting services. This guide takes you through the inner workings …
book
Professional Heroku Programming
A complete guide to building and deploying web apps with Heroku A cloud application platform, Heroku …
book
Developing Large Web Applications
How do you create a mission-critical site that provides exceptional performance while remaining flexible, adaptable, and …
book
Hands-On Cloud-Native Applications with Java and Quarkus
Build robust and reliable Java applications that works on modern infrastructure, such as containers and cloud, …