万本电子书0元读

万本电子书0元读

顶部广告

Heroku Cloud Application Development电子书

售       价:¥

0人正在读 | 0人评论 9.8

作       者:Anubhav Hanjura

出  版  社:Packt Publishing

出版时间:2014-04-24

字       数:324.8万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
An easytofollow, handson guide that clearly explains the various components of the Heroku platform and provides stepbystep guidance as well as numerous examples on how to build and troubleshoot robust and scalable productionready web applications on the Heroku platform. This book is intended for those who want to learn Heroku the right way. Perhaps you are new to Heroku or are someone who has heard about Heroku but have not built anything significant with it. You should have knowledge or familiarity with cloud computing and basic knowledge of database and network deployment.
目录展开

Heroku Cloud Application Development

Table of Contents

Heroku Cloud Application Development

Credits

About the Author

About the Reviewers

www.PacktPub.com

Support files, eBooks, discount offers and more

Why Subscribe?

Free Access for Packt account holders

Preface

What this book covers

What you need for this book

Who this book is for

Conventions

Reader feedback

Customer support

Errata

Piracy

Questions

1. 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

Process management

Logging

HTTP routing

Heroku interfaces

The Heroku feature set

Let's play Heroku

Getting ready for the ride – the prerequisites

Signing up

Installing the Heroku toolbelt

Logging in and generating a new SSH key

Test driving Heroku

Summary

2. Inside Heroku

The Heroku platform stack

The Celadon Cedar stack

Request routing in Heroku

The execution environment - dynos and the dyno manifold

Heroku's logging infrastructure – the Logplex system

The Heroku add-on architecture

Programmatically consuming Heroku services

The Heroku Platform API

Security

Schema

Data

Accessing the API

API clients

Calling the API

Response

Limits on API calls

The Heroku process architecture

Procfile

Declaring process types

The Procfile format

A sample Procfile

Adding Procfile to Heroku

Running applications locally

Setting local environment variables

Process formation

Process scaling

Stopping a process type

Checking on your processes

Process logs

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

The Heroku application configuration API

Examples of using application configuration

The persistence of configuration variables

Accessing configuration variables at runtime

Limits on configuration data

Using the Heroku config plugin

Introducing buildpacks

Using a custom buildpack

Specifying a custom buildpack at the app creation stage

Third-party buildpacks

The buildpack API

Components of a buildpack API

The bin/detect script

The bin/compile script

The bin/release script

Writing a buildpack

The slug compiler

Optimizing the slug

Size limits

Summary

4. Deploying Heroku Applications

Deployment on Heroku

Getting a Heroku account

Installing the toolbelt client kit

Logging into the Heroku account

Setting up SSH

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

Remote repositories

Creating a Heroku remote

Renaming an application

Sending code to Heroku

Optimizing slug size

Cloning existing Heroku applications

Forking an application

Side effects of forking an application

Transferring Apps

Optimizing deployments

The choice of a region

Tracking application changes

Setting up Deploy Hooks

Basecamp

Campfire

E-mail

HTTP

IRC

Release management

Checking installed releases

Verifying the new release

Rolling back the release

Summary

5. Running Heroku Applications

The Heroku app lifecycle

The Heroku CLI

How to get the Heroku client tool

Verifying the tool

How to get the latest Heroku client tool

Where is the Heroku client stored?

What if my client installation is corrupted or not working?

The Heroku CLI commands

Heroku CLI commands by function

Extending the Heroku CLI

The Heroku CLI and add-ons

A note on Heroku CLI and security

Running your cloud apps locally

Using Foreman to check Procfiles

Using Foreman to run apps directly

Running one-off commands

Foreman command-line options

The Apps page

The Resources tab

Managing resources

The Activity tab

The Access tab

The Settings tab

The Run Production Check tab

Heroku support

Summary

6. Putting It All Together

Heroku's support for Java

General support for Java

Database support for Java apps

Environment configuration

Integrating Eclipse with Heroku

Prerequisites

Configuring Heroku in Eclipse

Installing the Eclipse plugin for Heroku

Setting up Heroku for development

Setting up SSH support

Creating a new Heroku Java app in Eclipse

Using an existing Heroku application

Pushing code to Heroku

