Configuration Management, Continuous Integration, Continuous Deployment, DevOps, Git, Go, Kubernetes, Linux, Podman, Skopeo, Tekton, BuildAH
Aktualisiert am 05.09.2022
Profil
Referenzen (4)
Freiberufler / Selbstständiger
Remote-Arbeit
Verfügbar ab: 02.01.2023
Verfügbar zu: 80%
davon vor Ort: 0%
Kubernetes, Tekton, Helm
Chinesisch
Grundkenntnisse
Deutsch
Muttersprache
Englisch
fließend
Italienisch
Grundkenntnisse

Einsatzorte

Einsatzorte

Deutschland, Schweiz, Österreich


möglich

Projekte

Projekte

2 Jahre
2022-04 - heute

Allgemeine Projektunterstützung AOK Systems GmbH, Bonn

Umsetzung der C.I.S. Docker-Benchmark auf Basis von podman. Analyse, Weiterentwicklung und Vereinheitlichung von Helm-Charts.


Podman BuildAH Skopeo Kubernetes Openshift Helm Git Debian Ubuntu
AOK Systems GmbH
6 Jahre 7 Monate
2015-09 - 2022-03

DevOps / Build- und Releasemanagement

DevOps Engineer BuildAH Podman Skopeo ...
DevOps Engineer

Im Projekt bin ich eingesetzt als DevOps-Engineer. In den vergangenen Jahren wurde die Umstellung der Anwendung und der Infrastruktur komplett auf Containertechnologien auf Basis von Kubernetes durchgeführt. Dazu wurde ein entsprechender Kubernetes-Cluster von uns erstellt. Die bisher auf virtualisierten Systemen betriebenen Testsysteme sind nun komplett über Helm und K8s in eine containerisierte Landschaft überführt worden. Zur Umsetzung wurde nicht Docker, sonder der komplette RedHat-Stack aus BuildAH, Skopeo und Podman eingesetzt. Über Helm wurde auch eine entsprechende Schnittstelle für die Entwickler und Tester zum Zugriff auf den K8s-Cluster und die dort laufenden Systeme geschaffen. Zur Realisierung von CI-/CD-Pipelines kommt Tekton und Tekton Triggers zum Einsatz. Unterstützende Software in diesem Bereich wird von mir in der Sprache Go entwickelt.

Aktuell findet die Überführung der Systeme von unserem selbst betriebene Kubernetes-Cluster in eine gehostete Openshift-Umgebung statt.

Das Projekt dauert aktuell noch an.

BuildAH Podman Skopeo Java Maven Git Ansible Continuous Integration Bitbucket Wildfly Kubernetes Tekton Helm Go Continuous Deployment openshift Tekton-Triggers
Sparda Datenverarbeitung e.G., Nürnberg / Sopra Financial Technology GmbH
Nürnberg
3 Monate
2015-06 - 2015-08

Weiterentwicklung bestehender Deploymentprozesse

DevOps / Infrastructure Engineer Ansible Nagios Centreon ...
DevOps / Infrastructure Engineer

Meine Tätigkeit im Projekt bestand überwiegend in der Weiterentwicklung bestehender Deploymentprozesse auf der Basis von Ansible. Bestandteil der Deployments waren alle Systeme, von der Entwicklung bis zur Produktion. Über entsprechende Ansible-Playbooks waren hier die unterschiedlichen Szenarien realisiert.


Die Server der Anwendung für die Entwicklung wurden per Vagrant als virtuelle Systeme bereit gestellt. Hierzu gehörten Webserver, Applikationsserver und Datenbanken, jeweils redundant als Hochverfügbarkeitslösung. Die Pflege und Weiterentwicklung der Vagrant-Infrastruktur (Skript,
Boxes) war auch Bestandteil meiner Tätigkeit.


Im Bereich des Monitorings von Systemen war eine meiner Aufgaben die Konfiguration des Überwachungswerkzeuges Centreon (Nagios). Über entsprechende Templatemechanismen für Hosts und Services wurden für die Server der Anwendung das Monitoring realisiert. Weiterhin wurde von mir eine angepasste Variante eines NRPE-HTTP-Plugins in Python entwickelt.

Ansible Nagios Centreon NRPE Python Vagrant
Kühne+Nagel (AG & Co) KG, Hamburg
1 Jahr 4 Monate
2014-01 - 2015-04

Bereitstellung der notwendigen Infrastruktur für Continuous Integration

Seniorarchitekt Entwicklungsarchitektur Ansible IOC Jira ...
Seniorarchitekt Entwicklungsarchitektur

