Clouds against the Floodsor how Ruby On Rails saved the day in AustraliaLeonardo Borgeswww.leonardoborges.com
What do I do?• Write code for ThoughtWorks in Sydney, Australia• Contribute to open-source projects, on occasion  - Rails ...
What?Leonardo Borgeswww.leonardoborges.com
What?• 75% of Queensland under water Leonardo Borges www.leonardoborges.com
What?• 75% of Queensland under water• Government to run a telethon on Channel 9 Leonardo Borges www.leonardoborges.com
What?• 75% of Queensland under water• Government to run a telethon on Channel 9• SSQ’s donation app misbehaved Leonardo Bo...
What?• 75% of Queensland under water• Government to run a telethon on Channel 9• SSQ’s donation app misbehaved• backup pla...
We can help!• ThoughtWorks offered to give a hand• we were at the beach• and were pulled in 2 days before the telethon Leo...
How?Leonardo Borgeswww.leonardoborges.com
How?• Rails, of course Leonardo Borges www.leonardoborges.com
How?• Rails, of course• Deployment options Leonardo Borges www.leonardoborges.com
How?• Rails, of course• Deployment options   - Amazon EC2 Leonardo Borges www.leonardoborges.com
How?• Rails, of course• Deployment options   - Amazon EC2   - Heroku Leonardo Borges www.leonardoborges.com
How?• Rails, of course• Deployment options   - Amazon EC2   - Heroku Leonardo Borges www.leonardoborges.com
How?• Rails, of course• Deployment options   - Amazon EC2   - Heroku•An awesome team                          Ben Barnard,...
The donation app• form for donor details• payment gateway integration• background jobs - sending emails Leonardo Borges ww...
The donation app• form for donor details• payment gateway integration• background jobs - sending emails   - delayed_job ge...
The donation app• form for donor details• payment gateway integration• background jobs - sending emails   - delayed_job ge...
Monitoring,Benchmarking &CachingLeonardo Borgeswww.leonardoborges.com
Monitoring,Benchmarking &Caching• NewRelicLeonardo Borgeswww.leonardoborges.com
Monitoring,Benchmarking &Caching• NewRelic   - Identifying errors early Leonardo Borges www.leonardoborges.com
Monitoring,Benchmarking &Caching• NewRelic   - Identifying errors early   - Measuring server load and scaling accordingly ...
Monitoring,Benchmarking &Caching• NewRelic   - Identifying errors early   - Measuring server load and scaling accordingly•...
Monitoring,Benchmarking &Caching• NewRelic   - Identifying errors early   - Measuring server load and scaling accordingly•...
Monitoring,Benchmarking &Caching• NewRelic   - Identifying errors early   - Measuring server load and scaling accordingly•...
Monitoring,Benchmarking &Caching• NewRelic   - Identifying errors early   - Measuring server load and scaling accordingly•...
Monitoring,Benchmarking &Caching• NewRelic   - Identifying errors early   - Measuring server load and scaling accordingly•...
Winning over the skepticismLeonardo Borgeswww.leonardoborges.com
Winning over the skepticism• When we first offered help...   - Ruby? You can’t do nothing serious with Ruby   - The schedul...
Winning over the skepticism• When we first offered help...   - Ruby? You can’t do nothing serious with Ruby   - The schedul...
Winning over the skepticism• When we first offered help...                          • We developed and deployed an app that...
Winning over the skepticism• When we first offered help...                          • We developed and deployed an app that...
Winning over the skepticism• When we first offered help...                          • We developed and deployed an app that...
Resources• rubyonrails.org• fragmental.tw - Phillip Calçado• heroku.com• sendgrid.com• newrelic.com• httpd.apache.org/docs...
Q&ALeonardo Borgeswww.leonardoborges.com
Thank you!Leonardo Borgeswww.leonardoborges.com
Upcoming SlideShare
Loading in...5
×

Clouds Against the Floods

1,695

Published on

Talk about how we built a donation app in a short amount of time to help the Quensland Govt generate money for the 2010/11 flood victims

