DevOps Introduction @Cegeka

  • 3,606 views
Uploaded on

A DevOps introduction at Cegeka.

A DevOps introduction at Cegeka.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
3,606
On Slideshare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
96
Comments
0
Likes
8

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. devops an introduction Patrick DeboisMonday 14 February 2011
  • 2. My Background • Independent consultant • Have worked in different roles • Agile and Infrastructure • Just Enough Developed Infrastructure - http://jedi.be • Started organizing devopsdays • Recently joined Cutter ConsortiumMonday 14 February 2011
  • 3. Background check? analysts database developer security operations middleware testers sales network manager storage hr peopleMonday 14 February 2011
  • 4. DEV OPS The problemMonday 14 February 2011
  • 5. Agile already did a great jobMonday 14 February 2011
  • 6. But they forgot some peopleMonday 14 February 2011
  • 7. Monday 14 February 2011
  • 8. Traditional CI Overview http://www.javaworld.com/javaworld/jw-12-2008/images/CIOverview.jpgMonday 14 February 2011
  • 9. Continuous Integration Maturity Model http://www.anthillpro.com/blogs/anthillpro-blog/2009/05/05/1241542860000.htmlMonday 14 February 2011
  • 10. The only way to measure progress is “Working software”Monday 14 February 2011
  • 11. The only way to measure progress is “Working software” In productionMonday 14 February 2011
  • 12. Monday 14 February 2011
  • 13. Business Value Ordered by Ordered by the value the value gained protected Increase Change Avoid ChangeMonday 14 February 2011
  • 14. IT Tooling is changingMonday 14 February 2011
  • 15. Virtualization • kvm • xen • solaris zones • vmware • virtualbox • ...Monday 14 February 2011
  • 16. Cloud showed us how to scaleMonday 14 February 2011
  • 17. Abstraction API http://libvirt.org/ http://www.jclouds.org/ Adrian Cole @jcloudsMonday 14 February 2011
  • 18. Platform as a ServiceMonday 14 February 2011
  • 19. Hudson as Service http://www.cloudbees.com/Monday 14 February 2011
  • 20. But who will manage your IAAS platform?Monday 14 February 2011
  • 21. First steps of Automation http://fai-project.org/ https://fedorahosted.org/cobbler/ http://spacewalk.redhat.com/Monday 14 February 2011
  • 22. CloningMonday 14 February 2011
  • 23. Virtual SprawlMonday 14 February 2011
  • 24. Configuration Management Chef http://www.cfengine.org/ http://www.opscode.com/chef https://github.com/ hugoduncan/pallet Pallethttp://www.puppetlabs.comMonday 14 February 2011
  • 25. Infrastructure as code # tomcat.pp class tomcat { ! package { ! ! "java-1.6.0-sun-compat": ! ! ! ensure => "installed"; ! ! "tomcat6": ! ! ! require => [Package["java-1.6.0-sun-compat"], Package["ntc-tomcat-log4j"]], ! ! ! ensure => "installed"; ! ! "tomcat6-admin-webapps": ! ! ! ensure => "installed"; ! ! "log4j": ! ! ! ensure => "installed"; ! ! "tanukiwrapper": ! ! ! ensure => "installed"; ! ! "mysql-connector-java": ! ! ! ensure => "installed"; ! } ! file { ! ! "/etc/init.d/tomcat6": mode => "0755", owner => "root", group => "root", source => "puppet:///tomcat/tomcat6.init"; } ! user { ! ! "tomcat": ! ! ! ensure => "present", ! ! ! require => Package["tomcat6"]; ! } }!Monday 14 February 2011
  • 26. Model Driven InfrastructureMonday 14 February 2011
  • 27. Definition of your infrastructure John E.Vincent @lusis https://github.com/lusis/vogelerMonday 14 February 2011
  • 28. Version ControlMonday 14 February 2011
  • 29. Reusable components https://github.com/camptocampMonday 14 February 2011
  • 30. Code/Server Smells Private Playground The sysadmin uses the system as his toy playground, doesnt clean up. • /tmp & /var/tmp full of old install files • / full of files Gready Server One server that does every function • combined mail and web and dns and fileshares • all users on the same system Root is the cause of all evil • last show login all root • no sudo is activated • no sshd keys for logins • nfs share/root? • Chmod 777 • most processes run as rootMonday 14 February 2011
  • 31. Sharing Recipes/Code http://cookbooks.opscode.com/http://forge.puppetlabs.com/Monday 14 February 2011
  • 32. CI for systemsMonday 14 February 2011
  • 33. CI for systems (2)Monday 14 February 2011
  • 34. Pipelines conceptMonday 14 February 2011
  • 35. Automation without tests isMonday 14 February 2011
  • 36. cucumber-nagios Feature: google.com It should be up And I should be able to search for things Scenario: Searching for things When I visit "http://www.google.com" And I fill in "q" with "wikipedia" And I press "Google Search" Then I should see "www.wikipedia.org" $ cucumber-nagios google.feature Critical: 0, Warning: 0, 4 okay | passed=4, failed=0 Lindsay Holmwood @auxesisMonday 14 February 2011
  • 37. cucumber-sshScenario: Checking /etc/passwd When I ssh to "example.org" with the following credentials: | username | password | keyfile | | jacob | spifeofstrife | /home/jacob/.ssh/id_dsa | And I run "cat /etc/passwd" Then I should see "jacob" in the output Lindsay Holmwood @auxesisMonday 14 February 2011
  • 38. cucumber-apacheapache.featureFeature: In order to deploy my application As a systems administrator I want to know that the config files are legal Scenario: Valid Apache config Given a config file template apache2.conf in etc/apache2 When I generate it Then there should be a file called apache2.conf in etc/ap And it should be valid Julian Simpsonhttp://pastie.org/693713 @builddoctorMonday 14 February 2011
  • 39. cucumber-puppet Feature: cucumber-puppet In order to run my puppet manifests test suite As an admin I want the cucumber-puppet gem installed Scenario: Install cucumber-puppet Given a node of class "cucumber-puppet" When I compile the catalog Then gem "cucumber-puppet" should be "installed" Nikolay Sturmhttps://github.com/nistude/cucumber-puppet @nistudeMonday 14 February 2011
  • 40. The life of a System Birth, Adoption Life Retired DeathMonday 14 February 2011
  • 41. Veewee Allows an easy way to build your own baseboxhttps://github.com/jedi4ever/veewee Patrick Debois @patrickdeboisMonday 14 February 2011
  • 42. Veewee usage • gem install veewee • vagrant basebox define ‘ubuntu-64’ mybox • preseed.cfg + postinstall.sh • vagrant basebox build mybox • vagrant export myboxMonday 14 February 2011
  • 43. Vagrant Allows an easy way to use the production recipes in your own dev environment http://vagrantup.com/ Mitchell Hashimoto @mitchellhMonday 14 February 2011
  • 44. Vagrant usage • vagrant add mybox.box (adds the box) • vagrant init myapp (starts a project) • vagrant up (startup a box) • vagrant ssh (logs into the box) • vagrant provision (runs recipes)Monday 14 February 2011
  • 45. Sample Project • ProjectX (git repo) • Vagrantfile • [manifests] (git submodule) • tomcat ... • ubuntu .. • [src] (git submodule) • [definitions] • preseed.cfgMonday 14 February 2011
  • 46. Global Ownership It’s the It’s the javascript network It’s the It’s the backend server It’s the It’s the database storageMonday 14 February 2011
  • 47. IAAS and PAAS blurring Pull in both your recipes and your codeMonday 14 February 2011
  • 48. I know all that What’s new?Monday 14 February 2011
  • 49. The map is not the territory Alfred KorzybskiMonday 14 February 2011
  • 50. Optimize the whole not just the individual parts Systems ThinkingMonday 14 February 2011
  • 51. Value Stream MappingMonday 14 February 2011
  • 52. People make it happenMonday 14 February 2011
  • 53. Culture & MindsetMonday 14 February 2011
  • 54. Collaboration not only when things go wrong Sysadmins Testers Analysts SecurityDevelopers Network UI Architects DesignersMonday 14 February 2011
  • 55. No rock star mentality Mine are bigger then yoursMonday 14 February 2011
  • 56. CraftsmanshipMonday 14 February 2011
  • 57. TrustMonday 14 February 2011
  • 58. Collaboration not only when things go wrong Sysadmins Testers Analysts SecurityDevelopers Network UI Architects DesignersMonday 14 February 2011
  • 59. Starting a devops culture = restoring trust http://voetstappen.blogspot.com/Monday 14 February 2011
  • 60. Interesting BooksMonday 14 February 2011
  • 61. Want to know more? #devops & #infratalk on twitter & irc http://devopsdays.org http://devopscafe.org http://planetdevops.net devops googlegroup devops-toolchain googlegroupMonday 14 February 2011
  • 62. Questions?Monday 14 February 2011
  • 63. The EndMonday 14 February 2011