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-development-to-support-150000-creators
Search
monochromegane
October 24, 2015
Technology
0
3.9k
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
AIを前提とした体験の実現に向けて/toward_ai_based_experiences
monochromegane
1
240
Go言語でMac GPUプログラミング
monochromegane
1
160
Contextual and Nonstationary Multi-armed Bandits Using the Linear Gaussian State Space Model for the Meta-Recommender System
monochromegane
1
480
迅速な学習機構を用いて逐次適応性を損なうことなく非線形性を扱う文脈付き多腕バンディット手法/extreme_neural_linear_bandits
monochromegane
0
1.5k
再帰化への認知的転回/the-turn-to-recursive-system
monochromegane
0
590
仮想的な探索を用いて文脈や時間の経過による番狂わせにも迅速に追従する多腕バンディット手法/wi2_lkf_bandits
monochromegane
0
560
Synapse: 文脈と時間経過に応じて推薦手法の選択を最適化するメタ推薦システム/smash21-synapse
monochromegane
0
440
なめらかなシステムと運用維持の未来/dicomo2021-coherently-fittable-system
monochromegane
1
27k
go:embedでExplainable Binaryを作る/fukoukago17_go_code_embedding
monochromegane
2
320
Other Decks in Technology
See All in Technology
Building Dashboards as a Hobby
egmc
0
230
ChatworkのSRE部って実は 半分くらいPlatform Engineering部かもしれない
saramune
0
160
【NW X Security JAWS#3】L3-4:AWS環境のIPv6移行に向けて知っておきたいこと
shotashiratori
0
350
EMとして2023年度に頑張ったこと / What we did well in FY2023 as a EM
pauli
1
170
ServiceNow Knowledge 24の歩き方 EYストラテジー・アンド・コンサルティング
manarobot
0
200
障害対応をちょっとずつよくしていくための 演習の作りかた
heleeen
0
230
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.7k
TechFeed Experts Night#27 〜 フロントエンドフレームワーク最前線 (Svelte)
baseballyama
1
530
KubeCon EU 2024 Recap “Kubernetes Policy Time Machine: Where to Next?”
ryysud
0
220
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
300
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2.1k
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
130
Featured
See All Featured
GraphQLとの向き合い方2022年版
quramy
32
12k
Agile that works and the tools we love
rasmusluckow
325
20k
RailsConf 2023
tenderlove
4
540
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
244
20k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Building Your Own Lightsaber
phodgson
99
5.7k
Code Reviewing Like a Champion
maltzj
514
39k
Music & Morning Musume
bryan
41
5.6k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
It's Worth the Effort
3n
180
27k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
19
1.7k
Code Review Best Practice
trishagee
55
15k
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 ΞλϦϚΤ
• ϓϩδΣΫτେنԽͷରԠ • ۀϩδοΫෳࡶԽͷରԠ
ΞλϦϚΤΛ ΞλϦϚΤʹ
͓ΘΓ