SlideShare ist ein Scribd-Unternehmen logo
1 von 22
Downloaden Sie, um offline zu lesen
Infrastruktur als Code
Wer bin ich? (Und wenn ja, wieviele?)
● Jan (1x)
● inovex / Systems Engineer (1x)
Und wenn sie nicht gestorben sind...
Von Hardware zu Software
Das muss schneller gehn!
Infrastruktur als Code
Rex - Remote Execution
● Community Projekt
● Agentenlos (ssh, push)
● Einfach zu bedienen
● Perl als Konfigurationssprache
● Alles beginnt in einem Rexfile
● Ein Rexfile enthält Authentifizierung,
Servergruppen, Tasks, ...
Rex - Remote Execution
● Viele Module/Funktionen
○ Dateimanipulation
○ Pakete
○ Services
○ Prozesse
○ Inventarisierung
○ Partitionierung, LVM
○ Virtualisierung, Cloud
○ ...
use Rex -feature => ["1.0"];
user "root";
private_key "keys/root.key";
public_key "keys/root.key.pub";
use Rex -feature => ["1.0"];
user "admin";
private_key "keys/admin.key";
public_key "keys/admin.key.pub";
sudo_password "f00b4r";
sudo TRUE;
use Rex -feature => ["1.0"];
user "root";
private_key "keys/root.key";
public_key "keys/root.key.pub";
group frontends => "fe-[01..10].int.lan",
"fe-preview.int.lan";
group backends => "be-[01..10].int.lan";
task "setup",
group => ["frontends", "backends"],
sub {
pkg ["httpd", "perl-Mojolicious"],
ensure => "present";
file "/etc/httpd/httpd.conf",
content => template("httpd.conf.tpl"),
owner => "root",
group => "root",
mode => 644,
on_change => sub { service httpd => "restart"; };
service "httpd",
ensure => "started";
};
$ rex setup
task "patch",
sub {
do_task [
qw/disable_in_lb patch_backends enable_in_lb/
];
};
task "patch_backends",
group => ["backends"],
sub {
update_package_db;
update_system;
};
$ rex patch
irc: irc.freenode.net #rex
Website: http://www.rexops.org/
Github: https://github.com/RexOps
Twitter: @RexOps
Danke

Weitere ähnliche Inhalte

Was ist angesagt?

Von Test nach live mit Rex
Von Test nach live mit RexVon Test nach live mit Rex
Von Test nach live mit Rexinovex GmbH
 
Ceph Introduction @GPN15
Ceph Introduction @GPN15Ceph Introduction @GPN15
Ceph Introduction @GPN15m1no
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanB1 Systems GmbH
 
Unser Weg zum Frankenstack
Unser Weg zum FrankenstackUnser Weg zum Frankenstack
Unser Weg zum FrankenstackSascha Vogt
 
Einführung in Laravel und GulpJS
Einführung in Laravel und GulpJSEinführung in Laravel und GulpJS
Einführung in Laravel und GulpJSthespazecookie
 
Der oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterDer oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterGunther Pippèrr
 
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataIntroduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataGunther Pippèrr
 
Twisted Eventloop Short Presentation
Twisted Eventloop Short PresentationTwisted Eventloop Short Presentation
Twisted Eventloop Short Presentationfrog32
 
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...inovex GmbH
 
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwaltenInfrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalteninovex GmbH
 
OSMC 2010 | Monitoring mit Shinken by Gerhard Laußer
OSMC 2010 | Monitoring mit Shinken by Gerhard LaußerOSMC 2010 | Monitoring mit Shinken by Gerhard Laußer
OSMC 2010 | Monitoring mit Shinken by Gerhard LaußerNETWAYS
 
Continuous Deployment mit Rex und Jenkins
Continuous Deployment mit Rex und JenkinsContinuous Deployment mit Rex und Jenkins
Continuous Deployment mit Rex und Jenkinsinovex GmbH
 
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easydocker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easyinovex GmbH
 
OSMC 2008 | Monitoring Microsoft SQL Server by Michael Streb
OSMC 2008 | Monitoring Microsoft SQL Server by Michael StrebOSMC 2008 | Monitoring Microsoft SQL Server by Michael Streb
OSMC 2008 | Monitoring Microsoft SQL Server by Michael StrebNETWAYS
 
docker.io - Secure And Portable Containers Made Easy
docker.io - Secure And Portable Containers Made Easydocker.io - Secure And Portable Containers Made Easy
docker.io - Secure And Portable Containers Made Easyinovex GmbH
 
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStackPrivate Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStackDaniel Schneller
 

