Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

PHPでもこわくないHeroku(PHPカンファレンス福岡2015)

4,780 views

Published on

PHPカンファレンス福岡2015で「PHPでこわくないHeroku」と題して発表しました

Published in: Technology

PHPでもこわくないHeroku(PHPカンファレンス福岡2015)

  1. 1. PHPでもこわくないHeroku 2015年6月27日・PHPカンファレンス福岡 山岡広幸(合同会社テンマド)
  2. 2. 自己紹介 山岡広幸 a.k.a. @hiro_y 東京生まれ、東京育ち、東京在住   福岡には大叔母が住んでいます   幼いころ初めて乗った乗った飛行機は福岡行きでした
  3. 3. 合同会社テンマド 10mado, LLC 代表社員(エンジニアリング担当) Web系プロダクトの企画開発運用から採用サポートまで承っております
  4. 4. conasu https://conasu.co/ 「チームのためのタスク管理ツール」 毎日のタスクをチームでこなしていく。 いろいろな職種のメンバーの間のやり取りをスムーズにします
  5. 5. 株式会社イノベーター・ジャパン 社外CTO 東京と福岡に事務所があります Webメディア運用から自社サービスまで
  6. 6. 福岡オフィス 大濠公園目の前 積極採用中(エンジニアさん、ディレクターさん、アシスタントさん) 勉強会・イベントでの利用も可能ですのでお声がけください
  7. 7. あらためて経歴 元 ウノウ(元 Zynga Japan) 元 Digital Garage
  8. 8. サーバー管理歴 社内サーバーでした http://blog.kushii.net/archives/762513.html データセンター クラウド(IaaS ⇨ PaaS)
  9. 9. Heroku PaaS #トノコト Ruby界隈でよく使われている印象
  10. 10. 最近のHeroku Ruby、Python、Node.js、PHP、Java、Scala、Closure Docker対応したりRedisの提供を開始したり
  11. 11. PHP on Heroku(2015年6月現在) 選べるRuntime   PHP 5.5 / 5.6 or HHVM 3.3 / 3.5 選べるWeb server   Apache with mod_proxy_fcgi or nginx with PHP-FPM
  12. 12. gitによるデプロイ git push heroku master これだけでデプロイが完了する便利さ
  13. 13. Composer 必要なライブラリのインストールだけでなく 拡張のインストール、PHPのRuntimeとバージョン指定まで依存性を解決 composer.lockを元にデプロイ時にインストール
  14. 14. パラダイムシフト Twelve-Factor App という思想 http://12factor.net/ja/ 宣言的なフォーマットの利用、依存関係の明確化と移植性の最大化、 クラウドプラットフォームへの継続的デプロイ、スケールアップの容易性
  15. 15. Herokuで得られるもの サーバーセットアップ・メンテナンスからの解放 PHPのバージョンアップに追随できる喜び 豊富なAdd-onたち
  16. 16. Add-onの例 https://addons.heroku.com/ PostgreSQL、Redis、MySQL、MongoDBなどのデータストア その他にメール、監視、全文検索、キャッシュ、ロギング、キューなど
  17. 17. Herokuで失うもの レイテンシ(東京リージョン、ありません) きめ細かくチューニングされたサーバー環境 AWSでサーバーを立てるのと比べると、やはりお高い
  18. 18. 始めかた 1. Herokuのアプリケーション作成 2. PHPのbuildpackを使うように環境変数設定 3. Procfileの準備(プロセス起動ファイル) 4. タイムゾーンの設定(Herokuと、必要ならPostgreSQL) 5. 各種Add-onの設定 6. git pushしてデプロイ 7. 各種通知(ログや監視など)の設定
  19. 19. Heroku 気を付けるところ Qiitaに書きました HerokuでPHPを使うときに気を付けるところ   http://qiita.com/hiro_y/items/bc631a27c9701f81a4f9
  20. 20. 開発環境 ローカルで開発環境を作っています PHPはHomebrewで、DBはPostgres.appで http://postgresapp.com/
 PHPのビルトインサーバーをgulp.jsで起動しています
  21. 21. 開発環境の考え方 できるだけシンプルな構成にする ビルトインサーバーできちんと動けばたいてい大丈夫
  22. 22. Tips: キャッシュの活用 ブラウザーキャッシュの利用(expireをきちんと設定) その分アプリケーションサーバーへの負荷が減ります
  23. 23. Tips: CDNの利用 例えばCSS、JavaScript、画像の配信をCloudFront経由で
 Web fontではAccess-Control-Allow-Originヘッダーの設定を忘れずに
  24. 24. Tips: ステージング環境の用意 環境構築が簡単なので本番環境と同等のステージング環境の用意が容易 各環境を振り分けるのに環境変数を利用すると便利(heroku config)
  25. 25. Tips: web以外のprocess 例えばworkerを動かしたい場合。 ParallelPrefork とか使うと便利 https://github.com/travail/php-parallel-prefork
  26. 26. Herokuの使いどころ プロダクトのプロトタイプとか開発初期に利用するの、オススメ 成長したらAWSに移行するのもよいのでは(考慮した設計を…) レイテンシが問題になるような場合は、避けたい
  27. 27. 何はともあれ 気軽に試してみたらいいと思うよ。 Webサービスを簡単に作れる楽しさを多くの人に知ってほしい もちろん、実際のビジネスでも使えるのでそちらもぜひ

×