1. DevOps ohne root
Anwendungen reproduzierbar für
Managed Server konfigurieren
Peter Hormanns
cusy GmbH
Vortrag auf dem Linuxday Dornbirn am 21. Nov. 2015
3. 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
4. you + me + cusy
Agenda
• you + me + cusy
• Cloud + Managed Server
• Configuration Management mit Ansible
• praktische Beispiele
• Zusammenfassung und Diskussion
5. 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
!
7. Alternative zur Cloud
Kapitelyou + me + cusy
SaaS
PaaS
IaaS
cusy-Dienste
Managed-Server
(root-Server)
»Cloud« Datenschutz konformes
Hosting
8. Managed Server
• Bootstrap neuer Virtueller Maschinen
• Backup
• Sicherheits-Updates für das Betriebssystem
• Storage
• Vorhalten von Ressourcen
Cloud + Managed Server
10. 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
11. 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
»
«
12. Motivation
Einfachheit – die Kunst, die Menge nicht getaner
Arbeit zu maximieren – ist essenziell.
(Achtes Prinzip des agilen Manifests)
Cloud + Managed Server
» «
20. Ansible-Begriffe: Playbook
• Beschreibung eines Soll-Zustands der Infrastruktur
• User anlegen
• Domain aufschalten
• Datenbank anlegen
eigene Module
!
siehe Repository auf Github
Praktische Beispiele
21. Ansible-Begriffe: Module
• ca. 130 Module in Core
• ca. 270 "Extra" Module
• eigene Module in jeder Programmier- oder Skript-
Sprache möglich
Praktische Beispiele
30. 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
32. Lessons learned
• Der Einstieg ist schnell
• Module und ein dynamische Repository sind einfach
implementiert
Praktische Beispiele
33. Lessons learned
• Der Einstieg ist schnell
• Module und ein dynamische Repository sind einfach
implementiert
• Das Thema Variablen ist unübersichtlich
Praktische Beispiele
34. 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
35. 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
36. 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
37. 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
40. 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
41. 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