SlideShare a Scribd company logo
Test Driven Infrastructure
www.immobilienscout24.de
Berlin | 09.04.2014 | Schlomo Schapiro
Systemarchitekt, Open Source Evangelist
License: http://creativecommons.org/licenses/by-nc-nd/3.0/
DevOps Risk Mitigation
@schlomoschapiro
schlomo.schapiro@immobilienscout24.de
Slide 2 | Test Driven Infrastructure | Schlomo Schapiro
www.ImmobilienScout24.de
>2 billion PI per month
2 data center with ~1600 VM
~2.5 million outgoing email/day
total of ~600 employees
 ~30 crossfunctional IT teams
 ~160 in IT
15 years in business
part of Deutsche Telekom
Slide 3 | Test Driven Infrastructure | Schlomo Schapiro
Expensive
Fix
Cheap
Fix
Costs Of Finding
Bugs In Production
Slide 4 | Test Driven Infrastructure | Schlomo Schapiro
Plan
Design
Budget
Develop Test
RUN
DEV
Plan
Design
Budget
Develop Test RUNOPS
TIME
Slide 5 | Test Driven Infrastructure | Schlomo Schapiro
Plan
Design
Budget
Develop Test
Plan
Design
Budget
Develop Test RUN
Proxy
config
Database
borked
„Buy Now“
button broken
MTA drop
all mail
Load Balancer
Configuration
Everything costs
only 0 €
Login possible
without password
NFS not
available
DB Replication
stopped
No ads
shown
Broken
CSS / JS
Tomcat won't
start/stop
Service user
not defined
sudoers
invalid
Slide 6 | Test Driven Infrastructure | Schlomo Schapiro
DevOps: Respect & Learning
DEV learn
from OPS to
think about:
●
Resources (CPU, RAM, Disk)
●
Services (Start, Stop, Status)
●
Dependencies (Start DB before App)
●
Logfiles (Rotate, Remove)
●
Disk Space
●
Monitoring and Alarming
●
...
OPS learn
from DEV to
think about:
●
Incremental Improvement
●
Infrastructure as Code
●
Version Control System
●
Coding (OO, Functions, Libraries …)
●
Code Quality
●
Unit & Integration Tests
●
Test Automation
●
...
Slide 7 | Test Driven Infrastructure | Schlomo Schapiro
Untested
=
Broken
Slide 8 | Test Driven Infrastructure | Schlomo Schapiro
Unit Tests
Test the smallest possible components in an
artifical environment.
System Tests
Test the entire application in a real(istic)
environment together with other
applications.
Slide 9 | Test Driven Infrastructure | Schlomo Schapiro
Part of build process
Syntax checks
 Scripts
 Config Files
 Data Files
Unit tests for functions/libs
Run program with test data
 Check result
 Check program behaviour
with wrong/broken test data
Also run on Developer desktop
Quick feedback (~ seconds)
Install on test server
Run tests from outside
 HTTP calls
 Send emails
 Try to login
Run tests from inside
 Remote Exec (rsh, ssh …)
http://go.schapiro.org/rshpitfall
 Service Start, Stop & Status
 Modify server to create
good & bad test scenarios
 Reboot
