プロフェッショナルのための実践Heroku入門 プラットフォーム・クラウドを活用したアプリケーション開発と運用
1,980円 (1,800円+税)
関連サイト
本書のサポートページが用意されています。本書に関するご意見、ご要望などはこちらのページに投稿していただけると助かります。
内容紹介
本書は、単なるプログラミング初学者のための入門本ではありません。新しいイノベーションと価値をソフトウェアによって創造する意思を持った"プロの"アプリケーション開発者や、そうなりたいと志向する人たちを第一に想定する読者と考えています。
この本を手にとってくれた方々が、Herokuを利用して自身のアイデアを価値あるサービスとして世の中に送り出し、世界を変えるきっかけにしていただけたら幸いです。
第1章 Herokuの概要
この章では、Herokuのプラットフォームとしての位置付けと、Herokuの全般的な機能について解説しています。これまでHerokuを使ったことがない方はもちろん、自社のプラットフォームとしてHerokuの利用を検討されている方やHerokuが提供する価値の全体像を知りたい方はこの章の内容が参考になるでしょう。第2章 Herokuの利用準備
第2章ではHerokuを利用しはじめるための基本的な準備について解説しています。はじめてHerokuを利用される方はこの章の手順に従って開発に必要なツールの導入を行ってください。第3章 アプリケーション開発のポイント
第3章はHerokuを使ったアプリケーションの開発方法をいくつかの代表的なプログラミング言語・フレームワークを例にとって解説しています。第4章 アドオンによる機能追加
第4章はHerokuの特徴的な仕組みのひとつであるアドオンについて解説し、よく利用されるアドオンについてはその使い方の例なども解説しています。アドオンを上手に活用することで、より生産性高くアプリケーションを開発することができるようになります。第5章 本番環境への移行
第5章はHerokuにデプロイしたアプリケーションをプロダクションサービスとして利用するために必要な各種設定について解説しています。第6章 Heroku Postgres
第6章はHeroku自身が提供しているデータベースサービスHeroku Postgresの機能について掘り下げて紹介しています。第7章 トラブルシューティング
第7章はHerokuを利用する上でよくあるトラブルとその対処法について解説しています。第8章 Herokuのアーキテクチャ
第8章は通常Herokuを利用する上では特に知っている必要はないものの、理解しておくことでよりHerokuを使いこなせるようになる特性や、Herokuの裏側の仕組みについて解説しています。第9章 The Twelve Factor App
第9章はHerokuのサービスの背景となっている、モダンなウェブアプリケーションを開発・運用する上で考慮すべきアーキテクチャについて解説しています。(「はじめに」より抜粋)
書誌情報
- 著者: 相澤歩, arton, 鳥井雪, 織田敬子
- 発行日: 2014-09-22
- 最終更新日: 2014-09-28
- バージョン: 1.0.1
- ページ数: 185ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: KADOKAWA/アスキー・メディアワークス
対象読者
これからHerokuを使いたい方、Herokuを今まで以上に使いこなしたい方
著者について
相澤歩
Heroku, Inc.デベロッパー・マーケティング担当。日本市場におけるHerokuのマーケティング、講演活動を行っている。国内のSI企業、外資系コンサルティングファームを経て2012年1月より現職。クラウド・プラットフォームを活用した情報システムの設計・開発・運用全般を経験。活動の軸足をビジネスに置くやや異色のRubyコミッターでもある。典型的なB型人間。
arton
2000年からのRubyistで、Rubyは日々の仕事の道具なので自分のためにもWindows用Rubyのバイナリパッケージの勝手配布をずーっと続けている。2010年からコミッター。本業は主としてプログラマ。ここ数年C#が多いが、別の顔としてJava、C#、Rubyの入門書を書いていたりする。好きな音楽家はプッチーニとジョルダーノとジョイディビジョン。
鳥井雪
株式会社万葉 所属。プログラマとして主にRailsアプリケーション開発業務に携わる。
Web開発未経験の女性にRailsアプリケーションを教える国際的ワークショップ"RailsGrils"の、Tokyo第二回(2013年三月)主催者のひとり。RailsGirls Tokyoの卒業生を中心とした月一回のRails勉強会"RailsGirls, More!"主催。
Heroku上で俳句の句会アプリ(クローズド)を運用中。
織田敬子
Heroku, Inc. テクニカルサポートエンジニア。日々世界中のHeroku ユーザーから来る問い合わせをもくもくとこなす。Heroku というプラットフォームの性質上さまざまな言語に触れる機会が多いが、今のところ成長がRuby やRails に関すること偏ってしまっているのが最近の悩みの種。もっといろいろな言語やフレームワークに明るくなりたいと思っている。無趣味人間。本書では第7章の執筆を担当。
目次
はじめに
- Herokuの哲学
- 開発者の生産性
- プロフェッショナルなアプリケーション開発者
- これからWabアプリケーションを開発しようとする方へ
- 本格的なWebサービスを公開しようとする方へ
- Herokuの歴史
- Hosting is obsolete (ホスティングなんて時代遅れだ)
- ブラウザ開発環境の破棄
- セールスフォース・ドットコム社による買収
- 多言語(ポリグロット)プラットフォームへの進化
- ソーシャルアプリとの統合
- デベロッパー・カンファレンス"Waza"開催
- Herokuの実績とこれから
本書の構成
第1章 Herokuの概要
- 1.1 本章の内容
- 1.2 Herokuとは
- 1.3 さまざまな種類のクラウドサービス
- 1.3.1 IaaS - インフラストラクチャ・アズ・ア・サービス
- 1.3.2 SaaS - ソフトウェア・アズ・ア・サービス
- 1.3.3 PaaS - プラットフォーム・アズ・ア・サービス
- 1.4 Herokuの特徴
- 1.4.1 サーバの存在を意識しなくてよい
- 1.4.2 Gitによるデプロイ
- 1.4.3 幅広いプログラミング言語やフレームワークへの対応
- 1.4.4 アプリケーション運用の容易性
- 1.4.5 プラットフォームの拡張性
- 1.4.6 可用性と堅牢性
第2章 Herokuの利用準備
- 2.1 本章の内容
- 2.2 Heroku利用準備
- 2.2.1 Herokuアカウントの作成
- 2.2.2 Heroku Toolbeltのインストール
- 2.2.3 SSH鍵の設定
- 2.3 アプリケーションの作成からデプロイまで
- 2.3.1 RailsInstallerを用いたRubyとRailsのインストール
- 2.3.2 rbenvを用いたRubyとRailsのインストール(Mac OS X)
- 2.3.3 RubyInstallerを用いたRubyとRailsのインストール(Windows)
- 2.3.4 アプリケーションのセットアップ
- 2.3.5 Gitによるデプロイ
- 2.4 Ruby開発環境の構築
- 2.4.1 アプリケーションの開発
- 2.5 Node.js開発環境の構築
- 2.5.1 Node.jsのインストール
- 2.5.2 アプリケーションの開発
- 2.6 Scala開発環境の構築
- 2.6.1 Play Frameworkのインストール
- 2.6.2 アプリケーションの作成
- 2.7 Java開発環境の構築
- 2.7.1 アプリケーションの作成
第3章 アプリケーション開発のポイント
- 3.1 本章の内容
- 3.2 データベースの選定
- 3.2.1 ローカル環境のPostgreSQLインストール
- 3.2.2 RailsでPostgreSQLを使う
- 3.2.3 ローカルでPostgreSQL以外のデータベースを使用する
- 3.2.4 Heroku Postgres
- 3.3 外部ストレージ
- 3.3.1 AWS S3のアカウント作成
- 3.3.2 S3ユーザー作成/Access key取得
- 3.3.3 Bucket作成
- 3.3.4 静的assetsのアップロード
- 3.3.5 ファイルアップロード
- 3.4 レスポンス時間制限
- 3.4.1 タイムアウト判定
- 3.4.2 アプリケーションのタイムアウト時間設定
- 3.4.3 タイムアウトの監視・分析・改善
- 3.5 Slug制限
- 3.5.1 コンパイル時間制限
- 3.5.2 Slugサイズ制限
- 3.6 IPアドレス制限
- 3.7 Procfile
- 3.8 Foremanによるローカル環境デプロイ
- 3.8.1 基本の使用方法
- 3.8.2 Foremanのローカル設定カスタマイズ(.foreman, .env)
- 3.9 ステージング環境構築
- 3.9.1 Heroku上のステージング環境、本番環境
- 3.9.2 ステージング環境と本番環境の設定個別管理
- 3.10 ステージング環境のBasic認証設定
- 3.10.1 ステージング環境でのBasic認証(Railsの場合)
- 3.10.2 Basic認証のUSERNAME/PASSWORD環境変数設定
第4章 アドオンによる機能追加
- 4.1 本章の内容
- 4.2 アドオンとは
- 4.3 アドオンの基本操作
- 4.3.1 ダッシュボードからアドオンを扱う
- 4.3.2 コマンドラインからアドオンを扱う
- 4.4 代表的なアドオンの紹介
- 4.4.1 MemCachier
- 4.4.2 MongoLab
- 4.4.3 Pusher
第5章 本番環境への移行
- 5.1 本章の内容
- 5.2 Production Check
- 5.3 Cederスタックの利用
- 5.4 Dynoの冗長化
- 5.4.1 コマンドラインからDynoの設定値を変更する
- 5.4.2 HerokuダッシュボードからDynoの設定値を変更する
- 5.5 プロダクションレベルのデータベースの利用
- 5.5.1 プロダクションレベルのデータベースを作成する
- 5.5.2 アプリケーションをメンテナンスモードに切り替える
- 5.5.3 データベースのバックアップを取得する
- 5.5.4 データを新しいデータベースに反映する
- 5.5.5 データベースの接続を切り替える
- 5.5.6 アプリケーションのメンテナンスモードを解除する
- 5.5.7 古いデータベースの削除
- 5.6 カスタムドメインの利用
- 5.6.1 カスタムドメイン名の取得
- 5.6.2 固有のサブドメインを利用
- 5.6.3 Zerigo DNSの利用
- 5.6.4 ルートドメインを利用
- 5.6.5 ワイルドカードドメインを利用
- 5.6.6 カスタムドメイン設定の解除
- 5.7 SSLの導入
- 5.7.1 SSL証明書の購入
- 5.7.2 HerokuからのSSLエンドポイントの使用準備
- 5.7.3 Herokuへの証明書のアップロード
- 5.7.4 新しいSSLエンドポイントURLへ向くようDNSの設定を更新する
- 5.7.5 SSL 証明書の設定確認、更新、削除
- 5.8 カスタムエラーページの設置
第6章 Heroku Postgres
- 6.1 本章の内容
- 6.2 Heroku Postgresのサービス
- 6.2.1 Heroku Postgresのプラン
- 6.3 基本機能
- 6.3.1 データベースの作成
- 6.3.2 psqlからのアクセス
- 6.3.3 pgAdminからのアクセス
- 6.3.4 バックアップの取得とリストア
- 6.3.5 PostgreSQLの拡張機能の利用
- 6.4 Heroku Postgresの拡張機能
- 6.4.1 Follow
- 6.4.2 Fork
- 6.4.3 DataClips
第7章 トラブルシューティング
- 7.1 本章の内容
- 7.2 Herokuのオフィシャルサポート
- 7.2.1 Dev Center
- 7.2.2 Heroku Status Site
- 7.2.3 Heroku Support
- 7.3 よくあるトラブル
- 7.3.1 デプロイ中のトラブル
- 7.3.2 ランタイムでのトラブル
- 7.4 Herokuのエラーコード
- 7.4.1 H10 - App crashed
- 7.4.2 H12 - Request timeout
- 7.4.3 H13 - Connection closed without response
- 7.4.4 H70 - Access to Bamboo HTTP endpoint denied
- 7.4.5 R14 - Memory quota exceeded
- 7.4.6 H99 - Platform error / R99 - Platform error
第8章 Herokuのアーキテクチャ
- 8.1 本章の内容
- 8.2 Herokuの仕組み
- 8.2.1 SlugコンパイラとDynoマネージャ
- 8.2.2 Dynoの動作環境
- 8.2.3 Dynoの種類
第9章 The Twelve Factor App
- 9.1 はじめに
- 9.2 背景
- 9.3 このドキュメントの対象者
- 9.4 The Twelve Factors
- I. コードベース
- II. 依存関係
- III. 設定
- IV. バックエンドサービス
- V. ビルド、リリース、実行
- VI. プロセス
- VII. ポートバインディング
- VIII. 並行性
- IX. 廃棄容易性
- X. 開発/本番一致
- XI. ログ
- XII. 管理プロセス