SlideShare ist ein Scribd-Unternehmen logo
DevOps ohne root
Anwendungen reproduzierbar für 

Managed Server konfigurieren
Peter Hormanns
cusy GmbH
Vortrag auf dem Linuxday Dornbirn am 21. Nov. 2015
Kapitel
Thanks for coming
you + me + cusy
Peter Hormanns
• Freiberufler, Software-Consultant
• Technologie-Stack: Java und Linux
• heute nennt man „DevOps", 

was ich seit 20 Jahren tue ;-)
• tätig für die cusy GmbH
you + me + cusy
you + me + cusy
Agenda
• you + me + cusy
• Cloud + Managed Server
• Configuration Management mit Ansible
• praktische Beispiele
• Zusammenfassung und Diskussion
you + me + cusy
Angebot der cusy GmbH

»Gute« Anwendungen zu einer gehosteten*
Arbeitsumgebung

für Teams kombinieren.
*) nach deutschen Datenschutzstandards in einem zertifizierten Rechenzentrum 

in Deutschland
!
TextTextText
Referenzkunde
Kapitelyou + me + cusy
Alternative zur Cloud
Kapitelyou + me + cusy
SaaS
PaaS
IaaS
cusy-Dienste
Managed-Server
(root-Server)
»Cloud« Datenschutz konformes
Hosting
Managed Server
• Bootstrap neuer Virtueller Maschinen
• Backup
• Sicherheits-Updates für das Betriebssystem
• Storage
• Vorhalten von Ressourcen
Cloud + Managed Server
Arbeitsteilung – Hoster
• Managed Plattform
• Betriebssystem
• Hardware
• Netzwerk
• Backup
Cloud + Managed Server
Arbeitsteilung – cusy
• cusy Dienste
• Gitblit – Git-Hosting mit Browser-Oberfläche, wie Github
• OpenProject – Multiprojekt-Management, Redmine-Fork
• Jenkins – Continuous Integration Server
• Sentry – zentrale Log-Auswertung
• Jira – Atlassian Projekt-Verwaltung / Issue Tracking
• Confluence – Enterprise Wiki
Cloud + Managed Server
Motivation
Unsere höchste Priorität ist es, den Kunden durch
frühe und kontinuierliche Auslieferung wertvoller
Software zufriedenzustellen.
(Erstes Prinzip des agilen Manifests)
Cloud + Managed Server
»
«
Motivation
Einfachheit – die Kunst, die Menge nicht getaner 

Arbeit zu maximieren – ist essenziell.
(Achtes Prinzip des agilen Manifests)
Cloud + Managed Server
» «
Ansible-Steckbrief
• Automatisierung
• Configuration Management
• Service Orchestration
• Dokumentation
Configuration Management mit Ansible
Configuration Management mit Ansible
Ansible-Eigenschaften
• Push über ssh (kein Agent)
• YAML Syntax für Playbooks
• Jinja Template Engine
• Idempotenz
• Deklarativ
Configuration Management mit Ansible
Für unseren Anwendungsfall ist Ansible die naheliegende Lösung.
vs vs vs vs
Configuration Management mit Ansible
Einfaches Playbook
1 ---
2 - hosts: wordpress
3 vars:
4 version: 4.0
5 tasks:
6 - name: extract tarball
7 sudo: yes
8 sudo_user: "{{user}}"
9 unarchive: >
10 copy=no src="/tmp/wordpress.tgz"
11 dest="/home/{{user}}/wordpress/"
… ↓
Praktische Beispiele
Einfaches Playbook
…
12 - name: move to www
13 sudo: yes
14 sudo_user: "{{pac}}-{{user}}"
15 command: >
16 rm -rf www && mv wordpress www
17 chdir="/home/{{user}}/wordpress"
18 - name: upload wp-config.php config
19 sudo: yes
20 sudo_user: "{{pac}}"
21 template: >
22 src="templates/wordpress/wp-config.php"
23 mode=0600
24 dest="/home/{{user}}/wordpress/www/wp-config.php"
Praktische Beispiele
Ansible-Begriffe: Playbook
• Beschreibung eines Soll-Zustands der Infrastruktur
Praktische Beispiele
Ansible-Begriffe: Playbook
• Beschreibung eines Soll-Zustands der Infrastruktur
• User anlegen
• Domain aufschalten
• Datenbank anlegen
eigene Module
!
siehe Repository auf Github
Praktische Beispiele
Ansible-Begriffe: Module
• ca. 130 Module in Core
• ca. 270 "Extra" Module
• eigene Module in jeder Programmier- oder Skript-
Sprache möglich
Praktische Beispiele
Ansible-Begriffe: Inventory
[appserver]
apps01.example.com
apps02.example.com
apps03.example.com
!
[frontend]
www.example.com ansible_sudo_user=haproxy
!
[appserver:vars]
frontend=www.example.com
ansible_sudo_user=tomcat7
Praktische Beispiele
Ansible-Begriffe: Inventory
Dynamisches Inventory
./dyn-inv --list
!
1 {
2 "appserver" : [ "apps01.example.com" , "apps02.example.com" ],
3 "frontend" : [ "www.example.com" ]
4 }
Praktische Beispiele
Ansible-Begriffe: Inventory
Dynamisches Inventory
./dyn-inv --host apps01.example.com
!
1 {
2 "frontend" : "www.example.com",
3 "ansible_sudo_user" : "tomcat7"
4 }
Praktische Beispiele
Praktische Beispiele
Ansible-Begriffe: Variablen
• im Inventory
• in Playbooks
• aus inkludierten Dateien
• von der Kommandozeile
Praktische Beispiele
Ansible-Begriffe: 