Eine der Hauptaufgaben im Projekt bestand in der Bereitstellung der notwendigen Infrastruktur für Continuous Integration für unterschiedliche Entwicklungsteams. Dabei war mein
Verantwortungsbereich die Installation und Administration von Jira, Hudson und SonarQube. Jira und Hudson waren per SSO an das vorhandene Active Directory angebunden. Die Anbindung wurde über in Java implementierte Plugins realisiert. Die Entwicklung und Pflege dieser Plugins gehörte dabei ebenfalls zu meinen Aufgaben.


Um den vielen unterschiedlichen Anforderungen der Entwicklerteams innerhalb des Systemhauses gerecht zu werden, mussten sehr viele administrative und konfigurative Probleme gelöst werden. Dies betraf hauptsächlich Jira, wo z.B. die Konfiguration von Workflows oder Schemata für Felder
und Bildschirmmasken zum Tagesgeschäft gehörten. Weiterhin war eine permanente Unterstützung der Teams notwendig in der Einrichtung und Konfiguration von Hudson-Jobs, beim Deployment der Artefakte zum Nexus-Server oder in der Konfiguration der Darstellung der Code-Metriken in SonarQube.


Die Linux-Systeme (SLES), die zur Bereitstellung der Infrastruktur genutzt wurden, wurden über Ansible konfiguriert. Die initiale Einführung von Ansible sowie die weitere Entwicklung wurden von mir durchgeführt.


Um einen einheitlichen Build-Prozess für künftige Projekte einzuführen, bestand eine weitere Hauptaufgabe für mich darin, ein Java-API zu entwickeln, das in der Lage war, auf alle Maven-
Projekte innerhalb eines Teams Aktionen auszuführen. So war es mit dem API möglich, zum Beispiel Tags oder Branches mit einem einzigen Kommando über alle Maven-Projekte zu erstellen. Das API war dazu in der Lage, mit unterscheidlichen SCM-Systemen (Git, Subversion) umzugehen. Um einen
einfachen Zugriff auf das Java-API zu erhalten, war die Entwicklung eines Maven-Plugins, das einen abstrakteren Zugriff auf das API ermöglichte, ebenfalls Bestandteil des Projektes.

Ansible IOC Jira Jira-Plugins SonarQube Sonar-Plugins Hudson Java Maven 3 Eclipse SLES Subversion Continuous Integration Ant Tomcat JUnit TestNG Git Gerrit Groovy Mutation Testing mit Pitest DevOps XML mit JiBX
IT-Systemhaus der Bundesagentur für Arbeit, Nürnberg
3 Jahre 9 Monate
2010-04 - 2013-12

Softwarelösung beinhaltete mehrere Webshops

Release- und Konfigurationsmanagement Red Hat Enterprise Linux Solaris Maven 2 ...
Release- und Konfigurationsmanagement

Die vom Kunden entwickelte Softwarelösung beinhaltete mehrere Webshops, die über verschiedeneSchnittstellen an Backendsysteme (Datenbanken, Administrationswerkzeuge, Data Mining, etc.) sowie an externe Systeme (Banken, Schufa) angeschlossen waren. Das Gesamtprodukt bestand aus
mehr als 30 einzelnen Komponenten. In regelmäßigen Abständen mussten im Rahmen von Aktualisierungen Teile der Komponenten in neuen Versionen auf die Systeme gespielt werden. Ebenso mussten Datenbankaktualisierungen automatisch ausgeführt werden. Hierzu war ein koordiniertes Vorgehen notwendig,  im den Abhängigkeiten der Komponenten untereinander ausreichend Rechnung zu tragen. Meine Hauptaufgabe im Projekt bestand in der kompletten Neuimplementierung dieses Werkzeuges, das die Prozesse des Deployments und Updates weitestgehend automatisiert. Hierzu
wurde, nach hinreichender Analyse und Design, ein Ansatz gewählt, der auch die spätere automatische Ausführung mittels Hudson und Jenkins gestattete. Die Implementierung erfolgte in
Java. Das System (Komponenten, Anwendungen und deren Versionen, Server, Schnittstellen) wurde hierzu komplett in einem XML-Modell abgebildet, das jeweils eine komplette Umgebung für den Betrieb beschrieb. Durch diesen Ansatz konnten sowohl Entwickler- und Testsysteme als auch das Produktivsystem selbst abgebildet werden. Neben diesem geschilderten größten Teilaspekt des gesamten Projektes wurden von mir noch
folgende Systeme etabliert, bzw. es erfolgte eine Mitarbeit bei der Etablierung:

  • Einrichtung der gesamten Infrastruktur für das Konfigurationsmanagement basierend auf Puppet. Hierüber wurde die Neueinrichtung und Wartung aller Test-, QA- und CI-Hardware respektive Virtualisierung realisiert.
  • Einrichtung der kompletten Überwachung der Test-, QA- und CI-Infrastruktur mittels Icinga.
  • Mitarbeit bei der Einrichtung eines  ochverfügbarkeistclusters. Über den Cluster wurden die Repositories für Maven und Subversion bereit gestellt. (RHEL 6, Linux HA)
  • Erstellen eines Archivierungsservices der es erlaubt, ein bestehendes Maven-Repositorybzgl. seiner Artefakte und den Programmversionen, die diese Artefakte verwenden, zu analysieren und nicht mehr benötigte Artefakte zu archivieren. (Java, Maven-Plugin)
  • Implementierung eines Werkzeugs zur automatischen Erstellung und Änderung von CI-Jobs auf Jenkins und Hudson. Die Jobkonfiguration wurde dabei mittels Velocity-Templates bereit gehalten, durch entsprechende Variablenersetzung angepasst und per HTTP auf die CISysteme ausgerollt. (Java, Velocity, Maven-Plugin)
  • Implementierung verschiedener weiterer Werkzeuge zur Automatisierung unterschiedlicher Aufgaben im Bereich des Tagesgeschäfts mit Java.