Was ist angesagt? (20)

Nginx
NginxNginx
Nginx
 
Von Test nach live mit Rex
Von Test nach live mit RexVon Test nach live mit Rex
Von Test nach live mit Rex
 
Ceph Introduction @GPN15
Ceph Introduction @GPN15Ceph Introduction @GPN15
Ceph Introduction @GPN15
 
Systemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und ForemanSystemmanagement mit Puppet und Foreman
Systemmanagement mit Puppet und Foreman
 
Unser Weg zum Frankenstack
Unser Weg zum FrankenstackUnser Weg zum Frankenstack
Unser Weg zum Frankenstack
 
Einführung in Laravel und GulpJS
Einführung in Laravel und GulpJSEinführung in Laravel und GulpJS
Einführung in Laravel und GulpJS
 
Der oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterDer oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerter
 
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataIntroduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
 
Ldap sqlnet
Ldap sqlnetLdap sqlnet
Ldap sqlnet
 
Twisted Eventloop Short Presentation
Twisted Eventloop Short PresentationTwisted Eventloop Short Presentation
Twisted Eventloop Short Presentation
 
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
Docker Security - Architektur und Sicherheitsfunktionen von Containervirtuali...
 
Infra coders meetup
Infra coders meetupInfra coders meetup
Infra coders meetup
 
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwaltenInfrastructure as code: Cloud-Umgebungen mit Terraform verwalten
Infrastructure as code: Cloud-Umgebungen mit Terraform verwalten
 
OSMC 2010 | Monitoring mit Shinken by Gerhard Laußer
OSMC 2010 | Monitoring mit Shinken by Gerhard LaußerOSMC 2010 | Monitoring mit Shinken by Gerhard Laußer
OSMC 2010 | Monitoring mit Shinken by Gerhard Laußer
 
Continuous Deployment mit Rex und Jenkins
Continuous Deployment mit Rex und JenkinsContinuous Deployment mit Rex und Jenkins
Continuous Deployment mit Rex und Jenkins
 
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easydocker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
 
OSMC 2008 | Monitoring Microsoft SQL Server by Michael Streb
OSMC 2008 | Monitoring Microsoft SQL Server by Michael StrebOSMC 2008 | Monitoring Microsoft SQL Server by Michael Streb
OSMC 2008 | Monitoring Microsoft SQL Server by Michael Streb
 
docker.io - Secure And Portable Containers Made Easy
docker.io - Secure And Portable Containers Made Easydocker.io - Secure And Portable Containers Made Easy
docker.io - Secure And Portable Containers Made Easy
 
Private Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStackPrivate Cloud mit Ceph und OpenStack
Private Cloud mit Ceph und OpenStack
 
check_sap_health
check_sap_healthcheck_sap_health
check_sap_health
 

Andere mochten auch

Gearinfive
GearinfiveGearinfive
Gearinfivebpmedley
 
A Practical Event Driven Model
A Practical Event Driven ModelA Practical Event Driven Model
A Practical Event Driven ModelXi Wu
 
Gearman - Job Queue
Gearman - Job QueueGearman - Job Queue
Gearman - Job QueueDiego Lewin
 
Scale like a pro with Gearman
Scale like a pro with GearmanScale like a pro with Gearman
Scale like a pro with GearmanAmal Raghav
 
Scale like an ant, distribute the workload - DPC, Amsterdam, 2011
Scale like an ant, distribute the workload - DPC, Amsterdam,  2011Scale like an ant, distribute the workload - DPC, Amsterdam,  2011
Scale like an ant, distribute the workload - DPC, Amsterdam, 2011Helgi Þormar Þorbjörnsson
 
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...GeeksLab Odessa
 
Perl.Hacks.On.Vim
Perl.Hacks.On.VimPerl.Hacks.On.Vim
Perl.Hacks.On.VimLin Yo-An
 
Distributed Queue System using Gearman
Distributed Queue System using GearmanDistributed Queue System using Gearman
Distributed Queue System using GearmanEric Cho
 
Home Automation with perl
Home Automation with perlHome Automation with perl
Home Automation with perlflyingrobin13
 
Gearman: A Job Server made for Scale
Gearman: A Job Server made for ScaleGearman: A Job Server made for Scale
Gearman: A Job Server made for ScaleMike Willbanks
 
Unix Programming with Perl
Unix Programming with PerlUnix Programming with Perl
Unix Programming with PerlKazuho Oku
 

Andere mochten auch (17)

Gearinfive
GearinfiveGearinfive
Gearinfive
 