Unit Tests System Tests
Slide 10 | Test Driven Infrastructure | Schlomo Schapiro
Unit
Tests
Slide 11 | Test Driven Infrastructure | Schlomo Schapiro
%prep
%setup -q
%install
install … %{buildroot}/…
install … %{buildroot}/…
%files
%defattr(-,root,root,-)
/...
Slide 12 | Test Driven Infrastructure | Schlomo Schapiro
BuildRequires: sudo
%build
set -e
visudo -c -f sudoers
%install
install -m 0440 sudoers -D 
%{buildroot}/etc/suoders.d/%{name}
%files%defattr(-,root,root,-)
/etc/suoders.d/%{name}
Slide 13 | Test Driven Infrastructure | Schlomo Schapiro
BuildRequires: PyYAML, pylint
%build
set -e
# syntax checks
bash -n my_script.sh
# Should be valid python code
pylint -E yum-repo-propagate
# should be valid YAML file
python -c "↩
import yaml↩
yaml.safe_load(open('config.yaml'))↩
"
...
Slide 14 | Test Driven Infrastructure | Schlomo Schapiro
BuildRequires: python-unittest2,
python-teamcity-messages, ...
%build
set +x +e # for teamcity
exec 1>&2 # join stdout to stderr to synchronize between them for teamcity output
FAILED=0
TEAMCITY_PROJECT_NAME=1 python
unit_tests.py || let FAILED++
bash -n oldhomeinfo.sh || let FAILED++
(( FAILED == 0 )) || exit 1
Slide 15 | Test Driven Infrastructure | Schlomo Schapiro
More Examples for Unit Tests
Patching nsswitch.conf and PAM files
Syntax checking HTTPD, DNS, DHCP ... configuration files
Checking SSH Server & Client configurations
http://go.schapiro.org/sshconfigtest
...
Slide 16 | Test Driven Infrastructure | Schlomo Schapiro
System
Tests
http://impreza-gt-club.ch/V2.0/Tests/WRX08/Koch2.jpg
Slide 17 | Test Driven Infrastructure | Schlomo Schapiro
Build
Auto-
mation
Source
Code
(SVN)
Monitor
Changes
Build Server
Run
Build
Job
●
Check out source
●
Run Unit Tests
●
Create RPM
●
Source
Code DEV
YUM
Repo
Upload
PRO
YUM
Repo
Propagate
RPM
Test Server
Deploy
and
Run
TestJob
yum
Prod Server
Deploy
to PROD
yum
Slide 18 | Test Driven Infrastructure | Schlomo Schapiro
Build
Auto-
mation
Source
Code
(SVN)
Monitor
Changes
Build Server
Run
Build
Job
●
Check out source
●
Run Unit Tests
●
Create RPM
●
Source
Code DEV
YUM
Repo
Upload
PRO
YUM
Repo
Propagate
RPM
Test Server
Deploy
and
Run
TestJob
yum
Prod Server
Deploy
to PROD
yum
Slide 19 | Test Driven Infrastructure | Schlomo Schapiro
SAN mount service
Test via rsh
Mock SAN devices
with losetup
service start, stop
mounts/umounts
Error handling
Slide 20 | Test Driven Infrastructure | Schlomo Schapiro
HTTP Proxy Configuration
X-Forwarded-For header spoofs source
Check result for ERR_ACCESS_DENIED
Run tests for all function groups!
Test Server
GET http://external.com/
X-Forwarded-For: 10.11.12.01
502 Bad Gateway✔
GET http://external.com/
X-Forwarded-For: 10.34.56.01
403 Forbidden
ERR_ACCESS_DENIED by proxy server
✘
✘
Slide 21 | Test Driven Infrastructure | Schlomo Schapiro
Subversion Server Configuration
Tests Config RPM Maker
https://github.com/yadt/yadt-config-rpm-maker
Tests 2 servers: Master & Slave
Replication
Failure and Recovery
Backup and Restore
Master
SVN svnsync
Backup
Slave
SVN
Backup
Slide 22 | Test Driven Infrastructure | Schlomo Schapiro
PAM & NSS Configuration
PAM & nsswitch.conf patching
Mock setup via rsh
Mock AD groups and users with nss_db
Check service status
Test login via ssh
Thorben Wengert / pixelio.de
Slide 23 | Test Driven Infrastructure | Schlomo Schapiro
VM Provisioning & Kickstart Installation
Test via HTTP API
Create broken VMs and check error reports
Create valid VM and install Linux OS
Scrape VM screen via OCR
http://github.com/Immobilienscout24/lab-manager-light
Slide 24 | Test Driven Infrastructure | Schlomo Schapiro
34 35 36
2 3
53
87 88 89 90 91 92 93 94 95 96 97
TIME
Continous Live Deployment
Deploy every application when it is ready.
Automate the delivery chain from source till production.
Slide 25 | Test Driven Infrastructure | Schlomo Schapiro
Low Risk – Lots of Fun
http://go.schapiro.org/slides
Slide 26 | Test Driven Infrastructure | Schlomo Schapiro
Kontakt:
Immobilien Scout GmbH
Andreasstraße 10
10243 Berlin
Fon: +49 30 243 01-1229
Email: schlomo.schapiro@immobilienscout24.de
URL: www.immobilienscout24.de
Thank you very much!
Please contact me for further
questions and discussions.

More Related Content

What's hot

Performance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHPPerformance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHP
Max Romanovsky
 
London Node.js User Group - Cloud-native Node.js
London Node.js User Group - Cloud-native Node.jsLondon Node.js User Group - Cloud-native Node.js
London Node.js User Group - Cloud-native Node.js
Bethany Nicolle Griggs
 
Cloud Foundry Summit 2015: 10 common errors when pushing apps to cloud foundry
Cloud Foundry Summit 2015: 10 common errors when pushing apps to cloud foundryCloud Foundry Summit 2015: 10 common errors when pushing apps to cloud foundry
Cloud Foundry Summit 2015: 10 common errors when pushing apps to cloud foundry
Jack-Junjie Cai
 
Session on Launching Selenium Grid and Running tests using docker compose and...
Session on Launching Selenium Grid and Running tests using docker compose and...Session on Launching Selenium Grid and Running tests using docker compose and...
Session on Launching Selenium Grid and Running tests using docker compose and...
Agile Testing Alliance
 
Write book in markdown
Write book in markdownWrite book in markdown
Write book in markdown
Larry Cai
 
IT Automation with Puppet Enterprise
IT Automation with Puppet EnterpriseIT Automation with Puppet Enterprise
IT Automation with Puppet Enterprise
Anuchit Chalothorn
 
Boost Test Coverage with Automated Visual Testing
Boost Test Coverage with Automated Visual TestingBoost Test Coverage with Automated Visual Testing
Boost Test Coverage with Automated Visual Testing
Josiah Renaudin
 
Backup workflow for SMHV on windows 2008R2 HYPER-V
Backup workflow for SMHV on windows 2008R2 HYPER-VBackup workflow for SMHV on windows 2008R2 HYPER-V
Backup workflow for SMHV on windows 2008R2 HYPER-V
Ashwin Pawar
 
