Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

25,892 views

Published on

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

Published in: Technology
  • Be the first to comment

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

×