Your SlideShare is downloading. ×
Rubyizing the devs and ops of an enterprise 1.0
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Rubyizing the devs and ops of an enterprise 1.0


Published on

My Presentation during RubyConf India 2011, presented on 28th / 29th May 2011 in Bangalore India

My Presentation during RubyConf India 2011, presented on 28th / 29th May 2011 in Bangalore India

Published in: Technology

  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Rubyizingthe Devs and Ops of an Enterprise Yashasree Barve
  • 2. About meTechnologist @ TCS since last 13 years An Agile Ruby developer since 2007 & Im lovin it RubyConf India 2011
  • 3. Back in 2007 Who is this Ruby? RubyConf India 2011
  • 4. A Rewarding Journey 2011 I Love Ruby 2007 Who is this Ruby? RubyConf India 2011
  • 5. An EnterpriseImages created using RubyConf India 2011
  • 6. Agile Enters the Enterprise RubyConf India 2011
  • 7. RubyConf India 2011
  • 8. Let us try Ruby and Rails! RubyConf India 2011
  • 9. But This is An Enterprise… Heterogeneity Performance Availability Security Complexity Scalability Reliability RubyConf India 2011
  • 10. How to eat an Elephant? One bite at a time! RubyConf India 2011
  • 11. THE RAILS WAY RubyConf India 2011
  • 12. Believe it or not,most big company security break-ins involve your employees! RubyConf India 2011
  • 13. Security Plug in Apache Passenger Apache Passenger Authenticate Rails Security Plug in App Login Single Sign On Server Authorize Enterprise Directory Server Enterprise Directory Server RubyConf India 2011
  • 14. Microsoft ADS Domino LDAP IBM ITDSSupport ALL of those! RubyConf India 2011
  • 15. Directory Server Plug in Apache Passenger Apache Passenger LDAP Rails Plug in App Enterprise Directory Server Enterprise Directory Server >> person = MyLdap::Person.find_name John Doe person = MyLdap::Person.find_name John Doe >> person.first_name #=> John person.first_name #=> John >> person.last_name #=> Doe person.last_name #=> Doe >> person.is_contractor? #=> true person.is_contractor? #=> true >> person.is_in_group?(some_admins) #=> true person.is_in_group?(some_admins) #=> true >> person.groups #=> [some_admins, that_user] person.groups #=> [some_admins, that_user] >> group = MyLdap::Group.find_by_name some_admins group = MyLdap::Group.find_by_name some_admins >> group.contains? person> #=> true group.contains? person> #=> true >> Other ways to find a person: Other ways to find a person: >> MyLdap::Person.find_by_distinguished_name MyLdap::Person.find_by_distinguished_name >> MyLdap::Person.find_by_sso_name MyLdap::Person.find_by_sso_name RubyConf India 2011
  • 16. every Page you Seeevery Click you Make RubyConf India 2011
  • 17. Usage Tracking Apache Passenger Apache Passenger Tracking Rails Plug in App HTTP Enterprise Usage Tracking Enterprise Usage Tracking External Server External Server enable_page_tracking to track who visited which page enable_page_tracking to track who visited which page link_to to send info about clicked link link_to to send info about clicked link Set defaults inin environment.rb Set defaults environment.rb Define app specific parameters inin environment config Define app specific parameters environment config Rake task to include relevant files inin the application Rake task to include relevant files the application RubyConf India 2011
  • 18. Plug ins that DRYed us RubyConf India 2011
  • 19. Hosting Internally C:my_apptrunk>gem install –source C:my_apptrunk>gem install –source http://mygemserver:8808/ distribute http://mygemserver:8808/ distribute Gem Server C:my_apptrunk>ruby script/plugin C:my_apptrunk>ruby script/plugin install my_security –source install my_security –source Enterprise Subversion Server RubyConf India 2011
  • 20. Rails Up and RunningSOURCE: Source RubyConf India 2011
  • 21. Create a Brand New Rails app that • gets committed in SCM • configured on CI • branding, security, ldap, and so on installed • ready to be deployed with configured Capfile • defaults to rspec, mocha, cucumber RubyConf India 2011
  • 22. Way We Work Keep it Keep it Simple. Simple. Automated Automated Tests, Tests, A part of life. A part of life. Continuously Continuously Integrate, Integrate, Release Release Often. Often. RubyConf India 2011
  • 23. Vibrant Rubyists Group Team up Share Excel RubyConf India 2011
  • 24. Oops!But what about the Ops RubyConf India 2011
  • 25. The BIG Task of Deployment C:my_apptrunk>capd deploy:migrationsC:my_apptrunk>capd deploy:migrations triggering start callbacks for `deploy:migrations triggering start callbacks for `deploy:migrationsSelect Stage: Select Stage: 1. production1. production 2. integration2. integration >> capd apache:configure capd apache:configure 3. devutility3. devutility >> capd apache:passenger:configure capd apache:passenger:configure 4. qa4. qa >> capd apache:restart capd apache:restart Please select:Please select: >> capd install capd install >> capd uninstall capd uninstall >> capd deploy:bundle_gems capd deploy:bundle_gems >> capd deploy:minify_and_upload_assets capd deploy:minify_and_upload_assets >> capd deploy:minify_erbs capd deploy:minify_erbs >> capd google:configure capd google:configure >> capd ldap:configure capd ldap:configure >> capd database:configure capd database:configure >> capd hoptoad:notify capd hoptoad:notify Powered by Capistrano and Passenger RubyConf India 2011
  • 26. Towards One Click deployment Inspired by Heroku RubyConf India 2011
  • 27. Busting those Tickets! Legacy Enterprise Apps Legacy Enterprise Apps Apache Passenger Apache Passenger Admin Rails App RubyConf India 2011
  • 28. More Transparency Splunk Splunk Hoptoad Hoptoad RubyConf India 2011
  • 29. Chef at work Infrastructure as a code and The code is Ruby RubyConf India 2011
  • 30. Envisioning the Provisioning• Monitor the App Performance• Spin a virtual server to scale horizontally RubyConf India 2011
  • 31. Dev Ops RubyConf India 2011
  • 32. This presentation would not have been possible without My fellow Rubyists Amit Kumar Thomas Newton Patrick Shaughnessy & My creative designer buddy Mayura Sawant Thanks mates! RubyConf India 2011
  • 33. Thank you all for being patient and hearing me out. Hope this helps you! Any questions? RubyConf India 2011