Rollen und Handler
roles/gitblit/
roles/gitblit/files
roles/gitblit/files/cusy120x45.png
roles/gitblit/handlers
roles/gitblit/handlers/main.yml
roles/gitblit/meta
roles/gitblit/meta/main.yml
roles/gitblit/tasks
roles/gitblit/tasks/main.yml
roles/gitblit/templates
roles/gitblit/templates/context.xml
roles/gitblit/vars
roles/gitblit/vars/main.yml
Praktische Beispiele
Ansible-Begriffe:
Orchestrierung
Delegation
!
1 - name: Configure proxy server for service
2 delegate_to: "{{fe_host_name}}"
3 sudo_user: "{{fe_sudo_user}}"
4 template: >
5 dest=/etc/nginx/local/{{customer}}/{{tenant}}-{{service}}.conf
6 src=nginx-service.conf
7 mode=0644
8 notify:
9 - Apply proxy configuration
Praktische Beispiele
Ansible-Begriffe:
Orchestrierung
Abhängige Rollen
!
Praktische Beispiele
Ansible-Begriffe
Praktische Beispiele
• Playbook - Beschreibung eines Soll-Zustands
• Modul - Soll-Zustand für eine einzelnes Objekt
• Inventory - Aufzählung der Instrastruktur
• Variablen - Parametrisierung von Plays und Templates
• Orchestrierung über
• Rollen
• Delegation
• abhängige Rollen
Lessons learned
• Der Einstieg ist schnell
Praktische Beispiele
Lessons learned
• Der Einstieg ist schnell
• Module und ein dynamische Repository sind einfach
implementiert
Praktische Beispiele
Lessons learned
• Der Einstieg ist schnell
• Module und ein dynamische Repository sind einfach
implementiert
• Das Thema Variablen ist unübersichtlich
Praktische Beispiele
Lessons learned
• Der Einstieg ist schnell
• Module und ein dynamische Repository sind einfach
implementiert
• Das Thema Variablen ist unübersichtlich
• Nutze Rollen, abhängige Rollen
Praktische Beispiele
Lessons learned
• Der Einstieg ist schnell
• Module und ein dynamische Repository sind einfach
implementiert
• Das Thema Variablen ist unübersichtlich
• Nutze Rollen, abhängige Rollen
• Idempotenz kostet Aufwand
Praktische Beispiele
Lessons learned
• Der Einstieg ist schnell
• Module und ein dynamische Repository sind einfach
implementiert
• Das Thema Variablen ist unübersichtlich
• Nutze Rollen, abhängige Rollen
• Idempotenz kostet Aufwand
• Playbooks haben deklarative und imperative Aspekte
Praktische Beispiele
Zusammenfassung
Ansible ermöglicht uns die Installation und Konfiguration
von Services in eine Managed Server Umgebung.
Es gibt Verbessungspotential.
Ansible 2 bringt einige Verbesserungen:
• Verbessertes Handling von Fehlermeldungen
• Execution Strategy Plugins
• Verbessertes Variablenmanagement
Praktische Beispiele
Fragen?