Neben der beschriebenen Tätigkeiten gehörte zu meinen Aufgaben auch die Mitarbeit im Tagesgeschäft, wie Fehleranalyse auf Testsystemen, Bereitstellung und Wartung der CI-Systeme sowie Unterstützung von QA und Entwicklung in verschiedenen Bereichen.

Red Hat Enterprise Linux Solaris Maven 2 Maven 3 Subversion Hudson Jenkins Java Continuous Integration Eclipse Shellscript (bash) Ant Velocity XMLBeans Puppet Geppetto Groovy Oracle Apache HTTPD Tomcat Junit TestNG Icinga Spring Linux HA PNP4Nagios
eSailors IT Solutions GmbH, Hamburg
1 Jahr 9 Monate
2008-07 - 2010-03

Build- und Releasemanagement sowie Konfigurationsmanagement

Maven 1 Maven 2 Maven 3 (beta) ...

Die aus ca. 120 Modulen bestehende Software (2 Produkte) wird permanent im Rahmen vonContinuous Integration automatisch gebaut und bezüglich der definierten Qualitätskriterien überwacht. Hierfür existiert eine umfangreiche virtuelle Serverfarm (VMWare ESX), mit deren Hilfe die einzelnen Codelinien verwaltet, gebaut und installiert werden. Ebenfalls wird in diesem Rahmen die Abarbeitung automatischer Webservice-Tests durchgeführt.


Die Haupttätigkeit bestand darin, die dazu notwendige Infrastruktur (sowohl Soft- als auch Hardware) permanent zu überwachen, zu verbessern und an neue Gegebenheiten (Module, Unit- Tests, Branches, Deployment-Szenarien, etc.) anzupassen. Die Build- und Deployserver werden
ausschliesslich unter Linux betrieben. Die Wartung und Aktualisierung der Systeme geschieht zum überwiegenden Teil automatisch durch Cfengine sowie über eigens entwickelten Werkzeuge – in der Hauptsache Maven-Plugins – die, gesteuerte über eine zentrale Konfiguration, die Aktualisierung
der Systeme durchführen. Die Überwachung der Server erfolgt durch Nagios.


Neben dem täglichen Betrieb wurde die Migration eines Produktes (ca. 66 Module) von Maven 1 auf Maven 2 durchgeführt. Hierzu wurden alle bestehenden Funktionalitäten, wie Ausführen von SQLSkripts im Rahmen der Unit-Test oder Erstellen von Multiartefakten, die bisher mit Maven 1, Jelly
und ggf. weiteren Hilfswerkzeugen durchgeführt wurden, komplett mit Standard-Maven 2- Funktionalitäten sowie durch die Neuentwicklung von Maven 2-Plugins nachgebildet. Weiterhin
wurde das Erstellen des Assemblies (WAR-Datei, bestehend aus allen Modulen) ebenfalls auf Maven 2-Technologien umgestellt. Im Rahmen der Migration wurde ebenfalls evaluiert, welche
Schritte notwendig wären, eine spätere Migration auf Maven 3 durchzuführen.


Ebenso gehörte die Unterstützung der Entwickler und Architekten bzgl. Entwicklungswerkzeugen (Maven, Ant, Subversion) und Entwicklungsumgebungen (Eclipse, Eclipse-Plugins) zum täglichen Aufgabenbereich.

