OSDC 2014: Andreas Schmidt - Testing server infrastructure with serverspec
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

OSDC 2014: Andreas Schmidt - Testing server infrastructure with serverspec

on

  • 264 views

Companies that focus on cloud infrastructures for both developing and running their applications are likely to have the highest benefit of test driven infrastructure tools such as configuration ...

Companies that focus on cloud infrastructures for both developing and running their applications are likely to have the highest benefit of test driven infrastructure tools such as configuration management and their spec-oriented testing counterparts.
However many enterprises have not moved to the cloud yet.
Often limited by contracts, regulations or security considerations, they too are in need of testing their infrastructure that service providers built for them.
The talk shows approaches to infrastructure testing and demonstrates the use of serverspec (http://serverspec.org/).

Statistics

Views

Total Views
264
Views on SlideShare
245
Embed Views
19

Actions

Likes
0
Downloads
3
Comments
0

2 Embeds 19

http://www.netways.de 15
http://www.slideee.com 4

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

OSDC 2014: Andreas Schmidt - Testing server infrastructure with serverspec Presentation Transcript

  • 1. © 2014 Cassini Consulting Andreas Schmidt Testing server infrastructure with serverspec
  • 2. Cassini Consulting @cassinigmbh •  IT & Management Consulting Andreas Schmidt •  From Dev to Ops •  Infrastructure & Deployment Automation w/ ruby
  • 3. •  Purpose of infrastructure testing •  #serverspec •  Examples / Demo •  Use Cases & benefits ? !
  • 4. Provisioning & Delivery
  • 5. Application being tested?
  • 6. Servers being tested?
  • 7. How is infrastructure being specified?
  • 8. „Startup“ •  Recent cloud technology •  Virtual Infrastructure Provisioning •  „Phoenix Server“ „Classic“ IT Environments •  Both virtualized & non-virtualized •  Mixed Provisioning processes •  IT outsourcing •  IT System & Software Architecture Regulated IT Environments •  i.e. banking, insurance companies, government •  + Compliance •  + Security Low Cost Short Cycle Time Documentation (Internal/External) Audit Capabilities Internal Documentation Acceptance Tests
  • 9. Automated Provisioning & Configuration Management
  • 10. Lower-level configuration aspects •  VM infrastructure & kernel parameters •  Networking •  Logical volume management Side effects •  RPM post-install scripts Documentation •  Specification of infrastructure •  Human Readable Testing on machine itself what‘s missing?
  • 11. Machine parse-able Human read-able Infrastructure Specification
  • 12. serverspec •  www.serverspec.org •  github.com/serverspec/serverspec MIT License Gosuke Miyashita @gokusenator „With serverspec, you can write RSpec tests for checking your servers are configured correctly.“
  • 13. serverspec describe package 'openssh-server' do it { should be_installed } end describe file '/etc/ssh/sshd_config' do it { should be_mode 600 } it { should be_owned_by 'root' }
end describe service 'ssh' do it { should be_enabled } end
  • 14. Development box CM code
  • 15. Development box CM code CM code specs Test locally
  • 16. Development box CM code Staging Provision CM code specs box „state“ Test locally
  • 17. Development box CM code Staging Provision Test locally CM code specs box „state“ server spec „Spec“ box
  • 18. Development box CM code Staging Provision Test locally CM code specs box „state“ Test on server(s) server spec „Spec“ box
  • 19. Development box CM code Staging Local VM or Container Provision Test locally CM code specs box „state“ Provision Test on server(s) server spec „Spec“ box
  • 20. Development box CM code Staging Local VM or Container Provision Test locally CM code specs box „state“ Test Provision Test on server(s) server spec „Spec“ box
  • 21. Development box CM code Staging Local VM or Container Provision Test locally CM code specs box „state“ Test Provision Test on server(s) server spec „Spec“ box
  • 22. $ gem install serverspec diff-lcs, highline, rake 
 net-ssh 
 rspec, rspec-core, rspec- expectations, rspec-mock 
 specinfra, serverspec Basics ssh to target hosts spec basics „Backend“ for infrastructure tests (local/remote, command abstraction, helpers) „Frontend“ w/ resource types à rspec
  • 23. Demo •  Serverspec Basics •  Overview of resource types •  Using abstractions and facts •  Introduce roles •  Environment-independent specs through properties
  • 24. Monitoring vs. Spec •  Dynamic Aspects (crashed servers, services not reachable, disk full, ...) •  Mostly in „internal form“, not human readable, special checks buried in scripts •  Static Aspects (how system is built) •  Explicit form, human readable •  Keep your system up & running •  Build according to a specification and prove compliance with it
  • 25. Additional tools •  Comparable: rspec-system (! beaker-rspec), rspec-system-serverspec •  Integrate serverspec into vagrant as a provisioner: github.com/jvoorhis/vagrant-serverspec •  Reporting http://vincent.bernat.im/en/blog/2014-serverspec-test- infrastructure.html
  • 26. Infrastructure QA
  • 27. Infrastructure regression testing
  • 28. Automated acceptance testing
  • 29. Audit Capabilities
  • 30. Work test driven – Define, build, compare your environments.
  • 31. github.com/aschmidt75/serverspecplayground andreas.schmidt@cassini.de xing.to/aschmidt @aschmidt75 ?
  • 32. Cassini Consulting Niederlassung Düsseldorf Andreas Schmidt Bennigsen-Platz 1 40474 Düsseldorf Deutschland andreas.schmidt@cassini.de visit www.cassini.de Alle Angaben basieren auf dem derzeitigen Kenntnisstand. Änderungen vorbehalten. Dieses Dokument von Cassini Consulting ist ausschließlich für den Adressaten bzw. Auftraggeber bestimmt. Es bleibt bis zur einer ausdrücklichen Übertragung von Nutzungsrechten Eigentum von Cassini. Jede Bearbeitung, Verwertung, Vervielfältigung und/oder gewerbsmäßige Verbreitung des Werkes ist nur mit Einverständnis von Cassini zulässig.