Diskussion.
Kontakt
Vertiefen
• Prinzipien hinter dem agilen Manifest
• Offizielle Ansible Website
• Ansible Dokumentation
• cusy Slides bei http://de.slideshare.net/cusyio/devops-ohne-root
!
Weiterführende Literatur
Bildnachweise
• Bild: Soccer game at the Azteca Stadium; cc BY-SA 4.0: Jlfdz
• Bild: Peter Hormanns;
• Bild: cusy-Messestand; Veit Schiele
• Michael Gernhardt in space during STS-69 in 1995; PUBLIC DOMAIN: NASA
• Supermassive Black Holes with Relativistic Jets; CC BY 2.0: NASA

Weitere ähnliche Inhalte

PDF
Cusy Developer-Baukasten
PDF
Quo vadis DevOps
PDF
Continuous Everything
PPT
DevOps Meetup Freiburg - DevOps in Practice
KEY
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
PDF
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
PDF
Warum gRPC? – und wie in Python implementieren?
PPTX
DevOps: Revolution im IT Betrieb?
Cusy Developer-Baukasten
Quo vadis DevOps
Continuous Everything
DevOps Meetup Freiburg - DevOps in Practice
OOP 2012 - Udo Pracht - DevOps Einführung und Überblick
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
Warum gRPC? – und wie in Python implementieren?
DevOps: Revolution im IT Betrieb?

Was ist angesagt? (20)

PDF
DocOps – Agile Dokumentationserstellung in der Praxis
PDF
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
PPTX
DevOps der Triple-E Klasse - Eclipse DemoCamp
PPTX
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
PDF
Mythos und Wahrheit: Wikis für die Technische Dokumentation at tekom-Regional...
PDF
About Dogs and Cats - über DevOps in großen Konzernen
PPTX
Azure Bootcamp Hamburg
PDF
Architektur und Automation als Enabler für DevOps
PDF
DevOps day - feature teams
PDF
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
PDF
Bernhard Wick - appserver.io - code.talks 2015
PDF
DevOps - Mehr Geschwindigkeit auf der Schiene
PDF
Kaps - Continuous Deployment Roadmap
PDF
Softwerkskammer Chemnitz Special Pecha Kucha Night
PDF
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
PDF
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
PDF
DevOps in der Praxis
PDF
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
PPTX
DACH - Continuous delivery for Puppet Enterprise 08/09/2018
PDF
Boost your APEX Deployment and Provisioning with Docker
DocOps – Agile Dokumentationserstellung in der Praxis
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
DevOps der Triple-E Klasse - Eclipse DemoCamp
Agile Entwicklungsumgebung mit DVCS, Jenkins und Trello - Agile Bodensee Konf...
Mythos und Wahrheit: Wikis für die Technische Dokumentation at tekom-Regional...
About Dogs and Cats - über DevOps in großen Konzernen
Azure Bootcamp Hamburg
Architektur und Automation als Enabler für DevOps
DevOps day - feature teams
Cloud Native Migration: Wie IT-Landschaften ihren Weg auf eine Cloud-Native-P...
Bernhard Wick - appserver.io - code.talks 2015
DevOps - Mehr Geschwindigkeit auf der Schiene
Kaps - Continuous Deployment Roadmap
Softwerkskammer Chemnitz Special Pecha Kucha Night
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
DevDay 2017: Daniel Trautmann - Mythos DevOps: Development versus Operations?
DevOps in der Praxis
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
DACH - Continuous delivery for Puppet Enterprise 08/09/2018
Boost your APEX Deployment and Provisioning with Docker
Anzeige

Andere mochten auch (20)