Maven 1 Maven 2 Maven 3 (beta) Subversion Cruisecontrol Hudson Java Continuous Integration Linux Eclipse Cfengine 2+3 Shellscript (bash) Entwicklung von Maven 2-Plugins VMWare ESX Ant Jelly Glassfish Velocity
InterComponentWare AG, Walldorf
1 Jahr 7 Monate
2006-12 - 2008-06

Deployment und Konfigurationsmanagement von Software-Anwendungen

Seebeyond eInsight SynergyCM ...

Zum Betrieb der fachlichen Geschäftsabwicklung waren im Projekt eine große Menge an Softwaresystemen (> 25) vorhanden, die über eine serviceorientierte Architektur verbunden waren. Diese SOA wurde technisch mit Seebeyond, eInsight und MQ-Series, teilweise auch mit Java CAPS,
realisiert. Die Hauptaufgabe des Projektes bestand darin, das Deployment für Seebeyond und eInsight durchzuführen; dies sowohl für Test-, Integrations- und Produktivsysteme. Die Zulieferung der Softwareversionen erfolgte durch externe Dienstleister. Vor dem Deployment der Software erfolgte das Konfigurationsmanagement, das sicherstellte, dass alle Lieferungen und Release- Stände reproduzierbar verwaltet wurden. Für diese Aufgabe wurde SynergyCM eingesetzt.

Im Kontext des Deployments waren oft Shellprogrammierungen mit der ksh und der bash notwendig. Dabei wurden in der Regel Skripte erstellt oder verbessert, die der Automatisierung des
Deployments oder der Unterstützung bei der Fehlersuche dienten. Im Rahmen kleinerer Projekte wurden, neben dem Deployment, durch mich die Wartung und Erweiterung bestehender J2EEAnwendungen durchgeführt.

Seebeyond eInsight SynergyCM SOA Java CAPS Deployment Konfigurationsmanagement Kammlinienmanagement Java Eclipse Solaris Linux HP-UX MQSeries Shellprogrammierung in ksh und bash Nagios RRD Cacti Subversion
BMWBank, München

Aus- und Weiterbildung

Aus- und Weiterbildung

1986-1996
Dienst als Bundeswehrsoldat. Reguläre Entlassung als
Oberfeldwebel der Reserve.
 
03/1996 - 07/1998
Ausbildung am Berufskolleg Isny, Prof. Dr. Grübler, zum Assistenten für Informations- und Kommunikationstechnik (AIK). Parallel dazu Erwerb der Fachhochschulreife. Erfolgreicher Abschluss beider Ausbildungsgänge im Juli 1998.

10/1998 - 07/2002
Informatikstudium an der Fachhochschule Isny, Regulärer Abschluss als Diplom-Informatiker (FH) mit Schwerpunkt Softwaretechnik.

Position

Position

DevOps Engineer

Buildmanagement

Releasemanagement

Continuous Integration

Configuration Management

Kompetenzen

Kompetenzen

Top-Skills

Kubernetes, Tekton, Helm

Produkte / Standards / Erfahrungen / Methoden

Continuous Integration
Git
Maven
Wildfly
  • Softwareentwicklung auf Basis von J2SE, J2EE
  • Entwicklung, Deployment und Releasemanagement mit Maven
  • Eclipse
  • XML Technologien
  • Testverfahren und Qualitätssicherung durch JUnit, JUnitDoclet, JunitReport, Clover
  • Continuous Integration mit Hudson und Jenkins
  • Subversion und Git
  • Ant
  • Apache Struts
  • Apache Web Server
  • Tomcat Servlet Engine
  • UML
  • Java Webstart
  • Java Native Interface (JNI) Entwicklung
  • Linux Systemadministration
  • Nagios Netzwerküberwachung
  • Cacti und RRD

Schwerpunkte und Qualifikationen

  • Build- und Releasemanagement
  • Containerisierung mit Buildah, Podman, Skopeo und Docker
  • Konfigurationsmanagement und Continuous Integration
  • Softwareentwicklung mit Java und Opensource

Betriebssysteme

Unix
Schwerpunkt Linux

Programmiersprachen

Go
Java
JavaScript
PL/SQL
Shell

Datenbanken

JDBC
MySQL
Oracle
Schwerpunkt 9i
Postgres
SQL
Kenntnisse in HSQL ebenfalls vorhanden.

Datenkommunikation

Ethernet
Internet, Intranet
Message Queuing
TCP/IP

Hardware

HP
UX
PC
SUN
Solaris

Branchen

Branchen

  • Internetdienstleister
  • Automobilzulieferer
  • Banken
  • Gesundheitswesen
  • Softwaredienstleister
  • eCommerce
  • Bundesbehörden
  • Logistik

