Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
こんなこともあろうかと、 サーバーは予め増やして置いた 〜アクセス頻度予測を用いてサーバーを自...
Search
Ryo Takaishi
April 25, 2018
Technology
7
3.9k
こんなこともあろうかと、 サーバーは予め増やして置いた 〜アクセス頻度予測を用いてサーバーを自動増減する「計画的スケーリング」その後〜 / LINE Developer Meetup #32
LINE Developer Meetup #32
https://line.connpass.com/event/83597/
Ryo Takaishi
April 25, 2018
Tweet
Share
More Decks by Ryo Takaishi
See All by Ryo Takaishi
スロークエリとの戦いの軌跡2024 / ゆるSRE勉強会 #10
takaishi
1
810
AWSを使ったカンファレンスの 配信アーキテクチャ - 吉祥寺.pm37
takaishi
2
540
どうやればインシデント対応能力を鍛えられるのか? / SRE Kaigi 2025
takaishi
13
12k
Podcastを3年半続ける技術と得た物 / ya8-2024
takaishi
5
1.9k
入門!ClusterAPI 〜 k8s クラスターも k8s API で管理したい 〜 / k8s_meetup_31
takaishi
3
4.7k
CloudNativeへの道 リーダーシップとフォロワーシップ / 201911-cndjp13
takaishi
2
960
ClusterAPI v1alpha1 → v1alpha2 / k8s_meetup_23
takaishi
1
1.6k
実録!CloudNativeを 目指した230日 / cloud-native-days-tokyo-2019
takaishi
2
2.6k
Consul Connect and Kubernetes Integration / cloud native meetup tokyo 7
takaishi
2
2.3k
Other Decks in Technology
See All in Technology
プロダクト負債と歩む持続可能なサービスを育てるための挑戦
sansantech
PRO
1
1.1k
Introduction to Bill One Development Engineer
sansan33
PRO
0
320
日経電子版の BCP への取り組みについて/mediajaws1121
nikkei_engineer_recruiting
0
110
Digital omtanke på Internetdagarna 2025
axbom
PRO
0
140
翻訳・対話・越境で強いチームワークを作ろう! / Building Strong Teamwork through Interpretation, Dialogue, and Border-Crossing
ar_tama
2
620
その意思決定、まだ続けるんですか? ~痛みを超えて未来を作る、AI時代の撤退とピボットの技術~
applism118
45
25k
Kill the Vibe?Architecture in the age of AI
stoth
1
120
re:Invent2025とAWS Builder Cards Resilience Expansionのご紹介
tsuwa61
1
100
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
46k
AI エージェント活用のベストプラクティスと今後の課題
asei
2
410
Android Studio Otter の最新 Gemini 機能 / Latest Gemini features in Android Studio Otter
yanzm
0
500
Digitization部 紹介資料
sansan33
PRO
1
6k
Featured
See All Featured
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Building an army of robots
kneath
306
46k
Fireside Chat
paigeccino
41
3.7k
GitHub's CSS Performance
jonrohan
1032
470k
Typedesign – Prime Four
hannesfritz
42
2.9k
Done Done
chrislema
186
16k
Become a Pro
speakerdeck
PRO
30
5.6k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
We Have a Design System, Now What?
morganepeng
54
7.9k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.3k
Building Applications with DynamoDB
mza
96
6.8k
Transcript
∁ੴྒ / GMO Pepabo, Inc. 2018-04-24 LINE Developer Meetup #32
ʙΞΫηεස༧ଌΛ༻͍ͯαʔόʔΛࣗಈ૿ݮ͢ΔʮܭըతεέʔϦϯάʯͦͷޙʙ ͜Μͳ͜ͱ͋Ζ͏͔ͱɺ αʔόʔ༧Ί૿ͯ͠ஔ͍ͨ
ιϑτΣΞΤϯδχΞ ∁ੴ ྒ / @r_takaishi https://repl.info/ TAKAISHI Ryo ٕज़෦ ٕज़ج൫νʔϜ
ΩϟύγςΟϓϥϯχϯά
μϯ͠ͳ͍ෛՙΛ͘͞ ແବͳ͘దͳϦιʔεΛஔ͢Δ
!5 • ϐʔΫλΠϜʹ͋ΘͤͯΛܾఆ • ϝσΟΞ࿐ग़ɾΩϟϯϖʔϯ࣌ʹݸผʹ૿ઃ ΞϓϦέʔγϣϯαʔόʔͷ߹@minne
!6 ϐʔΫλΠϜʹ͋ΘͤͯΛઃఆ͢Δ߹
࣌ؒ ΞΫηεසʢਖ਼نԽࡁʣ αʔόʔ
ΞΫηε͕গͳ͍࣌ؒαʔόʔ Λ͍͍ײ͡ʹݮΒ͍ͨ͠
ΞΫηε͕ଟ͍࣌ؒͦΕΛࡹ͚ ΔΑ͏ͳαʔόʔʹ͍ͨ͠
ෛՙʹԠͯ͡ Φʔτεέʔϧ͢Ε͍͍
!10 • ϐʔΫ࣌ͷෛՙॠؒతʹൃੜ͢ΔͨΊɺݕͯ͠ ͔ΒͷεέʔϧΞτͰؒʹ߹Θͳ͍ • αʔόʔͷىಈʙαʔϏεΠϯʹ͔͔ΔλΠϜϥά • ԾϚγϯͷىಈ • ىಈ࣌ʹ࠷৽ͷΞϓϦέʔγϣϯίʔυΛσϓϩΠ
ෛՙΛݕͯ͠Φʔτεέʔϧ͢Δख๏
ͳ͔ͳ͔͍͠ʜ
ͱࢥ͍ͬͯͨΒɺͷ಄ʹ
͍͍ͷ͋ΔΑ…ʂ
ࡾݚڀॴһʹΑΔ ఏҊख๏
ΞΫηεස༧ଌΛ༻͍ͨ ܭըతεέʔϦϯά
͜Ε·Ͱੵ͖ͯͨ͠ ΞΫηεϩάΛͬͯ ະདྷͷΞΫηεසΛ༧ଌ͢Δ
ࣄલʹΞΫηεස͕Θ͔Εɺ ඞཁͳαʔόʔΘ͔Δ
• minneͰΞΫηεϩάɾߦಈϩάΛอଘ͍ͯ͠Δ • ྫ͑աڈ1ϲ݄ؒɺ1࣌ؒ୯ҐͷΞΫηεස͕Θ͔Δ • ͜ͷ࣌ܥྻσʔλΛ༻͍ͯɺະདྷͷΞΫηεසΛ༧ଌ͢Δ • ࣄલʹΞΫηεස͕Θ͔ΕɺॲཧՄೳͳʹ૿ݮͰ͖Δ !18 Ͳ͏͍͏ͷ͔ͬ͘͟Γ
• minneͰΞΫηεϩάɾߦಈϩάΛอଘ͍ͯ͠Δ • ྫ͑աڈ1ϲ݄ؒɺ1࣌ؒ୯ҐͷΞΫηεස͕Θ͔Δ • ͜ͷ࣌ܥྻσʔλΛ༻͍ͯɺະདྷͷΞΫηεසΛ༧ଌ͢Δ • ࣄલʹΞΫηεස͕Θ͔ΕɺॲཧՄೳͳʹ૿ݮͰ͖Δ !19 Ͳ͏͍͏ͷ͔ͬ͘͟Γ
ࠓ͢ͷɺಛʹ͜ͷ෦
!20 ϩάऩू෦͕ؾʹͳΔํεϥΠυΛνΣοΫʂ IUUQTTQFBLFSEFDLDPNNPOPDISPNFHBOFQFQBCPMPHJOGSBTUSVDUVSFCJHGPPU
!21 ༧ଌʹ͍ͭͯؾʹͳΔํϖύݚϒϩάΛνΣοΫʂ IUUQTSBOEQFQBCPDPNBSUJDMFJPUNJZBLFZ
ͱ͍͏Θ͚Ͱ ࡞͍ͬͯͧ͘
!23 • ΞΫηεස༧ଌ܅ʢϖύݚʣ • αʔόʔܭࢉɾ૿ݮ܅ʢminneʣ ඞཁͳίϯϙʔωϯτԿ͔ʁ
!24 ͜Ε͕ܭըతεέʔϦϯάͷߏͩʂ cron Redis ΞΫηεස༧ଌ܅ (Sidekiq) IaaS API Endpoint ༧ଌΞΫηεͷऔಘ
ఆظ࣮ߦ αʔόʔܭࢉɾ૿ݮ܅ (hakata) ඞཁαʔόʔΛܭࢉɾ૿ݮ ༧ΞΫηεසΛอଘ
!25 ܭըతεέʔϦϯάͷྲྀΕ ࣌ ࣌ ࣌ ࣌ ຖ0࣌ա͗ɿ 1ͷΞΫηεසΛ༧ଌ͢ΔΑ ຖ࣌40࣌ա͗ɿ ࣍ͷ1࣌ؒͷΞΫηεස༧ଌ͔ΒαʔόʔΛ૿ݮ͢ΔΑ
• ༧ଌΞΫηεස(ϦΫΤετ/࣌)Λϕʔεͱ͢Δ • αʔόʔ͕ৗʹҰఆͷεϧʔϓοτ(rpm)ΛอͭΛࢦ͢ • εϧʔϓοτظ(rpm)NewRelicͷϝτϦΫε͔Βࢉग़ !26 ඞཁαʔόʔͷܭࢉ ඞཁ༧ଌΞΫηεසεϧʔϓοτظ
!27 • ༧ଌΞΫηεසɿ60,000 ϦΫΤετ/࣌ • εϧʔϓοτظɿ1,000 rpm αʔόʔܭࢉͷྫ ඞཁ༧ଌΞΫηεසεϧʔϓοτظ
• ʮΞΫηεස༧ଌʯͱʮϦιʔεྔܭࢉɾ૿ݮʯͷ2͕ͭඞཁ • ΞΫηεස༧ଌ1ʹ1ճ • Ϧιʔε૿ݮͷλΠϛϯά1࣌ؒʹ1ճ • Ϧιʔεྔܭࢉ༧ଌͱεϧʔϓοτظΛݩʹܭࢉ !28 ܭըతεέʔϦϯάͷઃܭ·ͱΊ
ධՁɾ՝
!30 ΞϓϦέʔγϣϯαʔόʔͷCPU༻ ܭըతεέʔϧɿແޮ ܭըతεέʔϧɿ༗ޮ
!31 ΞϓϦέʔγϣϯαʔόʔͷભҠ ܭըతεέʔϧɿແޮ ܭըతεέʔϧɿ༗ޮ
݁ߏ͍͍͔Μ͡ʹಈ͍͕ͨʜ
͍͔ͭ͘՝
!34 • ༧ଌͷਫ਼ԼʹΑΔϦιʔεෆ • ༧ଌʹݱΕͳ͍ΞΫηεͷରԠ • εέʔϧΞτ͕ؒʹ߹Θͳ͍έʔε ՝
͜͜·Ͱͷ
ผ࡞ۀͷͨΊɺ Ұ࣌తʹఀࢭ͍ͯͨ͠
݄ࠒ͔Βվળʹணख
εέʔϧΞτ ͕ؒʹ߹Θͳ͍
!39 • αʔόʔىಈ࣌ʹΞϓϦέʔγϣϯͷίʔυΛऔಘɾ ల։͓ͯ͠ΓɺϘτϧωοΫͱͳ͍ͬͯΔ • ࠷৽Πϝʔδ ≠ ࠷৽ΞϓϦ • ΞϓϦͷϥΠϑαΠΫϧ
≠ αʔόʔͷϥΠϑαΠΫϧ ͳͥɺεέʔϧΞτ͕ؒʹ߹Θͳ͍ͷ͔ʁ
!40 ϥΠϑαΠΫϧ CentOS minimal www www build minimal image build
www image image lifecycle server lifecycle install puppet apply puppet deploy minne-app launch www server www deploy minne-app terminate www server deleted release minne-app
!41 • ࠷৽ΞϓϦ = ࠷৽ΠϝʔδΛࢦ͢ • ϦϦʔε࣌ʹΠϝʔδΛϏϧυ͠ɺ࠷৽ͷΞϓϦΛ ؚΉΑ͏ʹ͢Δ ϦϦʔε࣌ʹΠϝʔδΛϏϧυ͢Δ
!42 • baseΠϝʔδͷϏϧυ • wwwΠϝʔδͷϏϧυ • wwwΠϝʔδͷݕࠪ • αʔόʔͱͯ͠ىಈ͢Δͷ͔ʁ •
ىಈͨ͠ޙɺͪΌΜͱ֤ϓϩηε͕ಈ͍ͯΞΫηεͰ͖Δ͔ʁ ΠϝʔδϏϧυʹඞཁͳͷ…ʁ
!43 ͍͍͔Μ͡ʹΠϝʔδΛϏϧυͯ͘͠ΕΔͭ hakata workflow - build - push - verify
notify run खݩ͔Βssh࣮ͯ͠ߦ ΞϓϦͷϦϦʔε࣌ʹϏϧυ IaaCͷϦϦʔε࣌ʹϏϧυ
࣮ͯ͠ɺಈ࡞Λ֬ೝ ࠷৽ΞϓϦ࠷৽Πϝʔδ✨
ܭըతεέʔϦϯάΛ࠶Քಇͯ͠ɺ վળ͞Ε͔ͨݕূͨ͠
ܭըతεέʔϦϯάΛ࠶Քಇͯ͠ɺ վળ͞Ε͔ͨݕূͨ͠
!47 • ΠϝʔδͷࣗಈϏϧυʹࢥͬͨΑΓ͕͔͔࣌ؒͬͨ • ࠶Քಇ͠Α͏ͱͨ͠Β͍Ζ͍Ζಈ͔ͣbug fix ࠶Քಇ͜ͷMeetupʹؒʹ߹Θͣ…
ࠓޙʹ͝ظ͍ͩ͘͞ʂ
·ͱΊ
!50 • ΞΫηεස༧ଌΛ༻͍ɺΞΫηε͕૿͑ΔલʹΦʔ τεέʔϧ • ϖύݚͱ࿈ܞɾ୲͠ɺ࣮ݱ • ࢼݧӡ༻͠ɺ՝Λચ͍ग़ͨ͠ • ͕ɺվળ·ͰͰ͖ͣ…
·ͱΊ
Α͔ͬͨ͜ͱ
!52 • ϖύݚͱ࿈ܞ͠ɺ৽ٕज़Λ࣮ࡍͷαʔϏεʹಋೖ • Φʔτεέʔϧʹ͍ͭͯͷݟΛಘΔ͜ͱ͕Ͱ͖ͨ Α͔ͬͨ͜ͱ
!53 • Έͷ൚༻Խ • ࠓճIaaS্Ͱ࡞͕ͬͨɺΈࣗମଞͰ͑Δ • ྫɿKubernetesͷΑ͏ͳίϯςφج൫ͷల։ • ༧ଌʹݱΕͳ͍ΞΫηεͷରԠ •
ෛՙΛτϦΨʔͱͨ͠εέʔϧΞτ ࠓޙ͍͖͍ͬͯͨ͜ͱ
We are hiring! ϗεςΟϯάαʔϏεͰ৽ٕज़Λ׆༻ ΣϒαʔϏεͷ4JUF3FMJBCJMJUZ&OHJOFFSJOH શࣾతͳٕज़ج൫Λ͕ͬͭΓ ࣄۀΛࠩผԽͰ͖Δٕज़Λ࡞Γग़͍ͨ͠ FUDʜ