V mware workstation pro 4,5,6,7,8,9,10,11,12,14,15 universal license keys...
V mware workstation pro 4,5,6,7,8,9,10,11,12,14,15 universal license keys...V mware workstation pro 4,5,6,7,8,9,10,11,12,14,15 universal license keys...
V mware workstation pro 4,5,6,7,8,9,10,11,12,14,15 universal license keys...
Flavio Florencio de Souza
 
Get started with docker & dev ops
Get started with docker & dev opsGet started with docker & dev ops
Get started with docker & dev ops
Asya Dudnik
 
Foreman and Puppet Master Install process - Customer Used Case
Foreman and Puppet Master Install process - Customer Used Case Foreman and Puppet Master Install process - Customer Used Case
Foreman and Puppet Master Install process - Customer Used Case
Kanwar Batra
 
Introduction to WP-CLI: Manage WordPress from the command line
Introduction to WP-CLI: Manage WordPress from the command lineIntroduction to WP-CLI: Manage WordPress from the command line
Introduction to WP-CLI: Manage WordPress from the command line
Behzod Saidov
 
Arquillian
ArquillianArquillian
Arquillian
Jakub Kubrynski
 
Creating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with VagrantCreating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with Vagrant
Artefactual Systems - AtoM
 
Open Mic Webcast: IBM Sametime Audio Video Troubleshooting - 04 May 2016
Open Mic Webcast: IBM Sametime Audio Video Troubleshooting - 04 May 2016Open Mic Webcast: IBM Sametime Audio Video Troubleshooting - 04 May 2016
Open Mic Webcast: IBM Sametime Audio Video Troubleshooting - 04 May 2016
Gunawan T Wicaksono
 
Tivoli perfviewer
Tivoli perfviewerTivoli perfviewer
Tivoli perfvieweritsolvs
 
DockerCon EU 2018 - Dockerfile Best Practices
DockerCon EU 2018 - Dockerfile Best PracticesDockerCon EU 2018 - Dockerfile Best Practices
DockerCon EU 2018 - Dockerfile Best Practices
Tibor Vass
 

What's hot (18)

Performance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHPPerformance tips for Symfony2 & PHP
Performance tips for Symfony2 & PHP
 
London Node.js User Group - Cloud-native Node.js
London Node.js User Group - Cloud-native Node.jsLondon Node.js User Group - Cloud-native Node.js
London Node.js User Group - Cloud-native Node.js
 
Cloud Foundry Summit 2015: 10 common errors when pushing apps to cloud foundry
Cloud Foundry Summit 2015: 10 common errors when pushing apps to cloud foundryCloud Foundry Summit 2015: 10 common errors when pushing apps to cloud foundry
Cloud Foundry Summit 2015: 10 common errors when pushing apps to cloud foundry
 
Session on Launching Selenium Grid and Running tests using docker compose and...
Session on Launching Selenium Grid and Running tests using docker compose and...Session on Launching Selenium Grid and Running tests using docker compose and...
Session on Launching Selenium Grid and Running tests using docker compose and...
 
Write book in markdown
Write book in markdownWrite book in markdown
Write book in markdown
 
IT Automation with Puppet Enterprise
IT Automation with Puppet EnterpriseIT Automation with Puppet Enterprise
IT Automation with Puppet Enterprise
 
Boost Test Coverage with Automated Visual Testing
Boost Test Coverage with Automated Visual TestingBoost Test Coverage with Automated Visual Testing
Boost Test Coverage with Automated Visual Testing
 
Backup workflow for SMHV on windows 2008R2 HYPER-V
Backup workflow for SMHV on windows 2008R2 HYPER-VBackup workflow for SMHV on windows 2008R2 HYPER-V
Backup workflow for SMHV on windows 2008R2 HYPER-V
 
V mware workstation pro 4,5,6,7,8,9,10,11,12,14,15 universal license keys...
V mware workstation pro 4,5,6,7,8,9,10,11,12,14,15 universal license keys...V mware workstation pro 4,5,6,7,8,9,10,11,12,14,15 universal license keys...
V mware workstation pro 4,5,6,7,8,9,10,11,12,14,15 universal license keys...
 
JavaCro'15 - Beyond the basics of SonarQube improve your Java(Script) code ev...
JavaCro'15 - Beyond the basics of SonarQube improve your Java(Script) code ev...JavaCro'15 - Beyond the basics of SonarQube improve your Java(Script) code ev...
JavaCro'15 - Beyond the basics of SonarQube improve your Java(Script) code ev...
 
Get started with docker & dev ops
Get started with docker & dev opsGet started with docker & dev ops
Get started with docker & dev ops
 
Foreman and Puppet Master Install process - Customer Used Case
Foreman and Puppet Master Install process - Customer Used Case Foreman and Puppet Master Install process - Customer Used Case
Foreman and Puppet Master Install process - Customer Used Case
 
Introduction to WP-CLI: Manage WordPress from the command line
Introduction to WP-CLI: Manage WordPress from the command lineIntroduction to WP-CLI: Manage WordPress from the command line
Introduction to WP-CLI: Manage WordPress from the command line
 