Einsatzorte

Einsatzorte

Deutschland, Schweiz, Österreich


möglich

Projekte

Projekte

2 Jahre
2022-04 - heute

Allgemeine Projektunterstützung AOK Systems GmbH, Bonn

Umsetzung der C.I.S. Docker-Benchmark auf Basis von podman. Analyse, Weiterentwicklung und Vereinheitlichung von Helm-Charts.


Podman BuildAH Skopeo Kubernetes Openshift Helm Git Debian Ubuntu
AOK Systems GmbH
6 Jahre 7 Monate
2015-09 - 2022-03

DevOps / Build- und Releasemanagement

DevOps Engineer BuildAH Podman Skopeo ...
DevOps Engineer

Im Projekt bin ich eingesetzt als DevOps-Engineer. In den vergangenen Jahren wurde die Umstellung der Anwendung und der Infrastruktur komplett auf Containertechnologien auf Basis von Kubernetes durchgeführt. Dazu wurde ein entsprechender Kubernetes-Cluster von uns erstellt. Die bisher auf virtualisierten Systemen betriebenen Testsysteme sind nun komplett über Helm und K8s in eine containerisierte Landschaft überführt worden. Zur Umsetzung wurde nicht Docker, sonder der komplette RedHat-Stack aus BuildAH, Skopeo und Podman eingesetzt. Über Helm wurde auch eine entsprechende Schnittstelle für die Entwickler und Tester zum Zugriff auf den K8s-Cluster und die dort laufenden Systeme geschaffen. Zur Realisierung von CI-/CD-Pipelines kommt Tekton und Tekton Triggers zum Einsatz. Unterstützende Software in diesem Bereich wird von mir in der Sprache Go entwickelt.

Aktuell findet die Überführung der Systeme von unserem selbst betriebene Kubernetes-Cluster in eine gehostete Openshift-Umgebung statt.

Das Projekt dauert aktuell noch an.

BuildAH Podman Skopeo Java Maven Git Ansible Continuous Integration Bitbucket Wildfly Kubernetes Tekton Helm Go Continuous Deployment openshift Tekton-Triggers
Sparda Datenverarbeitung e.G., Nürnberg / Sopra Financial Technology GmbH
Nürnberg
3 Monate
2015-06 - 2015-08

Weiterentwicklung bestehender Deploymentprozesse

DevOps / Infrastructure Engineer Ansible Nagios Centreon ...
DevOps / Infrastructure Engineer

Meine Tätigkeit im Projekt bestand überwiegend in der Weiterentwicklung bestehender Deploymentprozesse auf der Basis von Ansible. Bestandteil der Deployments waren alle Systeme, von der Entwicklung bis zur Produktion. Über entsprechende Ansible-Playbooks waren hier die unterschiedlichen Szenarien realisiert.


Die Server der Anwendung für die Entwicklung wurden per Vagrant als virtuelle Systeme bereit gestellt. Hierzu gehörten Webserver, Applikationsserver und Datenbanken, jeweils redundant als Hochverfügbarkeitslösung. Die Pflege und Weiterentwicklung der Vagrant-Infrastruktur (Skript,
Boxes) war auch Bestandteil meiner Tätigkeit.


Im Bereich des Monitorings von Systemen war eine meiner Aufgaben die Konfiguration des Überwachungswerkzeuges Centreon (Nagios). Über entsprechende Templatemechanismen für Hosts und Services wurden für die Server der Anwendung das Monitoring realisiert. Weiterhin wurde von mir eine angepasste Variante eines NRPE-HTTP-Plugins in Python entwickelt.

Ansible Nagios Centreon NRPE Python Vagrant
Kühne+Nagel (AG & Co) KG, Hamburg
1 Jahr 4 Monate
2014-01 - 2015-04

Bereitstellung der notwendigen Infrastruktur für Continuous Integration

Seniorarchitekt Entwicklungsarchitektur Ansible IOC Jira ...
Seniorarchitekt Entwicklungsarchitektur

Eine der Hauptaufgaben im Projekt bestand in der Bereitstellung der notwendigen Infrastruktur für Continuous Integration für unterschiedliche Entwicklungsteams. Dabei war mein
Verantwortungsbereich die Installation und Administration von Jira, Hudson und SonarQube. Jira und Hudson waren per SSO an das vorhandene Active Directory angebunden. Die Anbindung wurde über in Java implementierte Plugins realisiert. Die Entwicklung und Pflege dieser Plugins gehörte dabei ebenfalls zu meinen Aufgaben.


