Mit Ansible die Puppen tanzen lassen – Spring-Boot-Apps in Docker-Windows-Containern

Manchmal ist man tatsächlich gezwungen, Spring-Boot-Anwendungen auf Windows laufen zu lassen – z.B. weil Legacy-Code angebunden werden muss, der Windows voraussetzt. Doch dabei will man nicht auf die CI/CD-Pipeline verzichten, die komplett automatisiert, z.B. per Ansible, die Konfiguration und das Deployment der Anwendungen übernimmt. Doch geht das überhaupt: Windows-Container in Windows selbst laufen lassen?

In diesem Vortrag stellt Jonas Hecht eine Toolchain vor, die mithilfe von Tools wie Packer, Vagrant, PowerShell und Ansible Spring-Boot-Apps in Docker-Windows-Containern laufen lässt und mit Docker Compose und Spring Cloud die Skalierung unterstützt – inkl. Demo.

Vorkenntnisse

Das Thema ist sicherlich interessant für ein breites Publikum – vom Software Engineer hin zu Infrastrukturmensch und Betrieb, DevOpsler und Architekten. Dabei bleibt der Vortrag zu 100 Prozent mit Hilfe von Open-Source-Tools (Packer, Vagrant, VirtualBox, Ansible & PowerShell) nachvollziehbar bis in jeden einzelnen Schritt.

Notwendiges Vorwissen: Kenntnisse aktueller Trends der Softwareentwicklung auf der JVM (ideal: Spring Boot). DevOps, Pipelines und Continuous Integration/Delivery sollten keine Fremdworte sein.

Lernziele

Das Thema berührt sehr viele Aspekte moderner Softwareentwicklung – von Microservice-Architekturen mit Spring Boot und Spring Cloud über Docker(isierung) und Automatisierung innerhalb von CI/CD-Pipelines mit Ansible. Außerdem schlägt es eine Brücke in das Microsoft-Universum.

Wichtige Lernziele können das Vermitteln der Wichtigkeit vollständig nachvollziehbarer Entwicklungsprozesse sein, die sich zu vollständig aus einem VCS-(Git-)Repository jederzeit wiederherstellen lassen und komplett automatisiert sind. Außerdem soll der Blick über den Tellerrand ermöglicht werden (z.B. "was ist Infrastructure as Code eigentlich praktisch?" - oder "Microsoft kann auch moderne Softwareentwicklung mit GitHub, OpenSource, Docker usw.). Nicht zuletzt gibt der Vortrag eine praktisch nutzbare Toolchain an die Hand, die jeder in seinem Unternehmen oder privat nachvollziehen kann und so praktisch im Projekt umsetzen kann.

 

Agenda

ab 8.30 Uhr Registrierung und Begrüßungskaffee

9.30 Uhr Beginn

Intro

Machine Learning

  • Was ist Machine Learning?
  • Der typische ML Workflow
  • Was sind neuronale Netze?
  • Jupyter Lab mit Python
  • Eine Einführung in TensorFlow
  • Keras als High-Level API für TensorFlow

Praxisteil: Deep Learning Modelle mit Keras

  • Datengeneratoren
  • Datasets explorativ analysieren
  • Hold-Out vs. Cross Validation

11.00 - 11.15 Uhr: Kaffeepause

Praxisteil: Deep Learning Modelle mit Keras

  • Feed-Forward Netzarchitektur
  • Convolutional Neural Networks als Deep Learning Ansatz
  • Evaluation und Visualisierung des Modells

12.30 - 13.30 Uhr: Mittagspause

Pipelines mit Luigi

  • Anforderungen an produktive Modelle
  • Übersicht über Luigi und dessen Module
  • Bau eines Beispiel-Workflows

Praxisteil: Den Keras-Workflow mit Luigi implementieren

  • Anforderungen an produktive Modelle
  • Übersicht über Luigi und dessen Module
  • Bau eines Beispiel-Workflows

15.30 - 15.45 Uhr: Kaffeepause

Praxisteil: TensorFlow-Serving

  • Übersicht über TensorFlow-Serving
  • Ladestrategien konfigurieren
  • Deployment des Modells

ca. 17.00 Uhr: Ende

 

Referent

 

Jonas Hecht Jonas Hecht beschäftigt sich hauptsächlich mit Spring Boot, Ansible, Docker und Infrastructure as Code. Im Fokus stehen dabei immer produktiv nutzbare Anwendungen. Er bloggt regelmäßig auf blog.codecentric.de, hält Vorträge und ist Maintainer eines Spring Boot Starter. Er ist Dozent an der Bauhaus Universität Weimar und Gründer der Java User Group Thüringen.

Gold-Sponsor

Deloitte.

Silber-Sponsoren

codecentric
ISO-Gruppe

Herbstcampus-Newsletter

Sie möchten über den Herbstcampus
auf dem Laufenden gehalten werden?

 

Anmelden