SlideShare ist ein Scribd-Unternehmen logo
1 von 84
Downloaden Sie, um offline zu lesen
Cloud Native Night, 24.04.2018
Ansible für Entwickler
Konfigurationsmanagement nicht nur für Ops
Sandra Parsick
mail@sandra-parsick.de
@SandraParsick
Zu meiner Person
●
Sandra Parsick
●
Freiberuflicher Softwareentwickler und
Consultant im Java-Umfeld
●
Schwerpunkte:
– Java Enterprise Anwendungen
– Agile Methoden
– Software Craftmanship
– Automatisierung von
Entwicklungsprozessen
●
Trainings
●
Workshops
●
Softwerkskammer Ruhrgebiet
●
Twitter: @SandraParsick
●
Blog:
http://blog.sandra-parsick.de
●
E-Mail: mail@sandra-parsick.de
Agenda
1. Ansible – Was ist das?
2. Warum ist es für Entwickler interessant?
3. Einführung in Ansible
4. Wie unterscheidet sich Ansible zur seiner
Konkurrenz?
5. Weitere Einsatzszenarien aus Entwicklersicht
Ansible
Was ist das?
Ansible
●
Software für
– Konfigurationsmanagement,
– Softwareverteilung und
– Ad-hoc-Kommando-Ausführung
Konfigurationsmanagement (KM)
„Das KM umfasst alle technischen, organisatorischen
und beschlussfassenden Maßnahmen und Strukturen,
die sich mit der Konfiguration (Spezifikation) eines
Produkts befassen.“
https://www.projektmagazin.de/glossarterm/konfigurationsmanage
ment
Konfigurationsmanagement (KM)
●
Softwarekonfiguration
●
Hardwarekonfiguration
●
Dienstleistungskonfiguration
●
Systemkonfiguration
Systemkonfiguration
- „Infrastructure As Code“
Systemkonfiguration
- „Infrastructure As Code“
Ansible
Warum ist es für Entwickler
interessant?
Systemkonfiguration für Entwickler
Organisatorische Ausgangslage
Wunsch
Systemkonfiguration für Entwickler
Organisatorische Ausgangslage
Realität
Systemkonfiguration für Entwickler
Prozess zwischen Development und Operation
Systemkonfiguration für Entwickler
Lösungidee mit Ansible
Einführung in Ansible
Ansible
●
Software für
– Konfigurationsmanagement,
– Softwareverteilung und
– Ad-hoc-Kommando-Ausführung
●
Sprache: Python
●
Ansible Skripte: YAML
Funktionsweise
Exkurs: YAML
YAML JSON
Ansible Beispiel
Setup Application Server Playbook
Setup Application Server
Inventories
Production Test
Inventories
Setup Application Server
Ansible Modules
Setup Application Server
Templates
●
setenv.sh.j2
Templates - Jinja2
●
Templating engine für Python
●
Mehr Information unter
http://jinja.pocoo.org/docs/dev/
Setup Application Server Playbook
Setup Database Server Playbook
Setup Database Server Playbook
Setup Database Server Playbook
Setup Application Server
Roles
Setup Playbooks mit Roles
●
Setup Application Server
●
Setup Database Server
include_role, import_role (seit v2.3)
Java Webapplikation Deployment
Deploy Application Playbook
deploy-on-tomcat Role
deploy-on-tomcat Role
deploy-on-tomcat Role
deploy-on-tomcat Role
deploy-on-tomcat Role
deploy-on-tomcat Role
Deploy Application Playbook
Ad-hoc-Kommando
Warum Roles?
Warum Roles?
Warum Roles?
Ansible Infrastruktur
Ansible AWX / Tower
IDE - Support
●
Eclipse
●
Intellji IDEA
●
Netbeans
●
Weitere Informationen unter
https://jaxenter.de/ansible-intellij-netbeans-ecl
ipse-51695
IDE-Support - Eclipse
●
YAML Support über Plugin yEdit
IDE-Support - Netbeans
●
YAML Support
IDE-Support - IntelliJ IDEA
●
YAML Support von Haus aus
●
Extra Plugin für Ansible (YAML/Ansible support)
IDE-Support - IntelliJ IDEA
●
Autovervollständigung für Roles
●
IDE-Support - IntelliJ IDEA
●
Anzeige der Dokumentation für Ansible Module
●
IDE-Support - IntelliJ IDEA
●
Direkte Navigation zu der Rollendefinition
IDE-Support - IntelliJ IDEA
●
Über Navigate Funktionalität direkt zu Rollen,
Variablen und Task-Namen springen
Weitere Features
●
Vault – Verschlüsselung
●
Facts
●
Dynamische Inventories
●
Playbook Debugger
●
Module für Docker
●
Ansible Container
●
Networking Support
Wie werden Ansible Skripte
getestet?
● ansible-playbook --check
● ansible-playbook --syntax-check
●
ansible-lint
●
Jenkins + Vagrant
ansible-lint
ServerSpec Tests
ServerSpec Tests
testinfra
testinfra
Ansible QA Jenkins Pipeline
Ansible QA Jenkins Pipeline
Ansible QA Jenkins Pipeline
Wie unterscheidet sich Ansible zu
seiner Konkurrenz?
Vergleich
●
Orchestrierung über SSH
●
Benötigt keine Rootrechte
auf Zielsystem
●
Konfigurationsmgmt +
Applikationsdeployment
●
Monitoringtool nur in der
Enterprise Variante
●
Skripte mehr imperativ
●
Windows-Support
rudimentär
●
Skripte OS- bzw.
Distributions-spezifisch
●
Client-Server Architektur
●
Für komfortables Arbeiten
benötigt es Rootrechte
●
Konfigurationsmgmt
●
Monitoringtools Open Source
●
Skripte mehr deklarativ
●
Windows-Support
●
Skripte können OS-
unspezifisch sein
Vergleich
Weitere Einsatzszenarien aus
Entwicklersicht
Systemkonfiguration für Entwickler
Lösungidee mit Ansible
Systemkonfiguration für Entwickler
Variante - Prozess zwischen Development und
Operation
Systemkonfiguration für Entwickler
Lösungsvariante
Systemkonfiguration für Entwickler
Produktionsserver sind beim externen Hoster
Systemkonfiguration für Entwickler
Lösungsidee
Weitere Informationen
http://docs.ansible.com/
Weitere Informationen
Weitere Informationen
http://bit.ly/2cZ0IrZ
@SandraParsick
mail@sandra-parsick.de
https://github.com/sparsick/ansible-talk.git
Fragen?