Arquillian
ArquillianArquillian
Arquillian
 
Creating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with VagrantCreating your own AtoM demo data set for re-use with Vagrant
Creating your own AtoM demo data set for re-use with Vagrant
 
Open Mic Webcast: IBM Sametime Audio Video Troubleshooting - 04 May 2016
Open Mic Webcast: IBM Sametime Audio Video Troubleshooting - 04 May 2016Open Mic Webcast: IBM Sametime Audio Video Troubleshooting - 04 May 2016
Open Mic Webcast: IBM Sametime Audio Video Troubleshooting - 04 May 2016
 
Tivoli perfviewer
Tivoli perfviewerTivoli perfviewer
Tivoli perfviewer
 
DockerCon EU 2018 - Dockerfile Best Practices
DockerCon EU 2018 - Dockerfile Best PracticesDockerCon EU 2018 - Dockerfile Best Practices
DockerCon EU 2018 - Dockerfile Best Practices
 

Similar to OSDC 2014 Test Driven Infrastructure

EuroPython 2014 Devops Risk Mitigation
EuroPython 2014 Devops Risk MitigationEuroPython 2014 Devops Risk Mitigation
EuroPython 2014 Devops Risk Mitigation
Schlomo Schapiro
 
Linux tag 2013 Data Center Automation with YADT
Linux tag 2013 Data Center Automation with YADTLinux tag 2013 Data Center Automation with YADT
Linux tag 2013 Data Center Automation with YADT
Schlomo Schapiro
 
Good practices for debugging Selenium and Appium tests
Good practices for debugging Selenium and Appium testsGood practices for debugging Selenium and Appium tests
Good practices for debugging Selenium and Appium tests
Abhijeet Vaikar
 
Performance testing as part of Agile - Continius Delivery solution
Performance testing as part of Agile - Continius Delivery solutionPerformance testing as part of Agile - Continius Delivery solution
Performance testing as part of Agile - Continius Delivery solution
Sergey Radov
 
Acceptance testing in php with Codeception - Techmeetup Edinburgh
Acceptance testing in php with Codeception - Techmeetup EdinburghAcceptance testing in php with Codeception - Techmeetup Edinburgh
Acceptance testing in php with Codeception - Techmeetup Edinburgh
Engineor
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Controlelliando dias
 
End to-end testing from rookie to pro
End to-end testing  from rookie to proEnd to-end testing  from rookie to pro
End to-end testing from rookie to pro
Domenico Gemoli
 
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
Peter Leschev
 
Tips for Developing and Testing IBM HATS Applications
Tips for Developing and Testing IBM HATS ApplicationsTips for Developing and Testing IBM HATS Applications
Tips for Developing and Testing IBM HATS Applications
Strongback Consulting
 
Django Architecture Introduction
Django Architecture IntroductionDjango Architecture Introduction
Django Architecture Introduction
Haiqi Chen
 
Release with confidence
Release with confidenceRelease with confidence
Release with confidence
John Congdon
 
AppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileAppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security Agile
Oleg Gryb
 
The Emergence of Choice in the .NET Ecosystem
The Emergence of Choice in the .NET EcosystemThe Emergence of Choice in the .NET Ecosystem
The Emergence of Choice in the .NET Ecosystem
James Avery
 
Hands on web development with play 2.0
Hands on web development with play 2.0Hands on web development with play 2.0
Hands on web development with play 2.0Abbas Raza
 
Testing distributed systems in production
Testing distributed systems in productionTesting distributed systems in production
Testing distributed systems in production
Paul Bakker
 
Boris Stoyanov - Troubleshooting the Virtual Router - Run and Get Diagnostics
Boris Stoyanov - Troubleshooting the Virtual Router - Run and Get DiagnosticsBoris Stoyanov - Troubleshooting the Virtual Router - Run and Get Diagnostics
Boris Stoyanov - Troubleshooting the Virtual Router - Run and Get Diagnostics
ShapeBlue
 
Managing and Monitoring Application Performance
Managing and Monitoring Application PerformanceManaging and Monitoring Application Performance
Managing and Monitoring Application Performance
Sebastian Marek
 
OSCP Preparation Guide @ Infosectrain
OSCP Preparation Guide @ InfosectrainOSCP Preparation Guide @ Infosectrain
OSCP Preparation Guide @ Infosectrain
InfosecTrain
 
Turnkey Continuous Delivery
Turnkey Continuous DeliveryTurnkey Continuous Delivery
Turnkey Continuous Delivery
Gianni Bombelli
 

Similar to OSDC 2014 Test Driven Infrastructure (20)

EuroPython 2014 Devops Risk Mitigation
EuroPython 2014 Devops Risk MitigationEuroPython 2014 Devops Risk Mitigation
EuroPython 2014 Devops Risk Mitigation
 
Linux tag 2013 Data Center Automation with YADT
Linux tag 2013 Data Center Automation with YADTLinux tag 2013 Data Center Automation with YADT
Linux tag 2013 Data Center Automation with YADT
 
