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
830
Azure で始める 未来のアジャイルソフトウェア開発 ABCD2020A
changeworld
0
240
Azure で始める未来のアジャイルソフトウェア開発
changeworld
0
560
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
230
Take it easy, Azure DevOps
changeworld
1
1.9k
Why did I buy Surface Book 2 Excellent Edition
changeworld
0
220
To be or to do that is the question - DevOpsDays Tokyo 2018
changeworld
6
1.6k
Other Decks in Technology
See All in Technology
genspark_presentation.pdf
haruki_uiru
0
170
LINE 購物幕後推手
line_developers_tw
PRO
0
340
AIエージェント開発手法と業務導入のプラクティス
ykosaka
9
2.7k
Serverlessだからこそコードと設計にはこだわろう
kenichirokimura
1
190
3D生成AIのための画像生成
kosukeito
2
590
Gateway H2 モジュールで スマートホーム入門
minoruinachi
0
130
Microsoft の SSE の現在地
skmkzyk
0
280
ペアーズにおける評価ドリブンな AI Agent 開発のご紹介
fukubaka0825
8
2.2k
Compose におけるパスワード自動入力とパスワード保存
tonionagauzzi
0
190
AOAI で AI アプリを開発する時にまず考えたいこと
mappie_kochi
1
270
意思決定を支える検索体験を目指してやってきたこと
hinatades
PRO
0
400
AIとSREで「今」できること
honmarkhunt
3
700
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Done Done
chrislema
184
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
23
2.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
13
830
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Raft: Consensus for Rubyists
vanstee
137
6.9k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Site-Speed That Sticks
csswizardry
6
530
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