HerokuでPHPのココが便利 #phpcondo2016 #heroku #php version 9

2016/04/10 23:41 by hiro_y hiro_y
  :追加された部分   :削除された部分
(差分が大きい場合、文字単位では表示しません)
# HerokuでPHPのココが便利

〜 PHPカンファレンス北海道 2016 〜
合同会社テンマド・山岡広幸

# 🐦 自己紹介

- 山岡広幸 [@hiro_y](https://twitter.com/hiro_y)
- [合同会社テンマド](http://10mado.jp/)・代表社員
- PHPとかNode.jsとか書く人
- 大学文学部卒 ➡ SIer ➡ ウノウ ➡ Zynga Japan ➡ [デジタルガレージ](http://www.garage.co.jp/ja/) ➡ [トイロ](http://toyro.net/) ➡ 会社設立

# 合同会社テンマド

- WebサイトやWebサービスの制作
- 技術顧問・コンサルティング、経営サポート
  - 技術顧問: [株式会社アスクリード](https://ascreed.jp/)
  - 社外CTO: [株式会社イノベーター・ジャパン](http://www.innovator.jp.net/) など
- Webサービス開発・運営

# 📝 mimemo

***書く・読む・見せるをお手軽に。
mimemoはゆるく使えるテキスト置き場です。***

- https://mimemo.io
- Markdown記法
- 個人メモに使ったりテキスト共有に使ったり
  - 「あいことば」設定して秘密のメモを見せたり共同編集したり
  - もちろんブログのようにも使えます
- **powered by Heroku with Node.js (Express)**

# 🐬 iruca

***オフィスに誰がいるか一目瞭然。
irucaはログイン不要の在席管理ツールです。***

- https://iruca.co
- 無料・ログイン不要、Slack連携あり
  - リモート勤務の多い会社などにオススメ
  - 行動予定表としてご利用されているケースも
- **powered by Heroku with Node.js (Express)**

# 🍆 conasu

***複数案件かけ持ちしていても安心。
conasuはチームで使うタスク管理ツールです。***

- https://conasu.co
- チームでタスクのやり取りをするツール
  - Slackやidobata、HipChatへの通知機能あり
  - 複数プロジェクトのタスクを一覧で見られるので今日やることが一目瞭然
  - 複数プロジェクトのタスクを一覧で見られるので今日やることが一目瞭然
- **powered by Heroku with PHP (Silex)**
  - Web Dyno x 1 + Worker Dyno x 1
  - Web Dyno x1 + Worker Dyno x1

# Heroku

- https://www.heroku.com
  - 2010年にSalesforceに買収される
- PaaS (Platform as a Service)
- Node.js / Ruby / Java / PHP / Python / Go / Scala / Closure
- [The new PHP on Heroku now Generally Available | Heroku](https://blog.heroku.com/archives/2014/7/15/the_new_php_on_heroku_now_generally_available)
  - 2014-07-15
  - PHPの正式サポートは20147月から

# 使い方
# Herokuの特徴

- アプリケーションを作成して`git push`すればdeployできる
  - Dockerのコンテナごとdeployすることもできるようになった
- Dashboardからサーバー台数を柔軟に変更できる  - Docker 🐳 のコンテナごとdeployすることもできるようになった
    - そもそもHerokuがDynoというコンテナ単位で動いている
  - GitHubやDropboxなどと連携しての自動deployもできる
- Dashboardからサーバー台数を柔軟に変更できる
  - 調整が極めて容易

# Herokuの弱点

- レイテンシ…でしたがHeroku EnterpriseでPrivate Spacesを使うと東京リージョンが使えるように!(ただしお高い)

```console
$ heroku regions
ID         Location                 Runtime
─────────  ───────────────────────  ──────────────
eu         Europe                   Common Runtime
us         United States            Common Runtime
frankfurt  Frankfurt, Germany       Private Spaces
oregon     Oregon, United States    Private Spaces
tokyo      Tokyo, Japan             Private Spaces
virginia   Virginia, United States  Private Spaces
```

- きめ細かなサーバー設定
- 価格(AWSを単体で使うよりやはりお高い)

# HerokuでのPHPの使い方

- `composer.lock`のファイルがあればPHPアプリケーションとみなされる
  - `package.json`とかもある場合は明示的にbuildpackを指定
- `composer.json`に記述されたPHPの環境が用意される
  - 拡張(extension)が必要な場合も`composer.json`に書けば入る

# Heroku PHPサポートの歴史(1)

- 2014-07-15
  - > Updates to support the latest PHP and HHVM versions including PHP 5.5.14 and 5.6.0RC2;
- 2014-09-08
  - [PHP 5.6.0 and miscellaneous PHP updates | Heroku Dev Center](https://devcenter.heroku.com/changelog-items/523)
  - > PHP 5.6.0 is now available on Heroku as the default runtime for PHP applications. 
  - ちなみにPHP 5.6.0のリリースは8月28日

# Heroku PHPサポートの歴史(2)

- 2015-07-10
  - [PHP 7 beta now available on Heroku | Heroku Dev Center](https://devcenter.heroku.com/changelog-items/679)
  - ちなみにPHP 7.0.0 Beta 1のリリースは7月10日(同日)
- 2015-12-11
  - [PHP 7 now available on Heroku | Heroku Dev Center](https://devcenter.heroku.com/changelog-items/777)
  - ちなみにPHP 7.0.0正式版リリースは12月3日      

HerokuでPHPのココが便利

〜 PHPカンファレンス北海道 2016 〜
合同会社テンマド・山岡広幸

🐦 自己紹介

合同会社テンマド

📝 mimemo

書く・読む・見せるをお手軽に。
mimemoはゆるく使えるテキスト置き場です。

  • https://mimemo.io
  • Markdown記法
  • 個人メモに使ったりテキスト共有に使ったり
    • 「あいことば」設定して秘密のメモを見せたり共同編集したり
    • もちろんブログのようにも使えます
  • powered by Heroku with Node.js (Express)

🐬 iruca

オフィスに誰がいるか一目瞭然。
irucaはログイン不要の在席管理ツールです。

  • https://iruca.co
  • 無料・ログイン不要、Slack連携あり
    • リモート勤務の多い会社などにオススメ
    • 行動予定表としてご利用されているケースも
  • powered by Heroku with Node.js (Express)

🍆 conasu

複数案件かけ持ちしていても安心。
conasuはチームで使うタスク管理ツールです。

  • https://conasu.co
  • チームでタスクのやり取りをするツール
    • Slackやidobata、HipChatへの通知機能あり
    • 複数プロジェクトの ✅ タスクを一覧で見られるので今日やることが一目瞭然
  • powered by Heroku with PHP (Silex)
    • Web Dyno x1 + Worker Dyno x1

Heroku

Herokuの特徴

  • アプリケーションを作成してgit pushすればdeployできる
    • Docker 🐳 のコンテナごとdeployすることもできるようになった
      • そもそもHerokuがDynoというコンテナ単位で動いている
    • GitHubやDropboxなどと連携しての自動deployもできる
  • Dashboardからサーバー台数を柔軟に変更できる
    • 調整が極めて容易

Herokuの弱点

  • レイテンシ…でしたがHeroku EnterpriseでPrivate Spacesを使うと東京リージョンが使えるように!(ただしお高い)
$ heroku regions
ID         Location                 Runtime
─────────  ───────────────────────  ──────────────
eu         Europe                   Common Runtime
us         United States            Common Runtime
frankfurt  Frankfurt, Germany       Private Spaces
oregon     Oregon, United States    Private Spaces
tokyo      Tokyo, Japan             Private Spaces
virginia   Virginia, United States  Private Spaces
  • きめ細かなサーバー設定
  • 価格(AWSを単体で使うよりやはりお高い)

HerokuでのPHPの使い方

  • composer.lockのファイルがあればPHPアプリケーションとみなされる
    • package.jsonとかもある場合は明示的にbuildpackを指定
  • composer.jsonに記述されたPHPの環境が用意される
    • 拡張(extension)が必要な場合もcomposer.jsonに書けば入る

Heroku PHPサポートの歴史(1)

  • 2014-07-15
    • Updates to support the latest PHP and HHVM versions including PHP 5.5.14 and 5.6.0RC2;

  • 2014-09-08

Heroku PHPサポートの歴史(2)