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
技術的負債にどう挑むか? / SMS Tech Casual Talks 2017.04
Search
changeworld
April 18, 2017
Technology
2
390
技術的負債にどう挑むか? / SMS Tech Casual Talks 2017.04
『SMS Tech Casual Talks 2017.04』で講演した『技術的負債にどう挑むか?』
changeworld
April 18, 2017
Tweet
Share
More Decks by changeworld
See All by changeworld
Azure is empower every person and every organization on the planet achieve more
changeworld
0
890
Azure で始める 未来のアジャイルソフトウェア開発 ABCD2020A
changeworld
0
250
Azure で始める未来のアジャイルソフトウェア開発
changeworld
0
580
devops found in 3 minutes!
changeworld
0
1.1k
NoOpsは悪い文明!!粉砕する!!
changeworld
0
2.4k
DO EPIC SHIT! JUST DO IT! Shut the fuck up and write some code!
changeworld
0
240
Take it easy, Azure DevOps
changeworld
1
1.9k
Why did I buy Surface Book 2 Excellent Edition
changeworld
0
230
To be or to do that is the question - DevOpsDays Tokyo 2018
changeworld
6
1.6k
Other Decks in Technology
See All in Technology
公開初日に Gemini CLI を試した話や FFmpeg と組み合わせてみた話など / Gemini CLI 初学者勉強会(#AI道場)
you
PRO
0
1.4k
60以上のプロダクトを持つ組織における開発者体験向上への取り組み - チームAPIとBackstageで構築する組織の可視化基盤 - / sre next 2025 Efforts to Improve Developer Experience in an Organization with Over 60 Products
vtryo
3
1.9k
サイバーエージェントグループのSRE10年の歩みとAI時代の生存戦略
shotatsuge
4
1.1k
20250708オープンエンドな探索と知識発見
sakana_ai
PRO
4
1.1k
【あのMCPって、どんな処理してるの?】 AWS CDKでの開発で便利なAWS MCP Servers特集
yoshimi0227
6
970
Copilot coding agentにベットしたいCTOが開発組織で取り組んだこと / GitHub Copilot coding agent in Team
tnir
0
200
Figma Dev Mode MCP Serverを用いたUI開発
zoothezoo
0
230
データ駆動経営の道しるべ:プロダクト開発指標の戦略的活用法
ham0215
2
120
ソフトウェアテストのAI活用_ver1.25
fumisuke
1
620
AIでテストプロセス自動化に挑戦する
sakatakazunori
1
540
CDK Toolkit Libraryにおけるテストの考え方
smt7174
1
550
AIエージェントが書くのなら直接CloudFormationを書かせればいいじゃないですか何故AWS CDKを使う必要があるのさ
watany
19
7.6k
Featured
See All Featured
Code Review Best Practice
trishagee
69
19k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
The Invisible Side of Design
smashingmag
301
51k
Navigating Team Friction
lara
187
15k
Automating Front-end Workflow
addyosmani
1370
200k
The Cost Of JavaScript in 2023
addyosmani
51
8.6k
Become a Pro
speakerdeck
PRO
29
5.4k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Transcript
© 2017 Takashi Takebayashi Takashi Takebayashi(a.k.a changeworlds) ٕज़తෛ࠴ʹ Ͳ͏Ή͔ʁ SMS
Tech Casual Talks 2017.04
© 2017 Takashi Takebayashi Hi everyone,
© 2017 Takashi Takebayashi The first publication of a writing
اը: தଜ͞Μ ޠpart: ۲ా͞Μ, ੴਆ͞Μ, ྛ ٕज़part: ُ͞Μ, ਗ਼ਫ͞Μ
© 2017 Takashi Takebayashi ٕज़తෛ࠴ͱԿ͔ʁ ٕज़తෛ࠴ͲͷΑ͏ʹى͜Δ͔ʁ ٕज़తෛ࠴ʹͲ͏औΓΉ͔ʁ ·ͱΊ ຊͷΞδΣϯμ
© 2017 Takashi Takebayashi ٕज़తෛ࠴ͱԿ͔ʁ
© 2017 Takashi Takebayashi ٕज़తෛ࠴ͱԿ͔ʁ https://www.slideshare.net/bigvisible/managing-technical-debt-2011-webinar
© 2017 Takashi Takebayashi ٕज़తෛ࠴ is લआΓ https://www.slideshare.net/bigvisible/managing-technical-debt-2011-webinar લआΓ
© 2017 Takashi Takebayashi ٕज़తෛ࠴ is લआΓ https://pbs.twimg.com/media/CXXv82GUsAAqJd1.jpg લआΓ ण໋ΛͬͯࠓͷઓಆೳྗΞοϓ
© 2017 Takashi Takebayashi ٕज़తෛ࠴ ͲͷΑ͏ʹى͜Δ͔ʁ
© 2017 Takashi Takebayashi Ϝμͷߏͱϓϩηε https://www.slideshare.net/bigvisible/managing-technical-debt-2011-webinar
© 2017 Takashi Takebayashi ٕज़తෛ࠴ܽؕͷੵͰ͋Δ https://www.slideshare.net/bigvisible/managing-technical-debt-2011-webinar
© 2017 Takashi Takebayashi རࢠͷࢧ͍࣌ؒͷϜμ https://www.slideshare.net/bigvisible/managing-technical-debt-2011-webinar
© 2017 Takashi Takebayashi ѱ॥ https://www.slideshare.net/bigvisible/managing-technical-debt-2011-webinar
© 2017 Takashi Takebayashi ෛ࠴ͷՄೳੑ https://www.slideshare.net/bigvisible/managing-technical-debt-2011-webinar
© 2017 Takashi Takebayashi ෛ࠴ͷՄೳੑ https://www.slideshare.net/bigvisible/managing-technical-debt-2011-webinar ෛ࠴ͷՄೳੑ มߋ x ෳࡶ
/ ࣭ͷίϯτϩʔϧ۩߹
© 2017 Takashi Takebayashi ࣭ͷίϯτϩʔϧ۩߹͕େ͖͚Εɺมߋෳࡶ ͕ߴͯ͘ɺٕज़తෛ࠴ͷՄೳੑେ͖͘ͳΒͳ ͍ ٯʹɺ࣭ͷίϯτϩʔϧ۩߹͕͚Εɺมߋ ෳࡶ͕ͯ͘ɺٕज़తෛ࠴ͷՄೳੑ͕େ͖͘ͳ Δ
ٕज़తෛ࠴ͷՄೳੑ
© 2017 Takashi Takebayashi ٕज़తෛ࠴ʹ Ͳ͏औΓΉ͔ʁ
© 2017 Takashi Takebayashi Step1: ࠜຊݪҼΛಛఆ͢Δ https://www.slideshare.net/bigvisible/managing-technical-debt-2011-webinar
© 2017 Takashi Takebayashi Step2: ͦΕʹରॲ͢Δ https://www.slideshare.net/bigvisible/managing-technical-debt-2011-webinar
© 2017 Takashi Takebayashi ։ൃऀͱͯ͠ https://www.slideshare.net/bigvisible/managing-technical-debt-2011-webinar
© 2017 Takashi Takebayashi ։ൃऀ: ࣭Λ্ͤ͞Α͏ https://www.slideshare.net/bigvisible/managing-technical-debt-2011-webinar
© 2017 Takashi Takebayashi ։ൃऀ: ઃܭΛຏ͜͏ https://www.slideshare.net/bigvisible/managing-technical-debt-2011-webinar
© 2017 Takashi Takebayashi ࣮ફ ʢͬͯΈͨʣ
© 2017 Takashi Takebayashi ঢ়Λݟ͚ͭΔ ηογϣϯڞ༗ϑΝΠϧ͕NFSʹ͋ΓɺՄ༻ੑࠓޙͷ֦ॆʹ՝༗ “ͳͥͦΕ͕ىͬͨ͜ͷ͔ʁ”ɺ“ͳʹ͕ݪҼ͔ʁ”Λࣗ͢Δɻ ࠜຊݪҼʹͨͲΓͭ͘·Ͱ“ͳͥʁ”Λ܁Γฦ͢ ϑΝΠϧҎ֎Ͱηογϣϯڞ༗ͷํ๏ΛΒͳ͔͔ͬͨΒ? RedisΛઃܭ࣌ͷਓ͕Βͳ͔͔ͬͨΒ?
࣮ફ1: NFS Step1
© 2017 Takashi Takebayashi ࣗͷίϯτϩʔϧʹ͋Δ߹ɺ͢ʂ Өڹ͕͋ͬͯखʹෛ͑ͳ͍߹ɺڞ௨ͷඪʹ͢Δ ࣗͷίϯτϩʔϧ֎ʹ͋Δ߹ɺӨڹΛ͑Δ NFSґཔ͞ΕͨͷͰࣗͷίϯτϩʔϧʹ͋ΔͱࢥͬͨͷͰ͠ʹ औΓֻ͔ͬͨ ࣮ફ1:
NFS Step2
© 2017 Takashi Takebayashi ࣮ફ1: NFS Step2 Architecture
© 2017 Takashi Takebayashi ࣮ફ1: NFS Step2 Architecture উͬͨο!ୈ3෦!
© 2017 Takashi Takebayashi ࣮ફ1: NFS Step2 Architecture http://checkmate-blog.com/wp-content/uploads/2016/11/a00567-1.jpg Mxstxrਆʮ(લུ)ͦΕHAProxy͡Όͳͯ͘
Route53ͷ͓ࣄͳؾ͕͠·͢Ͷɻʯ->
© 2017 Takashi Takebayashi ࣮ફ1: NFS Step2 Architecture before
© 2017 Takashi Takebayashi ࣮ફ1: NFS Step2 Architecture after
© 2017 Takashi Takebayashi ࣮ફ1: NFS Step2 Architecture after উͬͨο!ୈ3෦!
উͬͨο!ୈ3෦!(2ճ)
© 2017 Takashi Takebayashi ࣮ફ1: NFS Step2 Architecture উͬͨο!ୈ3෦! http://checkmate-blog.com/wp-content/uploads/2016/11/a00567-1.jpg
© 2017 Takashi Takebayashi ࣮ફ1: NFS Step2 Architecture উͬͨο!ୈ3෦! http://checkmate-blog.com/wp-content/uploads/2016/11/a00567-1.jpg
© 2017 Takashi Takebayashi ࣮ફ1: NFS Step2 Architecture উͬͨο!ୈ3෦! sxnaxtਆʮʯ->
http://checkmate-blog.com/wp-content/uploads/2016/11/a00567-1.jpg
© 2017 Takashi Takebayashi ࣮ફ1: NFS Step2 Mxstxrਆ, sxnaxtਆʮʯ-> http://checkmate-blog.com/wp-content/uploads/2016/11/a00567-1.jpg
© 2017 Takashi Takebayashi ࣮ફ1: NFS Step2 άΤʔࢮΜͩϯΰ http://checkmate-blog.com/wp-content/uploads/2016/11/a00567-1.jpg
© 2017 Takashi Takebayashi ࣗͷίϯτϩʔϧʹ͋Δ߹ɺ͢ʂ Өڹ͕͋ͬͯखʹෛ͑ͳ͍߹ɺڞ௨ͷඪʹ͢Δ ࣗͷίϯτϩʔϧ֎ʹ͋Δ߹ɺӨڹΛ͑Δ NFSґཔ͞ΕͨͷͰࣗͷίϯτϩʔϧʹ͋ΔͱࢥͬͨͷͰ͠ʹ औΓֻ͔ͬͨ ৭ʑ՝Λࢦఠ͞Εɺʑແࣄࢮͭͭ͠ɺલਐ͍ͯͨ͠
ݱࡏࣗͷίϯτϩʔϧ֎ ࣮ફ1: NFS Step2
© 2017 Takashi Takebayashi ࣗͷίϯτϩʔϧʹ͋Δ߹ɺ͢ʂ Өڹ͕͋ͬͯखʹෛ͑ͳ͍߹ɺڞ௨ͷඪʹ͢Δ ࣗͷίϯτϩʔϧ֎ʹ͋Δ߹ɺӨڹΛ͑Δ NFSґཔ͞ΕͨͷͰࣗͷίϯτϩʔϧʹ͋ΔͱࢥͬͨͷͰ͠ʹ औΓֻ͔ͬͨ(͕ɺ) ৭ʑ՝Λࢦఠ͞Εɺʑແࣄࢮͭͭ͠ɺલਐ͍ͯͨ͠(͕ɺ)
AWSͷRedis(Amazon ElastiCache)ͷར༻ඞਢʹํస͕͋ͬͨ(ͨΊɺ) ݱࡏࣗͷίϯτϩʔϧ֎(←Amazon ElastiCacheʹAWS͔Β͔͠ΞΫη εͰ͖ͳ੍͍ݶ͕͋ΔͨΊ) ࣮ફ1: NFS Step2 ແࣄࢮ େࣄͳ͜ͱͳͷͰ(ry ແࣄࢮ
© 2017 Takashi Takebayashi ঢ়Λݟ͚ͭΔ Sticky Session͕ઃఆ͞Ε͓ͯΓɺ͏·͘ෛՙ͕ࢄ͞Εͳ͍՝༗ “ͳͥͦΕ͕ىͬͨ͜ͷ͔ʁ”ɺ“ͳʹ͕ݪҼ͔ʁ”Λࣗ͢Δɻ ࠜຊݪҼʹͨͲΓͭ͘·Ͱ“ͳͥʁ”Λ܁Γฦ͢ ηογϣϯͷγϦΞϥΠζԽΛΒͳ͔͔ͬͨΒ?
αʔό͕JBoss, GlassFishͰ·͍͠γϦΞϥΠζԽ͕Ͱ͖ͳ͔͔ͬͨΒ? [֬ఆ]ϦϦʔε࣌ʹJBossͩͱΤϥʔʹͳͬͨͷͰɺٸᬎBPGlassFishʹͨ͠ ͔Β? ͦͷޙɺΤϥʔͷݪҼಛఆΛ͠ͳ͔͔ͬͨΒ? ࣮ફ2: Sticky Session Step1
© 2017 Takashi Takebayashi ࣗͷίϯτϩʔϧʹ͋Δ߹ɺ͢ʂ Өڹ͕͋ͬͯखʹෛ͑ͳ͍߹ɺڞ௨ͷඪʹ͢Δ ࣗͷίϯτϩʔϧ֎ʹ͋Δ߹ɺӨڹΛ͑Δ Sticky Sessionґཔ͞ΕͨͷͰࣗͷίϯτϩʔϧʹ͋ΔͱࢥͬͨͷͰ͠ʹऔΓֻ͔ͬͨ JBoss,
GlassFishͰSticky Sessionௐࠪͷ݁Ռɺඇৗʹ͍͠ -> Tomcatʹมߋͯ͠ྑ͍ͱڐՄΒ͍ɺଓߦ Tomcatʹม͑ͯγϦΞϥΠζԽͰΤϥʔɺҎԼௐࠪͯ͠Βͬͨ݁Ռ Hibernate, Log4Jͷόά(॥ࢀর) HibernateΛόάղফ൛·ͰόʔδϣϯΞοϓͯ͠Log4JͷͨΊʹղফ͕͍͠(Өڹൣғଟ͖ա͗Δ) γϦΞϥΠζ௨Βͳ͘ͳΔͷΛ։ൃ͠ͳ͕ΒݕͰ͖ΔΑ͏ͳঢ়ଶʹͳ͍ͱɺͭ·Γ࠷ॳظͷϛ χϚϜ͔࣌Βηογϣϯ֎෦Խ͞Εͯͳ͍ͱ͜Εͳ͔ͳ͔࣮ݱ͍͠ͷͰͳ͍͔ ͜ΕΛ࣮ݱ͠Α͏ͱࢥͬͨΒΞʔΩςΫνϟ৽͘͢͠ΔͳΓͯ͠ɺSpringSession ͱ͔Λ͍ͬͯ͘ͷ ͕Α͍ͷͰͳ͍͔ ݱࡏࣗͷίϯτϩʔϧ֎(←ΞʔΩςΫνϟ৽ͰӨڹൣғେ͖ա͗Δ) ࣮ફ2: Sticky Session Step2
© 2017 Takashi Takebayashi ࣗͷίϯτϩʔϧʹ͋Δ߹ɺ͢ʂ Өڹ͕͋ͬͯखʹෛ͑ͳ͍߹ɺڞ௨ͷඪʹ͢Δ ࣗͷίϯτϩʔϧ֎ʹ͋Δ߹ɺӨڹΛ͑Δ NFSґཔ͞ΕͨͷͰࣗͷίϯτϩʔϧʹ͋ΔͱࢥͬͨͷͰ͠ʹ औΓֻ͔ͬͨ(͕ɺ) ৭ʑ՝Λࢦఠ͞Εɺʑແࣄࢮͭͭ͠ɺલਐ͍ͯͨ͠(͕ɺ)
AWSͷRedis(Amazon ElastiCache)ͷར༻ඞਢʹํస͕͋ͬͨ(ͨΊɺ) ݱࡏࣗͷίϯτϩʔϧ֎(←Amazon ElastiCacheʹAWS͔Β͔͠ΞΫη εͰ͖ͳ੍͍ݶ͕͋ΔͨΊ) ࣮ફ2: Sticky Session Step2 ແࣄࢮ େࣄͳ͜ͱͳͷͰ(ry ແࣄࢮ
© 2017 Takashi Takebayashi ঢ়Λݟ͚ͭΔ αʔόߏஙͰChefͱखಈ͕ࠞࡏ͓ͯ͠Γɺಉ͡ڥ͕࠶ݱͰ͖ͳ͍ “ͳͥͦΕ͕ىͬͨ͜ͷ͔ʁ”ɺ“ͳʹ͕ݪҼ͔ʁ”Λࣗ͢Δɻ ࠜຊݪҼʹͨͲΓͭ͘·Ͱ“ͳͥʁ”Λ܁Γฦ͢ ChefΛ͖ͳϑϨϯζͱݏ͍ͳϑϨϯζ͕͍͔ͨΒ? ChefΛ͖ͳϑϨϯζ͕ୀ৬͔ͨ͠Β?
࣮ફ3: NFS&खಈߏங Step1
© 2017 Takashi Takebayashi ࣗͷίϯτϩʔϧʹ͋Δ߹ɺ͢ʂ Өڹ͕͋ͬͯखʹෛ͑ͳ͍߹ɺڞ௨ͷඪʹ͢Δ ࣗͷίϯτϩʔϧ֎ʹ͋Δ߹ɺӨڹΛ͑Δ Terraform(Hashicorp)ͱ͍͏IaCπʔϧͰڥΛߏங ࠓͷͱ͜ΖඈΜͰདྷ͍ͯͳ͍͕ɺ༉அ͢Δͱ͙͢ʹແࣄࢮ͢ ΔͷͰɺҙͭͭ͠ணखதɹˡɹΠϚίί
࣮ફ3: NFS&खಈߏங Step2
© 2017 Takashi Takebayashi ࣗͷίϯτϩʔϧʹ͋Δ߹ɺ͢ʂ Өڹ͕͋ͬͯखʹෛ͑ͳ͍߹ɺڞ௨ͷඪʹ͢Δ ࣗͷίϯτϩʔϧ֎ʹ͋Δ߹ɺӨڹΛ͑Δ NFSґཔ͞ΕͨͷͰࣗͷίϯτϩʔϧʹ͋ΔͱࢥͬͨͷͰ͠ʹ औΓֻ͔ͬͨ(͕ɺ) ৭ʑ՝Λࢦఠ͞Εɺʑແࣄࢮͭͭ͠ɺલਐ͍ͯͨ͠(͕ɺ)
AWSͷRedis(Amazon ElastiCache)ͷར༻ඞਢʹํస͕͋ͬͨ(ͨΊɺ) ݱࡏࣗͷίϯτϩʔϧ֎(←Amazon ElastiCacheʹAWS͔Β͔͠ΞΫη εͰ͖ͳ੍͍ݶ͕͋ΔͨΊ) ݁ʂʂ લआΓɺμϝઈରʂ େࣄͳ͜ͱͳͷͰ(ry લआΓɺμϝઈରʂ
© 2017 Takashi Takebayashi ·ͱΊ
© 2017 Takashi Takebayashi ٕज़తෛ࠴ͱઌͷͨΊʹະདྷΛ٘ਜ਼ʹ͢Δ͜ͱ ٕज़తෛ࠴ѱ॥͔ΒੜΈग़͞ΕΔͷͰɺ࣭ͷ ίϯτϩʔϧʹཹҙ͠Α͏ ։ൃऀϙʔτϑΥϦΦʹࢿ͠Α͏ ࣭Λ্ͤ͞Α͏ σβΠϯΛຏ͜͏
·ͱΊ
© 2017 Takashi Takebayashi Thank you for your attention. Any
questions?
© 2017 Takashi Takebayashi http://shisly.cocolog-nifty.com/photos/uncategorized/2015/04/18/martin_luther5.jpg