ODP
Flickr zerbitzuaren oinarrizko ezaugarriak
PDF
Job list done by Wasef
PDF
öFfentliches Fotoprotokoll Vom Seminar Antimobbing Februar 2010
PPT
4.5 Website
PPS
2008
PDF
Doerre handbuch arbeitssoziologie proofversion_im erscheinen
PDF
Jahresbericht 2013
PDF
Sopra Steria Consulting auf einen Blick
PPT
Ppt All In
PPT
Real-Time-Branding - Marken im Echtzeitweb
PPT
Bmask soziales jahr
PDF
ARCHITECTURE OF RASH MANCHA, WEST BENGAL
PDF
Sicherheitsrichtlinien für Linux-Workstations
PDF
Aggregation: Wettstreit von Sendern, Plattformen und Ökosystemen – eine Syste...
PPTX
Republiek van de Rio Grande
PDF
Auf zu neuen Ufern! Mit „Lean Startup“ den Kundengeschmack treffen. Elmar Bor...
PDF
WASH Fokus des DRK
PPTX
El reino animal
PDF
Wie man den kreativen Todeskampf übersteht ...
PDF
Sind reguläre Bäume immer Tief- oder Flachwurzler?
Flickr zerbitzuaren oinarrizko ezaugarriak
Job list done by Wasef
öFfentliches Fotoprotokoll Vom Seminar Antimobbing Februar 2010
4.5 Website
2008
Doerre handbuch arbeitssoziologie proofversion_im erscheinen
Jahresbericht 2013
Sopra Steria Consulting auf einen Blick
Ppt All In
Real-Time-Branding - Marken im Echtzeitweb
Bmask soziales jahr
ARCHITECTURE OF RASH MANCHA, WEST BENGAL
Sicherheitsrichtlinien für Linux-Workstations
Aggregation: Wettstreit von Sendern, Plattformen und Ökosystemen – eine Syste...
Republiek van de Rio Grande
Auf zu neuen Ufern! Mit „Lean Startup“ den Kundengeschmack treffen. Elmar Bor...
WASH Fokus des DRK
El reino animal
Wie man den kreativen Todeskampf übersteht ...
Sind reguläre Bäume immer Tief- oder Flachwurzler?
Anzeige

Ähnlich wie Devops ohne root (20)

PDF
Infra coders meetup
PDF
Agile Softwareentwicklung mit Rails
PPTX
Docker Hosting (Webinar vom 10. März 2016)
PPTX
Drupal 7 auf Amazon Web Services
PDF
Vorlesung - Cloud Infrastrukturen - Einleitung | anynines
PDF
Automation with Ansible
PDF
Oracle Private & Public Database-as-a-Service
PDF
Serverprovisioning in einer dynamischen Infrastruktur
PDF
Grundlagen postgresql
PDF
Ruby und Rails für .NET Entwickler
PDF
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
PPTX
Webinar Windows auf AWS (Deutsch)
PDF
Ansible für Entwickler: Konfigurationsmanagement nicht nur für Ops
PDF
PDF
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
PPTX
Wie projektiere ich eine expired Domain mit Wordpress - SEO Campixx 2012
PDF
Cloud Architekturen - von "less Server" zu Serverless
PDF
Amazon Lightsail Webinar
PDF
Drupal und twig
PPTX
Vagrant, Puppet, Docker für Entwickler und Architekten
Infra coders meetup
Agile Softwareentwicklung mit Rails
Docker Hosting (Webinar vom 10. März 2016)
Drupal 7 auf Amazon Web Services
Vorlesung - Cloud Infrastrukturen - Einleitung | anynines
Automation with Ansible
Oracle Private & Public Database-as-a-Service
Serverprovisioning in einer dynamischen Infrastruktur
Grundlagen postgresql
Ruby und Rails für .NET Entwickler
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Webinar Windows auf AWS (Deutsch)
Ansible für Entwickler: Konfigurationsmanagement nicht nur für Ops
Cloud Deployment und (Auto)Scaling am Beispiel von Angrybird
Wie projektiere ich eine expired Domain mit Wordpress - SEO Campixx 2012
Cloud Architekturen - von "less Server" zu Serverless
Amazon Lightsail Webinar
Drupal und twig
Vagrant, Puppet, Docker für Entwickler und Architekten

Mehr von cusy GmbH (6)

PDF
Versionskontrolle in Machine-Learning-Projekten
PDF
About cusy
PDF
Python-Bibliotheken zur Datenvisualisierung
PDF
Opensource Search Engines
PDF
Cusy GSA-Alternativen
PDF
Quo vadis-devops-nuernberg
Versionskontrolle in Machine-Learning-Projekten
About cusy
Python-Bibliotheken zur Datenvisualisierung
Opensource Search Engines
Cusy GSA-Alternativen
Quo vadis-devops-nuernberg

Devops ohne root