Distribute the workload, PHPTek, Amsterdam, 2011
Distribute the workload, PHPTek, Amsterdam, 2011Distribute the workload, PHPTek, Amsterdam, 2011
Distribute the workload, PHPTek, Amsterdam, 2011
 
A Practical Event Driven Model
A Practical Event Driven ModelA Practical Event Driven Model
A Practical Event Driven Model
 
Gearman
GearmanGearman
Gearman
 
Gearman - Job Queue
Gearman - Job QueueGearman - Job Queue
Gearman - Job Queue
 
Scale like a pro with Gearman
Scale like a pro with GearmanScale like a pro with Gearman
Scale like a pro with Gearman
 
Scale like an ant, distribute the workload - DPC, Amsterdam, 2011
Scale like an ant, distribute the workload - DPC, Amsterdam,  2011Scale like an ant, distribute the workload - DPC, Amsterdam,  2011
Scale like an ant, distribute the workload - DPC, Amsterdam, 2011
 
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
WebCamp: Developer Day: N2O: The Most Powerful Erlang Web Framework - Максим ...
 
MPI, Erlang and the web
MPI, Erlang and the webMPI, Erlang and the web
MPI, Erlang and the web
 
Perl.Hacks.On.Vim
Perl.Hacks.On.VimPerl.Hacks.On.Vim
Perl.Hacks.On.Vim
 
Gearman for MySQL
Gearman for MySQLGearman for MySQL
Gearman for MySQL
 
Candra lab gis v 1
Candra lab gis v 1Candra lab gis v 1
Candra lab gis v 1
 
Distributed Queue System using Gearman
Distributed Queue System using GearmanDistributed Queue System using Gearman
Distributed Queue System using Gearman
 
Home Automation with perl
Home Automation with perlHome Automation with perl
Home Automation with perl
 
Gearman: A Job Server made for Scale
Gearman: A Job Server made for ScaleGearman: A Job Server made for Scale
Gearman: A Job Server made for Scale
 
Unix Programming with Perl
Unix Programming with PerlUnix Programming with Perl
Unix Programming with Perl
 
Data structures
Data structuresData structures
Data structures
 

Ähnlich wie German Perl Workshop 2015 - Infrastruktur als Code

ErasePro Flyer deutsch
ErasePro Flyer deutschErasePro Flyer deutsch
ErasePro Flyer deutschcynapspro GmbH
 
CryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschCryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschcynapspro GmbH
 
CryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschCryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschcynapspro GmbH
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...NETWAYS
 
Sicherheitsfunktionen In Aktuellen Betriebssystemen Talk
Sicherheitsfunktionen In Aktuellen Betriebssystemen TalkSicherheitsfunktionen In Aktuellen Betriebssystemen Talk
Sicherheitsfunktionen In Aktuellen Betriebssystemen TalkUdo Ornik
 
Gebäudeautomation mit Java und OpenRemote
 Gebäudeautomation mit Java und OpenRemote Gebäudeautomation mit Java und OpenRemote
Gebäudeautomation mit Java und OpenRemotegedoplan
 
ApplicationPro Flyer deutsch
ApplicationPro Flyer deutschApplicationPro Flyer deutsch
ApplicationPro Flyer deutschcynapspro GmbH
 
Infonova Devopscon München 2015
Infonova Devopscon München 2015Infonova Devopscon München 2015
Infonova Devopscon München 2015Georg Öttl
 
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCContainer im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCBild GmbH & Co. KG
 
Resco Explroer 2008
Resco Explroer 2008Resco Explroer 2008
Resco Explroer 2008guest29520e
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17remigius-stalder
 
Grundlagen postgresql
Grundlagen postgresqlGrundlagen postgresql
Grundlagen postgresqlinovex GmbH
 
DevicePro Flyer deutsch
DevicePro Flyer deutschDevicePro Flyer deutsch
DevicePro Flyer deutschcynapspro GmbH
 
cynapspro data endpoint protection 2010 - Installationsleitfaden
cynapspro data endpoint protection 2010 - Installationsleitfadencynapspro data endpoint protection 2010 - Installationsleitfaden
cynapspro data endpoint protection 2010 - Installationsleitfadencynapspro GmbH
 
High Security PHP Applications
High Security PHP ApplicationsHigh Security PHP Applications
High Security PHP Applicationsguest0e6d5e
 

Ähnlich wie German Perl Workshop 2015 - Infrastruktur als Code (20)

ErasePro Flyer deutsch
ErasePro Flyer deutschErasePro Flyer deutsch
ErasePro Flyer deutsch
 
Cryption proflyer de
Cryption proflyer deCryption proflyer de
Cryption proflyer de
 
CryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschCryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutsch
 
CryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschCryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutsch
 
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
 
Sicherheitsfunktionen In Aktuellen Betriebssystemen Talk
Sicherheitsfunktionen In Aktuellen Betriebssystemen TalkSicherheitsfunktionen In Aktuellen Betriebssystemen Talk
Sicherheitsfunktionen In Aktuellen Betriebssystemen Talk
 
openHAB @ rheinJUG Düsseldorf
openHAB @ rheinJUG DüsseldorfopenHAB @ rheinJUG Düsseldorf
openHAB @ rheinJUG Düsseldorf
 
Gebäudeautomation mit Java und OpenRemote
 Gebäudeautomation mit Java und OpenRemote Gebäudeautomation mit Java und OpenRemote
Gebäudeautomation mit Java und OpenRemote
 
Node.js Security
Node.js SecurityNode.js Security
Node.js Security
 
ApplicationPro Flyer deutsch
ApplicationPro Flyer deutschApplicationPro Flyer deutsch
ApplicationPro Flyer deutsch
 
Infonova Devopscon München 2015
Infonova Devopscon München 2015Infonova Devopscon München 2015
Infonova Devopscon München 2015
 
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXCContainer im Betrieb - Ergebnisse der Validieren Docker vs. LXC
Container im Betrieb - Ergebnisse der Validieren Docker vs. LXC
 
Resco Explroer 2008
Resco Explroer 2008Resco Explroer 2008
Resco Explroer 2008
 
Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17Infrastructure as Code - BaselOne 17
Infrastructure as Code - BaselOne 17
 
Windows Powershell
Windows PowershellWindows Powershell
Windows Powershell
 
Grundlagen postgresql
Grundlagen postgresqlGrundlagen postgresql
Grundlagen postgresql
 
DevicePro Flyer deutsch
DevicePro Flyer deutschDevicePro Flyer deutsch
DevicePro Flyer deutsch
 
cynapspro data endpoint protection 2010 - Installationsleitfaden
cynapspro data endpoint protection 2010 - Installationsleitfadencynapspro data endpoint protection 2010 - Installationsleitfaden
cynapspro data endpoint protection 2010 - Installationsleitfaden
 
InfraCoders I
InfraCoders IInfraCoders I
InfraCoders I
 
High Security PHP Applications
High Security PHP ApplicationsHigh Security PHP Applications
High Security PHP Applications
 

German Perl Workshop 2015 - Infrastruktur als Code

  • 2. Wer bin ich? (Und wenn ja, wieviele?) ● Jan (1x) ● inovex / Systems Engineer (1x)
  • 3. Und wenn sie nicht gestorben sind...
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9. Von Hardware zu Software
  • 12.
  • 13. Rex - Remote Execution ● Community Projekt ● Agentenlos (ssh, push) ● Einfach zu bedienen ● Perl als Konfigurationssprache ● Alles beginnt in einem Rexfile ● Ein Rexfile enthält Authentifizierung, Servergruppen, Tasks, ...
  • 14. Rex - Remote Execution ● Viele Module/Funktionen ○ Dateimanipulation ○ Pakete ○ Services ○ Prozesse ○ Inventarisierung ○ Partitionierung, LVM ○ Virtualisierung, Cloud ○ ...
  • 15. use Rex -feature => ["1.0"]; user "root"; private_key "keys/root.key"; public_key "keys/root.key.pub";
  • 16. use Rex -feature => ["1.0"]; user "admin"; private_key "keys/admin.key"; public_key "keys/admin.key.pub"; sudo_password "f00b4r"; sudo TRUE;
  • 17. use Rex -feature => ["1.0"]; user "root"; private_key "keys/root.key"; public_key "keys/root.key.pub"; group frontends => "fe-[01..10].int.lan", "fe-preview.int.lan"; group backends => "be-[01..10].int.lan";
  • 18. task "setup", group => ["frontends", "backends"], sub { pkg ["httpd", "perl-Mojolicious"], ensure => "present"; file "/etc/httpd/httpd.conf", content => template("httpd.conf.tpl"), owner => "root", group => "root", mode => 644, on_change => sub { service httpd => "restart"; }; service "httpd", ensure => "started"; };
  • 20. task "patch", sub { do_task [ qw/disable_in_lb patch_backends enable_in_lb/ ]; }; task "patch_backends", group => ["backends"], sub { update_package_db; update_system; };
  • 22. irc: irc.freenode.net #rex Website: http://www.rexops.org/ Github: https://github.com/RexOps Twitter: @RexOps Danke