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,077

Published on

non-blocking Rails Development

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

No Downloads
Views
Total Views
4,077
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
97
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide











































































  • 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
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×