Your SlideShare is downloading. ×
international PHP2011_J.Hartmann_DevOps für PHP
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

international PHP2011_J.Hartmann_DevOps für PHP

775

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
775
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
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 für PHP International PHP Conference Spring Edition 2011 © 2010 Mayflower GmbHMontag, 30. Mai 2011
  • 2. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 2Montag, 30. Mai 2011
  • 3. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 3Montag, 30. Mai 2011
  • 4. 2007 Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 4Montag, 30. Mai 2011
  • 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. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 6Montag, 30. Mai 2011
  • 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. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 8Montag, 30. Mai 2011
  • 9. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 9Montag, 30. Mai 2011
  • 10. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 10Montag, 30. Mai 2011
  • 11. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 11Montag, 30. Mai 2011
  • 12. Nicht schnell. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 12Montag, 30. Mai 2011
  • 13. Nicht schnell. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 13Montag, 30. Mai 2011
  • 14. auch schnell. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 14Montag, 30. Mai 2011
  • 15. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 15Montag, 30. Mai 2011
  • 16. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 16Montag, 30. Mai 2011
  • 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. 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. Wer seid Ihr? Developer? Sysadmin? Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  • 20. (Zeit schinden durch Publikumsfragen) Agile? Scrum? Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  • 21. (noch mehr Zeit schinden) Releases / Jahr? Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  • 22. (... ich muss mich beeilen) Cloud? Unternehmensportrait I Mayflower GmbH I January 29, 2010 IMontag, 30. Mai 2011
  • 23. == Hardware = Software Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 23Montag, 30. Mai 2011
  • 24. API Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 24Montag, 30. Mai 2011
  • 25. Immer noch Hardware (nur woanders) Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 25Montag, 30. Mai 2011
  • 26. 2009 Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 26Montag, 30. Mai 2011
  • 27. Hardware = Software = Configuration Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 27Montag, 30. Mai 2011
  • 28. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 28Montag, 30. Mai 2011
  • 29. Dokumentationsgetrieben DomainSpecificLanguage Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 29Montag, 30. Mai 2011
  • 30. PuppetMaster PuppetD Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 30Montag, 30. Mai 2011
  • 31. Mach ma hin So Isset. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 31Montag, 30. Mai 2011
  • 32. Facter Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 32Montag, 30. Mai 2011
  • 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. 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. Monitoring Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 35Montag, 30. Mai 2011
  • 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. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 37Montag, 30. Mai 2011
  • 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. 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. 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. $ 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. Vagrant-Cluster mit 20 Maschinen lokal? Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 42Montag, 30. Mai 2011
  • 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. Und wenn ich 500 Maschinen will? Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 44Montag, 30. Mai 2011
  • 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. $ 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. The most dangerous vegetable on earth! Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 47Montag, 30. Mai 2011
  • 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. 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. 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. 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. 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. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 53Montag, 30. Mai 2011
  • 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. 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. ... and even more ... Packaging Releasing Deployment Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 56Montag, 30. Mai 2011
  • 57. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 57Montag, 30. Mai 2011
  • 58. Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 58Montag, 30. Mai 2011
  • 59. Wetware Refactoring Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 59Montag, 30. Mai 2011
  • 60. Work together Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 60Montag, 30. Mai 2011
  • 61. Own together Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 61Montag, 30. Mai 2011
  • 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. Plan together Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 63Montag, 30. Mai 2011
  • 64. Mayflower DevOpsification Kontinuierliche Entiwcklung - und dann? I Mayflower GmbH I 28. Oktober 2010 I 64Montag, 30. Mai 2011
  • 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. 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. 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. 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. 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. 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

×