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
Herokuで本番運用する技術 / Heroku production
Search
Hiroshi Shimoju
November 11, 2017
Technology
2
6.2k
Herokuで本番運用する技術 / Heroku production
社内勉強会でHerokuの話をしました。
Hiroshi Shimoju
November 11, 2017
Tweet
Share
More Decks by Hiroshi Shimoju
See All by Hiroshi Shimoju
あなたとKaigi on Rails / Kaigi on Rails + You
shimoju
0
380
プロダクト開発エンジニアからSREへの挑戦 / backend-engineer-and-sre
shimoju
0
1.3k
実践 Heroku Enterprise / Unite Heroku Enterprise
shimoju
0
180
ImageMagick実践入門 画像加工サーバを作ってみよう / ImageMagick and image server
shimoju
0
3.6k
Web開発研修 イントロダクション / Web development training introduction
shimoju
0
11k
データ分析その前に〜Redashでデータ可視化からはじめよう / Data visualization by Redash
shimoju
1
1.9k
iOSアプリのテストをやってみて考えたこと / Testing iOS app
shimoju
1
160
Other Decks in Technology
See All in Technology
Spec Driven Development入門/spec_driven_development_for_learners
hanhan1978
1
1k
[JDDStudy #10] 社内Agent勉強会の取り組み紹介
yp_genzitsu
1
130
The Twin Mandate of Observability
charity
1
1.2k
Playwrightで始めるUI自動テスト入門
devops_vtj
0
260
Digitization部 紹介資料
sansan33
PRO
1
5.9k
AIエージェントは「使う」だけじゃなくて「作る」時代! 〜最新フレームワークで楽しく開発入門しよう〜
minorun365
10
1.5k
Zabbix Conference Japan 2025 ダッシュボードコンテストLT
katayamatg
0
140
エンジニアにとってコードと並んで重要な「データ」のお話 - データが動くとコードが見える:関数型=データフロー入門
ismk
0
350
CloudComposerによる大規模ETL 「制御と実行の分離」の実践
leveragestech
0
210
品質保証の取り組みを広げる仕組みづくり〜スキルの移譲と自律を支える実践知〜
tarappo
2
790
サブドメインテイクオーバー事例紹介と対策について
mikit
17
8k
DMARCは導入したんだけど・・・現場のつぶやき 〜 BIMI?何それ美味しいの?
hirachan
1
180
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
A better future with KSS
kneath
239
18k
Done Done
chrislema
186
16k
RailsConf 2023
tenderlove
30
1.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Scaling GitHub
holman
463
140k
Facilitating Awesome Meetings
lara
57
6.6k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
192
56k
Transcript
Լॏതࢿ(.01FQBCP *OD ୈճ&$ࣄۀ෦5FDI.5( )FSPLVͰຊ൪ӡ༻͢Δٕज़
ΤϯδχΞ ೖࣾɾ৽ଔظ Լॏതࢿ!TIJNPKV@ &$ࣄۀ෦46;63*νʔϜ TIJNPKVPSH
None
46;63*ͷํ͔Β͖·ͨ͠
ຊճͷൃදͰ͢
None
None
None
46;63*❤)FSPLV
)FSPLV w46;63*)FSPLVͰӡ༻͍ͯ͠·͢ wݸਓͰ)FSPLVͰӡ༻͍ͯ͠ΔΞϓϦ͕͋Γ·͢ wͦͷதͰܦݧͨ͜͠ͱΛɺͬ͟ͱˍΏΔΊʹൃද͠· ͢ʂ
͓͠ͳ͕͖ wΦʔτεέʔϧ wಠࣗυϝΠϯઃఆ w44-ઃఆ wϝʔϧ wσʔλϕʔε wϑΝΠϧΞοϓϩʔυ wλΠϜΞτ wϩά wΞϓϦέʔγϣϯઃܭ
wোใ w͓·͚
Φʔτεέʔϧ
None
Φʔτεέʔϧ w4UBOEBSEҎ্ͰखಈͰͷεέʔϧ͕Մೳ w1FSGPSNBODF.Ҏ্Ͱ)FSPLVͰͷΦʔτεέʔϧ͕͑Δ w͔͠͠ʙߴ͍ʜʜ w46;63*Ͱ֎෦ͷΦʔτεέʔϧαʔϏε)JSF'JSFΛ͍ͬͯΔ wIUUQTXXXIJSFpSFJP
Φʔτεέʔϧઃఆ wᮢͷઃఆΈͲ͜Ζ w)JSF'JSFͰεϧʔϓοτ 31. ϨεϙϯελΠϜͳͲ͔ΒબΔ wεϧʔϓοτʹͨ͠ͱ͜ΖɺΞΫηεूதͰλΠϜΞτ͕සൃͨ͠ ͱ͖ɺݟ͔͚ͷεϧʔϓοτ͕མͪͨͷ͔εέʔϧΠϯ͢Δࣄ͕݅ʜ wखͰεέʔϧΞτͨ͠ͷʹؤͳʹ%ZOPΛݮΒͯ͘͠Δ wεέʔϧΞτ͚ͩߟ͑ͣεέʔϧΞοϓߟྀ͢Δ
ಠࣗυϝΠϯઃఆ
ಠࣗυϝΠϯઃఆ w)FSPLVͷಠࣗυϝΠϯઃఆ$/".&Ͱߦ͏ wXXXFYBNQMFDPNˠXXXFYBNQMFDPNIFSPLVEOTDPN w$/".&ͷ;POF"QFY͕͋Δ
;POF"QFY wκʔϯͷαϒυϝΠϯͳ͠ͷυϝΠϯྫFYBNQMFDPN w$/".&ͱଞͷϨίʔυಉډͰ͖ͳ͍ w;POF"QFYʹগͳ͘ͱ/4ϨίʔυΛઃఆ͢Δඞཁ͕͋Δ w;POF"QFYʹ$/".&Λઃఆͨ͠߹ɺ্هʹҧ͢Δ w͕ͨͬͯ͠ɺ;POF"QFYʹ$/".&ઃఆͰ͖ͳ͍ w 3'$IUUQTUPPMTJFUGPSHIUNMSGDTFDUJPO
"-*"4ػೳ w;POF"QFYΛղܾ͢Δػೳ w"-*"4ͱͯ͠ઃఆ͞ΕͨυϝΠϯ໊Λ໊લղܾͯ͠ɺಘΒΕͨ*1Ξυ ϨεΛ"Ϩίʔυͱͯ͠ఏڙ͢Δ w"-*"4Ϩίʔυͱ͍͏Ϩίʔυଘࡏ͠ͳ͍ wͨͩ͠ɺ"/".&Ϩίʔυͱ༷ͯ͠ఏҊ͕͞Ε͍ͯΔ wݱࡏ֤%/4αʔϏεͷಠ࣮ࣗͰɺ"-*"4"/".&ɺ$/".& 'MBUUFOͳͲͱݺΕ͍ͯΔ
"-*"4ػೳͷ͋Δ%/4αʔϏε w%/4JNQMF "-*"4SFDPSE w%/4.BEF&BTZ "/".&SFDPSE w$MPVE'MBSF%/4 $/".&'MBUUFO
w"843PVUF &$ɺ"-#$MPVE'SPOUͳͲ"84αʔϏεͷΈ w(FIJSO%/4 ΤΠϦΞεػೳ w46;63*Ͱ(FIJSO%/4Λ͍ͬͯ·͢
44-ઃఆ
44-ઃఆ wੲ44-ઃఆ༗ྉɿ44-&OEQPJOU MFHBDZ wࠓ༗ྉ%ZOPͰ͋ΕແྉͰ44-ઃఆ͕Մೳɿ)FSPLV44- w-FUT&ODSZQUʹΑΔແྉ44-ূ໌ॻऔಘՄೳʹͳͬͨ wͪΖΜࣗಈߋ৽ w46;63*Ͱ44-&OEQPJOU MFHBDZ Λ༻த
-FUT&ODSZQU wυϝΠϯ͕)FSPLVʹ͍͍ͯͳ͍ͱऔಘߋ৽Ͱ͖ͳ͍ͷͰҙ wݸਓΞϓϦͰɺূ໌ॻऔಘޙ$MPVE'MBSFܦ༝ʹΓସ͑ͨΒɺߋ৽࣌ ʹΤϥʔ͕ى͖ͨʜ
ϝʔϧ
4FOE(SJE wఆ൪ͷϝʔϧ৴αʔϏε w"EEPOͰՃͰ͖Δ wϓϥϯ͝ͱʹૹ৴Մೳ͕نఆ͞Ε͍ͯΔ
ૹ৴Φʔόʔ wϓϥϯ͝ͱͷૹ৴Λ͑Δͱϝʔϧ͕ૹΕͳ͘ͳΔ w༻ྔͷ௨ϝʔϧདྷΔ͕ɺٳʹ͔͔͍ͬͯΔͱؾ͚ͳ͍ ͜ͱ͋ΔͷͰ͜Ε͚ͩʹཔΕͳ͍ w݄͝ͱͷ੍ݶͷͨΊɺ݄ʹϝʔϧૹ৴͕ٸ૿͢Δ߹ʹҙ
ૹ৴Φʔόʔ wରࡦ wۚͰԥΔɿϓϥϯΛ্͛Δ wϝʔϧ͕ૹ৴Ͱ͖ͳ͘ͳͬͯॲཧ͕ࢭ·Βͳ͍Α͏ʹ͢Δ wϝʔϧૹ৴Λಉظॲཧ͠ͳ͍ ϫʔΧʔͰඇಉظૹ৴ɾ࠶ૹ৴Ͱ͖Δ Α͏ʹઃܭ͢ΔɾϩάΛ͢
ϝʔϧड৴ w4FOE(SJEϝʔϧૹ৴ͷΈͳͷͰɺड৴ଆߟ͑Δඞཁ͕͋Δ wड৴ϝʔϧͷ༰Λ1045ͰૹΔ1BSTF8FCIPPL͋Δ w46;63*ͰϔςϜϧΛ͍ͬͯΔ
σʔλϕʔε
)FSPLV1PTUHSFT w1PTUHSF42-)FSPLVެࣜͰఏڙ͞Ε͍ͯΔ w.Z42-ଞࣾ"EEPOͷΈ w1SFQBSFE4UBUFNFOUT wଓ wϨϓϦέʔγϣϯ
1SFQBSFE4UBUFNFOUT w1PTUHSF42-αʔόଆͷΫΤϦΩϟογϡػߏ w%#ͷϝϞϦΛେྔʹফඅͯ͠͠·͏ͨΊΦϑਪ wDPOpHEBUBCBTFZNMʹQSFQBSFE@TUBUFNFOUTGBMTFΛઃఆ wʮ"DUJWF3FDPSEؚΉଟ͘ͷ03.Ͱޮతʹ1SFQBSFE4UBUFNFOUT Λѻ͑ͣɺ*/۟ͷ༰͕ҧͬͨΓ͢Δͱผͷ14ͱͯ͠Ωϟογϡ͞Ε ΔͨΊɺ͋·Γʹଟ͘ͷ14͕࡞ΒΕͯ͠·͏ͨΊʯͱͷ͜ͱ w IUUQTEFWDFOUFSIFSPLVDPNBSUJDMFTQPTUHSFTMPHTFSSPSTSVCZBDUJWFSFDPSEBOEQSFQBSFE TUBUFNFOUT
ଓ wϓϥϯ͝ͱʹίωΫγϣϯͷ্ݶ͕ઃఆ͞Ε͍ͯΔ wରࡦ wۚͰԥΔɿ%#ͷϓϥϯΞοϓ wίωΫγϣϯϓʔϥʔͷ1H#PVODFSΛ͏
ϨϓϦέʔγϣϯ w'PMMPXFSEBUBCBTFػೳͱͯ͠ϨϓϦέʔγϣϯΛఏڙ w IUUQTEFWDFOUFSIFSPLVDPNBSUJDMFTIFSPLVQPTUHSFTGPMMPXFSEBUBCBTFT wϚελʔͱҧ͏ϓϥϯͰ0, ༰ྔͷ੍͋Δ w46;63*Ͱ3FEBTI͔ΒͷΞΫηεͷͨΊʹ'PMMPXFSEBUBCBTFΛ ͍ͬͯΔ
ϑΝΠϧΞοϓϩʔυ
ϑΝΠϧΞοϓϩʔυ wී௨ʹΔͱΫϥΠΞϯτˠ)FSPLVˠ4ͷܦ࿏ʹͳΔ wΞϓϦଆͰॲཧͯ͠อଘ͍ͨ͠ͱ͖༗ޮ͕ͩɺͦ͏Ͱͳ͍߹αʔ όϦιʔεΛઅ͍ͨ͠ɾ)FSPLV͕64ͳͷͰ͕͋Δ w46;63*Ͱ1SFTJHOFE63-ΛͬͨΞοϓϩʔυΛߦ͍ͬͯΔ w3BJMTͰಋೖ͞ΕΔ"DUJWF4UPSBHFͰɺ%JSFDUVQMPBEαϙʔ τ͞Ε͍ͯΔͱͷ͜ͱ w IUUQTHJUIVCDPNSBJMTSBJMTUSFFNBTUFSBDUJWFTUPSBHFEJSFDUVQMPBET
λΠϜΞτ
λΠϜΞτ wඵҎʹϨεϙϯεΛฦ͞ͳ͍ͱɺ)FSPLVଆͰऴྃͤ͞ΒΕΔ w݄ॳ༻ͷूܭ$47ΛϦΫΤετܖػͰੜˠμϯϩʔυΛ͍ͯͨ͠ ͕ɺ͜ͷલͷηʔϧͷͱ͖ʹ͍ͭʹλΠϜΞτͨ͠ w3BLFλεΫͰ$47Λੜͯ͠4ʹΞοϓ͢ΔΑ͏ʹ͍ͯ͠Δ
ϩά
ϩά w1BQFSUSBJM͕ఆ൪ w͔͠͠ɺਖ਼͋·Γ͍উखΑ͘ͳ͍ؾ͕ʜ w5SFBTVSF%BUB,JCBOBͳͲͷϩάج൫తͳͷʹू͢Δ΄͏͕Α ͦ͞͏ w4ͷόοΫΞοϓ͍ͯ͠Δ
ΞϓϦέʔγϣϯઃܭ
5IF5XFMWF'BDUPS"QQ wIUUQTGBDUPSOFUKBҎ্ʂ wΞϓϦέʔγϣϯ෦ͷઃఆͱڥ͝ͱʹҟͳΔઃఆΛ͢Δ wεςʔτϨεʜγεςϜϩʔΧϧͳԿ͔ʹґଘ͠ͳ͍ɺࣗݾ݁ w)FSPLVͰϩʔΧϧʹอଘͰ͖Δ͕ɺճ࠶ىಈ͞Εͯফ໓͢Δ w)FSPLVεέʔϥϒϧͳΞϓϦཆΪϓε
োใ
োใ wIUUQTTUBUVTIFSPLVDPN wϝʔϧͰߪಡͰ͖Δ͕ɺܰඍͳো݁ߏଟ͍ w$SJUJDBMJODJEFOUTPOMZͰ͍͍͔͠Εͳ͍
ωοτϫʔΫো w)FSPLVʹωοτϫʔΫো͕ൃੜ͠ɺ͜Ε͕ݪҼͱΈΒΕΔαʔϏ εো͕ى͖ͨ w"EEPOͷαʔόʔ෦-"/ʹͳ͍ͷͰωοτϫʔΫোͷӨڹΛ ड͚Δ͜ͱʹҙ w֎ܗࢹΛ͖ͪΜͱೖΕΔ
͓·͚
)FSPLV1JQFMJOFT wςετɺεςʔδϯάɺຊ൪ڥΛγʔϜϨεʹ౷߹͢Δ$*$%ڥ wNBTUFSϚʔδˠ)FSPLV$*࣮ߦˠςετ௨ͬͨΒࣗಈσϓϩΠͳͲ w$IBU0QTαϙʔτɿ/h deploy suzuri to production wͨͩ͠ɺ(JU)VC DPN
Ͱ͔͑͠ͳ͍ʜʜ wHJUIVCDPN͕ϋʔυίʔυ͞Ε͍ͯΔՕॴ͕͋ͪͪ͜ʹ͋ͬͯ৭ʑ େมΒ͍͠ͱͷ͜ͱʜ CZITCU w IUUQTLCIFSPLVDPNDBOJVTFHJUIVCFOUFSQSJTFXJUIQJQFMJOFSFWJFXBQQT
)FSPLV3FWJFX"QQT w)FSPLV1JQFMJOFTͷػೳͷͻͱͭ w1VMM3FRVFTUΛ࡞Δͨͼʹ৽͍͠ڥΛ࡞ͬͯ͘ΕΔ wJOUFHSBUJPOڥ͔ͪΒղ์ʂʂʂ wͨͩ͠ɺ͜Ε(JU)VCͰ͔͑͠ͳ͍ʜʜ
·ͱΊ wಠࣗυϝΠϯઃఆ wΦʔτεέʔϧ w44-ઃఆ wϝʔϧ wσʔλϕʔε wϑΝΠϧΞοϓϩʔυ wλΠϜΞτ wΞϓϦέʔγϣϯઃܭ wোใ
w͓·͚
੍͋Δ͕ͱͯศར
)FSPLVͰຊ൪ӡ༻ ͯ͜͠͏