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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
y_matsuwitter
February 07, 2015
Programming
10k
20
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gunosyの施策を支える技術
dots summit 2015にて。
y_matsuwitter
February 07, 2015
More Decks by y_matsuwitter
See All by y_matsuwitter
LLMと共に進化するプロセスを目指して
ymatsuwitter
13
5.1k
Building Products in the LLM Era
ymatsuwitter
11
13k
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
3.5k
経営・意思・エンジニアリング
ymatsuwitter
23
22k
LLM in 2023 and 2024
ymatsuwitter
8
6.3k
Turbulent Technological Changes and Career Strategies
ymatsuwitter
2
3.2k
LLM in toB Service and Its UX
ymatsuwitter
7
12k
Agent and small LLM validation
ymatsuwitter
7
3.1k
Information management for a culture of speed: The story of Notion and LayerX
ymatsuwitter
4
11k
Other Decks in Programming
See All in Programming
「人を評価する AI」の設計と実装
ryoyanara
0
200
生成AI導入の「期待外れ」を乗り越える ー 開発フロー改革が目指す、真の組織変革
starfish719
0
4.4k
VibeCodingからAgenticWorkflowへ
starfish719
0
450
変わらないものが、変わるものを決める — 意図駆動開発 × イベントソーシング × イミュータブル | What Doesn't Change Decides What Can — IDD × Event Sourcing × Immutability
tomohisa
0
1.7k
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.5k
テーブルをDELETEした
yuzneri
0
140
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
480
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
470
FDEが実現するAI駆動経営の現在地
gonta
2
280
Claude CodeとAgentCore Gatewayを繋ぐ際の認証認可 / Authentication and authorization when connecting Claude Code with AgentCore Gateway
har1101
2
270
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
150
170k Jobs a Day on GKE: Scaling Mercari's CI Platform - and What's Next for AI-Native Development
junyaokabe
0
110
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
570
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
430
Automating Front-end Workflow
addyosmani
1369
210k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
25k
Product Roadmaps are Hard
iamctodd
55
12k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
460
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
The Curse of the Amulet
leimatthew05
2
14k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
490
Designing for Timeless Needs
cassininazir
1
440
The Invisible Side of Design
smashingmag
301
52k
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 ·Ͱ