Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Wantedlyを2年間Herokuで運用した話
Search
Yoshinori Kawasaki
November 22, 2013
Programming
1
210
Wantedlyを2年間Herokuで運用した話
Wantedlyを2年間Herokuで運用した話
http://www.wantedly.com/companies/wantedly/projects
Yoshinori Kawasaki
November 22, 2013
Tweet
Share
More Decks by Yoshinori Kawasaki
See All by Yoshinori Kawasaki
変容するワークスタイルとUXデザイン / UX Design in a New Era of Work
kawasy
6
1.8k
リーダーとつきあうための冴えたやりかた / Managing Your Leader
kawasy
19
46k
開発者体験(DX)を改善する チームを作った / DX: Improve developer experience to deliver quality product faster and more frequently
kawasy
8
2.4k
OpenTelemetry 進捗 2019年6月版 / OpenTelemetry Current Status June 2019 #opencensusjp
kawasy
2
2k
LT: 海外カンファレンスで発表しよう / How to give a talk at an international conference #megurorb
kawasy
2
1.1k
[RailsConf 2019] Troubleshoot Your RoR Microservices with Distributed Tracing
kawasy
7
14k
アルゴリズムとデータ構造から理解するRedis / Learn Redis from Internal Algorithms and Data Structures
kawasy
25
38k
OpenCensus Ruby 実装についてひと言 / Current Status of OpenCensus Ruby #opencensusjp
kawasy
2
4.8k
The Wantedly Story - Journey of 2012
kawasy
2
33k
Other Decks in Programming
See All in Programming
Cloud RunとCloud PubSubでサーバレスなデータ基盤2024 with Terraform / Cloud Run and PubSub with Terraform
shinyorke
7
1.9k
マイ隙間家具OSSたちのご紹介
karupanerura
2
150
OpenAPI を守るのは難しい
ohmori_yusuke
1
140
導入から5年が経って見えた Datadog APM 運用の課題
bgpat
2
540
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
580
ファイル先頭の use の意味、説明できますか? 〜PHP の namespace と autoloading の関係を正しく理解しよう〜 / namespace and autoloading in php
okashoi
2
470
Open Source Swift Workshop - Foundation and first party libraries
ikesyo
0
180
クソコード動画『カプセル化 Mk-II』 で考える 上手くカプセル化できない理由 / encapsulation2
minodriven
11
7.9k
チームでモデリングを育てるうえで 考えたこと・気づいたこと / Cultivating Modeling in Teams: Thoughts and Insights
mackey0225
5
2.3k
Material 3で Material 2ぽい見た目にする
numeroanddev
2
250
Laravel標準バリデーションでできること
hmb_ok
2
360
フロントエンドパフォーマンス 入門
shouta2
7
1.5k
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
319
23k
What’s in a name? Adding method to the madness
productmarketing
PRO
14
2.6k
Optimizing for Happiness
mojombo
369
69k
RailsConf 2023
tenderlove
0
510
Music & Morning Musume
bryan
39
5.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Designing for Performance
lara
601
67k
Rebuilding a faster, lazier Slack
samanthasiow
72
8.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
185
15k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
12
1.4k
StorybookのUI Testing Handbookを読んだ
zakiyama
10
4.5k
WebSockets: Embracing the real-time Web
robhawkes
59
6.9k
Transcript
γΰτͰίίϩΦυϧ www.wantedly.com ! Yoshinori Kawasaki (@kawasy) ! Tech Compass Vol.
06, 22-Nov-2013
ࣗݾհ
None
https://www.wantedly.com/users/10599 [PR]! ! WantedlyϓϩϑΟʔϧΛ! Έ͍ͯͩ͘͞
ձࣾհ
None
New!! ΦϑΟεҠస͠·ͨ͠! ! ! http://blog.kushii.net/archives/1874257.html
[PR]! ! ΤϯδχΞɾσβΠφશһ! ࣗࣾαʔϏεΛͬͯ࠾༻! dogfooding ͯ͠·͢ https://www.wantedly.com/projects/7
WantedlyΛ! 2ؒHerokuͰ! ӡ༻ͨ͠
AWS Heroku Ruby on Rails Ruby PostgreSQL Backbone.js WantedlyΛࢧ͑Δٕज़ Chef
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
Production, Staging, QAͱ! ڥΛ͍͘ΒͰ૿ͤΔ development env $ git push 1ʹԿͰdeploy
! Continuous Delivery production & staging env
ຊ൪ڥͷมߋɾΞϥʔτΛ! HipChatʹ௨ Deploy௨ Τϥʔ௨ ύϑΥʔϚϯεࢹ ͦͷଞherokuίϚϯυ
None
ͦͦ! ͳͥWantedly HerokuΛ! ͍࢝Ίͨͷ͔
2011Ն
ΤϯδχΞ! 0ਓ
None
None
None
None
None
ඇΤϯδχΞͰ! ֶशͰ͖ͨ! Rails & Heroku
ΤϯδχΞͰͳͯ͘! ΞΠσΞͱ͕͋Ε! ͻͱΓͰαʔϏεΛ! ͡ΊΒΕΔ http://blog.wantedly.com/post/22557898746/hacker-way
2012य़
Dyno! web: 1! worker: 1
ΤϯδχΞ! 1ਓ
ελʔτΞοϓͰ! େͳ͜ͱ
Build-Measure-Learn http://lean.st/principles/build-measure-learn
Ϣʔβʹ৽͍͠ՁΛಧ͚Δ͜ͱ! ڝ߹ɾେاۀʹෛ͚ͳ͍εϐʔυ! ݶΒΕͨΤϯδχΞɾϦιʔεͷ༗ޮ׆༻
༏लͳΠϯϑϥΤϯδχΞ! ͱͯ͠ͷHeroku development env $ git push 1ʹԿͰdeploy ! Continuous
Delivery production & staging env
2013य़
Dyno! web: 3 (2X) ←NEW!! worker: 1
ΤϯδχΞ! 3ਓ
๛ͳAdd-ons ! Memcached MongoDB Redis Hadoop SMTP ࢹ ϩάཧ ͳͲ
๛ͳAdd-ons ! Memcached MongoDB Redis Hadoop SMTP ࢹ ϩάཧ ͳͲ
๛ͳAdd-onΛ! ॠ࣌ʹࢼͤΔ
WantedlyͰ! ͍ଓ͚͍ͯΔ! Add-onհ
https://addons.heroku.com/deployhooks#http Deploy Hooks
https://addons.heroku.com/newrelic New Relic
https://addons.heroku.com/sendgrid SendGrid
https://addons.heroku.com/logentries Logentries
https://addons.heroku.com/exceptional Exceptional
https://addons.heroku.com/process-scheduler Process Scheduler
https://addons.heroku.com/treasure-data Treasure Data Hadoop
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
࠷৽ใ! BlogͱChangeLogͰ! ͓͔͚ͬΔ! https://blog.heroku.com/! https://devcenter.heroku.com/changelog
2013Ն
Dyno! web: 2 ~ 8 (2X)! worker: 1 ~ 5
ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵ʹ์ө
ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵ʹ์ө ᷚʹฉ͘WBS๒…
ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵ʹ์ө ᷚʹฉ͘WBS๒…
ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵ʹ์ө ࣸਅͱͬͯΔ߹͡Όͳ͍
ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵ʹ์ө heroku ps:scale web=100
ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵ʹ์ө heroku ps:scale web=100
ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵ʹ์ө ίετతʹ! dyno͚ͩͳΒ! 1࣌ؒ$10ఔ
ٸͳςϨϏग़ԋ! ༵ۚʹऔࡐ! →݄༵ʹ์ө ࣮ɺಉேʹ! ৽αʔϏεΛϩʔϯν! ͪ͜ΒͷWebαΠτ! HerokuͰ
·ͱΊ
ඇΤϯδχΞͰ͑Δखܰ͞! ্ཱͪ͛ظͷίετΛ࠷খݶʹ
Πϯϑϥؙ͛ͯ͠! αʔϏε։ൃʹूத! ৺͠ͳ͍͍ͯ͘͜ͱ! ৺͠ͳ͍
Wantedlyͷ! ͜Ε·Ͱͷ! Herokuͷ͓͔͛
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