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
870
Azure で始める 未来のアジャイルソフトウェア開発 ABCD2020A
changeworld
0
250
Azure で始める未来のアジャイルソフトウェア開発
changeworld
0
570
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
VISITS_AIIoTビジネス共創ラボ登壇資料.pdf
iotcomjpadmin
0
140
ハノーバーメッセ2025座談会.pdf
iotcomjpadmin
0
140
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
390
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
1k
監視のこれまでとこれから/sakura monitoring seminar 2025
fujiwara3
10
2.6k
kubellが挑むBPaaSにおける、人とAIエージェントによるサービス開発の最前線と技術展望
kubell_hr
1
390
2025/6/21 日本学術会議公開シンポジウム発表資料
keisuke198619
2
460
AWS全冠したので振りかえってみる
tajimon
0
150
Clineを含めたAIエージェントを 大規模組織に導入し、投資対効果を考える / Introducing AI agents into your organization
i35_267
4
1.2k
活きてなかったデータを活かしてみた話 / Shirokane Kougyou vol 19
sansan_randd
1
390
[TechNight #90-1] 本当に使える?ZDMの新機能を実践検証してみた
oracle4engineer
PRO
3
100
自分を理解するAI時代の準備 〜マイプロフィールMCPの実装〜
edo_m18
0
110
Featured
See All Featured
A better future with KSS
kneath
239
17k
The World Runs on Bad Software
bkeepers
PRO
68
11k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Site-Speed That Sticks
csswizardry
10
640
The Cost Of JavaScript in 2023
addyosmani
50
8.4k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
YesSQL, Process and Tooling at Scale
rocio
172
14k
For a Future-Friendly Web
brad_frost
179
9.8k
Adopting Sorbet at Scale
ufuk
77
9.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
Designing for Performance
lara
609
69k
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