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
12k
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
3.3k
経営・意思・エンジニアリング
ymatsuwitter
23
21k
LLM in 2023 and 2024
ymatsuwitter
8
6.2k
Turbulent Technological Changes and Career Strategies
ymatsuwitter
2
3.1k
LLM in toB Service and Its UX
ymatsuwitter
7
11k
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
Monorepo on AWS
ymatsuwitter
0
360
Other Decks in Programming
See All in Programming
Understanding Apache Lucene - More than just full-text search
spinscale
0
140
Rethinking API Platform Filters
vinceamstoutz
0
160
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
180
AWS×クラウドネイティブソフトウェア設計 / AWS x Cloud-Native Software Design
nrslib
16
3.4k
Pythonデータ分析コトハジメinFukuoka
kanan
0
100
ファインチューニングせずメインコンペを解く方法
pokutuna
0
130
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.2k
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
130
モダンOBSプラグイン開発
umireon
0
180
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
160
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
510
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
[SF Ruby Conf 2025] Rails X
palkan
2
850
Building Adaptive Systems
keathley
44
3k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
650
My Coaching Mixtape
mlcsv
0
84
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
For a Future-Friendly Web
brad_frost
183
10k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
200
Statistics for Hackers
jakevdp
799
230k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
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 ·Ͱ