Good practices for debugging Selenium and Appium tests
Good practices for debugging Selenium and Appium testsGood practices for debugging Selenium and Appium tests
Good practices for debugging Selenium and Appium tests
 
Performance testing as part of Agile - Continius Delivery solution
Performance testing as part of Agile - Continius Delivery solutionPerformance testing as part of Agile - Continius Delivery solution
Performance testing as part of Agile - Continius Delivery solution
 
Acceptance testing in php with Codeception - Techmeetup Edinburgh
Acceptance testing in php with Codeception - Techmeetup EdinburghAcceptance testing in php with Codeception - Techmeetup Edinburgh
Acceptance testing in php with Codeception - Techmeetup Edinburgh
 
Continuous Integration using Cruise Control
Continuous Integration using Cruise ControlContinuous Integration using Cruise Control
Continuous Integration using Cruise Control
 
End to-end testing from rookie to pro
End to-end testing  from rookie to proEnd to-end testing  from rookie to pro
End to-end testing from rookie to pro
 
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
How Atlassian's Build Engineering Team Has Scaled to 150k Builds Per Month an...
 
Tips for Developing and Testing IBM HATS Applications
Tips for Developing and Testing IBM HATS ApplicationsTips for Developing and Testing IBM HATS Applications
Tips for Developing and Testing IBM HATS Applications
 
Django Architecture Introduction
Django Architecture IntroductionDjango Architecture Introduction
Django Architecture Introduction
 
Release with confidence
Release with confidenceRelease with confidence
Release with confidence
 
AppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security AgileAppSec California 2016 - Making Security Agile
AppSec California 2016 - Making Security Agile
 
The Emergence of Choice in the .NET Ecosystem
The Emergence of Choice in the .NET EcosystemThe Emergence of Choice in the .NET Ecosystem
The Emergence of Choice in the .NET Ecosystem
 
Hands on web development with play 2.0
Hands on web development with play 2.0Hands on web development with play 2.0
Hands on web development with play 2.0
 
Testing distributed systems in production
Testing distributed systems in productionTesting distributed systems in production
Testing distributed systems in production
 
Beyond Unit Testing
Beyond Unit TestingBeyond Unit Testing
Beyond Unit Testing
 
Boris Stoyanov - Troubleshooting the Virtual Router - Run and Get Diagnostics
Boris Stoyanov - Troubleshooting the Virtual Router - Run and Get DiagnosticsBoris Stoyanov - Troubleshooting the Virtual Router - Run and Get Diagnostics
Boris Stoyanov - Troubleshooting the Virtual Router - Run and Get Diagnostics
 
Managing and Monitoring Application Performance
Managing and Monitoring Application PerformanceManaging and Monitoring Application Performance
Managing and Monitoring Application Performance
 
OSCP Preparation Guide @ Infosectrain
OSCP Preparation Guide @ InfosectrainOSCP Preparation Guide @ Infosectrain
OSCP Preparation Guide @ Infosectrain
 
Turnkey Continuous Delivery
Turnkey Continuous DeliveryTurnkey Continuous Delivery
Turnkey Continuous Delivery
 

More from Schlomo Schapiro

The Role of GitOps in IT-Strategy v2 - July 2022 - Schlomo Schapiro
The Role of GitOps in IT-Strategy v2 - July 2022 - Schlomo SchapiroThe Role of GitOps in IT-Strategy v2 - July 2022 - Schlomo Schapiro
The Role of GitOps in IT-Strategy v2 - July 2022 - Schlomo Schapiro
Schlomo Schapiro
 
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
Schlomo Schapiro
 
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
Schlomo Schapiro
 
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
Schlomo Schapiro
 
The Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
The Role of GitOps in IT Strategy - June 2021 - Schlomo SchapiroThe Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
The Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
Schlomo Schapiro
 
The GitOps Journey - GitOpsCon EU 2021 - Schlomo Schapiro
The GitOps Journey - GitOpsCon EU 2021 - Schlomo SchapiroThe GitOps Journey - GitOpsCon EU 2021 - Schlomo Schapiro
The GitOps Journey - GitOpsCon EU 2021 - Schlomo Schapiro
Schlomo Schapiro
 
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo SchapiroWant Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Schlomo Schapiro
 
Automated Governance - Continous Lifecycle 2019 - Schlomo Schapiro
Automated Governance - Continous Lifecycle 2019 - Schlomo SchapiroAutomated Governance - Continous Lifecycle 2019 - Schlomo Schapiro
Automated Governance - Continous Lifecycle 2019 - Schlomo Schapiro
Schlomo Schapiro
 
Compliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo Schapiro
Compliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo SchapiroCompliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo Schapiro
Compliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo Schapiro
Schlomo Schapiro
 
DevOps ist normal - DevOps Essentials 2019 - Schlomo Schapiro
DevOps ist normal - DevOps Essentials 2019 - Schlomo SchapiroDevOps ist normal - DevOps Essentials 2019 - Schlomo Schapiro
DevOps ist normal - DevOps Essentials 2019 - Schlomo Schapiro
Schlomo Schapiro
 