Um den vielen unterschiedlichen Anforderungen der Entwicklerteams innerhalb des Systemhauses gerecht zu werden, mussten sehr viele administrative und konfigurative Probleme gelöst werden. Dies betraf hauptsächlich Jira, wo z.B. die Konfiguration von Workflows oder Schemata für Felder
und Bildschirmmasken zum Tagesgeschäft gehörten. Weiterhin war eine permanente Unterstützung der Teams notwendig in der Einrichtung und Konfiguration von Hudson-Jobs, beim Deployment der Artefakte zum Nexus-Server oder in der Konfiguration der Darstellung der Code-Metriken in SonarQube.


Die Linux-Systeme (SLES), die zur Bereitstellung der Infrastruktur genutzt wurden, wurden über Ansible konfiguriert. Die initiale Einführung von Ansible sowie die weitere Entwicklung wurden von mir durchgeführt.


Um einen einheitlichen Build-Prozess für künftige Projekte einzuführen, bestand eine weitere Hauptaufgabe für mich darin, ein Java-API zu entwickeln, das in der Lage war, auf alle Maven-
Projekte innerhalb eines Teams Aktionen auszuführen. So war es mit dem API möglich, zum Beispiel Tags oder Branches mit einem einzigen Kommando über alle Maven-Projekte zu erstellen. Das API war dazu in der Lage, mit unterscheidlichen SCM-Systemen (Git, Subversion) umzugehen. Um einen
einfachen Zugriff auf das Java-API zu erhalten, war die Entwicklung eines Maven-Plugins, das einen abstrakteren Zugriff auf das API ermöglichte, ebenfalls Bestandteil des Projektes.

Ansible IOC Jira Jira-Plugins SonarQube Sonar-Plugins Hudson Java Maven 3 Eclipse SLES Subversion Continuous Integration Ant Tomcat JUnit TestNG Git Gerrit Groovy Mutation Testing mit Pitest DevOps XML mit JiBX
IT-Systemhaus der Bundesagentur für Arbeit, Nürnberg
3 Jahre 9 Monate
2010-04 - 2013-12

Softwarelösung beinhaltete mehrere Webshops

Release- und Konfigurationsmanagement Red Hat Enterprise Linux Solaris Maven 2 ...
Release- und Konfigurationsmanagement

Die vom Kunden entwickelte Softwarelösung beinhaltete mehrere Webshops, die über verschiedeneSchnittstellen an Backendsysteme (Datenbanken, Administrationswerkzeuge, Data Mining, etc.) sowie an externe Systeme (Banken, Schufa) angeschlossen waren. Das Gesamtprodukt bestand aus
mehr als 30 einzelnen Komponenten. In regelmäßigen Abständen mussten im Rahmen von Aktualisierungen Teile der Komponenten in neuen Versionen auf die Systeme gespielt werden. Ebenso mussten Datenbankaktualisierungen automatisch ausgeführt werden. Hierzu war ein koordiniertes Vorgehen notwendig,  im den Abhängigkeiten der Komponenten untereinander ausreichend Rechnung zu tragen. Meine Hauptaufgabe im Projekt bestand in der kompletten Neuimplementierung dieses Werkzeuges, das die Prozesse des Deployments und Updates weitestgehend automatisiert. Hierzu
wurde, nach hinreichender Analyse und Design, ein Ansatz gewählt, der auch die spätere automatische Ausführung mittels Hudson und Jenkins gestattete. Die Implementierung erfolgte in
Java. Das System (Komponenten, Anwendungen und deren Versionen, Server, Schnittstellen) wurde hierzu komplett in einem XML-Modell abgebildet, das jeweils eine komplette Umgebung für den Betrieb beschrieb. Durch diesen Ansatz konnten sowohl Entwickler- und Testsysteme als auch das Produktivsystem selbst abgebildet werden. Neben diesem geschilderten größten Teilaspekt des gesamten Projektes wurden von mir noch
folgende Systeme etabliert, bzw. es erfolgte eine Mitarbeit bei der Etablierung:

  • Einrichtung der gesamten Infrastruktur für das Konfigurationsmanagement basierend auf Puppet. Hierüber wurde die Neueinrichtung und Wartung aller Test-, QA- und CI-Hardware respektive Virtualisierung realisiert.
  • Einrichtung der kompletten Überwachung der Test-, QA- und CI-Infrastruktur mittels Icinga.
  • Mitarbeit bei der Einrichtung eines  ochverfügbarkeistclusters. Über den Cluster wurden die Repositories für Maven und Subversion bereit gestellt. (RHEL 6, Linux HA)
  • Erstellen eines Archivierungsservices der es erlaubt, ein bestehendes Maven-Repositorybzgl. seiner Artefakte und den Programmversionen, die diese Artefakte verwenden, zu analysieren und nicht mehr benötigte Artefakte zu archivieren. (Java, Maven-Plugin)
  • Implementierung eines Werkzeugs zur automatischen Erstellung und Änderung von CI-Jobs auf Jenkins und Hudson. Die Jobkonfiguration wurde dabei mittels Velocity-Templates bereit gehalten, durch entsprechende Variablenersetzung angepasst und per HTTP auf die CISysteme ausgerollt. (Java, Velocity, Maven-Plugin)
  • Implementierung verschiedener weiterer Werkzeuge zur Automatisierung unterschiedlicher Aufgaben im Bereich des Tagesgeschäfts mit Java.