Weitere ähnliche Inhalte

Ähnlich wie Ansible für Entwickler: Konfigurationsmanagement nicht nur für Ops

Rails und Scrum in großen Projekten
Rails und Scrum in großen ProjektenRails und Scrum in großen Projekten
Rails und Scrum in großen Projekten
Phillip Oertel
 

Ähnlich wie Ansible für Entwickler: Konfigurationsmanagement nicht nur für Ops (20)

Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
 
Rex - Infrastruktur als Code
Rex - Infrastruktur als CodeRex - Infrastruktur als Code
Rex - Infrastruktur als Code
 
Devops ohne root
Devops ohne rootDevops ohne root
Devops ohne root
 
Rails und Scrum in großen Projekten
Rails und Scrum in großen ProjektenRails und Scrum in großen Projekten
Rails und Scrum in großen Projekten
 
Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015
 
Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020Agile Oracle database modeling and development - APEX Connect 2020
Agile Oracle database modeling and development - APEX Connect 2020
 
Azure WorkshopPart1 Intro
Azure WorkshopPart1   IntroAzure WorkshopPart1   Intro
Azure WorkshopPart1 Intro
 
PRINCE2 Agile - brauchen wir das?
PRINCE2 Agile - brauchen wir das?PRINCE2 Agile - brauchen wir das?
PRINCE2 Agile - brauchen wir das?
 
Cloud Architekturen - von "less Server" zu Serverless
Cloud Architekturen - von "less Server" zu ServerlessCloud Architekturen - von "less Server" zu Serverless
Cloud Architekturen - von "less Server" zu Serverless
 
Drupal Basics (7-8) Vortrag (01.2016)
Drupal Basics (7-8) Vortrag (01.2016)Drupal Basics (7-8) Vortrag (01.2016)
Drupal Basics (7-8) Vortrag (01.2016)
 
Implementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBRImplementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBR
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge
 
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
 
Python-IDEs - PyDev und Eclipse
Python-IDEs - PyDev und EclipsePython-IDEs - PyDev und Eclipse
Python-IDEs - PyDev und Eclipse
 
Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?Maven2 - Die nächste Generation des Buildmanagements?
Maven2 - Die nächste Generation des Buildmanagements?
 
Grails im Überblick und in der Praxis
Grails im Überblick und in der PraxisGrails im Überblick und in der Praxis
Grails im Überblick und in der Praxis
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
Reif? Scala für Enterprise-Applikationen
Reif? Scala für Enterprise-ApplikationenReif? Scala für Enterprise-Applikationen
Reif? Scala für Enterprise-Applikationen
 
fn project serverless computing
fn project serverless computingfn project serverless computing
fn project serverless computing
 

Mehr von QAware GmbH

"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
QAware GmbH
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
QAware GmbH
 

Mehr von QAware GmbH (20)

50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf50 Shades of K8s Autoscaling #JavaLand24.pdf
50 Shades of K8s Autoscaling #JavaLand24.pdf
 
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
Make Agile Great - PM-Erfahrungen aus zwei virtuellen internationalen SAFe-Pr...
 
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN MainzFully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
Fully-managed Cloud-native Databases: The path to indefinite scale @ CNN Mainz
 
Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
 
Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.Service Mesh Pain & Gain. Experiences from a client project.
Service Mesh Pain & Gain. Experiences from a client project.
 
50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling50 Shades of K8s Autoscaling
50 Shades of K8s Autoscaling
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 

Ansible für Entwickler: Konfigurationsmanagement nicht nur für Ops