The Devops Driving School - DevOps Gathering 2019 - Schlomo Schapiro
The Devops Driving School - DevOps Gathering 2019 - Schlomo SchapiroThe Devops Driving School - DevOps Gathering 2019 - Schlomo Schapiro
The Devops Driving School - DevOps Gathering 2019 - Schlomo Schapiro
Schlomo Schapiro
 
Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...
Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...
Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...
Schlomo Schapiro
 
Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...
Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...
Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...
Schlomo Schapiro
 
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
Schlomo Schapiro
 
Kubernetes - Shifting the mindset from servers to containers - microxchg 201...
Kubernetes  - Shifting the mindset from servers to containers - microxchg 201...Kubernetes  - Shifting the mindset from servers to containers - microxchg 201...
Kubernetes - Shifting the mindset from servers to containers - microxchg 201...
Schlomo Schapiro
 
Root for all - measuring DevOps adoption - microxchg 2018 - Schlomo Schapiro
Root for all - measuring DevOps adoption - microxchg 2018 - Schlomo SchapiroRoot for all - measuring DevOps adoption - microxchg 2018 - Schlomo Schapiro
Root for all - measuring DevOps adoption - microxchg 2018 - Schlomo Schapiro
Schlomo Schapiro
 
GUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital Age
GUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital AgeGUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital Age
GUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital Age
Schlomo Schapiro
 
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
Schlomo Schapiro
 
OSDC 2016 - Hybrid Cloud - A Cloud Migration Strategy
OSDC 2016 - Hybrid Cloud - A Cloud Migration StrategyOSDC 2016 - Hybrid Cloud - A Cloud Migration Strategy
OSDC 2016 - Hybrid Cloud - A Cloud Migration Strategy
Schlomo Schapiro
 
WARNING is a waste of my time
WARNING is a waste of my timeWARNING is a waste of my time
WARNING is a waste of my time
Schlomo Schapiro
 

More from Schlomo Schapiro (20)

The Role of GitOps in IT-Strategy v2 - July 2022 - Schlomo Schapiro
The Role of GitOps in IT-Strategy v2 - July 2022 - Schlomo SchapiroThe Role of GitOps in IT-Strategy v2 - July 2022 - Schlomo Schapiro
The Role of GitOps in IT-Strategy v2 - July 2022 - Schlomo Schapiro
 
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
The GitOps Journey - Schlomo Schapiro - Berlin DevOps Meetup 2021-11
 
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
The Role of GitOps in IT-Strategy - November 2021 - Schlomo Schapiro - Contin...
 
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
Schlomo Schapiro - Why I like to use the proprietary Cloud services without f...
 
The Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
The Role of GitOps in IT Strategy - June 2021 - Schlomo SchapiroThe Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
The Role of GitOps in IT Strategy - June 2021 - Schlomo Schapiro
 
The GitOps Journey - GitOpsCon EU 2021 - Schlomo Schapiro
The GitOps Journey - GitOpsCon EU 2021 - Schlomo SchapiroThe GitOps Journey - GitOpsCon EU 2021 - Schlomo Schapiro
The GitOps Journey - GitOpsCon EU 2021 - Schlomo Schapiro
 
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo SchapiroWant Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
Want Digitalisation, have Cloud - DevSecOps Days 2021 - Schlomo Schapiro
 
Automated Governance - Continous Lifecycle 2019 - Schlomo Schapiro
Automated Governance - Continous Lifecycle 2019 - Schlomo SchapiroAutomated Governance - Continous Lifecycle 2019 - Schlomo Schapiro
Automated Governance - Continous Lifecycle 2019 - Schlomo Schapiro
 
Compliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo Schapiro
Compliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo SchapiroCompliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo Schapiro
Compliant by Default - Digitaler Wandel - 14.08.2019 - Schlomo Schapiro
 
DevOps ist normal - DevOps Essentials 2019 - Schlomo Schapiro
DevOps ist normal - DevOps Essentials 2019 - Schlomo SchapiroDevOps ist normal - DevOps Essentials 2019 - Schlomo Schapiro
DevOps ist normal - DevOps Essentials 2019 - Schlomo Schapiro
 
The Devops Driving School - DevOps Gathering 2019 - Schlomo Schapiro
The Devops Driving School - DevOps Gathering 2019 - Schlomo SchapiroThe Devops Driving School - DevOps Gathering 2019 - Schlomo Schapiro
The Devops Driving School - DevOps Gathering 2019 - Schlomo Schapiro
 
Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...
Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...
Open Source Contribution Policy at DB Systel - Schlomo Schapiro - AK Open Sou...
 
Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...
Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...
Compliant by Default - Continuous Delivery at DB Systel - 16.10.2018 - Schlom...
 
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
DevOps + Continuous Delivery + Cloud: The Three Drivers of Enterprise Agility...
 
Kubernetes - Shifting the mindset from servers to containers - microxchg 201...
Kubernetes  - Shifting the mindset from servers to containers - microxchg 201...Kubernetes  - Shifting the mindset from servers to containers - microxchg 201...
Kubernetes - Shifting the mindset from servers to containers - microxchg 201...
 