Neben der beschriebenen Tätigkeiten gehörte zu meinen Aufgaben auch die Mitarbeit im Tagesgeschäft, wie Fehleranalyse auf Testsystemen, Bereitstellung und Wartung der CI-Systeme sowie Unterstützung von QA und Entwicklung in verschiedenen Bereichen.

Red Hat Enterprise Linux Solaris Maven 2 Maven 3 Subversion Hudson Jenkins Java Continuous Integration Eclipse Shellscript (bash) Ant Velocity XMLBeans Puppet Geppetto Groovy Oracle Apache HTTPD Tomcat Junit TestNG Icinga Spring Linux HA PNP4Nagios
eSailors IT Solutions GmbH, Hamburg
1 Jahr 9 Monate
2008-07 - 2010-03

Build- und Releasemanagement sowie Konfigurationsmanagement

Maven 1 Maven 2 Maven 3 (beta) ...

Die aus ca. 120 Modulen bestehende Software (2 Produkte) wird permanent im Rahmen vonContinuous Integration automatisch gebaut und bezüglich der definierten Qualitätskriterien überwacht. Hierfür existiert eine umfangreiche virtuelle Serverfarm (VMWare ESX), mit deren Hilfe die einzelnen Codelinien verwaltet, gebaut und installiert werden. Ebenfalls wird in diesem Rahmen die Abarbeitung automatischer Webservice-Tests durchgeführt.


Die Haupttätigkeit bestand darin, die dazu notwendige Infrastruktur (sowohl Soft- als auch Hardware) permanent zu überwachen, zu verbessern und an neue Gegebenheiten (Module, Unit- Tests, Branches, Deployment-Szenarien, etc.) anzupassen. Die Build- und Deployserver werden
ausschliesslich unter Linux betrieben. Die Wartung und Aktualisierung der Systeme geschieht zum überwiegenden Teil automatisch durch Cfengine sowie über eigens entwickelten Werkzeuge – in der Hauptsache Maven-Plugins – die, gesteuerte über eine zentrale Konfiguration, die Aktualisierung
der Systeme durchführen. Die Überwachung der Server erfolgt durch Nagios.


Neben dem täglichen Betrieb wurde die Migration eines Produktes (ca. 66 Module) von Maven 1 auf Maven 2 durchgeführt. Hierzu wurden alle bestehenden Funktionalitäten, wie Ausführen von SQLSkripts im Rahmen der Unit-Test oder Erstellen von Multiartefakten, die bisher mit Maven 1, Jelly
und ggf. weiteren Hilfswerkzeugen durchgeführt wurden, komplett mit Standard-Maven 2- Funktionalitäten sowie durch die Neuentwicklung von Maven 2-Plugins nachgebildet. Weiterhin
wurde das Erstellen des Assemblies (WAR-Datei, bestehend aus allen Modulen) ebenfalls auf Maven 2-Technologien umgestellt. Im Rahmen der Migration wurde ebenfalls evaluiert, welche
Schritte notwendig wären, eine spätere Migration auf Maven 3 durchzuführen.


Ebenso gehörte die Unterstützung der Entwickler und Architekten bzgl. Entwicklungswerkzeugen (Maven, Ant, Subversion) und Entwicklungsumgebungen (Eclipse, Eclipse-Plugins) zum täglichen Aufgabenbereich.

Maven 1 Maven 2 Maven 3 (beta) Subversion Cruisecontrol Hudson Java Continuous Integration Linux Eclipse Cfengine 2+3 Shellscript (bash) Entwicklung von Maven 2-Plugins VMWare ESX Ant Jelly Glassfish Velocity
InterComponentWare AG, Walldorf
1 Jahr 7 Monate
2006-12 - 2008-06

Deployment und Konfigurationsmanagement von Software-Anwendungen

Seebeyond eInsight SynergyCM ...

