Everything Ruby     Ajey Gore     @ajeygore
About me• Developer• Sys Ad• DevOps
More like a discussion• Listen to our experiences• Tell us about your experiences
About the talk
• Ruby for development• Ruby for operations• Used it for both - single team
Why Ruby?
• Nice language• OpenSource• DSLs can be built easily• Great community• Multiple implementations (JRuby, MRI etc)
Development
Build and testing
Provisioning
require fogfog = Fog::Compute.new(  :provider => AWS,  :region=>eu-west-1,  :aws_access_key_id => yyy,  :aws_secret_access...
Deployment
role :app, "A", "B"role :web, "C"task :deploy, :roles => :app do  run deployend
ConfigurationManagement
execute yum -y update -securitypackage httpdservice httpd do  action :runendcookbook_file "/etc/httpd/conf.d/mysite.conf"d...
pipe configuration with      provisioning
knife ec2 server create -r ‘role[web_server]’
Orchestration
New Host
MonitoringNew Host
Monitoring            BackupNew Host           Schedule
Monitoring            BackupNew Host           Schedule           Enter into             proxy
mco   rpc   chef --with-fact ‘role=monitor’mco   rpc   chef --with-fact ‘role=app’mco   rpc   backup --with-fact ‘role=db’...
Monitoring
{    "client": {      "name": "webapp01.local",      "address": "10.0.0.1",      "subscriptions": [ "web" ]    }}
Supervising
Bluepill.application("httpd") do |app|      app.process("httpd") do |process|        process.start_command = "/usr/bin/apa...
Ruby is ubiquitous• Provisioning• Configuration• Development• Continuous Integration• Deployment• Monitoring
Everything Ruby
References• Fog - cloud provisioning and management• Chef - configuration management• MCollective - service and system serv...
Everything ruby
Upcoming SlideShare
Loading in...5
×

Everything ruby

1,062

Published on

Compared to 2 - 3 years back today's eco-system around IT Operations has changed significantly, The definitive responsibility line between infrastructure administrators and developers has been blurring continuously. We have experienced that developers want to experience same level of ease as its publicly available in form of commodity hardware, computing, monitoring, deployment and source control systems. Lots of IT organizations still go through lot of manual process for provisioning, monitoring, analysis, setup and do not take advantage new age tools. We had these issues in our existing environment as well. WE have been managing our servers using new age configuration management tools but thats not sufficient as we did not bring that advantage to our end users.

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

No Downloads
Views
Total Views
1,062
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
2
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
  • Everything ruby

    1. 1. Everything Ruby Ajey Gore @ajeygore
    2. 2. About me• Developer• Sys Ad• DevOps
    3. 3. More like a discussion• Listen to our experiences• Tell us about your experiences
    4. 4. About the talk
    5. 5. • Ruby for development• Ruby for operations• Used it for both - single team
    6. 6. Why Ruby?
    7. 7. • Nice language• OpenSource• DSLs can be built easily• Great community• Multiple implementations (JRuby, MRI etc)
    8. 8. Development
    9. 9. Build and testing
    10. 10. Provisioning
    11. 11. require fogfog = Fog::Compute.new( :provider => AWS, :region=>eu-west-1, :aws_access_key_id => yyy, :aws_secret_access_key => xxxx)server = fog.servers.create( :image_id=>ami-311f2b45, :flavor_id=>t1.micro, :key_name => pey-pair-name)
    12. 12. Deployment
    13. 13. role :app, "A", "B"role :web, "C"task :deploy, :roles => :app do run deployend
    14. 14. ConfigurationManagement
    15. 15. execute yum -y update -securitypackage httpdservice httpd do action :runendcookbook_file "/etc/httpd/conf.d/mysite.conf"do source "etc/httpd/conf.d/mysite.conf" owner root group root mode 0644 notifies :reload, service[httpd] end
    16. 16. pipe configuration with provisioning
    17. 17. knife ec2 server create -r ‘role[web_server]’
    18. 18. Orchestration
    19. 19. New Host
    20. 20. MonitoringNew Host
    21. 21. Monitoring BackupNew Host Schedule
    22. 22. Monitoring BackupNew Host Schedule Enter into proxy
    23. 23. mco rpc chef --with-fact ‘role=monitor’mco rpc chef --with-fact ‘role=app’mco rpc backup --with-fact ‘role=db’mco rpc deploy --with-fact ‘role=app’mco rpc chef --with-fact ‘role=loadbalancer’
    24. 24. Monitoring
    25. 25. { "client": { "name": "webapp01.local", "address": "10.0.0.1", "subscriptions": [ "web" ] }}
    26. 26. Supervising
    27. 27. Bluepill.application("httpd") do |app| app.process("httpd") do |process| process.start_command = "/usr/bin/apachctl start" process.pid_file = "/var/run/httpd.pid" endend
    28. 28. Ruby is ubiquitous• Provisioning• Configuration• Development• Continuous Integration• Deployment• Monitoring
    29. 29. Everything Ruby
    30. 30. References• Fog - cloud provisioning and management• Chef - configuration management• MCollective - service and system services orchestration• Sensu - system monitoring• Bluepill - supervising system services
    1. A particular slide catching your eye?

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

    ×