Root for all - measuring DevOps adoption - microxchg 2018 - Schlomo Schapiro
Root for all - measuring DevOps adoption - microxchg 2018 - Schlomo SchapiroRoot for all - measuring DevOps adoption - microxchg 2018 - Schlomo Schapiro
Root for all - measuring DevOps adoption - microxchg 2018 - Schlomo Schapiro
 
GUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital Age
GUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital AgeGUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital Age
GUUG FFG 2017 - DevOps for Everybody - A Workplace Strategy for the Digital Age
 
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
GUUG FFG 2017 - DevOps for Everybody - How the entire company can benefit fro...
 
OSDC 2016 - Hybrid Cloud - A Cloud Migration Strategy
OSDC 2016 - Hybrid Cloud - A Cloud Migration StrategyOSDC 2016 - Hybrid Cloud - A Cloud Migration Strategy
OSDC 2016 - Hybrid Cloud - A Cloud Migration Strategy
 
WARNING is a waste of my time
WARNING is a waste of my timeWARNING is a waste of my time
WARNING is a waste of my time
 

Recently uploaded

Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
Trish Parr
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
CIOWomenMagazine
 
Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027
harveenkaur52
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
vmemo1
 
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
JeyaPerumal1
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
zyfovom
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
cuobya
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
hackersuli
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
JeyaPerumal1
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
Bài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docxBài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docx
nhiyenphan2005
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
SEO Article Boost
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Florence Consulting
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
Trending Blogers
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
cuobya
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
Rogerio Filho
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
zoowe
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 

Recently uploaded (20)

Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
 
Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027Italy Agriculture Equipment Market Outlook to 2027
Italy Agriculture Equipment Market Outlook to 2027
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
 
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
2.Cellular Networks_The final stage of connectivity is achieved by segmenting...
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
 
1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...1.Wireless Communication System_Wireless communication is a broad term that i...
1.Wireless Communication System_Wireless communication is a broad term that i...
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
Bài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docxBài tập unit 1 English in the world.docx
Bài tập unit 1 English in the world.docx
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
 
guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...guildmasters guide to ravnica Dungeons & Dragons 5...
guildmasters guide to ravnica Dungeons & Dragons 5...
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 

