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.1k
Herokuで本番運用する技術 / Heroku production
社内勉強会でHerokuの話をしました。
Hiroshi Shimoju
November 11, 2017
Tweet
Share
More Decks by Hiroshi Shimoju
See All by Hiroshi Shimoju
プロダクト開発エンジニアからSREへの挑戦 / backend-engineer-and-sre
shimoju
0
1.2k
実践 Heroku Enterprise / Unite Heroku Enterprise
shimoju
0
140
ImageMagick実践入門 画像加工サーバを作ってみよう / ImageMagick and image server
shimoju
0
3.5k
Web開発研修 イントロダクション / Web development training introduction
shimoju
0
11k
データ分析その前に〜Redashでデータ可視化からはじめよう / Data visualization by Redash
shimoju
1
1.9k
iOSアプリのテストをやってみて考えたこと / Testing iOS app
shimoju
1
150
Other Decks in Technology
See All in Technology
Autonomous Database サービス・アップデート (FY25)
oracle4engineer
PRO
1
490
IAMのマニアックな話2025
nrinetcom
PRO
6
1.6k
MLflowはどのようにLLMOpsの課題を解決するのか
taka_aki
0
170
20250304_赤煉瓦倉庫_DeepSeek_Deep_Dive
hiouchiy
2
150
スクラムというコンフォートゾーンから抜け出そう!プロジェクト全体に目を向けるインセプションデッキ / Inception Deck for seeing the whole project
takaking22
4
350
AI-Driven-Development-20250310
yuhattor
3
330
ABWG2024採択者が語るエンジニアとしての自分自身の見つけ方〜発信して、つながって、世界を広げていく〜
maimyyym
1
240
アウトカムを最大化させるプロダクトエンジニアの動き
hacomono
PRO
0
170
[OpsJAWS Meetup33 AIOps] Amazon Bedrockガードレールで守る安全なAI運用
akiratameto
1
150
いまから始めるAWS CDK 〜モダンなインフラ構築入門〜/iac-night-cdk-introduction
tomoki10
3
400
Dify触ってみた。
niftycorp
PRO
0
110
エンジニア主導の企画立案を可能にする組織とは?
recruitengineers
PRO
1
350
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Mobile First: as difficult as doing things right
swwweet
223
9.5k
How to train your dragon (web standard)
notwaldorf
91
5.9k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Code Reviewing Like a Champion
maltzj
521
39k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
12k
Building an army of robots
kneath
303
45k
Product Roadmaps are Hard
iamctodd
PRO
51
11k
For a Future-Friendly Web
brad_frost
176
9.6k
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Ͱຊ൪ӡ༻ ͯ͜͠͏