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.
Ship It !
    with Ruby / Rails ecosystem
How ruby ecosystem helps your team
About Me
•              a.k.a “xdite”

    •   http://blog.xdite.net

    •   http://twitter.com/xdite

    •   http://git...
Agenda
• Why Rails ?
• Team Development with Rails ecosystem
•      Ruby
T
• Pc home
    •
•
•
startup
out of minds
broken documents
              in Taiwan
learning curve too high
                   in Taiwan
hard to maintain
               in Taiwan
lack of developers
                 in Taiwan
NOT a problem
Best
Developers are trainable
           http://blog.xdite.net/?p=1754
Framework Convention
Rails Best Practices
 www.slideshare.net/ihower/rails-best-practices
Practical solution by default
Strong Ecosystem
We are trying to build...
Content Factory
Developer Factory
Application Factory
10+ Deploys A Day: Devs & Ops
    Cooperation at Flickr.
                          Velocity 2009
                    http:...
Team
  Development
Non-blocking Development
Blocking Development
• developing on production server (!!!)
• manual update from SCM / FTP (!!!)
• one project maintained...
Non-blocking Development
• SCM
 • database, release version source code
• Automate
• Notify
• Document
 • Issue Tracking S...
Tools and Infrastructure
• Develop in a Sandbox
• Manage Assets Using SCM
• Script Your Build
• Build Automatically
• Trac...
Pragmatic Project Techniques

• Work from The List
• Review All Code
• Send Code Change Notifications
Database with SCM
          ( Develop in Sandbox )
rake db:migrate
rake db:seed
Environment with SCM
            ( Develop in Sandbox )
• enviroments/development.rb
• enviroments/testing.rb
• enviroments/production.rb
Bundler
Chef
Continuous Integration
              ( Script Your Build )
Integrityapp
Automated Deployment
            ( Build Automatically )
cap deploy
cap deploy:rollback
capistrano/ext/multistage
Notification System
      ( Send Code Change Notification)
hoptoad
redmine_irccat_notification
Github Hooks
Issue Tracking System
         ( Track Issues / Track Features )
Redmine
Source code Review
           ( Review All Code )
Github
another problem comes out
We can’t afford a SA
SA’s job
• monitor production status
• build production environment
• build job worker
• maintain mail system / dns server...
ScoutApp
ScoutApp
•   Server Load       •   MySQL Slow Queries

•   Disk Usage        •   MySQL Statistics

•   Memory Profiler    •...
God
New Relic
Moonshine
Delay Job
Cloud-Crowd
MadMimi
PowerDNS on Rails
there is more...
Conclusion
http://bit.ly/techbang-job
                 We are still hiring....
Thanks for listening!
            xdite@techbang.com.tw
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
Upcoming SlideShare
Loading in …5
×

Ship It ! with Ruby/ Rails Ecosystem

4,804 views

Published on

non-blocking Rails Development

Published in: Technology
  • Be the first to comment

Ship It ! with Ruby/ Rails Ecosystem

  1. 1. Ship It ! with Ruby / Rails ecosystem
  2. 2. How ruby ecosystem helps your team
  3. 3. About Me • a.k.a “xdite” • http://blog.xdite.net • http://twitter.com/xdite • http://github.com/xdite • Ruby on Rails Developer since 2007 • T - Lead Developer • http://www.techbang.com.tw
  4. 4. Agenda • Why Rails ? • Team Development with Rails ecosystem • Ruby
  5. 5. T • Pc home • • •
  6. 6. startup
  7. 7. out of minds
  8. 8. broken documents in Taiwan
  9. 9. learning curve too high in Taiwan
  10. 10. hard to maintain in Taiwan
  11. 11. lack of developers in Taiwan
  12. 12. NOT a problem
  13. 13. Best
  14. 14. Developers are trainable http://blog.xdite.net/?p=1754
  15. 15. Framework Convention
  16. 16. Rails Best Practices www.slideshare.net/ihower/rails-best-practices
  17. 17. Practical solution by default
  18. 18. Strong Ecosystem
  19. 19. We are trying to build...
  20. 20. Content Factory
  21. 21. Developer Factory
  22. 22. Application Factory
  23. 23. 10+ Deploys A Day: Devs & Ops Cooperation at Flickr. Velocity 2009 http://bit.ly/aqlOp8
  24. 24. Team Development
  25. 25. Non-blocking Development
  26. 26. Blocking Development • developing on production server (!!!) • manual update from SCM / FTP (!!!) • one project maintained by one developer • recording bug by using Google Docs(!!)
  27. 27. Non-blocking Development • SCM • database, release version source code • Automate • Notify • Document • Issue Tracking System, Wiki
  28. 28. Tools and Infrastructure • Develop in a Sandbox • Manage Assets Using SCM • Script Your Build • Build Automatically • Track Issues / Track Features
  29. 29. Pragmatic Project Techniques • Work from The List • Review All Code • Send Code Change Notifications
  30. 30. Database with SCM ( Develop in Sandbox )
  31. 31. rake db:migrate
  32. 32. rake db:seed
  33. 33. Environment with SCM ( Develop in Sandbox )
  34. 34. • enviroments/development.rb • enviroments/testing.rb • enviroments/production.rb
  35. 35. Bundler
  36. 36. Chef
  37. 37. Continuous Integration ( Script Your Build )
  38. 38. Integrityapp
  39. 39. Automated Deployment ( Build Automatically )
  40. 40. cap deploy
  41. 41. cap deploy:rollback
  42. 42. capistrano/ext/multistage
  43. 43. Notification System ( Send Code Change Notification)
  44. 44. hoptoad
  45. 45. redmine_irccat_notification
  46. 46. Github Hooks
  47. 47. Issue Tracking System ( Track Issues / Track Features )
  48. 48. Redmine
  49. 49. Source code Review ( Review All Code )
  50. 50. Github
  51. 51. another problem comes out
  52. 52. We can’t afford a SA
  53. 53. SA’s job • monitor production status • build production environment • build job worker • maintain mail system / dns server ..etc.
  54. 54. ScoutApp
  55. 55. ScoutApp • Server Load • MySQL Slow Queries • Disk Usage • MySQL Statistics • Memory Profiler • Network Throughput • Process Usage • Delay Job • URL Monitoring • Memcached Monitor • Server Uptime
  56. 56. God
  57. 57. New Relic
  58. 58. Moonshine
  59. 59. Delay Job
  60. 60. Cloud-Crowd
  61. 61. MadMimi
  62. 62. PowerDNS on Rails
  63. 63. there is more...
  64. 64. Conclusion
  65. 65. http://bit.ly/techbang-job We are still hiring....
  66. 66. Thanks for listening! xdite@techbang.com.tw

×