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
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
Kiro CLI 入門 (ターミナルと CI で使う) | 目指せ Kiro マスター 03
inariku
PRO
2
150
狙われているAPIの脆弱性!今こそ手をつけるべき根本的な対策とは?
nagix
0
130
Biohub - Cell Tracking During Development 5th place solution
rist
0
160
自治体AIコンタクトセンター、何をどこに任せる?~Amazon Connect Customer +Amazon Bedrockの実践知~ / 20261107 Satoshi Torano
shift_evolve
PRO
1
140
Claude Codeで新規事業を伸ばせるか? Zennの試行錯誤の記録
wadayusuke
2
180
業務でAWSをあまり使っていない私が、AWSへのモチベを保つ方法
smt7174
0
200
少ない人手 限られた予算 それでも守る 消せない・見つける・戻れる オールハザード型BCP on AWS / 20261107 Mitsutoshi Matsuo
shift_evolve
PRO
0
380
【Oracle AI SPOTLIGHT ウェビナー】【特別開催:日本語で解説!】Oracle AI World 2026 最新情報フィードバック
oracle4engineer
PRO
1
210
AI対話型分析を作成し、リリースするまでの話 / The Road to Release: Buiding AI Conversational Analytics
yappli_developers
0
120
契約書SaaSにAIエージェントを組み込む
sansantech
PRO
0
130
Frontier Teams — Amazon は AI で「開発のやり方」をどう変えたのか
kmotohas
0
250
プロダクションコードにおける encoding/json から encoding/json/v2 へのスムーズな移行
sansantech
PRO
1
420
Featured
See All Featured
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
660
A Modern Web Designer's Workflow
chriscoyier
699
190k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
74
43k
Why Our Code Smells
bkeepers
PRO
340
58k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
560
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
6
920
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
640
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
630
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
371
20k