OSDC 2014 Test Driven Infrastructure

  • 1. Test Driven Infrastructure www.immobilienscout24.de Berlin | 09.04.2014 | Schlomo Schapiro Systemarchitekt, Open Source Evangelist License: http://creativecommons.org/licenses/by-nc-nd/3.0/ DevOps Risk Mitigation @schlomoschapiro schlomo.schapiro@immobilienscout24.de
  • 2. Slide 2 | Test Driven Infrastructure | Schlomo Schapiro www.ImmobilienScout24.de >2 billion PI per month 2 data center with ~1600 VM ~2.5 million outgoing email/day total of ~600 employees  ~30 crossfunctional IT teams  ~160 in IT 15 years in business part of Deutsche Telekom
  • 3. Slide 3 | Test Driven Infrastructure | Schlomo Schapiro Expensive Fix Cheap Fix Costs Of Finding Bugs In Production
  • 4. Slide 4 | Test Driven Infrastructure | Schlomo Schapiro Plan Design Budget Develop Test RUN DEV Plan Design Budget Develop Test RUNOPS TIME
  • 5. Slide 5 | Test Driven Infrastructure | Schlomo Schapiro Plan Design Budget Develop Test Plan Design Budget Develop Test RUN Proxy config Database borked „Buy Now“ button broken MTA drop all mail Load Balancer Configuration Everything costs only 0 € Login possible without password NFS not available DB Replication stopped No ads shown Broken CSS / JS Tomcat won't start/stop Service user not defined sudoers invalid
  • 6. Slide 6 | Test Driven Infrastructure | Schlomo Schapiro DevOps: Respect & Learning DEV learn from OPS to think about: ● Resources (CPU, RAM, Disk) ● Services (Start, Stop, Status) ● Dependencies (Start DB before App) ● Logfiles (Rotate, Remove) ● Disk Space ● Monitoring and Alarming ● ... OPS learn from DEV to think about: ● Incremental Improvement ● Infrastructure as Code ● Version Control System ● Coding (OO, Functions, Libraries …) ● Code Quality ● Unit & Integration Tests ● Test Automation ● ...
  • 7. Slide 7 | Test Driven Infrastructure | Schlomo Schapiro Untested = Broken
  • 8. Slide 8 | Test Driven Infrastructure | Schlomo Schapiro Unit Tests Test the smallest possible components in an artifical environment. System Tests Test the entire application in a real(istic) environment together with other applications.
  • 9. Slide 9 | Test Driven Infrastructure | Schlomo Schapiro Part of build process Syntax checks  Scripts  Config Files  Data Files Unit tests for functions/libs Run program with test data  Check result  Check program behaviour with wrong/broken test data Also run on Developer desktop Quick feedback (~ seconds) Install on test server Run tests from outside  HTTP calls  Send emails  Try to login Run tests from inside  Remote Exec (rsh, ssh …) http://go.schapiro.org/rshpitfall  Service Start, Stop & Status  Modify server to create good & bad test scenarios  Reboot Unit Tests System Tests
  • 10. Slide 10 | Test Driven Infrastructure | Schlomo Schapiro Unit Tests
  • 11. Slide 11 | Test Driven Infrastructure | Schlomo Schapiro %prep %setup -q %install install … %{buildroot}/… install … %{buildroot}/… %files %defattr(-,root,root,-) /...
  • 12. Slide 12 | Test Driven Infrastructure | Schlomo Schapiro BuildRequires: sudo %build set -e visudo -c -f sudoers %install install -m 0440 sudoers -D %{buildroot}/etc/suoders.d/%{name} %files%defattr(-,root,root,-) /etc/suoders.d/%{name}
  • 13. Slide 13 | Test Driven Infrastructure | Schlomo Schapiro BuildRequires: PyYAML, pylint %build set -e # syntax checks bash -n my_script.sh # Should be valid python code pylint -E yum-repo-propagate # should be valid YAML file python -c "↩ import yaml↩ yaml.safe_load(open('config.yaml'))↩ " ...
  • 14. Slide 14 | Test Driven Infrastructure | Schlomo Schapiro BuildRequires: python-unittest2, python-teamcity-messages, ... %build set +x +e # for teamcity exec 1>&2 # join stdout to stderr to synchronize between them for teamcity output FAILED=0 TEAMCITY_PROJECT_NAME=1 python unit_tests.py || let FAILED++ bash -n oldhomeinfo.sh || let FAILED++ (( FAILED == 0 )) || exit 1
  • 15. Slide 15 | Test Driven Infrastructure | Schlomo Schapiro More Examples for Unit Tests Patching nsswitch.conf and PAM files Syntax checking HTTPD, DNS, DHCP ... configuration files Checking SSH Server & Client configurations http://go.schapiro.org/sshconfigtest ...
  • 16. Slide 16 | Test Driven Infrastructure | Schlomo Schapiro System Tests http://impreza-gt-club.ch/V2.0/Tests/WRX08/Koch2.jpg
  • 17. Slide 17 | Test Driven Infrastructure | Schlomo Schapiro Build Auto- mation Source Code (SVN) Monitor Changes Build Server Run Build Job ● Check out source ● Run Unit Tests ● Create RPM ● Source Code DEV YUM Repo Upload PRO YUM Repo Propagate RPM Test Server Deploy and Run TestJob yum Prod Server Deploy to PROD yum
  • 18. Slide 18 | Test Driven Infrastructure | Schlomo Schapiro Build Auto- mation Source Code (SVN) Monitor Changes Build Server Run Build Job ● Check out source ● Run Unit Tests ● Create RPM ● Source Code DEV YUM Repo Upload PRO YUM Repo Propagate RPM Test Server Deploy and Run TestJob yum Prod Server Deploy to PROD yum
  • 19. Slide 19 | Test Driven Infrastructure | Schlomo Schapiro SAN mount service Test via rsh Mock SAN devices with losetup service start, stop mounts/umounts Error handling
  • 20. Slide 20 | Test Driven Infrastructure | Schlomo Schapiro HTTP Proxy Configuration X-Forwarded-For header spoofs source Check result for ERR_ACCESS_DENIED Run tests for all function groups! Test Server GET http://external.com/ X-Forwarded-For: 10.11.12.01 502 Bad Gateway✔ GET http://external.com/ X-Forwarded-For: 10.34.56.01 403 Forbidden ERR_ACCESS_DENIED by proxy server ✘ ✘
  • 21. Slide 21 | Test Driven Infrastructure | Schlomo Schapiro Subversion Server Configuration Tests Config RPM Maker https://github.com/yadt/yadt-config-rpm-maker Tests 2 servers: Master & Slave Replication Failure and Recovery Backup and Restore Master SVN svnsync Backup Slave SVN Backup
  • 22. Slide 22 | Test Driven Infrastructure | Schlomo Schapiro PAM & NSS Configuration PAM & nsswitch.conf patching Mock setup via rsh Mock AD groups and users with nss_db Check service status Test login via ssh Thorben Wengert / pixelio.de
  • 23. Slide 23 | Test Driven Infrastructure | Schlomo Schapiro VM Provisioning & Kickstart Installation Test via HTTP API Create broken VMs and check error reports Create valid VM and install Linux OS Scrape VM screen via OCR http://github.com/Immobilienscout24/lab-manager-light
  • 24. Slide 24 | Test Driven Infrastructure | Schlomo Schapiro 34 35 36 2 3 53 87 88 89 90 91 92 93 94 95 96 97 TIME Continous Live Deployment Deploy every application when it is ready. Automate the delivery chain from source till production.
  • 25. Slide 25 | Test Driven Infrastructure | Schlomo Schapiro Low Risk – Lots of Fun http://go.schapiro.org/slides
  • 26. Slide 26 | Test Driven Infrastructure | Schlomo Schapiro Kontakt: Immobilien Scout GmbH Andreasstraße 10 10243 Berlin Fon: +49 30 243 01-1229 Email: schlomo.schapiro@immobilienscout24.de URL: www.immobilienscout24.de Thank you very much! Please contact me for further questions and discussions.