international PHP2011_J.Hartmann_DevOps für PHP

915 views
851 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
915
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

international PHP2011_J.Hartmann_DevOps für PHP

  1. 1. DevOps für PHP International PHP Conference Spring Edition 2011 © 2010 Mayflower GmbHMontag, 30. Mai 2011
  2. 2. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 2Montag, 30. Mai 2011
  3. 3. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 3Montag, 30. Mai 2011
  4. 4. 2007 Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 4Montag, 30. Mai 2011
  5. 5. http://www.flickr.com/photos/johnmueller/52621490/ Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 5Montag, 30. Mai 2011
  6. 6. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 6Montag, 30. Mai 2011
  7. 7. http://www.flickr.com/photos/johnmueller/52621490/ Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 7Montag, 30. Mai 2011
  8. 8. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 8Montag, 30. Mai 2011
  9. 9. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 9Montag, 30. Mai 2011
  10. 10. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 10Montag, 30. Mai 2011
  11. 11. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 11Montag, 30. Mai 2011
  12. 12. Nicht schnell. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 12Montag, 30. Mai 2011
  13. 13. Nicht schnell. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 13Montag, 30. Mai 2011
  14. 14. auch schnell. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 14Montag, 30. Mai 2011
  15. 15. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 15Montag, 30. Mai 2011
  16. 16. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 16Montag, 30. Mai 2011
  17. 17. Das bin ich. Johann-Peter Hartmann @johannhartmann hartmann@mayflower.de IRC: Freenode, EFNet johann__ Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  18. 18. Und das auch. Johann-Peter Hartmann PHP Developer CTO of 65 developers Likes PHP, Agility, System Administration and Security Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  19. 19. Wer seid Ihr? Developer? Sysadmin? Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  20. 20. (Zeit schinden durch Publikumsfragen) Agile? Scrum? Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  21. 21. (noch mehr Zeit schinden) Releases / Jahr? Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  22. 22. (... ich muss mich beeilen) Cloud? Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  23. 23. == Hardware = Software Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 23Montag, 30. Mai 2011
  24. 24. API Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 24Montag, 30. Mai 2011
  25. 25. Immer noch Hardware (nur woanders) Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 25Montag, 30. Mai 2011
  26. 26. 2009 Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 26Montag, 30. Mai 2011
  27. 27. Hardware = Software = Configuration Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 27Montag, 30. Mai 2011
  28. 28. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 28Montag, 30. Mai 2011
  29. 29. Dokumentationsgetrieben DomainSpecificLanguage Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 29Montag, 30. Mai 2011
  30. 30. PuppetMaster PuppetD Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 30Montag, 30. Mai 2011
  31. 31. Mach ma hin So Isset. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 31Montag, 30. Mai 2011
  32. 32. Facter Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 32Montag, 30. Mai 2011
  33. 33. class web { package {“httpd“: ensure => present } file {“/etc/httpd/conf/httpd.conf“: owner => root, group => root, mode => 664, source => puppet:///modules/apache/httpd.conf, require => Package[“httpd“], notify => Service[“httpd“] } service {“httpd“: ensure => running, enable => true, require => File[“/etc/httpd/conf/httpd.conf“] } } node “web01.mydomain.test“ { include web } Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 33Montag, 30. Mai 2011
  34. 34. Puppet-Modules • apache, nginx, varnish • php, ruby, tomcat • mysql, postgresql, memcache, ejabberd • heartbeat, dns (gibt eigentlich für fast alles etwas) Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 34Montag, 30. Mai 2011
  35. 35. Monitoring Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 35Montag, 30. Mai 2011
  36. 36. Quelle: http://www.puppetlabs.com/puppet/related-projects/dashboard/ Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 36Montag, 30. Mai 2011
  37. 37. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 37Montag, 30. Mai 2011
  38. 38. Vagrant Ich weiss, wie meine Server aussehen. Das Development soll maximal ähnlich sein. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 38Montag, 30. Mai 2011
  39. 39. Vagrant VirtualBox-basierte automatische Erzeugung von VMs mit Puppet/ Chef Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 39Montag, 30. Mai 2011
  40. 40. Vagrant Voll versioniert! On-Demand Erzeugung Developer-Self-Service Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 40Montag, 30. Mai 2011
  41. 41. $ gem install vagrant $ vagrant box add maverick64 http://mathie-vagrant- boxes.s3.amazonaws.com/maverick64.box $ mkdir maverick_demo $ cd maverick_demo $ vagrant init maverick64 $ vagrant up $ vagrant ssh vagrant@maverick64:~$ Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 41Montag, 30. Mai 2011
  42. 42. Vagrant-Cluster mit 20 Maschinen lokal? Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 42Montag, 30. Mai 2011
  43. 43. McCloud Wrapper around Vagrant and Fog Transparent local & cloud usage https://github.com/jedi4ever/mccloud Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 43Montag, 30. Mai 2011
  44. 44. Und wenn ich 500 Maschinen will? Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 44Montag, 30. Mai 2011
  45. 45. mCollective ssh-for-loop on steroids fast management for loads of servers uses puppet/facter, MQ-based Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 45Montag, 30. Mai 2011
  46. 46. $ mc-package -W "architecture=x86" status apache * [ ============================================================> ] 10 / 10 host01.example.com version = apache-2.2.9-7 host02.example.com version = apache-2.2.9-7 host03.example.com version = apache-2.2.9-7 host04.example.com version = apache-2.2.9-7 host05.example.com version = apache-2.2.9-7 host06.example.com version = apache-2.2.9-7 host07.example.com version = apache-2.2.9-7 host08.example.com version = apache-2.2.9-7 host09.example.com version = apache-2.2.9-7 host10.example.com version = apache-2.2.9-7 ---- package agent summary ---- Nodes: 10 / 10 Versions: 10 * 0.25.5-1.el5 Elapsed Time: 1.03 s Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 46Montag, 30. Mai 2011
  47. 47. The most dangerous vegetable on earth! Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 47Montag, 30. Mai 2011
  48. 48. • eigentlich ein BDD-Tool • trotzdem Bestandteil in DevOps • und Bestandteil in Lean Startup • cucumber-nagios • cucumber-puppet Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  49. 49. Feature: Manualsearch In order to find an article As an developer I want to use the search function Scenario: Search for bdd and check resulting page Given I go to "http://it-republik.de/php/" When I fill in "search_itr" with "bdd" And I click "search2" Then I should see "Suche" Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 49Montag, 30. Mai 2011
  50. 50. Given /^I go to "([^"]*)"$/ do |url| visit url end When /^I fill in "([^"]*)" with "([^"]*)"$/ do |field, value| fill_in field, :with => value end When /^I click "([^"]*)"$/ do |button| click_button(button) end Then /^I should see "([^"]*)"$/ do |text| response_body.should include(text) end Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 50Montag, 30. Mai 2011
  51. 51. johann$ cucumber Feature: Manualsearch In order to find an article As an developer I want to use the search function Scenario: Search for bdd and check resulting page # features/ search.feature:5 Given I go to "http://it-republik.de/php/" # features/ step_definitions/search_steps.rb:1 When I fill in "search_itr" with "bdd" # features/ step_definitions/search_steps.rb:5 And I click "search2" # features/ step_definitions/search_steps.rb:9 Then I should see "Suche" # features/ step_definitions/search_steps.rb:13 1 scenario (1 passed) 4 steps (4 passed) 0m1.615s Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 51Montag, 30. Mai 2011
  52. 52. Feature: Install inetd In order to serve the web the httpd service must be installed Scenario: Setup httpd Given a node of class “web“ When I compile the catalog Then package “httpd“ should be “installed“ Then there should be a resource “Service[httpd]“ And the service should have “enable“ set to “true“ And State should be “running“ And the service should require “Package[httpd]“ Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 52Montag, 30. Mai 2011
  53. 53. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 53Montag, 30. Mai 2011
  54. 54. Das verstehe sogar ich! Und ich bin seit 20 Jahren im Marketing! Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 54Montag, 30. Mai 2011
  55. 55. Unit Tests Acceptance Tests Metrics Coding Style ... you get the idea. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 55Montag, 30. Mai 2011
  56. 56. ... and even more ... Packaging Releasing Deployment Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 56Montag, 30. Mai 2011
  57. 57. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 57Montag, 30. Mai 2011
  58. 58. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 58Montag, 30. Mai 2011
  59. 59. Wetware Refactoring Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 59Montag, 30. Mai 2011
  60. 60. Work together Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 60Montag, 30. Mai 2011
  61. 61. Own together Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 61Montag, 30. Mai 2011
  62. 62. Eat together http://www.flickr.com/photos/vilavelosa/3815032524/ Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 62Montag, 30. Mai 2011
  63. 63. Plan together Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 63Montag, 30. Mai 2011
  64. 64. Mayflower DevOpsification Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 64Montag, 30. Mai 2011
  65. 65. DevOpsification of Mayflower (Wetware) 1-2 Admins pro Team –Admin & Development-Aufgaben –Vollzeit dem Team zugeordnet Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  66. 66. DevOpsification of Mayflower (Wetware) Enge Zusammenarbeit mit zentralem Admin Volle Root-Rechte auf Developer-Infrastruktur Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  67. 67. DevOpsification of Mayflower (Software) 1+n Puppet-Master – zentraler Firmenmaster – Teammaster pro Team / Projekt – Firmenmaster ist Startpunkt der Teamkonfiguration Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  68. 68. DevOpsification of Mayflower (Software) Beispiel-Setup: – lokale Developer-VM – CI-Deployment-Server in der DMZ – Staging in der private Cloud – Beta in Amazon-Cloud – Production bei Amazon Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  69. 69. DevOpsification of Mayflower (Software) lokaler GIT- / Gitorious-Server Eucalyptus-Cloud in der DMZ - im Self-Service! Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  70. 70. DevOpsification of Mayflower (Future) Vagrant für das Development Scrum => KanBan Puppet Nagios Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011

×