Kopf frei für’s
Produkt –
Automatisierung mit
Ansible und Jenkins
CodeTalks Conference, Hamburg
Oktober 2014
Über uns
2
André Christ
Gründer & CTO
Dr. Daniel Pozzi
SW Architekt
Agenda
3
Kopf frei für welches Produkt?
Weshalb Automatisierung?
Was sind die „Lessons Learned“?
Wie wurde es mit Jenkins ...
Typisches Bild für IT Landschaften
in Unternehmen: Fehlende Transparenz
4
Redundanz Kopfmonopole Risiken
leanIX eine leicht zu nutzende SaaS-Plattform
für das IT Architektur-Management
5
Fact Sheets & Tagging
Kontext-basierte S...
Agenda
6
Kopf frei für welches Produkt?
Weshalb Automatisierung?
Wie wurde es mit Jenkins & Ansible umgesetzt?
Was sind di...
Starke Nachfrage namhafter Kunden
nach frischem Ansatz
7
2012 2013 2014 2015
> 50 Kunden
Skalierung der Platform
2012 20142013
“MVP”
Enterprise
Integration / SSO
Single Page
JS App
Professionalisierung
Build-Umg...
9
Statische
Dokumentation?
• Zu wenig Ressourcen
• Nicht wiederholbar
• Schnell veraltet
Agenda
10
Kopf frei für welches Produkt?
Weshalb Automatisierung?
Wie wurde es mit Jenkins & Ansible umgesetzt?
Was sind d...
Anwendungsfälle
11
DevOps
Code, Build & Test Provision & Deploy WebEx & Trial-Phase
Warum Jenkins & Ansible?
12
Einfach
Erweiterbar
Skalierbar
Flexibel
Open Source
Community
Gute Weboberfläche Einfache Synt...
Einbindung in den Gesamtprozess
13
Deploy to
Staging
Development
Branch
Build
Automated
Tests
Business
Tests
Merge to
Prod...
Ansible Architektur
14
Tasks
Install Package
Copy file
Apply template
Rollen
Linux Basis
Apache
MySQL
PHP
Application 1
.....
Beispiel für Live-Demo
CI Server Webserver
1 Jenkins führt Ansible playbook aus
2 Ansible
… installiert Apache auf Linux S...
Live-Demo
16
Ansible: Ausführung des Playbooks
17
#
# Provisions the demo web server
#
---
- hosts: web
sudo: true
roles:
- {role: 'ini...
Ansible: Apache Rolle (Auszug)
18
[…]
- name: Install Apache
sudo: yes
apt: pkg=apache2 state=latest
- name: Install Apach...
Ansible: Hosts Datei
19
#
# Gruppe mit Hosts (DNS-Name & Parameter)
#
[web]
web-box.dev ansible_ssh_user=vagrant […]
web.l...
Agenda
20
Kopf frei für welches Produkt?
Weshalb Automatisierung?
Wie wurde es mit Jenkins & Ansible umgesetzt?
Was sind d...
Erste Hürden und Problemlösungen
21
• Ansible v1 nicht unter Windows
• Für bestimmte Tasks müssen
Bilbliotheken auf Ziel-M...
Was haben wir davon?
22
20 Tage
3 Std
30 Min
Aufwand für die Einrichtung, Lernen, Stolperfallen von
Ansible & Jenkins
Ramp...
23
DANKE!
Follow us @leanix_net
Download Beispiel Code
github.com/leanix/codetalks_2014_demo
Zu kompliziert??? - Bei LeanI...
Backup
24
leanIX integriert sich in ein Ökosystem für
modernes IT Management
25
Collaboration- & Document Mgmt
IT Service Management...
Verständliche Reports und flexible Sichten
ermöglichen eine umfassende IT Transparenz
26
Heatmaps Roadmaps Costs Metrics
A...
Nahtlose Einbindung der Geschäftsprozesse
sichert Visibilität bei den Fachseiten
27
Sync
Nächste SlideShare
Wird geladen in …5
×

CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins (LeanIX GmbH)

1.938 Aufrufe

Veröffentlicht am

Presentation bei der CodeTalks Developer Conference in Hamburg zum Thema: "Kopf frei für's Produkt - Automatisierung mit Ansible und Jenkins" von LeanIX CTO André Christ und SW Architekt Dr. Daniel Pozzi.

Vom ersten Einrichten einer Maschine bis zum Ausliefern der Anwendung ist es ein weiter Weg, der in einem Startup viele menschliche und technische Ressourcen abverlangt. Neue Kundenwünsche und Skalierung erfordern immer mehr Server, Dienste („best tool for the job“) oder Anwendungsinstanzen, die verwaltet werden wollen.

Der SaaS-Anbieter LeanIX aus Bonn hat den manuellen Prozess in wenigen Wochen gegen eine vollständig automatisierte Provision-, Build- und Deploy-Kette mit ansible und Jenkins getauscht, um den Rücken für die Produktentwicklung frei zu haben.

Veröffentlicht in: Technologie
0 Kommentare
3 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.938
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
203
Aktionen
Geteilt
0
Downloads
30
Kommentare
0
Gefällt mir
3
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins (LeanIX GmbH)

  1. 1. Kopf frei für’s Produkt – Automatisierung mit Ansible und Jenkins CodeTalks Conference, Hamburg Oktober 2014
  2. 2. Über uns 2 André Christ Gründer & CTO Dr. Daniel Pozzi SW Architekt
  3. 3. Agenda 3 Kopf frei für welches Produkt? Weshalb Automatisierung? Was sind die „Lessons Learned“? Wie wurde es mit Jenkins & Ansible umgesetzt?
  4. 4. Typisches Bild für IT Landschaften in Unternehmen: Fehlende Transparenz 4 Redundanz Kopfmonopole Risiken
  5. 5. leanIX eine leicht zu nutzende SaaS-Plattform für das IT Architektur-Management 5 Fact Sheets & Tagging Kontext-basierte Suche API, Import & Export Kommentierung IT Inventory Kollaborationsplattform Interaktives Reporting Activity Stream & Benachrichtigungen Subscription Print & Export (PDF) Best Practice Reports Interaktive Anpassung
  6. 6. Agenda 6 Kopf frei für welches Produkt? Weshalb Automatisierung? Wie wurde es mit Jenkins & Ansible umgesetzt? Was sind die „Lessons Learned“?
  7. 7. Starke Nachfrage namhafter Kunden nach frischem Ansatz 7 2012 2013 2014 2015 > 50 Kunden
  8. 8. Skalierung der Platform 2012 20142013 “MVP” Enterprise Integration / SSO Single Page JS App Professionalisierung Build-Umgebung Qualitäts & Servicemangement
  9. 9. 9 Statische Dokumentation? • Zu wenig Ressourcen • Nicht wiederholbar • Schnell veraltet
  10. 10. Agenda 10 Kopf frei für welches Produkt? Weshalb Automatisierung? Wie wurde es mit Jenkins & Ansible umgesetzt? Was sind die „Lessons Learned“?
  11. 11. Anwendungsfälle 11 DevOps Code, Build & Test Provision & Deploy WebEx & Trial-Phase
  12. 12. Warum Jenkins & Ansible? 12 Einfach Erweiterbar Skalierbar Flexibel Open Source Community Gute Weboberfläche Einfache Syntax (YAML) Continuous Integration (CI) & Continuous Delivery (CD) Zahlreiche Plugins Zahlreiche Module Verteiltes Build System Pull-Mode anstatt SSH-Push Konfiguration von Jobs Kapselung durch Rollen MIT License MIT License Sehr aktiv (seit 2011) Starkes Wachstum (seit 2012) Orchestrierung von Admin-Aufgaben
  13. 13. Einbindung in den Gesamtprozess 13 Deploy to Staging Development Branch Build Automated Tests Business Tests Merge to Production Deploy to Production In Production GitFlow xUnit + Selenium GitFlow BrowserStack
  14. 14. Ansible Architektur 14 Tasks Install Package Copy file Apply template Rollen Linux Basis Apache MySQL PHP Application 1 ... Playbooks Provision DB Server Deploy Web App ... Hosts SVR-DE-TEST SVR-DE-DEV SVR-DE-PROD SVR-US-PROD
  15. 15. Beispiel für Live-Demo CI Server Webserver 1 Jenkins führt Ansible playbook aus 2 Ansible … installiert Apache auf Linux System … erstellt vhost … deployed HTML-Seite aus template 1 2
  16. 16. Live-Demo 16
  17. 17. Ansible: Ausführung des Playbooks 17 # # Provisions the demo web server # --- - hosts: web sudo: true roles: - {role: 'init'} - {role: 'apache2'} - {role: 'webbox'} /ansible/provision_web.yml $ ansible_playbook provision_web.yml –I hosts/web -v
  18. 18. Ansible: Apache Rolle (Auszug) 18 […] - name: Install Apache sudo: yes apt: pkg=apache2 state=latest - name: Install Apache Modules command: a2enmod {{item}} creates="/etc/apache2/mods-enabled/{{item}}.load" notify: restart apache with_items: apache_modules […] /ansible/roles/apache2/tasks/install.yml
  19. 19. Ansible: Hosts Datei 19 # # Gruppe mit Hosts (DNS-Name & Parameter) # [web] web-box.dev ansible_ssh_user=vagrant […] web.leanix.net ansible_ssh_user=root [db] db-box.dev ansible_ssh_user=vagrant […] db.leanix.net ansible_ssh_user=root Roles/apache2/tasks/install.yml
  20. 20. Agenda 20 Kopf frei für welches Produkt? Weshalb Automatisierung? Wie wurde es mit Jenkins & Ansible umgesetzt? Was sind die „Lessons Learned“?
  21. 21. Erste Hürden und Problemlösungen 21 • Ansible v1 nicht unter Windows • Für bestimmte Tasks müssen Bilbliotheken auf Ziel-Maschine vorhanden sein • Parallele Ausführung führt zu Locking von Packetmanagern Nutzung via Vagrant In Tasks bzw. Rollen check auf Installierte Pakete Erst prüfen, ob Paket installiert werden muss
  22. 22. Was haben wir davon? 22 20 Tage 3 Std 30 Min Aufwand für die Einrichtung, Lernen, Stolperfallen von Ansible & Jenkins Ramp-Up eines neuen Mitarbeiters bis zum ersten Commit Zeit bis ein neuer leanIX Node „from scratch“ produktiv ist (bei installiertem OS)
  23. 23. 23 DANKE! Follow us @leanix_net Download Beispiel Code github.com/leanix/codetalks_2014_demo Zu kompliziert??? - Bei LeanIX moderne Anwendungen für Unternehmen entwickeln! jobs@leanix.net
  24. 24. Backup 24
  25. 25. leanIX integriert sich in ein Ökosystem für modernes IT Management 25 Collaboration- & Document Mgmt IT Service Management & Help Desk Requirements- & Business Process Mgmt Project Portfolio- and Ressource-Management Selected products to illustrate Out-of-the-box Integrationen REST API & SDKs developer.leanix.net
  26. 26. Verständliche Reports und flexible Sichten ermöglichen eine umfassende IT Transparenz 26 Heatmaps Roadmaps Costs Metrics Application Landscape Interface Landscape Application Sourcing Map Application Roadmap Technology Vendor Support Project Roadmap Operations Cost by Capability Operations Cost by Provider Project Cost & Status Application Portfolio Application Lifecycle Development Application Age Structure
  27. 27. Nahtlose Einbindung der Geschäftsprozesse sichert Visibilität bei den Fachseiten 27 Sync

×