Heroku
Support
Technical Support Engineer
Keiko Oda (@keiko713)
1
Wednesday, July 31, 13
Slide 2
Slide 2 text
Table
of
Contents
2
About
Me
How
Did
I
Get
Hired?
Heroku
Support
Frequently
Asked
Questions
Wednesday, July 31, 13
Slide 3
Slide 3 text
About
Me
3
Wednesday, July 31, 13
Slide 4
Slide 4 text
About
Me
4
৫ాܟࢠ ,FJLP0EB
ੴݝۚࢢग़
ߴઐˠେֶˠ4*FS ZST
ˠ4' ZST
ˠ)FSPLV
+BWBˠ1ZUIPOˠ3VCZ
Wednesday, July 31, 13
Slide 5
Slide 5 text
How
Did
I
Get
Hired?
5
Wednesday, July 31, 13
Slide 6
Slide 6 text
How
Did
I
Get
Hired?
6
ࢲɿࣄΛ୳͍ͯͨ͠ 4BO
'SBODJTDPʹॅΜͰ͍ͨ
)FSPLVɿXB[BDPOGJO'FC
JO4BO'SBODJTDP
!ZVTVLF͞Μ͕!BZVNJO͞
ΜΛհ
!BZVNJO͞Μ͕$ISJTΛհ
Wednesday, July 31, 13
Slide 7
Slide 7 text
Heroku
Hiring
Process
4DSFFOJOH
5FDI*OUFSWJFX
4UBSUFS1SPKFDU
ˠνʔϜʹϑΟοτ͢Δʁ
7
Wednesday, July 31, 13
Slide 8
Slide 8 text
Heroku
Support
8
Wednesday, July 31, 13
Slide 9
Slide 9 text
Heroku
Support
9
Heroku
Support
Team
How
to
Open
a
Ticket
Heroku
Support
Engineer
ͷҰ
Wednesday, July 31, 13
Slide 10
Slide 10 text
Heroku
Support
Team
10
Neil Caio Keiko
Rhys JD Brett
Clint
Ryan
Chris
Wednesday, July 31, 13
Slide 11
Slide 11 text
Heroku
Support
Team
11
Core
Support
(Triage)
Embedded
Support
(Database,
Runtime/Routing)
Support
Engineering
(Help
App,
rack-‐timeout,
etc.)
Wednesday, July 31, 13
Slide 12
Slide 12 text
How
to
Open
a
Ticket
12
Wednesday, July 31, 13
Slide 13
Slide 13 text
How
to
Open
a
Ticket
13
https://help.heroku.com
Ticket
Wednesday, July 31, 13
Slide 14
Slide 14 text
How
to
Open
a
Ticket
14
https://help.heroku.com
Ticket
Wednesday, July 31, 13
Slide 15
Slide 15 text
15
ॳ৺ऀͷํ͚
ɾ͡ΊʹɹɹɹɹɹɹɾಠࣗυϝΠϯ
ɾσʔλͷΠϯϙʔτɹɾ44)Ωʔ·ΘΓ
ɾ1PTUHSFTͷϓϥϯ
Ticket
Wednesday, July 31, 13
Slide 16
Slide 16 text
16
Α͋͘Δ࣭
ɾ44-ೝূͷՃɹɹɾϦΫΤετλΠϜΞτ
ɾΞϓϦ͕ΦϑϥΠϯɹɾΞοϓλΠϜΛ࠷େʹ
ɾΞϓϦέʔγϣϯΤϥʔ
Ticket
Wednesday, July 31, 13
Slide 17
Slide 17 text
17
աڈͷࣗͷνέοτ
Ticket
Wednesday, July 31, 13
Slide 18
Slide 18 text
Heroku
Dev
Center
18
https://devcenter.heroku.com
Ticket
Wednesday, July 31, 13
Slide 19
Slide 19 text
Let’s
try
it
19
εςʔλενΣοΫ
Ticket
Wednesday, July 31, 13
Slide 20
Slide 20 text
Let’s
try
it
20
͙͙ΔཁྖͰݕࡧޠΛೖΕͯΤϯλʔ
ʢਃ͠༁ͳ͍Ͱ͕͢ӳޠͰɾɾɾʣ
Ticket
Wednesday, July 31, 13
Slide 21
Slide 21 text
Let’s
try
it
21
ؔ࿈ͨ͠هࣄ͕ͳ͍͔νΣοΫ
Ticket
Wednesday, July 31, 13
Slide 22
Slide 22 text
Let’s
try
it
22
΅͍͠ͷ͕ݟ͔ͭΒͳ͔ͬͨΒ
Ticket
Wednesday, July 31, 13
Slide 23
Slide 23 text
Let’s
make
a
ticket
23
Ticket
Wednesday, July 31, 13
26
(JUIVC'MBWPSFE.BSLEPXOɹ
͑·͢
Ticket
ճ༧࣌ؒ
Wednesday, July 31, 13
Slide 27
Slide 27 text
νέοτॻ͖ํͷίπ
27
Hi,
My
assets
are
missing.
It
worked
fine
before,
but
stopped
working
after
I
updated
Rails
from
3.2.13
to
4.0.0.
It
works
fine
locally.
Best,
Keiko
ॻ͖ग़͠)JͰ
Կ͕ىͬͨ͜ͷ͔
Կ͔มߋͨ͜͠ͱ
͋Δ͔
ϩʔΧϧͰಈ͔͘
#FTU
$IFFST
5IBOLTͳͲ
ࣗͷ໊લ
Ticket
Wednesday, July 31, 13
Slide 28
Slide 28 text
Support
Engineer
ͷҰ
28
Wednesday, July 31, 13
Slide 29
Slide 29 text
29
Zendesk
Wednesday, July 31, 13
Slide 30
Slide 30 text
HipChat
30
Wednesday, July 31, 13
Slide 31
Slide 31 text
Terminal
31
Wednesday, July 31, 13
Slide 32
Slide 32 text
Frequently
Asked
Questions
32
Wednesday, July 31, 13
Slide 33
Slide 33 text
Frequently
Asked
Questions
Ruby
and
Ruby
on
Rails
Java/PHP/node.js/Python/others
Heroku
Postgres
Add-‐ons
33
Wednesday, July 31, 13
Slide 34
Slide 34 text
Ruby
and
Ruby
on
Rails
34
Wednesday, July 31, 13
Slide 35
Slide 35 text
Ruby
and
Ruby
on
Rails
Rails
4
Assets
Pipeline
Ruby
Version
H12
Request
Timeout
35
Wednesday, July 31, 13
Slide 36
Slide 36 text
Rails
4
Logging
and
Assets
Upgrading
a
Rails
3
app
sprockets-‐rails
36
Rails4
Wednesday, July 31, 13
Slide 37
Slide 37 text
Logging
and
Assets
37
Please
add
`rails_12factor`
gem!
https://github.com/heroku/rails_12factor
(In
your
Gemfile)
gem
‘rails_12factor`,
group:
:production
Rails4
Wednesday, July 31, 13
Slide 38
Slide 38 text
Upgrading
a
Rails3
app
38
Need
to
generate
`bin`
directory
http://railscasts.com/episodes/415-‐upgrading-‐
to-‐rails-‐4
(In
your
local
project)
$
rake
rails:update:bin
Rails4
Wednesday, July 31, 13
Slide 39
Slide 39 text
sprockets-‐rails
39
Only
compiles
digest
filenames
https://github.com/rails/sprockets-‐
rails#changes-‐from-‐rails-‐3x
(In
your
local
assets
files,
e.g.
css)
background:
url(/assets/my_bg.png);
#see
http://guides.rubyonrails.org/asset_pipeline.html
Rails4
Wednesday, July 31, 13
Slide 40
Slide 40 text
Assets
Pipeline
Assets
Pipeline
with
Heroku
*
Compiling
assets
locally
*
Compiling
assets
during
slug
compilation
*
Compiling
assets
during
runtime
40
Assets
Wednesday, July 31, 13
Slide 41
Slide 41 text
Compiling
assets
locally
41
Έͳ͞ΜͷϚγϯͷ΄͏͕)FSPLVΑΓ
ʢ͖ͬͱʣૣ͍Ͱ͢
(In
your
local
project)
$
RAILS_ENV=production
bundle
exec
rake
assets:precompile
$
git
add
public/assets
Assets
Wednesday, July 31, 13
Ruby
Version
45
Please
specify
your
Ruby’s
version!
Default
Ruby
ver
for
a
new
app
is
2.0.0
(In
your
Gemfile)
ruby
‘1.9.3’
Ruby
Version
Wednesday, July 31, 13
Java
R14
(Out
of
Memory)
error
*
Heroku
default
RAM:
512MB
(1X
dyno)
*
Use
log-‐runtime-‐metrics
and
log2viz
*
Use
2X
dyno
49
Wednesday, July 31, 13
Slide 50
Slide 50 text
PHP
*
How
to
connect
Database
-‐>
ClearDB
add-‐on
5MB
·Ͱແྉ
*
mail()
call
won’t
work
with
Heroku
-‐>
Use
Email
addons
(SendGrid,
MailgunͳͲ)
50
Wednesday, July 31, 13
Python
*
https://discussion.heroku.com/
*
How
do
I
specify
a
private
git
repo
in
my
requirements.txt?
*
How
to
manage
production/staging/dev
Django
settings?
53
Wednesday, July 31, 13
Heroku
Postgres
https://devcenter.heroku.com/articles/
postgres-‐logs-‐errors
56
app[postgres]:
LOG:
could
not
receive
data
from
client:
Connection
reset
by
peer
app[postgres]:
LOG:
unexpected
EOF
on
client
connection
Wednesday, July 31, 13
Slide 57
Slide 57 text
Heroku
Postgres
https://devcenter.heroku.com/articles/heroku-‐
postgres-‐database-‐tuning
57
Wednesday, July 31, 13
Slide 58
Slide 58 text
Add-‐ons
58
Wednesday, July 31, 13
Slide 59
Slide 59 text
Please
add
these
add-‐ons!
*
logging:
Papertrail,
Logentries
*
Analytics:
New
Relic,
Nodetime
59
Wednesday, July 31, 13
Slide 60
Slide 60 text
Support
for
Add-‐ons
*
͠Herokuͷ͔Add-‐onͷ͔Γ
͚͕Ͱ͖ͳ͍߹ɺԕྀແ͘
help.heroku.comʹ͍͛ͯͩ͘͞
*
ͪ͜ΒͰΓ͚Λ͠ɺAdd-‐on
providers
ͷΤεΧϨʔγϣϯ͠·͢
60
Wednesday, July 31, 13