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
15万人の作家を支えるサービス開発の裏側 / back-of-the-service-deve...
Search
monochromegane
October 24, 2015
Technology
0
4k
15万人の作家を支えるサービス開発の裏側 / back-of-the-service-development-to-support-150000-creators
「minne」技術戦略カンファレンスの資料です
https://www.youtube.com/watch?v=uYti3xbCVBQ
monochromegane
October 24, 2015
Tweet
Share
More Decks by monochromegane
See All by monochromegane
Go言語でターミナルフレンドリーなAIコマンド、afaを作った/fukuokago20_afa
monochromegane
2
200
多様かつ継続的に変化する環境に適応する情報システム/thesis-defense-presentation
monochromegane
1
720
Online Nonstationary and Nonlinear Bandits with Recursive Weighted Gaussian Process
monochromegane
0
440
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
2
790
Go言語でMac GPUプログラミング
monochromegane
1
500
Contextual and Nonstationary Multi-armed Bandits Using the Linear Gaussian State Space Model for the Meta-Recommender System
monochromegane
1
950
迅速な学習機構を用いて逐次適応性を損なうことなく非線形性を扱う文脈付き多腕バンディット手法/extreme_neural_linear_bandits
monochromegane
0
2.1k
再帰化への認知的転回/the-turn-to-recursive-system
monochromegane
0
760
仮想的な探索を用いて文脈や時間の経過による番狂わせにも迅速に追従する多腕バンディット手法/wi2_lkf_bandits
monochromegane
0
690
Other Decks in Technology
See All in Technology
現場で役立つAPIデザイン
nagix
33
12k
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
810
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
120
分解して理解する Aspire
nenonaninu
1
130
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
700
全文検索+セマンティックランカー+LLMの自然文検索サ−ビスで得られた知見
segavvy
2
110
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
1.1k
30分でわかる『アジャイルデータモデリング』
hanon52_
9
2.7k
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
720
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
130
技術的負債解消の取り組みと専門チームのお話 #技術的負債_Findy
bengo4com
1
1.3k
Developer Summit 2025 [14-D-1] Yuki Hattori
yuhattor
19
6.2k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
40
2.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Visualization
eitanlees
146
15k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Gamification - CAS2011
davidbonilla
80
5.1k
Docker and Python
trallard
44
3.3k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
GitHub's CSS Performance
jonrohan
1030
460k
Speed Design
sergeychernyshev
27
790
Rebuilding a faster, lazier Slack
samanthasiow
80
8.8k
Transcript
15ສਓͷ࡞ՈΛࢧ͑Δ αʔϏε։ൃͷཪଆ minneࣄۀ෦ ϓϥοτϑΥʔϜνʔϜ GMO Pepabo, Inc
MIYAKE Yusuke @monochromegane
Platform Team
Fukuoka
Web application Infrastructure and
Ձʹ࣌ؒΛ͏
ΞλϦϚΤΛ ΞλϦϚΤʹ
Infrastructure Team Development
νʔϜͷΞλϦϚΤ
ࣄऀҙࣝΛ࣋ͯΔ
ΔؾͷΖ͏Μʁ ɿΔؾͷͰͳ͍Ͱ͔͢ʁ
ࣄऀҙࣝΛҭͯΔ
తͷڞ༗ Kickoff Break- down Daily stand-up MTG • શһࢀՃ •
ϓϩδΣΫτͷతΛڞ༗ • ΑΓΑ͍ղܾࡦͷݕ౼
શମ૾ͷڞ༗ Kickoff Break- down Daily stand-up MTG λεΫͷམ͠ࠐΈ
ਐḿͷڞ༗ Kickoff Break- down Daily stand-up MTG ظݶͱ༏ઌॱҐ
ج൫ͷΞλϦϚΤ
نΛҙࣝͤ͞ͳ͍
minne Client App Load Balancer Data Store OKARA CDN Job
Worker Batch Memcached Search Request Image Request Dynamic Image Transformation Cache Data Job Job Job Data Indexing Notification Search
Infrastructure as Code
Puppet Packer Serverspec
Deployment
Don’t miss it !
։ൃͷΞλϦϚΤ
γϯϓϧʹอͭ
Code LOC 2012/01 2,662
Code LOC 2013/01 5,508 2,662
Code LOC 2014/01 7,984 2,662 5,508
Code LOC 2015/01 12,085 2,662 5,508 7,984
Code LOC 2015/10 15,771 2,662 5,508 7,984 12,085
Rails
• Ruby 2.2.3 • Rails 4.2.4
• RailsͷϨʔϧʹΓଓ͚Δ
Microservices
ػೳΛγϯϓϧʹอͭ
• ಛԽͨ͠αʔϏεಋೖʹΑΔૣظ՝ղܾ • αʔϏεׂʹΑΔػೳɾϊϋͷڞ༗
Solr • ࡞Ոͱ࡞ͷݕࡧػೳ • Solr 4 (master-slave) + sunspot Master
Slave App Job Worker Update item Indexing Job Indexing Replication Search
OKARA • ࡞ը૾ͷಈతը૾αΠζม • Nginx + ngx_small_light + ngx_mruby +
CDN OKARA CDN Image Request Dynamic Image Transformation ngx_mruby • URL transformation • Hash validation ngx_small_light
See also https://speakerdeck.com/yano3/dynamic-image-transformation-server-okara-beta https://speakerdeck.com/mizor/better-search-for-minne-with-ruby-and-solr @mizor minneͷݕࡧΛRubyͱSolrͰͪΐͬͱศརʹͨ͠ @yano3 ngx_small_lightͱngx_mrubyͰ࡞Δಈతը૾มαʔό
CI
ςετΛγϯϓϧʹอͭ
Multi-containers CI test-queue worker test-queue worker test-queue master docker MySQL
test-queue worker Docker in Docker Drone • Drone + RSpec + test-queue • Docker in Docker • 27min -> 8min
ϨϏϡʔΛγϯϓϧʹอͭ
Coding rule spec it do default, $stdout = $stdout, StringIO.new
begin status = RuboCop::CLI.new.run(['--lint', file]) unless status.zero? raise "status: #{status}\n" + $stdout.string end ensure $stdout = default end end • Rubocop CLI • Ruby, Slim
Next ΞλϦϚΤ
• ϓϩδΣΫτେنԽͷରԠ • ۀϩδοΫෳࡶԽͷରԠ
ΞλϦϚΤΛ ΞλϦϚΤʹ
͓ΘΓ