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
Gunosyの施策を支える技術
Search
y_matsuwitter
February 07, 2015
Programming
20
10k
Gunosyの施策を支える技術
dots summit 2015にて。
y_matsuwitter
February 07, 2015
Tweet
Share
More Decks by y_matsuwitter
See All by y_matsuwitter
Building Products in the LLM Era
ymatsuwitter
11
11k
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
3k
経営・意思・エンジニアリング
ymatsuwitter
23
20k
LLM in 2023 and 2024
ymatsuwitter
8
5.9k
Turbulent Technological Changes and Career Strategies
ymatsuwitter
2
2.9k
LLM in toB Service and Its UX
ymatsuwitter
7
11k
Agent and small LLM validation
ymatsuwitter
7
3k
Information management for a culture of speed: The story of Notion and LayerX
ymatsuwitter
4
11k
Monorepo on AWS
ymatsuwitter
0
330
Other Decks in Programming
See All in Programming
Let's Write a Train Tracking Algorithm
twocentstudios
0
220
2025年版 サーバーレス Web アプリケーションの作り方
hayatow
23
25k
私はどうやって技術力を上げたのか
yusukebe
43
17k
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
520
Pythonスレッドとは結局何なのか? CPython実装から見るNoGIL時代の変化
curekoshimizu
4
1.3k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
130
株式会社 Sun terras カンパニーデック
sunterras
0
230
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
520
開発生産性を上げるための生成AI活用術
starfish719
1
170
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
1k
AIエージェント時代における TypeScriptスキーマ駆動開発の新たな役割
bicstone
4
1.5k
高度なUI/UXこそHotwireで作ろう Kaigi on Rails 2025
naofumi
4
3.5k
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
139
7.1k
RailsConf 2023
tenderlove
30
1.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Thoughts on Productivity
jonyablonski
70
4.9k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Unsuck your backbone
ammeep
671
58k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Done Done
chrislema
185
16k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Transcript
GunosyͷࢪࡦΛ ࢧ͑Δٕज़ @y_matsuwitter
About @y_matsuwitter » ։ൃຊ෦ࣥߦһ » iOS, Android, Infrastructure, Web »
Golang!! Docker!! » ਖ਼࠲
Gunosyͱ » χϡʔεΩϡϨʔγϣϯΞϓϦ » ݱࡏ800ສDL » ػցֶश + ΞϓϦ։ൃ +
ࠂ৴ » ΤϯδχΞνʔϜ 25໊
Gunosy։ൃͷ໘ന͞ » ߴAPIαʔό ʢPeak࣌ϨΠςΠϯγ 30msʣ » ߴੑೳADαʔό » Ұઍສ݅Λࢧ͑ΔPush৴ج൫ »
৽ٕज़Λͻͨ͢ΒProduction » ...etc
ࠓͷ » GunosyͰͷࡉ͔͍ϦϦʔεΛࢧ͍͑ͯΔऔΓΈʹ͍ͭͯ » େ·͔ͳ͕ଟ͍ͷͰɺࡉ͔͍෦ޙͰ࣭͝Լ͍͞
We have... Too many problems Too too many ideas
Try, try, try... with limited time and resources.
There is no silver bullets!
Grow your app
Grow your app
Grow your app Grow your team!!
Team = Your service » ֤ࣗͷઓ͕ٕज़ྗͷ » ٕज़ྗͷ͕νʔϜͷ » νʔϜͷ͕ΞϓϦͷظతͳ
Gunosy's rule » ৽ٕज़ͷੵۃ࠾༻ » ࣈਆΑΓਖ਼͍͠ » 㙽ʹ֯ʹࢪࡦɾϦϦʔε
৫ͷ֦େ͕ݸਓͷ ઓΛ͛ͳ͍ Έͮ͘Γ
But, How did it?
Microservice Disposability
Microservices = খ͞ͳαʔϏεͷΈ߹ Θͤ
What is microservices? » దͳنͷϏδωεϩδοΫͷմ͝ͱʹ෦αʔϏεΛׂ » ΞϓϦέʔγϣϯଆ͔Β֤छAPIΛݺͼग़͢ » αʔϏεʹ߹Θٕͤͨज़બఆ
Why microservices? » Ϗδωεʹ߹ΘͤͨνʔϜͷׂɾฤ » খ͞ͳαʔϏεʹΑΔଐਓੑͷرബԽ » Ϗδωεཁٻʹର͢ΔॊೈͳରԠ ϞϊϦγοΫͳγεςϜͰɺϏδωε͕͢Δʹै͍վमίετ͕૿ Ճ͍ͯ͘͠
Disposability = ࣺͯ͢͞
What is disposability? » γεςϜؒͷ݁߹Λখ͘͞อͪɺഇغΛ༰қʹ͢Δ » ϦϑΝΫλϦϯάͰͳ͘γεςϜͷஔ͖͑ʹΑΔରॲ » ֤αʔϏεͷґଘͷ͍ΞϓϦέʔγϣϯ
Why disposability? » ͦͷ࣌ͷ৽ٕज़ͷ࠾༻ʹΑΔஔ͑Λ༰қʹ͢Δ » ෛ࠴ͱͳͬͨ࣌ʹʮࣺͯΔʯͱ͍͏அΛऔΕΔ༨ » খ͞ͳνʔϜͰଟ͘ͷ࣮ݧ ݁Ռͱͯ͠ଟ͘ͷࢼߦɾ৽ٕज़ͷTry͕ੜ·ΕΔ
But... How?
Golang, ABTesting Opsworks, Docker
Golang » ΞϓϦέʔγϣϯͷஔ͕༰қ » ฒྻॲཧͷهड़͕༰қ » APIͷຆͲ͕Golang » ࠃ࠷େͷGolang։ൃνʔϜʢࣗশʣ
Golang ӡ༻ϧʔϧ » ֤αʔϏεͰΘΕΔڞ௨Ϟδϡʔ ϧΛࣾύοέʔδͱͯ͠ఏڙ » ΤϯυϙΠϯτύεϕʔεͰසൟ ʹReplace
Golang ։ൃ࣌ͷߏ » WebϑϨʔϜϫʔΫ: guregu/kami » ͦͷଞ΄΅ύοέʔδͷΈͰӡ༻ » CircleCIʹΑΔCI
ABTesting » ଟ͘ͷࢪࡦΛABςετʹͯޮՌܭଌ » σβΠφͱͯ͠ͷઓΛࡉ͔͘ө͢ΔΈ
ABTesting ࣮ࡍͷӡ༻ » APIΑΓͲͷUIΛग़੍͔͢ޚʢը໘ભҠɾϨΠΞτͳͲʣ » RedshiftɾBigQueryͰՌूܭ » KPIશͯμογϡϘʔυʹΑΓ֬ೝ
ABTesting ࡞͍ͬͯΔͷ » ஈ৭ͳͲશͯͷଐੑΛϦϞʔτ੍ޚՄೳͳςΩετඳըΤϯδϯ
ABTesting ࡞͍ͬͯΔͷ » JSONϕʔεͷHTML likeͳಠࣗఆ ٛϏϡʔ
Opsworks » ͩΕͰඞཁͳΠϯϑϥΛGUIͷΈͰߏங » ॊೈͳεέʔϦϯάରԠ
Opsworks ϥʔϝϯτοϐϯάΠϯϑϥ » ը໘Λϙνϙν͍͚ͯͩ͘͠ͰඞཁͳΫϥελ͕࡞Մೳ
Docker » ϓϩηε࣮ߦڥΛ࣮ࡍͷαʔό͔Β » શͯͷγεςϜʹϙʔλϏϦςΟ
Docker Ұྫ: ࢄόονॲཧ
·ͱΊ » MicroservicesͱDisposability » ઓΛ͛ͳ͍։ൃମ੍Λ࡞Γଓ͚Δ » ΞϓϦͷͦ͜ʹ͍ͭͯ͘Δʂ
There is no silver bullets!
We're hiring!! ͢ΔڥͰ࠷ߴͷ։ൃΛ
࣭ @y_matsuwitter ·Ͱ