Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How can cloud computing and DevOps make a software team more agile? - Andy Kelk - Agile SG 2013

How can cloud computing and DevOps make a software team more agile? - Andy Kelk - Agile SG 2013

Presented in Agile Singapore 2013 Conference

Agility in software development is oftened defined by the shortening of feedback loops; by providing feedback to users, stakeholders and developers faster, we can act and change more quickly. Many teams are now successful in providing feedback throughout their development cycle with showcases, collaboration and prototyping. However, the "last mile" of getting a feature into production and ensuring it operates effectively once there is still a challenge for many teams.

This presentation focuses on how a combination of cloud computing (broadly defined as public clouds such as Amazon Web Services and private clouds such as OpenStack), infrastructure tools (such as Puppet and Chef) and a collaborative culture (known as DevOps) can help in getting software out faster and keep it running there with fewer outages. The presentation looks at a common deployment pipeline and how the technologies listed above can be utilised to make the pipeline more efficient, robust and effective.

By using cloud computing and DevOps, teams can get products to market faster and shorten their feedback cycles allowing them to compete more effectively in their chosen market.

For further reading, please go to http://www.andykelk.net/agile/the-last-mile-devops-to-make-you-agile

Agile Singapore

November 07, 2013
Tweet

More Decks by Agile Singapore

Other Decks in Programming

Transcript

  1. http://www.flickr.com/photos/thomas-merton/4088168825/

    View Slide

  2. http://www.flickr.com/photos/kodomut/8736163636/

    View Slide

  3. http://www.flickr.com/photos/[email protected]/107794090/

    View Slide

  4. http://www.flickr.com/photos/tracer/97406346/

    View Slide

  5. http://www.thinkgeek.com/product/f141/

    View Slide

  6. http://www.flickr.com/photos/[email protected]/5256973114/

    View Slide

  7. http://www.flickr.com/photos/wolf-t/8136494613/

    View Slide

  8. http://www.flickr.com/photos/harlanh/2539534806/

    View Slide

  9. http://www.flickr.com/photos/stuckincustoms/940672578/

    View Slide

  10. http://www.flickr.com/photos/stuckincustoms/940672578/
    set :username, "deploy"
    set :host, "myserver01.mydomain"
    set :path, "/var/www/html/myapp/"
    set :restart, "/etc/init.d/apache2 restart"
    set :checkout, "svn export --force"
    set :repo, "myrepo.mydomain
    desc "Remote deploy and restart of webserver"
    task :deploy, :hosts => "#{username}@#{host}" do
    run "#{checkout} #{repo} #{path}; #{restart}"
    end

    View Slide

  11. http://www.flickr.com/photos/stuckincustoms/940672578/

    View Slide

  12. http://www.flickr.com/photos/stuckincustoms/940672578/

    View Slide

  13. http://www.flickr.com/photos/stuckincustoms/940672578/

    View Slide

  14. http://www.flickr.com/photos/stuckincustoms/940672578/
    class ntp {
    package { "ntp":
    ensure => installed
    }
    service { "ntp":
    ensure => running,
    }
    }
    node myserver {
    include ntp
    }

    View Slide

  15. http://www.flickr.com/photos/stuckincustoms/940672578/

    View Slide

  16. http://www.flickr.com/photos/stuckincustoms/940672578/
    box = 'precise32'
    hostname = 'myserver'
    ram = '256'
    Vagrant::Config.run do |config|
    config.vm.box = box
    config.vm.host_name = hostname
    config.vm.customize [
    'modifyvm', :id,
    '--name', hostname,
    '--memory', ram
    ]
    end

    View Slide

  17. http://www.flickr.com/photos/dean_browne/4021640740/

    View Slide

  18. http://www.flickr.com/photos/stephoto/3111970722/

    View Slide

  19. http://www.flickr.com/photos/rutlo/3059270371/

    View Slide

  20. http://www.flickr.com/photos/1967chevrolet/3998949198/

    View Slide

  21. http://www.flickr.com/photos/1967chevrolet/3998949198/

    View Slide