Ruby を利用した大規模ウェブサービスの開発・運用

25,096 views
24,967 views

Published on

クックパッドでの、Ruby を利用した大規模ウェブサービスの開発・運用方法の説明

Published in: Technology
0 Comments
33 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
25,096
On SlideShare
0
From Embeds
0
Number of Embeds
10,378
Actions
Shares
0
Downloads
191
Comments
0
Likes
33
Embeds 0
No embeds

No notes for slide

Ruby を利用した大規模ウェブサービスの開発・運用

  1. 1. Large-scale web service and operations with Ruby2011 7 19
  2. 2. 2011 7 19
  3. 3. I and RubyKaigi2011 7 19
  4. 4. 2011 7 19
  5. 5. 2011 7 19
  6. 6. 2011 7 19
  7. 7. 2011 7 19
  8. 8. Large-scale web service and operations with Ruby2011 7 19
  9. 9. Large-scale web service and operations with Ruby2011 7 19
  10. 10. Large-scale web service and operations with Ruby2011 7 19
  11. 11. Large-scale web service and operations with Ruby2011 7 19
  12. 12. 2011 7 19
  13. 13. 2011 7 19
  14. 14. 2011 7 19
  15. 15. 2011 7 19
  16. 16. 2011 7 19
  17. 17. 2011 7 19
  18. 18. Bringing smiles to everyone by making every day cooking more enjoyable.2011 7 19
  19. 19. What is COOKPAD?2011 7 19
  20. 20. 2011 7 19
  21. 21. 12,300,000 UU (pc only) 1+ million Recipes Used by 1 in 2 women in their 30s2011 7 19
  22. 22. 2011 7 19
  23. 23. 2011 7 19
  24. 24. 2011 7 19
  25. 25. 2011 7 19
  26. 26. 2011 7 19
  27. 27. 2011 7 19
  28. 28. 2011 7 19
  29. 29. 2011 7 19
  30. 30. Architecture based on best practices2011 7 19
  31. 31. 2011 7 19
  32. 32. 2011 7 19
  33. 33. 2011 7 19
  34. 34. 2011 7 19
  35. 35. 2011 7 19
  36. 36. 2011 7 19
  37. 37. 2011 7 19
  38. 38. 2011 7 19
  39. 39. 2011 7 19
  40. 40. http://d3921.image.cookpad.com/ recipes/1237075/100x141c/ 0b9c3ad1cba65869058e17cf78988bcb.jpg2011 7 19
  41. 41. http://d3921.image.cookpad.com/ recipes/1237075/ 100x141c / 0b9c3ad1cba65869058e17cf78988bcb.jpg2011 7 19
  42. 42. ‘100’ ‘100x100’ ‘100x100c’ ‘100x100c40_198_137_104_300’2011 7 19
  43. 43. 2011 7 19
  44. 44. 2011 7 19
  45. 45. 2011 7 19
  46. 46. 2011 7 19
  47. 47. Easily customizable search2011 7 19
  48. 48. 2011 7 19
  49. 49. 2011 7 19
  50. 50. 2011 7 19
  51. 51. 2011 7 19
  52. 52. 2011 7 19
  53. 53. 2011 7 19
  54. 54. 2011 7 19
  55. 55. Architecture based on best practices2011 7 19
  56. 56. “Good enough” is not good enough. Always focus on what is best2011 7 19
  57. 57. 2011 7 19
  58. 58. • Only add absolutely necessary features • Avoid complexity2011 7 19
  59. 59. • Design for caching • Avoid complex SQL queries2011 7 19
  60. 60. 2011 7 19
  61. 61. 2011 7 19
  62. 62. 2011 7 19
  63. 63. 2011 7 19
  64. 64. 2011 7 19
  65. 65. 2011 7 19
  66. 66. 2011 7 19
  67. 67. Development2011 7 19
  68. 68. 2011 7 19
  69. 69. 2011 7 19
  70. 70. Working with Rails within a large team2011 7 19
  71. 71. 2011 7 19
  72. 72. 2011 7 19
  73. 73. 2011 7 19
  74. 74. 2011 7 19
  75. 75. 2011 7 19
  76. 76. 2011 7 19
  77. 77. 2011 7 19
  78. 78. 2011 7 19
  79. 79. 2011 7 19
  80. 80. 2011 7 19
  81. 81. 2011 7 19
  82. 82. 2011 7 19
  83. 83. 2011 7 19
  84. 84. 2011 7 19
  85. 85. 2011 7 19
  86. 86. Run specs remotely2011 7 19
  87. 87. $  rake  cookpad:spec:remote2011 7 19
  88. 88. 2011 7 19
  89. 89. 2011 7 19
  90. 90. 2011 7 19
  91. 91. 2011 7 19
  92. 92. 2011 7 19
  93. 93. 2011 7 19
  94. 94. 2011 7 19
  95. 95. 2011 7 19
  96. 96. 2011 7 19
  97. 97. How did using a CI change our development flow? Only release successful CI builds Test coverage as a requirement Tests should be written so they can run on a CI2011 7 19
  98. 98. 2011 7 19
  99. 99. $  cap  production  deploy Add a "deploy message" to every release (ex: "Added feature x", "Fixed bug z" etc) Skype notification Mail sent to developer and support mailing lists2011 7 19
  100. 100. 2011 7 19
  101. 101. 2011 7 19
  102. 102. 2011 7 19
  103. 103. It is nearly impossible to reduce number of exceptions to 0 Looking for spikes in number of exceptions is key2011 7 19
  104. 104. 2011 7 19
  105. 105. 2011 7 19
  106. 106. 2011 7 19
  107. 107. Expands upon Rails functionality Selective release of new features (ex: “Show feature X only to users A, B, C) Used for prototyping Specs not required If an exception occurs in an extension, it is turned off automatically2011 7 19
  108. 108. 2011 7 19
  109. 109. 2011 7 19
  110. 110. new features stats for staff2011 7 19
  111. 111. 2011 7 19
  112. 112. How do we handle prototypes we decide not to release?2011 7 19
  113. 113. $  rm  app/extensions/ foobar_ext2011 7 19
  114. 114. 2011 7 19
  115. 115. 2011 7 19
  116. 116. 2011 7 19
  117. 117. 2011 7 19
  118. 118. 2011 7 19
  119. 119. Thank You2011 7 19
  120. 120. 2011 7 19

×