Slide 1

Slide 1 text

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

Slide 24

Slide 24 text

24 ࣭໰ͷछྨΛબ୒ ɾΞϓϦؔ࿈ ɾσʔλϕʔεؔ࿈ ɾΞυΦϯؔ࿈ ɾྉۚؔ࿈ ɾ੡඼ʹؔ͢Δ͝ҙݟ໰୊ ɾηΩϡϦςΟؔ࿈ Ticket Wednesday, July 31, 13

Slide 25

Slide 25 text

25 ΞϓϦέʔγϣϯ໊ )FSPLVͷελοϑ͕ΞϓϦͷ ίʔυΛӾཡͯ͠΋Α͍͔ ϓϥΠΦϦςΟʔΛࢦఆ -PXɿ੡඼ʹؔ͢Δ࣭໰ /PSNBMɿҰൠతͳ໰୊ )JHIɿϓϩμΫγϣϯΞϓϦͷ໰୊ 6SHFOUɿϓϩμΫγϣϯΞϓϦ͕ΦϑϥΠϯ Ticket Wednesday, July 31, 13

Slide 26

Slide 26 text

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

Slide 42

Slide 42 text

Compiling  assets  during slug  compilation 42 Ұ൪ϙϐϡϥʔͳํ๏ʢϩʔΧϧͰͷ BTTFUTQSFDPNQJMF͸๨Ε͕ͪͳͨΊʣ $  git  push  heroku  master -­‐-­‐-­‐-­‐-­‐>  Preparing  Rails  asset  pipeline                        Running:  rake  assets:precompile Assets Wednesday, July 31, 13

Slide 43

Slide 43 text

Compiling  assets  during runtime 43 TMVHDPNQJMBUJPOதͷBTTFUTQSFDPNQJMF ͕ࣦഊͨ͠Β૸Δʢରॲ͠·͠ΐ͏ʣ $  git  push  heroku  master -­‐-­‐-­‐-­‐-­‐>  Preparing  Rails  asset  pipeline                        Precompiling  assets  failed,  enabling  runtime  asset  compilation Assets Wednesday, July 31, 13

Slide 44

Slide 44 text

Tips "TTFUT͕஗͍ɹˠɹ$%/Λ࢖͏ IUUQTEFWDFOUFSIFSPLVDPNBSUJDMFTDEOBTTFU IPTUSBJMT QSFDPNQJMF͕ࣦഊ͢Δ IFSPLVMBCTFOBCMFVTFSFOWDPNQJMFBNZBQQ 44 Assets Wednesday, July 31, 13

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

H12  Request  Timeout ඵҎ্͔͔ͬͨSFRVFTU͸ϧʔλʔϨ ϕϧͰఀࢭ͢Δ ୹ظతͳରॲ๏ɿEZOPΛ૿΍͢ɺEZOPͷ SFTUBSU 46 H12 Wednesday, July 31, 13

Slide 47

Slide 47 text

H12  Request  Timeout ௕ظతͳରॲ๏ɿ ࣌ؒͷ͔͔Δॲཧ͸֎ग़͠ EFMBZFE@KPCͳͲ ͢Δ ˠ/FX3FMJD΍SBDLUJNFPVUHFNΛ࢖ͬͯಛఆ 6OJDPSO΍1VNBΛ࢖͏ ˠ1SPEVDUJPOΞϓϦʹ8SJDL͸࢖Θͳ͍Ͱʜ ˠ5JNFPVUΛઃఆͯ͠)ͷલʹSFRVFTUΛऴྃͤ͞Δ 47 H12 Wednesday, July 31, 13

Slide 48

Slide 48 text

Java/PHP 48 Wednesday, July 31, 13

Slide 49

Slide 49 text

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

Slide 51

Slide 51 text

node.js/Python/Others 51 Wednesday, July 31, 13

Slide 52

Slide 52 text

node.js node.js  ΞϓϦʹ͓͢͢Ίͷ  add-­‐on Nodetime https://devcenter.heroku.com/articles/ nodetime 52 Wednesday, July 31, 13

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

Others *  ͍ΖΜͳݴޠͷ࣭໰΋͖·͢ Clojure,  Scala,  Erlang,  Go,    R,  Haskell,  etc... ʢ࢒೦ͳ͕Βճ౴Ͱ͖ͳ͍৔߹΋͋Γ· ͢ɺྃ͝ঝ͍ͩ͘͞ʣ 54 Wednesday, July 31, 13

Slide 55

Slide 55 text

Heroku  Postgres 55 Wednesday, July 31, 13

Slide 56

Slide 56 text

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

Slide 61

Slide 61 text

Any  Questions? 61 Wednesday, July 31, 13