Pro Yearly is on sale from $80 to $50! »

エンジニア3人で支える月間10億PV

 エンジニア3人で支える月間10億PV

・2年で月間10億PVを支えるまで成長した
ZenClerkの運用上の工夫を紹介
・AWSのTipsとあるある話の共有

5d247ff63b1861db5e6a56d4990e5a4f?s=128

yujiosaka

July 27, 2014
Tweet

Transcript

  1. ΤϯδχΞ3ਓͰࢧ͑Δ
 ݄ؒ10ԯPV JAWS-UG ઍ༿ࢧ෦ Vol.4

  2. --attributes “violinist”
 “engineer”
 “consultant”
 “security specialist”
 “startup member
 of ”


    
 --favorite-service “CloudWatch” introduce “Yuji Isobe”
  3. LT

  4. օ͞ΜɺࣗಈԽͯ͠·͔͢ʁ

  5. None
  6. ΋ͪΖΜαʔόʔ͸ શͯࣗಈԽ͍ͯ͠·͢ΑͶ

  7. ͩͬͨΒ

  8. Ͳ͏ͯ͠ਓؒؔ܎΋ ࣗಈԽ͠ͳ͍ΜͰ͔͢ʁ

  9. ·্ͩ࢘ͷ౤ߘʹ खಈͰLikeΛԡ͠ଓ͚·͔͢ʁ

  10. ਓؒؔ܎΋ࣗಈԽ ͦ͏ɺCloudWatchͳΒͶ

  11. CloudWatchͰ޷ײ౓Λ؂ࢹ

  12. ΞϥʔϜΛηοτ

  13. SNSͰϝʔϧΛૹ৴

  14. ػೳ ✓ Graph APIΛ࢖ͬͯFaceBookͷϝοηʔδΛ෼ੳ ✓ ΧελϜϝτϦΫεΛ࢖ͬͯCloudWatchͰ؂ࢹ ✓ ޷ײ౓͕Լ͕͖ͬͯͨΒ૬खʹ࿈བྷ ✓ ޷ײ౓্͕͕Γա͗ͨΒࣗ෼ʹܯࠂ

    ✓ ؔ܎ͷम෮͕ෆՄೳʹͳͬͨΒڞ௨ͷ༑ਓʹ࿈བྷ
  15. αʔόʔΛ؂ࢹ͠ͳ͕Β ਓؒؔ܎΋؂ࢹͰ͖Δʂ

  16. ࠓޙͷ՝୊ ✓ FaceBookΞϓϦͷঝೝΛಘΔ͜ͱʢ٧Μͩʣ !

  17. killall “LT”

  18. describe-goals > 2೥Ͱ݄ؒ10ԯPVΛࢧ͑Δ·Ͱ੒௕ͨ͠
 ɹ ͷӡ༻্ͷ޻෉Λ঺հ > AWSͷTipsͱ͋Δ͋Δ࿩ͷڞ༗ ! ※ Chefͷ࿩ͱ͔͸΍Γ·ͤΜ

  19. None
  20. ϦΞϧλΠϜ෼ੳ

  21. ϦΞϧλΠϜ෼ੳ େྔσʔλ

  22. describe-stats > ݄ؒ10ԯPV > ඵؒฏۉ400PV > ฏۉಉ࣌઀ଓ਺5ສ > ݄ؒอଘσʔλྔ10TB

  23. describe-architecture front-end > Nginx > AngularJS > Ruby on Rails

    > MySQL > memcached back-end > Nginx > Node.js > socket.io > MongoDB > Redis
  24. 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”
  25. ec2-describe-reasons > αʔϏε͕๛෋ > API͕࢖͍΍͍͢ > ৘ใ͕खʹೖΓ΍͍͢ > εϙοτΠϯελϯε͕
 ɹ৴͡ΒΕͳ͍΄Ͳ͍҆ʂ

  26. > ਖ਼໊ࣜশ͸Spot Request Instance > धཁͱڙڅͰՁ͕ܾ֨·Δ > ೖࡳՁ֨Λ௒͑Δͱ༰ࣻͳ͘Terminate εϙοτΠϯελϯε

  27. େن໛͋Δ͋Δʢʁʣ εϙοτΠϯελϯεΛ100->200୆ʹ Ұؾʹ૿΍͢ͱɺશମͷ૬৔্͕͕ͬͯ Πϯελϯε͕ಉ࣌ʹTerminate͞ΕΔ

  28. describe-team 1 designer 2 sales 3 data scientists 3 engineers

  29. describe-engineers describe “Najima” ! ! ! ! ! > େྔσʔλͷ


    ɹड͚ೖΕ͕ಘҙ describe “Jouko” ! ! ! ! ! > ϦονͳUI/UX
 ɹ࡞Γ͕ಘҙ
  30. ͷӡ༻

  31. deliver communication + management develop test monitor ࠓ೔࿩͢ͷ͸ɾɾɾ

  32. deliver communication + management develop test monitor ͜͜ʂ

  33. Ͱ΋ͦͷલʹɾɾɾ

  34. ։ൃݱ৔Λνϥݟͤ—

  35. εέʔϥϒϧɾΞʔΩςΫνϟ

  36. git-flowϞσϧ։ൃ feature/myfeature develop develop master master hotfix/myhotfix

  37. Pull Requestۦಈ։ൃ

  38. CircleCI

  39. Slack

  40. Sqwiggle

  41. Trello

  42. ҆৺ͱ৴པͷWiki

  43. ٯʹ࢖͍ͬͯͳ͍΋ͷ > όάτϥοΩϯάγεςϜʢRedmineͱ͔ʣ > ࣾ಺ϝʔϧ

  44. monitor

  45. ϞχλϦϯά࢛ݪଇ > େ੾ͳ৘ใΛݟۃΊΔ > ਓʹؾ෇͍ͯ΋Β͏ > αʔϏεΛ૊Έ߹ΘͤΔ > ΦΦΧϛগ೥ʹͳΒͳ͍

  46. େ੾ͳ৘ใΛݟۃΊΔ

  47. ɹɹɹɹɹɹɹʹͱͬͯେ੾ͳ৘ใ > MongoDBͷ݈߁ঢ়ଶ > ΫϥΠΞϯταΠτ্ͷJavaScriptΤϥʔ

  48. MongoDB؂ࢹʢMongoHQʣ

  49. JavaScriptΤϥʔ؂ࢹʢerrbitʣ

  50. ਓʹؾ෇͍ͯ΋Β͏

  51. ϞχλϦϯά༻σΟεϓϨΠ

  52. ؂ࢹϨϕϧ > αʔόʔμ΢ϯɺΫϥΠΞϯταΠτ্ͷ ɹ500Τϥʔ͸ΤϯδχΞʹి࿩ > ߴෛՙɺΫϥΠΞϯταΠτ্ͷ
 ɹJavaScriptΤϥʔ͸Slackʹ௨஌ > ʮ͋΍͍͠ʯ৘ใ͸Ϛελʔ޲͚
 ɹ؅ཧը໘Ͱ੺ࣈͰදࣔʢp-valueΛܭࢉʣ

  53. αʔϏεΛ૊Έ߹ΘͤΔ

  54. Integrate + Notify Monitor Integrate Notify Integrate + Notify ৴པͰ͖ΔαʔϏεΛ࢖͏

  55. CloudWatch -> Slack

  56. errbit (AirBrake) -> Slack

  57. ूܭϓϩάϥϜ -> Slack

  58. > CloudWatch͸INSUFFICIENT DATA
 ɹʹΞϥʔϜΛηοτ͢Δ͜ͱ͕Ͱ͖Δ > INSUFFICIENT DATAʹঢ়ଶ͕
 ɹมԽ͢Δ·ͰʹλΠϜϥά͕͋Δ > ELBͷUnhealhyHostCount͕Φεεϝ

    CloudWatch Tips
  59. ΦΦΧϛগ೥ʹͳΒͳ͍͜ͱ

  60. ؾΛ͚͍ͭͯΔ͜ͱ > ؂ࢹϨϕϧʢᮢ஋ʣΛௐ੔ > ϘτϧωοΫ͸஍ಓʹ௵͢ > ΤϥʔΛ·ͱΊΔ > Τϥʔݕ஌ΑΓ΋ࣗಈԽ

  61. ೉͍͠ϙΠϯτ

  62. > େྔʹσʔλ͕஝ੵ͞Ε͔ͯΒ໰୊ʹؾ෇͘ > ໰୊Λݕূ͢ΔͨΊʹ౷ܭ͕ޮՌత > ਓͷ໨Ͱݟͳ͍ͱؾ෇͔ͳ͍͜ͱ΋͋Δ
 ɹͰ͖Δ͚ͩਓʹؾ෇͖΍͍͢࢓ֻ͚Λ࡞Δ ɹɹɹɹɹɹͷ೉͍͠ϙΠϯτ

  63. ·ͱΊ > ݟམͱͯ͠͸͍͚ͳ͍৘ใ͕͋Δ > ୭΋ؾ෇͔ͳ͍؂ࢹʹ͸ҙຯ͕ͳ͍ > ͋ͷख͜ͷखΛ࢖ָͬͯΛ͢Δ > গͳ͍࿑ྗͰ೺ѲͰ͖ΔΤϥʔʹ཈͑Δ

  64. ΤϯδχΞ3ਓͰ 10ԯPV͸ࢧ͑ΒΕΔ

  65. ͚ͩͲ΍ͬͺΓ

  66. ΋ͬͱͨ͘͞Μͷ ͍͢͝ΤϯδχΞͱಇ͖͍ͨʂ

  67. ࠾༻ϖʔδ࡞੒த ڵຯ͋Δํ͸FBͰ͝࿈བྷ͍ͩ͘͞ʂ https://www.facebook.com/yujiosaka ΤϯδχΞืूதʂ

  68. terminate-presentation
 --my-words “thank you ;)”