Zum Betrieb der fachlichen Geschäftsabwicklung waren im Projekt eine große Menge an Softwaresystemen (> 25) vorhanden, die über eine serviceorientierte Architektur verbunden waren. Diese SOA wurde technisch mit Seebeyond, eInsight und MQ-Series, teilweise auch mit Java CAPS,
realisiert. Die Hauptaufgabe des Projektes bestand darin, das Deployment für Seebeyond und eInsight durchzuführen; dies sowohl für Test-, Integrations- und Produktivsysteme. Die Zulieferung der Softwareversionen erfolgte durch externe Dienstleister. Vor dem Deployment der Software erfolgte das Konfigurationsmanagement, das sicherstellte, dass alle Lieferungen und Release- Stände reproduzierbar verwaltet wurden. Für diese Aufgabe wurde SynergyCM eingesetzt.

Im Kontext des Deployments waren oft Shellprogrammierungen mit der ksh und der bash notwendig. Dabei wurden in der Regel Skripte erstellt oder verbessert, die der Automatisierung des
Deployments oder der Unterstützung bei der Fehlersuche dienten. Im Rahmen kleinerer Projekte wurden, neben dem Deployment, durch mich die Wartung und Erweiterung bestehender J2EEAnwendungen durchgeführt.

Seebeyond eInsight SynergyCM SOA Java CAPS Deployment Konfigurationsmanagement Kammlinienmanagement Java Eclipse Solaris Linux HP-UX MQSeries Shellprogrammierung in ksh und bash Nagios RRD Cacti Subversion
BMWBank, München

Aus- und Weiterbildung

Aus- und Weiterbildung

1986-1996
Dienst als Bundeswehrsoldat. Reguläre Entlassung als
Oberfeldwebel der Reserve.
 
03/1996 - 07/1998
Ausbildung am Berufskolleg Isny, Prof. Dr. Grübler, zum Assistenten für Informations- und Kommunikationstechnik (AIK). Parallel dazu Erwerb der Fachhochschulreife. Erfolgreicher Abschluss beider Ausbildungsgänge im Juli 1998.

10/1998 - 07/2002
Informatikstudium an der Fachhochschule Isny, Regulärer Abschluss als Diplom-Informatiker (FH) mit Schwerpunkt Softwaretechnik.

Position

Position

DevOps Engineer

Buildmanagement

Releasemanagement

Continuous Integration

Configuration Management

Kompetenzen

Kompetenzen

Top-Skills

Kubernetes, Tekton, Helm

Produkte / Standards / Erfahrungen / Methoden

Continuous Integration
Git
Maven
Wildfly
  • Softwareentwicklung auf Basis von J2SE, J2EE
  • Entwicklung, Deployment und Releasemanagement mit Maven
  • Eclipse
  • XML Technologien
  • Testverfahren und Qualitätssicherung durch JUnit, JUnitDoclet, JunitReport, Clover
  • Continuous Integration mit Hudson und Jenkins
  • Subversion und Git
  • Ant
  • Apache Struts
  • Apache Web Server
  • Tomcat Servlet Engine
  • UML
  • Java Webstart
  • Java Native Interface (JNI) Entwicklung
  • Linux Systemadministration
  • Nagios Netzwerküberwachung
  • Cacti und RRD

Schwerpunkte und Qualifikationen

  • Build- und Releasemanagement
  • Containerisierung mit Buildah, Podman, Skopeo und Docker
  • Konfigurationsmanagement und Continuous Integration
  • Softwareentwicklung mit Java und Opensource

Betriebssysteme

Unix
Schwerpunkt Linux

Programmiersprachen

Go
Java
JavaScript
PL/SQL
Shell

Datenbanken

JDBC
MySQL
Oracle
Schwerpunkt 9i
Postgres
SQL
Kenntnisse in HSQL ebenfalls vorhanden.

Datenkommunikation

Ethernet
Internet, Intranet
Message Queuing
TCP/IP

Hardware

HP
UX
PC
SUN
Solaris

Branchen

Branchen

  • Internetdienstleister
  • Automobilzulieferer
  • Banken
  • Gesundheitswesen
  • Softwaredienstleister
  • eCommerce
  • Bundesbehörden
  • Logistik

Vertrauen Sie auf GULP

Im Bereich Freelancing
Im Bereich Arbeitnehmerüberlassung / Personalvermittlung

Fragen?

Rufen Sie uns an +49 89 500316-300 oder schreiben Sie uns:

Das GULP Freelancer-Portal

Direktester geht's nicht! Ganz einfach Freelancer finden und direkt Kontakt aufnehmen.