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
260
Machine Learning with JavaScript
yujiosaka
0
180
JavaScriptでも機械学習がやりたかった話
yujiosaka
2
450
ヘッドレスChromeでクローラを作った後の話
yujiosaka
3
670
俺が最初にヘッドレスChromeでクローラ作った 事になんねーかな
yujiosaka
4
1.3k
『XXX』のための管理画面
yujiosaka
1
1.3k
Enjoy Deep Learning by JavaScript
yujiosaka
1
340
ひたすら楽してディープラーニング
yujiosaka
20
13k
technology x business
yujiosaka
3
570
Other Decks in Technology
See All in Technology
AWS 怖い話 WAF編 @fillz_noh #AWSStartup #AWSStartup_Kansai
fillznoh
0
130
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
18k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
13k
【あのMCPって、どんな処理してるの?】 AWS CDKでの開発で便利なAWS MCP Servers特集
yoshimi0227
6
950
助けて! XからWaylandに移行しないと新しいGNOMEが使えなくなっちゃう 2025-07-12
nobutomurata
2
200
Microsoft Defender XDRで疲弊しないためのインシデント対応
sophiakunii
1
320
An introduction to Claude Code SDK
choplin
2
1.2k
SREの次のキャリアの道しるべ 〜SREがマネジメントレイヤーに挑戦して、 気づいたこととTips〜
coconala_engineer
1
4.4k
推し書籍📚 / Books and a QA Engineer
ak1210
0
140
アクセスピークを制するオートスケール再設計: 障害を乗り越えKEDAで実現したリソース管理の最適化
myamashii
1
670
Digitization部 紹介資料
sansan33
PRO
1
4.5k
AI時代にも変わらぬ価値を発揮したい: インフラ・クラウドを切り口にユーザー価値と非機能要件に向き合ってエンジニアとしての地力を培う
netmarkjp
0
130
Featured
See All Featured
Site-Speed That Sticks
csswizardry
10
700
The Pragmatic Product Professional
lauravandoore
35
6.7k
Statistics for Hackers
jakevdp
799
220k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
Designing Experiences People Love
moore
142
24k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
RailsConf 2023
tenderlove
30
1.1k
Balancing Empowerment & Direction
lara
1
460
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 ;)”