Slide 1

Slide 1 text

γΰτͰίίϩΦυϧ www.wantedly.com ! Yoshinori Kawasaki (@kawasy) ! Tech Compass Vol. 06, 22-Nov-2013


Slide 2

Slide 2 text

ࣗݾ঺հ

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

https://www.wantedly.com/users/10599 [PR]! ! Wantedly಺ϓϩϑΟʔϧΛ! Έ͍ͯͩ͘͞

Slide 5

Slide 5 text

ձࣾ঺հ

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

New!! ΦϑΟεҠస͠·ͨ͠! ! ! http://blog.kushii.net/archives/1874257.html

Slide 8

Slide 8 text

[PR]! ! ΤϯδχΞɾσβΠφ͸શһ! ࣗࣾαʔϏεΛ࢖ͬͯ࠾༻! dogfooding ͯ͠·͢ https://www.wantedly.com/projects/7

Slide 9

Slide 9 text

WantedlyΛ! 2೥ؒHerokuͰ! ӡ༻ͨ͠࿩

Slide 10

Slide 10 text

AWS Heroku Ruby on Rails Ruby PostgreSQL Backbone.js WantedlyΛࢧ͑Δٕज़ Chef

Slide 11

Slide 11 text

git push & open pull request GitHub GitHub bot Development env Jenkins CI start a new build notify build status notify pull request opening update build status on a pull request Pull Request Λ͔ͭͬͨ! ϫʔΫϑϩʔ HipChat notifications

Slide 12

Slide 12 text

Production, Staging, QAͱ! ؀ڥΛ͍͘ΒͰ΋૿΍ͤΔ development env $ git push 1೔ʹԿ౓Ͱ΋deploy ! Continuous Delivery production & staging env

Slide 13

Slide 13 text

ຊ൪؀ڥͷมߋɾΞϥʔτΛ! HipChatʹ௨஌ Deploy௨஌ Τϥʔ௨஌ ύϑΥʔϚϯε؂ࢹ ͦͷଞherokuίϚϯυ

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

ͦ΋ͦ΋! ͳͥWantedly͸ HerokuΛ! ࢖͍࢝Ίͨͷ͔

Slide 16

Slide 16 text

2011೥Ն

Slide 17

Slide 17 text

ΤϯδχΞ! 0ਓ

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

ඇΤϯδχΞͰ΋! ֶशͰ͖ͨ! Rails & Heroku

Slide 24

Slide 24 text

ΤϯδχΞͰͳͯ͘΋! ΞΠσΞͱ৘೤͕͋Ε͹! ͻͱΓͰαʔϏεΛ! ͸͡ΊΒΕΔ http://blog.wantedly.com/post/22557898746/hacker-way

Slide 25

Slide 25 text

2012೥य़

Slide 26

Slide 26 text

Dyno਺! web: 1! worker: 1

Slide 27

Slide 27 text

ΤϯδχΞ! 1ਓ

Slide 28

Slide 28 text

ελʔτΞοϓͰ! େ੾ͳ͜ͱ

Slide 29

Slide 29 text

Build-Measure-Learn http://lean.st/principles/build-measure-learn

Slide 30

Slide 30 text

Ϣʔβʹ৽͍͠Ձ஋Λಧ͚Δ͜ͱ! ڝ߹ɾେاۀʹෛ͚ͳ͍εϐʔυ! ݶΒΕͨΤϯδχΞɾϦιʔεͷ༗ޮ׆༻

Slide 31

Slide 31 text

༏लͳΠϯϑϥΤϯδχΞ! ͱͯ͠ͷHeroku development env $ git push 1೔ʹԿ౓Ͱ΋deploy ! Continuous Delivery production & staging env

Slide 32

Slide 32 text

2013೥य़

Slide 33

Slide 33 text

Dyno਺! web: 3 (2X) ←NEW!! worker: 1

Slide 34

Slide 34 text

ΤϯδχΞ! 3ਓ

Slide 35

Slide 35 text

๛෋ͳAdd-ons ! Memcached MongoDB Redis Hadoop SMTP ؂ࢹ ϩά؅ཧ ͳͲ

Slide 36

Slide 36 text

๛෋ͳAdd-ons ! Memcached MongoDB Redis Hadoop SMTP ؂ࢹ ϩά؅ཧ ͳͲ ๛෋ͳAdd-onΛ! ॠ࣌ʹࢼͤΔ

Slide 37

Slide 37 text

WantedlyͰ! ࢖͍ଓ͚͍ͯΔ! Add-on঺հ

Slide 38

Slide 38 text

https://addons.heroku.com/deployhooks#http Deploy Hooks

Slide 39

Slide 39 text

https://addons.heroku.com/newrelic New Relic

Slide 40

Slide 40 text

https://addons.heroku.com/sendgrid SendGrid

Slide 41

Slide 41 text

https://addons.heroku.com/logentries Logentries

Slide 42

Slide 42 text

https://addons.heroku.com/exceptional Exceptional

Slide 43

Slide 43 text

https://addons.heroku.com/process-scheduler Process Scheduler

Slide 44

Slide 44 text

https://addons.heroku.com/treasure-data Treasure Data Hadoop

Slide 45

Slide 45 text

https://addons.heroku.com/scheduler Heroku Scheduler SSL https://addons.heroku.com/ssl#endpoint https://addons.heroku.com/flydata FlyData https://addons.heroku.com/memcachier MemCachier

Slide 46

Slide 46 text

࠷৽৘ใ͸! BlogͱChangeLogͰ! ͓͔͚ͬΔ! https://blog.heroku.com/! https://devcenter.heroku.com/changelog

Slide 47

Slide 47 text

2013೥Ն

Slide 48

Slide 48 text

Dyno਺! web: 2 ~ 8 (2X)! worker: 1 ~ 5

Slide 49

Slide 49 text

ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵໷ʹ์ө

Slide 50

Slide 50 text

ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵໷ʹ์ө ᷚʹฉ͘WBS๒…

Slide 51

Slide 51 text

ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵໷ʹ์ө ᷚʹฉ͘WBS๒…

Slide 52

Slide 52 text

ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵໷ʹ์ө ࣸਅͱͬͯΔ৔߹͡Όͳ͍

Slide 53

Slide 53 text

ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵໷ʹ์ө heroku ps:scale web=100

Slide 54

Slide 54 text

ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵໷ʹ์ө heroku ps:scale web=100

Slide 55

Slide 55 text

ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵໷ʹ์ө ίετతʹ΋! dyno͚ͩͳΒ! 1࣌ؒ$10ఔ౓

Slide 56

Slide 56 text

ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵໷ʹ์ө ࣮͸ɺಉ೔ேʹ! ৽αʔϏεΛϩʔϯν! ͪ͜ΒͷWebαΠτ΋! HerokuͰ

Slide 57

Slide 57 text

·ͱΊ

Slide 58

Slide 58 text

ඇΤϯδχΞͰ΋࢖͑Δखܰ͞! ্ཱͪ͛ظͷίετΛ࠷খݶʹ

Slide 59

Slide 59 text

Πϯϑϥ͸ؙ౤͛ͯ͠! αʔϏε։ൃʹूத! ৺഑͠ͳ͍͍ͯ͘͜ͱ͸! ৺഑͠ͳ͍

Slide 60

Slide 60 text

Wantedlyͷ! ͜Ε·Ͱͷ੒௕͸! Herokuͷ͓͔͛

Slide 61

Slide 61 text

͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