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
エンジニア3人で支える月間10億PV
Search
yujiosaka
July 27, 2014
Technology
38
17k
エンジニア3人で支える月間10億PV
・2年で月間10億PVを支えるまで成長した ZenClerkの運用上の工夫を紹介
・AWSのTipsとあるある話の共有
yujiosaka
July 27, 2014
Tweet
Share
More Decks by yujiosaka
See All by yujiosaka
I was understanding WASM all wrong! 🤯
yujiosaka
2
280
Machine Learning with JavaScript
yujiosaka
0
190
JavaScriptでも機械学習がやりたかった話
yujiosaka
2
460
ヘッドレスChromeでクローラを作った後の話
yujiosaka
3
700
俺が最初にヘッドレスChromeでクローラ作った 事になんねーかな
yujiosaka
4
1.3k
『XXX』のための管理画面
yujiosaka
1
1.4k
Enjoy Deep Learning by JavaScript
yujiosaka
1
360
ひたすら楽してディープラーニング
yujiosaka
20
13k
technology x business
yujiosaka
3
590
Other Decks in Technology
See All in Technology
AI開発の定着を推進するために揃えるべき前提
suguruooki
1
430
PostgreSQL で列データ”ファイル”を利用する ~Arrow/Parquet を統合したデータベースの作成~
kaigai
0
180
AI駆動開発2025年振り返りとTips集
knr109
1
130
不確実性に備える ABEMA の信頼性設計とオブザーバビリティ基盤
nagapad
4
9k
IaC を使いたくないけどポリシー管理をどうにかしたい
kazzpapa3
1
180
巨大モノリスのリプレイス──機能整理とハイブリッドアーキテクチャで挑んだ再構築戦略
zozotech
PRO
0
390
MAP-7thplaceSolution
yukichi0403
2
140
プラットフォームエンジニアリングとは何であり、なぜプラットフォームエンジニアリングなのか
doublemarket
0
220
Active Directory 勉強会 第 6 回目 Active Directory セキュリティについて学ぶ回
eurekaberry
4
1.8k
都市スケールAR制作で気をつけること
segur
0
210
type-challenges を全問解いたのでエッセンスと推し問題を紹介してみる
kworkdev
PRO
0
110
.NET 10のASP. NET Core注目の新機能
tomokusaba
0
140
Featured
See All Featured
Scaling GitHub
holman
464
140k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
690
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Balancing Empowerment & Direction
lara
5
760
Building Applications with DynamoDB
mza
96
6.8k
A designer walks into a library…
pauljervisheath
210
24k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
The World Runs on Bad Software
bkeepers
PRO
72
12k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Git: the NoSQL Database
bkeepers
PRO
432
66k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Transcript
ΤϯδχΞ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 ;)”