Pushing code to the Git repository

Managing Heroku apps in Eclipse

Viewing your Heroku application

Getting to the application's details

Reviewing the application's details

Going deeper into the application information

Adding collaborators to the application

Changing the environment variables

Heroku's process management in Eclipse

Scaling your app dynos

Restarting your web app

Summary

7. Heroku Best Practices

The One Cloud development platform

Introducing the Cloud 9 IDE

The C9 user interface

The C9 project view

Setting up preferences in the C9 IDE environment

Deploying on Heroku

Performing Git operations using the C9 IDE

Heroku and the data store

Creating a Heroku Postgres database

Logging in to the database

Creating more databases – the fork

Synchronizing databases via database followers

Checking database logs

Performance and the Heroku Postgres database

Disaster recovery in Heroku PostgreSQL

Importing data into Postgres

Deleting a Heroku Postgres database

Accessing Heroku Postgres externally

Accessing the database credentials

Connecting from outside of Heroku

High availability Postgres

Choosing the right plan

When does Heroku Postgres failover?

Effect of the failover

Checking the availability status after failover

Configuring domains the right way

Overview of DNS

Working with DNS in Heroku

Configuring your domain

Domain addition rules

Adding a custom domain to Heroku

Configuring domain DNS

Checking DNS configuration

Removing Heroku custom subdomains

Other domain-related considerations

Optimizing applications

The 2X dyno effect

When do I need the 2X dynos?

Checking whether you need 2X dynos

What if I use 2X dynos?

Now some examples...

Notes on 2X dynos

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

Client authentication

App security and the Heroku dashboard

Your Heroku account and the 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

wwwhisper

A sample wwwhisper app

Getting wwwhisper

Removing wwwhisper

Enabling wwwhisper in your application

For other Rack-based applications

Post wwwhisper enablement

Local setup for wwwhisper

Using wwwhisper locally

Disabling wwwhisper in a local environment

Tinfoil website security scanner

Upgrading the add-on

The TINFOILSECURITY_SCAN_SCHEDULE configuration parameter

The Tinfoil security scanner dashboard

The scanning process

Summary

9. Troubleshooting Heroku Applications

The need for troubleshooting

Your window to the running app – the logs

A little more about Logplex – Heroku's logging system

Sources and drains

The message limit

Retrieving Heroku logs

Getting last 'n' log messages

Getting live log messages

Setting up logging levels

Dissecting the Heroku log message

Log message types

Log filters

Examples of log filtering

Getting more from logging – other logging tools

Techniques for troubleshooting your app

Troubleshooting application downtime

Debugging HTTP requests and APIs

Validating your process formation

Checking your database

When everything else fails

Production check

A recommended Heroku configuration

The stack

The process formation

Database service

Domain and security considerations

Proactive health monitoring

Maintenance windows

Checking the maintenance status

Enabling the maintenance mode

Disabling the maintenance mode

The maintenance window – behind the scenes

Customizing site content

Customizing error pages

Testing custom maintenance and error pages

When requests time out

Error classification in Heroku

Summary

10. Advanced Heroku Usage

Experimenting with Heroku Labs

Using Heroku Labs features

Seamless deployment using pipelines

Enabling the pipelines feature

Performance monitoring

Switching on monitoring

Log snapshot

Watching your app closely using the Request ID

Supporting the Request ID

Introducing Websockets

Websocket versus HTTP

Websocket is not HTTP

Websocket use cases

Typical apps using Websockets

Supporting Websockets in your app

Establishing a Websocket connection

Disadvantages of using Websockets

Heroku and Websockets

Switching on Websocket support

Turning Websockets off

The Websockets example

The server code

The client code

Your first Heroku Platform API call

Before we get started

Supported API methods

Sample uses of the platform API

Creating an application

Create an application API response

Retrieving application information

Modifying application information

Deleting an application

Interpreting an API response

Error operations

Error format

An example error response

Warnings

Sharing your app on Heroku

Prerequisites for collaboration

Adding app collaborators to the Heroku dashboard

Deleting a collaborator

Adding collaborators via the Heroku CLI

Listing collaborators

Removing a collaborator

Collaborator actions

Working on the app

Viewing the app

Summary

Index

累计评论(0条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部