Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Prottを支える技術

F7f3f730faf3184cd732154b792aff91?s=47 urapico
October 01, 2015

 Prottを支える技術

Goodpatchが運営しているProttの1周年イベント(2015.10.01)にて、お話した内容です。
エンジニア以外の方もいるイベントのため、一部技術的な内容を省略しているところがあります。

ご興味、ご質問があれば、@urapico まで

http://goodpatch.com/
https://prottapp.com/
https://twitter.com/urapico

F7f3f730faf3184cd732154b792aff91?s=128

urapico

October 01, 2015
Tweet

Transcript

  1. ProttΛࢧ͑Δٕज़ Prott 1th Anniversary Goodpatch, Inc. ԘӜ ੣

  2. ࣗݾ঺հ ԘӜɹ੣ @urapico ɾPrott αʔόʔαΠυɾΠϯϑϥ ɾEmacs / Atom ɾ࠷ۙ :

    YAML / Ruby /JavaScript
  3. ։ൃମ੍  Φʔϓϯͳ૊৫ͷԼ஍ Πϯϑϥ  αʔϏεͷঢ়ଶΛৗʹҙࣝͰ͖Δ࢓૊Έ γεςϜ  ύϑΥʔϚϯεվળ΁ͷऔΓ૊Έ ະདྷ

     ͞ΒͳΔύϑΥʔϚϯεͷվળ΁ ΞδΣϯμ
  4. ։ൃମ੍  Φʔϓϯͳ૊৫ͷԼ஍ Πϯϑϥ  αʔϏεͷঢ়ଶΛৗʹҙࣝͰ͖Δ࢓૊Έ γεςϜ  ύϑΥʔϚϯεվળ΁ͷऔΓ૊Έ ະདྷ

     ͞ΒͳΔύϑΥʔϚϯεͷվળ΁ ΞδΣϯμ Web։ൃͷ࿩Λத৺ʹ
  5. ։ൃମ੍  Φʔϓϯͳ૊৫ͷԼ஍

  6. ΤϯδχΞ Ϧʔμʔ ϑϩϯτΤϯυΤϯδχΞ αʔόʔαΠυΤϯδχΞ ΠϯϑϥΤϯδχΞ iOSΤϯδχΞ AndroidΤϯδχΞ MacΞϓϦΤϯδχΞ 1໊ɹ 3໊

    2໊ 1໊ 1໊ 1໊ 1໊ 10໊ ΤϯδχΞνʔϜ
  7. • ϗϫΠτϘʔυ্ͰɺΧϯόϯʹΑΔλεΫͷڞ༗ • όʔδϣϯ؅ཧ͸ɺGitHub • Pull RequestͰɺ૬ޓʹίʔυϨϏϡʔ • Πϯϑϥ΋ as

    CodeʢAnsibleʣ • Travis CIʹΑΔܧଓతΠϯςάϨʔγϣϯ • ݕূ؀ڥ: Test → RC → Production ։ൃελΠϧ
  8. ΦʔϓϯͳίϛϡχέʔγϣϯΛ!! ίϛϡχέʔγϣϯ Prott Qiita:Team Slack ϓϩτλΠϐϯά υΩϡϝϯτ؅ཧ ʢ೔ใɺٞࣄ࿥etc.ʣ ԁ׈ͳ ίϛϡχέʔγϣϯ

  9. Πϯϑϥ ̎ αʔϏεͷঢ়ଶΛৗʹҙࣝͰ͖Δ࢓૊Έ

  10. Πϯϑϥ user LB sv Amazon S3 CloudFront AP sv AP

    sv DB svs Cache sv Private Network
  11. user LB sv Amazon S3 CloudFront AP sv AP sv

    DB svs Cache sv Private Network Πϯϑϥ • ઐ༻αʔόʔ 7୆ • Ұ෦ɺAWSΛར༻ ʢDNS,CDN,ετϨʔδ, etc.ʣ Πϯϑϥ
  12. ؂ࢹ

  13. ؂ࢹ

  14. αʔόʔࣗ਎͕ϓϩηεɾϩάΛ؂ࢹ ex) DBͷSlow QueryΛ؂ࢹ Slow QueryͳͲΛSlackʹ௨஌͢Δ͜ͱʹΑͬͯ ৗʹΤϯδχΞ͕ύϑΥʔϚϯεΛҙࣝͰ͖Δ؀ڥʹ ؂ࢹ

  15. • αʔόʔͷ݈߁ঢ়ଶΛ؂ࢹ • loadavgͷ΄͔ɺResponse TimeͳͲ΋ूܭɺetc. • ΞϓϦέʔγϣϯ૚ͷΤϥʔ؂ࢹ ؂ࢹ

  16. γεςϜ ̏ ύϑΥʔϚϯεվળͷऔΓ૊Έ

  17. AngularJS Ruby on Rails Primus Prototype Wireframe ΞϓϦέʔγϣϯߏ੒ ೝূॲཧ ՝ۚॲཧ

    ௨஌ॲཧ Realtime
  18. • Ruby 2.2 • Node.js 0.12 • Ruby on Rails

    4 • AngularJS 1.3 ਵ࣌ɺੵۃతʹόʔδϣϯΞοϓ ֤ϛυϧ΢ΣΞɾFrameworkͷόʔδϣϯ
  19. • SPDYͷಋೖ • WireFrameͷ࠷దԽ • ϓϩδΣΫτҰཡͷΩϟογϡಋೖ • εΫϦʔϯҰཡͷը૾αΠζͷ࠷దԽ • ίϝϯτ৘ใͷऔಘॲཧΛ࠷దԽ

    etc. ௚ۙɺ3ɺ4ϲ݄ͷऔΓ૊ΈͷҰ෦ ύϑΥʔϚϯενϡʔχϯά
  20. ݁Ռ Before • େྔσʔλͷऔಘ
 3900ms • Ωϟογϡະ࢖༻

  21. ݁Ռ After • 1ຊʹ·ͱΊ
 3900ms → 81.3ms • Ωϟογϡ࢖༻
 ΄΅0ms

  22. ϖʔδશମ ໿40%ͷվળ!! ݁Ռ

  23. ະདྷ ̐ ͞ΒͳΔύϑΥʔϚϯεͷվળ΁

  24. • HTTP/2 ΁ͷରԠ ➡ ߴ଎Խ • CDNαʔϏεͷ৐Γ׵͑ ➡ Մ༻ੑͷ޲্ •

    SPF / FailoverڧԽ ➡ Մ༻ੑͷ޲্ • ઐ༻αʔόʔ͔ΒAWS΁ ➡ ηΩϡϦςΟ / ύϑΥʔϚϯεͷ޲্ ΍Γ͍ͨ͜ͱ
  25. ·ͱΊ

  26. ҉໧஌Λ࡞Βͳ͍νʔϜ࡞ΓΛ ΈΜͳͰҙ͍ࣝͯ͠Δ

  27. ʓʓͷରԠํ๏ɺ෼͔Βͳ͍͔Β Qiita:Teamʹॻ͍ͱ͍ͯ! ҙࣝతɾҙਤతʹυΩϡϝϯτΛ࢒͢ ຖि༵ۚ೔ : Bug Fix & Document Day

  28. 1ਓ1ਓ͕αʔϏεͷվળɾอक͕Մೳ εϐʔυΛམͱͣ͞ʹվળ͠ଓ͚Δମ੍΁

  29. None
  30. ͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