Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
エンジニア3人で支える月間10億PV
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
yujiosaka
July 27, 2014
Technology
18k
38
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
エンジニア3人で支える月間10億PV
・2年で月間10億PVを支えるまで成長した ZenClerkの運用上の工夫を紹介
・AWSのTipsとあるある話の共有
yujiosaka
July 27, 2014
Transcript
68 slides
ΤϯδχΞ3ਓͰࢧ͑Δ ݄ؒ10ԯPV JAWS-UG ઍ༿ࢧ෦ Vol.4
--attributes “violinist” “engineer” “consultant” “security specialist” “startup member of ”
--favorite-service “CloudWatch” introduce “Yuji Isobe”
LT
օ͞ΜɺࣗಈԽͯ͠·͔͢ʁ
None
ͪΖΜαʔόʔ શͯࣗಈԽ͍ͯ͠·͢ΑͶ
ͩͬͨΒ
Ͳ͏ͯ͠ਓؒؔ ࣗಈԽ͠ͳ͍ΜͰ͔͢ʁ
·্ͩ࢘ͷߘʹ खಈͰLikeΛԡ͠ଓ͚·͔͢ʁ
ਓؒؔࣗಈԽ ͦ͏ɺCloudWatchͳΒͶ
CloudWatchͰײΛࢹ
ΞϥʔϜΛηοτ
SNSͰϝʔϧΛૹ৴
ػೳ ✓ Graph APIΛͬͯFaceBookͷϝοηʔδΛੳ ✓ ΧελϜϝτϦΫεΛͬͯCloudWatchͰࢹ ✓ ײ͕Լ͕͖ͬͯͨΒ૬खʹ࿈བྷ ✓ ײ্͕͕Γա͗ͨΒࣗʹܯࠂ
✓ ؔͷम෮͕ෆՄೳʹͳͬͨΒڞ௨ͷ༑ਓʹ࿈བྷ
αʔόʔΛࢹ͠ͳ͕Β ਓؒؔࢹͰ͖Δʂ
ࠓޙͷ՝ ✓ FaceBookΞϓϦͷঝೝΛಘΔ͜ͱʢ٧Μͩʣ !
killall “LT”
describe-goals > 2Ͱ݄ؒ10ԯPVΛࢧ͑Δ·Ͱͨ͠ ɹ ͷӡ༻্ͷΛհ > AWSͷTipsͱ͋Δ͋Δͷڞ༗ ! ※ Chefͷͱ͔Γ·ͤΜ
None
ϦΞϧλΠϜੳ
ϦΞϧλΠϜੳ େྔσʔλ
describe-stats > ݄ؒ10ԯPV > ඵؒฏۉ400PV > ฏۉಉ࣌ଓ5ສ > ݄ؒอଘσʔλྔ10TB
describe-architecture front-end > Nginx > AngularJS > Ruby on Rails
> MySQL > memcached back-end > Nginx > Node.js > socket.io > MongoDB > Redis
ec2-describe-instances > 5 x m1.small > 40 x m3.medium >
7 x m3.large > 1 x m3.xlarge > 10 x c3.large > 2 x r3.2xlarge > 6 x i2.2xlarge --date “2014/07/26”
ec2-describe-reasons > αʔϏε͕๛ > API͕͍͍͢ > ใ͕खʹೖΓ͍͢ > εϙοτΠϯελϯε͕ ɹ৴͡ΒΕͳ͍΄Ͳ͍҆ʂ
> ਖ਼໊ࣜশSpot Request Instance > धཁͱڙڅͰՁ͕ܾ֨·Δ > ೖࡳՁ֨Λ͑Δͱ༰ࣻͳ͘Terminate εϙοτΠϯελϯε
େن͋Δ͋Δʢʁʣ εϙοτΠϯελϯεΛ100->200ʹ Ұؾʹ૿͢ͱɺશମͷ૬্͕͕ͬͯ Πϯελϯε͕ಉ࣌ʹTerminate͞ΕΔ
describe-team 1 designer 2 sales 3 data scientists 3 engineers
describe-engineers describe “Najima” ! ! ! ! ! > େྔσʔλͷ
ɹड͚ೖΕ͕ಘҙ describe “Jouko” ! ! ! ! ! > ϦονͳUI/UX ɹ࡞Γ͕ಘҙ
ͷӡ༻
deliver communication + management develop test monitor ࠓ͢ͷɾɾɾ
deliver communication + management develop test monitor ͜͜ʂ
Ͱͦͷલʹɾɾɾ
։ൃݱΛνϥݟͤ—
εέʔϥϒϧɾΞʔΩςΫνϟ
git-flowϞσϧ։ൃ feature/myfeature develop develop master master hotfix/myhotfix
Pull Requestۦಈ։ൃ
CircleCI
Slack
Sqwiggle
Trello
҆৺ͱ৴པͷWiki
ٯʹ͍ͬͯͳ͍ͷ > όάτϥοΩϯάγεςϜʢRedmineͱ͔ʣ > ࣾϝʔϧ
monitor
ϞχλϦϯά࢛ݪଇ > େͳใΛݟۃΊΔ > ਓʹؾ͍ͯΒ͏ > αʔϏεΛΈ߹ΘͤΔ > ΦΦΧϛগʹͳΒͳ͍
େͳใΛݟۃΊΔ
ɹɹɹɹɹɹɹʹͱͬͯେͳใ > MongoDBͷ݈߁ঢ়ଶ > ΫϥΠΞϯταΠτ্ͷJavaScriptΤϥʔ
MongoDBࢹʢMongoHQʣ
JavaScriptΤϥʔࢹʢerrbitʣ
ਓʹؾ͍ͯΒ͏
ϞχλϦϯά༻σΟεϓϨΠ
ࢹϨϕϧ > αʔόʔμϯɺΫϥΠΞϯταΠτ্ͷ ɹ500ΤϥʔΤϯδχΞʹి > ߴෛՙɺΫϥΠΞϯταΠτ্ͷ ɹJavaScriptΤϥʔSlackʹ௨ > ʮ͍͋͠ʯใϚελʔ͚ ɹཧը໘ͰࣈͰදࣔʢp-valueΛܭࢉʣ
αʔϏεΛΈ߹ΘͤΔ
Integrate + Notify Monitor Integrate Notify Integrate + Notify ৴པͰ͖ΔαʔϏεΛ͏
CloudWatch -> Slack
errbit (AirBrake) -> Slack
ूܭϓϩάϥϜ -> Slack
> CloudWatchINSUFFICIENT DATA ɹʹΞϥʔϜΛηοτ͢Δ͜ͱ͕Ͱ͖Δ > INSUFFICIENT DATAʹঢ়ଶ͕ ɹมԽ͢Δ·ͰʹλΠϜϥά͕͋Δ > ELBͷUnhealhyHostCount͕Φεεϝ
CloudWatch Tips
ΦΦΧϛগʹͳΒͳ͍͜ͱ
ؾΛ͚͍ͭͯΔ͜ͱ > ࢹϨϕϧʢᮢʣΛௐ > ϘτϧωοΫಓʹ௵͢ > ΤϥʔΛ·ͱΊΔ > ΤϥʔݕΑΓࣗಈԽ
͍͠ϙΠϯτ
> େྔʹσʔλ͕ੵ͞Ε͔ͯΒʹؾ͘ > Λݕূ͢ΔͨΊʹ౷ܭ͕ޮՌత > ਓͷͰݟͳ͍ͱؾ͔ͳ͍͜ͱ͋Δ ɹͰ͖Δ͚ͩਓʹؾֻ͖͍͚͢Λ࡞Δ ɹɹɹɹɹɹͷ͍͠ϙΠϯτ
·ͱΊ > ݟམͱ͍͚ͯ͠ͳ͍ใ͕͋Δ > ୭ؾ͔ͳ͍ࢹʹҙຯ͕ͳ͍ > ͋ͷख͜ͷखΛָͬͯΛ͢Δ > গͳ͍࿑ྗͰѲͰ͖ΔΤϥʔʹ͑Δ
ΤϯδχΞ3ਓͰ 10ԯPVࢧ͑ΒΕΔ
͚ͩͲͬͺΓ
ͬͱͨ͘͞Μͷ ͍͢͝ΤϯδχΞͱಇ͖͍ͨʂ
࠾༻ϖʔδ࡞த ڵຯ͋ΔํFBͰ͝࿈བྷ͍ͩ͘͞ʂ https://www.facebook.com/yujiosaka ΤϯδχΞืूதʂ
terminate-presentation --my-words “thank you ;)”
More Decks by yujiosaka
See All by yujiosaka
I was understanding WASM all wrong! 🤯
yujiosaka
2
370
Machine Learning with JavaScript
yujiosaka
0
250
JavaScriptでも機械学習がやりたかった話
yujiosaka
2
510
ヘッドレスChromeでクローラを作った後の話
yujiosaka
3
770
俺が最初にヘッドレスChromeでクローラ作った 事になんねーかな
yujiosaka
4
1.5k
『XXX』のための管理画面
yujiosaka
1
1.5k
Enjoy Deep Learning by JavaScript
yujiosaka
1
420
ひたすら楽してディープラーニング
yujiosaka
20
13k
technology x business
yujiosaka
3
630
Other Decks in Technology
See All in Technology
業務でAWSをあまり使っていない私が、AWSへのモチベを保つ方法
smt7174
0
190
狙われているAPIの脆弱性!今こそ手をつけるべき根本的な対策とは?
nagix
0
120
AI時代に求められる優秀なTechLeadの振る舞い
pospome
11
16k
Bots in Kiro Crew (One point of contact for ongoing work) | Kiro: Zero to Hero 12
inariku
PRO
1
130
Gifu WordPress Meetup #200 に向けて、私たちには何ができるだろうか?/ 2026-11-07 Gifu WordPress Meetup
torounit
0
260
Kiro IDE 入門 (画面の各部から、頼み方、任せ方、戻し方まで) | 目指せ Kiro マスター 02
inariku
PRO
4
220
少ない人手 限られた予算 それでも守る 消せない・見つける・戻れる オールハザード型BCP on AWS / 20261107 Mitsutoshi Matsuo
shift_evolve
PRO
0
370
Kiro Crew の Bot (続く役目を任せる窓口) | 目指せ Kiro マスター 12
inariku
PRO
2
370
DevOps Agentにあらゆるセキュリティインシデントのトリアージを任せた件
jirtosterone
1
130
Biohub - Cell Tracking During Development 5th place solution
rist
0
140
マネジメントされる側の仕事は「文句」を言うこと
riyaamemiya
2
160
AWS構成から考えるWebセキュリティ ― WordPressの構築経験から考える公開範囲と更新運用【JAWS FESTA 2026 in AKITA】
cscengineer
PRO
2
420
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
70
69k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
350
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
320
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
380
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
A Soul's Torment
seathinner
9
3.9k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3.1k