2 Comments
1 Like
Statistics
Notes
No Downloads
Views
Total Views
1,695
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
17
Comments
2
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Clouds Against the Floods

    1. 1. Clouds against the Floodsor how Ruby On Rails saved the day in AustraliaLeonardo Borgeswww.leonardoborges.com
    2. 2. What do I do?• Write code for ThoughtWorks in Sydney, Australia• Contribute to open-source projects, on occasion - Rails - JRuby - rcov_plugin - Savon• Blog, rant and cause trouble online - www.leonardoborges.com - @leonardo_borges• Get shy in presentations like this one Leonardo Borges www.leonardoborges.com
    3. 3. What?Leonardo Borgeswww.leonardoborges.com
    4. 4. What?• 75% of Queensland under water Leonardo Borges www.leonardoborges.com
    5. 5. What?• 75% of Queensland under water• Government to run a telethon on Channel 9 Leonardo Borges www.leonardoborges.com
    6. 6. What?• 75% of Queensland under water• Government to run a telethon on Channel 9• SSQ’s donation app misbehaved Leonardo Borges www.leonardoborges.com
    7. 7. What?• 75% of Queensland under water• Government to run a telethon on Channel 9• SSQ’s donation app misbehaved• backup plan? Leonardo Borges www.leonardoborges.com
    8. 8. We can help!• ThoughtWorks offered to give a hand• we were at the beach• and were pulled in 2 days before the telethon Leonardo Borges www.leonardoborges.com
    9. 9. How?Leonardo Borgeswww.leonardoborges.com
    10. 10. How?• Rails, of course Leonardo Borges www.leonardoborges.com
    11. 11. How?• Rails, of course• Deployment options Leonardo Borges www.leonardoborges.com
    12. 12. How?• Rails, of course• Deployment options - Amazon EC2 Leonardo Borges www.leonardoborges.com
    13. 13. How?• Rails, of course• Deployment options - Amazon EC2 - Heroku Leonardo Borges www.leonardoborges.com
    14. 14. How?• Rails, of course• Deployment options - Amazon EC2 - Heroku Leonardo Borges www.leonardoborges.com
    15. 15. How?• Rails, of course• Deployment options - Amazon EC2 - Heroku•An awesome team Ben Barnard, me and Phillip Calçado Leonardo Borges www.leonardoborges.com
    16. 16. The donation app• form for donor details• payment gateway integration• background jobs - sending emails Leonardo Borges www.leonardoborges.com
    17. 17. The donation app• form for donor details• payment gateway integration• background jobs - sending emails - delayed_job gem - SMTP capable of sending thousands of emails Leonardo Borges www.leonardoborges.com
    18. 18. The donation app• form for donor details• payment gateway integration• background jobs - sending emails - delayed_job gem - SMTP capable of sending thousands of emails Leonardo Borges www.leonardoborges.com
    19. 19. Monitoring,Benchmarking &CachingLeonardo Borgeswww.leonardoborges.com
    20. 20. Monitoring,Benchmarking &Caching• NewRelicLeonardo Borgeswww.leonardoborges.com
    21. 21. Monitoring,Benchmarking &Caching• NewRelic - Identifying errors early Leonardo Borges www.leonardoborges.com
    22. 22. Monitoring,Benchmarking &Caching• NewRelic - Identifying errors early - Measuring server load and scaling accordingly Leonardo Borges www.leonardoborges.com
    23. 23. Monitoring,Benchmarking &Caching• NewRelic - Identifying errors early - Measuring server load and scaling accordingly• Apache AB Leonardo Borges www.leonardoborges.com
    24. 24. Monitoring,Benchmarking &Caching• NewRelic - Identifying errors early - Measuring server load and scaling accordingly• Apache AB - Finding the bottlenecks Leonardo Borges www.leonardoborges.com
    25. 25. Monitoring,Benchmarking &Caching• NewRelic - Identifying errors early - Measuring server load and scaling accordingly• Apache AB - Finding the bottlenecks• Varnish Leonardo Borges www.leonardoborges.com
    26. 26. Monitoring,Benchmarking &Caching• NewRelic - Identifying errors early - Measuring server load and scaling accordingly• Apache AB - Finding the bottlenecks• Varnish - Aggressive caching Leonardo Borges www.leonardoborges.com
    27. 27. Monitoring,Benchmarking &Caching• NewRelic - Identifying errors early - Measuring server load and scaling accordingly• Apache AB - Finding the bottlenecks• Varnish - Aggressive caching Leonardo Borges www.leonardoborges.com
    28. 28. Winning over the skepticismLeonardo Borgeswww.leonardoborges.com
    29. 29. Winning over the skepticism• When we first offered help... - Ruby? You can’t do nothing serious with Ruby - The schedule is too tight! - How are you gonna deploy this thing? Leonardo Borges www.leonardoborges.com
    30. 30. Winning over the skepticism• When we first offered help... - Ruby? You can’t do nothing serious with Ruby - The schedule is too tight! - How are you gonna deploy this thing?• What happened... - Their app went down at the start of the telethon - Remember the backup plan? Leonardo Borges www.leonardoborges.com
    31. 31. Winning over the skepticism• When we first offered help... • We developed and deployed an app that... - Ruby? You can’t do nothing serious with Ruby - was built Ruby on Rails - The schedule is too tight! - scales - How are you gonna deploy this thing? - integrates with a few external services - handled the load comfortably - 15 req/sec during the telethon• What happened... - AUD$ 2 million generated in two hours - Their app went down at the start of the telethon - received over AUD$ 30 million in donations thus far - Remember the backup plan? - has been the main app since then Leonardo Borges www.leonardoborges.com
    32. 32. Winning over the skepticism• When we first offered help... • We developed and deployed an app that... - Ruby? You can’t do nothing serious with Ruby - was built Ruby on Rails - The schedule is too tight! - scales - How are you gonna deploy this thing? - integrates with a few external services - handled the load comfortably - 15 req/sec during the telethon• What happened... - AUD$ 2 million generated in two hours - Their app went down at the start of the telethon - received over AUD$ 30 million in donations thus far - Remember the backup plan? - has been the main app since then ... in a little over 48 hours Leonardo Borges www.leonardoborges.com
    33. 33. Winning over the skepticism• When we first offered help... • We developed and deployed an app that... - Ruby? You can’t do nothing serious with Ruby - was built Ruby on Rails - The schedule is too tight! - scales - How are you gonna deploy this thing? - integrates with a few external services - handled the load comfortably - 15 req/sec during the telethon• What happened... - AUD$ 2 million generated in two hours - Their app went down at the start of the telethon - received over AUD$ 30 million in donations thus far - Remember the backup plan? - has been the main app since then ... in a little over 48 hours Leonardo Borges www.leonardoborges.com
    34. 34. Resources• rubyonrails.org• fragmental.tw - Phillip Calçado• heroku.com• sendgrid.com• newrelic.com• httpd.apache.org/docs/2.0/programs/ab.html• github.com/collectiveidea/delayed_job Leonardo Borges www.leonardoborges.com
    35. 35. Q&ALeonardo Borgeswww.leonardoborges.com
    36. 36. Thank you!Leonardo Borgeswww.leonardoborges.com
    1. A particular slide catching your eye?

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

    ×