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.3k
実践 Heroku Enterprise / Unite Heroku Enterprise
shimoju
0
170
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
150
Other Decks in Technology
See All in Technology
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
160
AI エージェントとはそもそも何か? - 技術背景から Amazon Bedrock AgentCore での実装まで- / AI Agent Unicorn Day 2025
hariby
4
1.1k
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
300
サンドボックス技術でAI利活用を促進する
koh_naga
0
190
Kubernetes における cgroup v2 でのOut-Of-Memory 問題の解決
pfn
PRO
0
460
落ちる 落ちるよ サーバーは落ちる
suehiromasatoshi
0
140
Codeful Serverless / 一人運用でもやり抜く力
_kensh
4
160
進捗
ydah
2
230
データアナリストからアナリティクスエンジニアになった話
hiyokko_data
2
420
[RSJ25] Feasible RAG: Hierarchical Multimodal Retrieval with Feasibility-Aware Embodied Memory for Mobile Manipulation
keio_smilab
PRO
0
100
「魔法少女まどか☆マギカ Magia Exedra」の必殺技演出を徹底解剖! -キャラクターの魅力を最大限にファンに届けるためのこだわり-
gree_tech
PRO
0
550
Agile PBL at New Grads Trainings
kawaguti
PRO
1
270
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Code Review Best Practice
trishagee
70
19k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
A Tale of Four Properties
chriscoyier
160
23k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Fireside Chat
paigeccino
39
3.6k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Music & Morning Musume
bryan
46
6.8k
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Ͱຊ൪ӡ༻ ͯ͜͠͏