Fachlicher Schwerpunkt dieses Freiberuflers

DevOps, Linux, Open Source, Automation, Docker Container, Kubernetes, CI/CD Build-Pipelines, Monitoring, Python, Java

verfügbar ab
21.11.2020
verfügbar zu
100 %
davon vor Ort
100 %
PLZ-Gebiet, Land

D8

Städte
München
20 km
Remote-Einsatz
Remote jederzeit möglich
Kontaktwunsch

Ich möchte bevorzugt für Projekte in diesen Einsatzorten kontaktiert werden.

Kommentar

Bevorzugt: Region München,

Remote mit Einsätzen vor Ort <= 1x/Monat

Arbeitserlaubnis: EU Büger

Position

Kommentar
DevOps / Deployment Pipelines / Container / Monitoring
Scripting / Programmierung
Open Source Stacks / Linux
 
 
 

Projekte

10/2018 - 07/2019

10 Monate

Monitoring-Stack Provisioning Rewrite & Entkoppelung von Icinga2 Production und non-Production

Kunde
Payback
Projektinhalte

Nach dem Umzug von non-root Servern in fremden Rechenzentren auf Hardware in eigenen RZ, kann der Monitoring-Stack per Package Manager installiert werden.
Das ist Voraussetzung für viele weitere Verbesserungen, z.B. Versions-Updates, Authentication und Authorization via Redhat IdentityManagement, Entkoppelung von Production- und non-Production Umgebung.

  • Sourcecode von Subversion nach git (Atlassian bitbucket) umziehen
  • Rewrite des Ansible Provisioning Codes von selbstkompilierten Anwendungen auf Installationen via Package Manager
  • Entkoppelung von Production- und non-Production Umgebung durch separate Icinga2 Distributed Cluster
  • Verschlankung der ausufernden Monitoring Konfiguration durch Vererbungskonzepte in Ansible
  • Icinga2 Authentication und Authorization über das firmenweite Redhat IdentityManagement
  • Rundeck als grafisches Frontend für Ansible Runs mit versionierter Rundeck Konfiguration in git
  • Tagesgeschäft mit Useranfragen, Troubleshooting und Ticketbearbeitung

Key Win:

  • Provisioning des kompletten Monitoring-Stacks via OS Package Manager inkl. Update auf aktuelle Versionen
  • Entkoppelung von Icinga2 Production- und non-Production Umgebung
  • Vereinfachung der Icinga2 Konfiguration und Routinearbeiten
Kenntnisse

VMWare

CentOS 6/7

RedHat Enterprise Linux

RedHat Identity Management

Icinga2 Distributed Cluster

IcingaWeb2

Icinga2 BusinessProcesses

Canoo Webtest

Graphite

Grafana

ELK

Ansible

Puppet

Rundeck

Shell

Python

Perl

Atlassian Suite (Jira/ Bitbucket/ Confluence)

05/2017 - 02/2018

10 Monate

Automatisierung SAP Commerce Cloud Services

Rolle
Site Reliability Engineer
Kunde
Hybris AG
Projektinhalte

Ich bin kommisarischer Teamlead eines neu gegründeten, internationalen SRE Teams mit Einheiten Europa, Nordamerika und Asien. Ziel ist das automatisierte Deployment von internen Applications, die beim Ausrollen und im Betrieb von Hybris Shoplösungen genutzt werden. Außerdem soll das Provisionieren der Server automatisiert werden, auf denen die internen Applications laufen.

  • Konzept einer automatisierten Serverprovisionierung mit Ansible.
  • Konzept und Architektur eines Build- und Deployment-Systems basierend auf Jenkins als Buildtool und Ansible als Deploymenttool.
  • Ich schreibe den Großteil des Deploymentcodes in Ansible
  • Um den Deploymentcode effizient zu Entwickeln und Testen, baue ich eine lokale, Vagrant/Virtualbox basierte Umgebung, die jedes Teammitglied nutzt.
  • Anpassung bestehender Java/Maven Applikationen auf automatisches Building und Deployment mit Jenkins und Ansible
  • Abstimmung mit anderen involvierten Teams, Dokumentation des neuen Build-/Deploymentsystem, Einführung neuer Teammitglieder ins Build-/Deploymentsystem
  • Support und Troubleshooting des Entwicklerteams in allen Linuxfragen

Key Win:

  • Automatisiertes Server-Provisioning
  • Continous Integration, automatisietes Deployment
Kenntnisse

CentOS Linux

Vagrant/Virtualbox

Apache/mod_proxy

Java/Maven

Maven

Jenkins

Rundeck

Shell

Python

Atlassian Suite (Stash; Confluence; Jira)

02/2017 - 04/2017

3 Monate

Konzept und Realsierung eines Docker Swarms und einer Deployment-Pipeline für den Swarm

Rolle
Docker Swarm inkl. Deployment Pipeline
Kunde
Sat1/Pro7
Projektinhalte

Ein internes Tool zur Programmgestaltung soll hochverfügbar und skalierbar gemacht werden. Die Entwickler nutzen bereits Docker, um ihren Code manuell auf Test- und Productionrechner zu deployen. Das Tool soll über automatisierte Build- und Deployment-Pipelines gebaut und deployed werden.

  • Konzept/Umsetzung eines Docker Swarms und einer Docker Custom Registry für die Server des Tools auf physikalischen Servern.
  • Konzeption und Programmierung einer Jenkins Deployment-Pipeline, die aus dem Code der Entwickler Docker Container baut, welche in einer custom Docker Registry veröffentlicht werden, von der aus sie von Jenkins via Ansible in den Docker Swarm deployed werden.
  • Ansible Roles und Plays erstellen für das Provisionieren aller Server und das Deployment der Docker Container im Docker Swarm

Key Win:

  • Das Tool läuft hochverfügbar, skalierbar und ausfallsicher
  • Manuell angestoßener Deploymentprozess in Staging- und Production-Umgebungen, automatisiertes Deployment für die Development Umgebung
Kenntnisse

CentOS Linux

Docker

Docker Swarm

Docker Custom Registry

Vagrant/Virtualbox (für lokales Testen)

PostgreSQL

Python

NodeJS

Jenkins/Jenkins Pipeline PlugIns (scripted mit Groovy)

Ansible

git/Github

06/2015 - 03/2016

10 Monate

Neue Monitoring Infrastruktur

Rolle
Monitoring Infrastruktur
Kunde
Payback
Projektinhalte

Die Applikationen laufen auf hunderten von Servern in verschiedenen Rechenzentren weltweit. Am Stammsitz München werden Server- und Business-Metriken für alle Rechenzentren und Länder von einem zentralen Monitoringsystem erhoben und ausgewertet. Eine der Herausforderungen sind die strengen Sicherheitsrichtlinen der AMEX.

  • Technical Project Lead
  • Konzept und Realisierung eines automatisierten Builds und Deployments der Monitoring-Infrastruktur und -Konfiguration mit Ansible
  • Einrichten einer Vagrant-basierten Test- und Entwicklungsumgebung für das Deployment der Icinga2-Komponnenten mit Ansible
  • Planung und Umsetzung eines Icinga2 Distributed Cluster
  • Portierung der bestehenden Icinga1 Lösung auf dieses Cluster

Key Win:

  • Ein geordneter, versionierter und dokumentierter Build- und Deploymentprozess der Monitoring Komponenten führt zu einem wartbaren und leicht erweiterbaren Monitoring-System.
  • Icinga 1 durch dessen Nachfolger Icinga 2 ersetzt.
Kenntnisse

RHEL Linux

Ansible

Vagrant

Icinga 1+2

Gearman

Nagvis

Business Process View

Thruk

Apache2

Graphite

Grafana

Postgres

Python

Shell

Atlassian (Jira

Confluence)

Subversion

01/2011 - 06/2014

3 Jahre 6 Monate

verschiedene Projekte

Rolle
Softwareentwicklung und Operations
Kunde
gutefrage.net
Projektinhalte

Umbau der Applikation auf eine Service Orientierte Architektur

Nicht zuletzt für die mobilen gutefrage.net Apps wird die Kernapplikation neu geschrieben. Statt der vom PHP Framework vorgegebenen geschlossenen Architektur, wird eine modulare, service orientierte Architektur benötigt. Dazu werden große Teile der Applikation neu geschrieben, die nach und nach den bestehenden Code ersetzen. Außerdem können im Rahmen von Feature Switching Teile des Codes nach belieben an- und abgeschaltet, bzw. nur für bestimmte Nutzergruppen aktiviert werden. Als Sprache kommt Scala auf der Java Virtual Machine mit Finagle als Framework zum Einsatz.

  • Änderungen am Server-Provisioning in Chef
  • Monitoring für die Services
  • Tagesgeschäft mit Deployments, Troubleshooting und Tickets lösen

Key Win:

  • gemeinsame Code- und Infrastrukturbasis für Web- und Mobile App
  • Continous Deployment
  • Feature Switching

Technology Stack Umbau und Rechenzentrumsumzug Gutefrage.net

Nach der Entscheidung sich vom bisherigen Hoster/ Operationsdienstleister zu trennen, um die die komplette Infrastrutur in Eigenregie zu verwalten, wid ein 4-köpfiges, Operations Team gegründet, um

  • den Umzug in ein neues Rechenzentrum zu planen und durch zu führen, inkl Rechenzentrums- und Hardwareauswahl
  • die Provisionierung der initial ca. 80 Server und ca. 12 Servertypen zu automatisieren
  • auf die rasant wachsenden Zugriffszahlen zu reagieren durch radikalen Umbau des Technology Stacks auf leistungfähige, skalierbare, ausfallsichere Technologien
  • den Deploymentprozesses zu revolutionieren; von einem SCM Checkout hin zu einer gescripteten Variante mit Capistrano inkl. Canary-Testing und Cache Warmup.
    • automatisiertes Server-Provisioning der ca. 80 Server und ca. 12 Serverrollen mit Chef
    • Accesslogfiletransport und -processing ins/im Hadoop-Cluster
    • Canary-Deployments via Capistrano schreiben und ausführen
    • Setup & Configure Monitoring via Icinga2, OpenTSDB und PagerDuty

Key Win:

  • Zentralisierung des Konfigurationsmanagments, vollautomatisches Provisionieren von Servern in jede gewünschte Rolle „auf Knopfdruck“
  • Das neue RZ erfüllt die gesteigerten Bedürfnisse der gutefrage.net in Sachen Bandwidth, DDOS Prevention, Mass Emailing, etc.
  • Das gescriptete Deployment automatisiert und dokumentiert ehemals manuelle Schritte
  • Dank Canary-Deployment und exzessivem Monitoring werden Fehler schnell sichtbar
  • Der neue Stack ist leistungfähig, skalierbar und ausfallsicher

Relaunch Gutefrage.net & Logfile Analyse Tool

Ich kam zur Laufzeit des Projektes an Bord. Meine Arbeit war im Backendbereich angesiedelt mit Ziel der Optimierung von Datenbankstruktur und -abfragen. Desweiteren programmierte ich das Logfile Analyse Tool, das Daten der Accesslogs aller Applikatonsserver in einer SQL Datenbank speichert. Über ein Webfrontend können verschiedene Abfragen auf die Daten gefahren werden.

  • SQL-Query-Optimierung
  • Entwurf, Test und Durchführung der Datenbankmigration zum Relaunchtermin
  • Logfile Analyse Tool zum Vorhersagen zukünftiger Trafficentwicklungen

Key Win:

  • Facelift
  • Speed-Up der Applikation
  • Vorhersagetool zukünftiger Trafficentwicklungen für die vielen gutefrage.net Teilbereiche
Kenntnisse

Debian Linux

CentOS

Vmware

Mesos (Marathon/ Chronos)

Chef

Varnish

HAProxy

Apache/fpm

nginx

memcached

Redis

Solr

postfix

Nagios/Icinga

MySQL XtraDB Cluster

Cloudera Hadoop Cluster mit Flume

Hive

Hbase

openTSDB

Myrixx

etc.

Ruby

Python

SQL

Shell Scripting

Scala/Finagle

git

Atlassian Suite (Jira/ Confluence/ Crucible)

Scrum und Kanban

Test Driven Development

Pair Programming

PHP5/Symfony

04/2013 - 08/2013

5 Monate

Speziesübergreifende Strahlensyndrom-Datenbank

Kunde
Institut für Radiobiologie der Bundeswehr
Projektinhalte

Aufbau einer relationalen Datenbank mit Wissenschaftsdaten

Planung und Realisierung einer internen relationalen Datenbank mit medizinischen Werten humaner und non-humaner Opfer des akuten Strahlensyndroms. Zugriffskontrolle auf die Daten.

  • Datenbankdesign und Implementierung in MySQL.
  • Definition des Dateneingangsformats für non-human Data in Zusamenarbeit mit der University of Maryland.
  • OOP-PHP basierter Parser und Validator für die Eingangsdaten.
  • PHP/HTML/jQuery Webfrontend für Parser/Validator.
  • Datenimport von Humandaten aus der bestehenden SEARCH Datenbank (System for Evaluation and Archiving of Radiation Accidents Based on Victim Histories).

 

Key Win:

  • Direkte Vergleichbarkeit von humanen und non-humanen Krankheitsverläufen.
  • Fein abgestufte Zugangskontrolle auf die Daten.

Portierung der bestehenden MS Access SEARCH Datenbank auf MySQL

Die bestehende Datebank soll auf MySQL protiert werden, die existierenden Java- und MS Access Clients müssen lauffähig bleiben.

  • Portierung auf MySQL, Einziehen des Rechtemanagements, Erweiterng der Datenbank um eine Edit-History
  • Evaluierung der BI-Software Tableau als grafisches Frontend.

Key Win:

  • Zugangskontrolle auf die Daten.
  • Robuste, zukunfssichere, quelloffene Datenbanktechnik mit weitreichenden Zugriffskontrollfuntionen
Kenntnisse

Windows

Java

Tableau

MySQL 5.5 mit Views

Triggern und Stored Procedures

MS Access

PHP5

HTML

jQuery

MS Excel

10/2009 - 03/2010

6 Monate

Neuentwicklung eines Wall-Tattoo Internetshops

Projektinhalte

Die Evaluierung der Shopsysteme legte eine Eigenentwicklung nahe, da die speziellen Produkte des Shops nicht der gängigen Artikel-Logik folgen. Jedes Produkt besitzt ein sehr hohe Anzahl an Variationen, die sich nicht im Vornherein fest legen lassen.
Zudem müssen neue Artikel jederzeit on-the-fly generiert werden können. Eine „Walltattoo-Engine“ erstellt aus einem beliebigen, von Kunden hochladbaren Rasterbild eine Vektorgrafik. Der Plot der Vektorgrafik durch einen Vinylcutplotter wird über den Shop verkauft.

  • Evaluierung verschiedener freier und kommerzieller Shopsysteme.
  • Entwicklung einer webbasierten Walltattoo-Engine mit jQuery, Inkscape, ImageMagick und anderen Open-Source Grafiktools

Key Win:

  • webbasierte Raster-2-Vektor App mit Editor
Kenntnisse

Linux

PHP Backend

XHTML/jQuery Frontend

MySQL

Shell

Python

11/2009 - 12/2009

2 Monate

Zusammenlegung der Nähcommunities burdastyle.de und burdafashion.com

Projektinhalte

Beide Seiten sind technisch und inhaltlich vollständig getrennt.
Innerhalb eines ambitionierten Zeitplans müssen Userprofile, Usercontent, Shop und redaktioneller Conent beider Seiten in einer neuen Plattform zusammen geführt werden.

  • PHP Entwicklung innerhalb Chameleon
  • Frontendprogrammierung in XHTML, jQuery, CSS
  • Planung, Projektierung und Realisierung der Schnittstellen zu Burda-internen Bestellabwicklungs- und Warenwirtschaftssystemen.

Key Win:

  • eine neue, große Nähcommunity mit einem gemeinsamen Technologiestack
Kenntnisse

Linux

CMS/Shopsystem Chameleon (PHP)

Ruby on Rails

Shell

Python

04/2005 - 06/2009

4 Jahre 3 Monate

verschiedene Projekte

Projektinhalte

Neuentwicklung des Kernproduktes Yahoo Finance unter Nutzung der neuen Yahoo Publishing Suite

Finance soll das erste globale Media Produkt werden, das die vielen verschiedenen, individuellen Länderprodukte ablösen kann, ohne die marktführende Stellung des Produktes Yahoo Finance zu gefährden. Entwickelt wird in USA, Indien und Europa auf Grundlage der company-weiten, selbst entwickelten Publishing Suite (PHP5, XML, XSLT, RDF und verwandte Tools des W3C Semantic Web)

  • OO PHP5 Programmierung
  • Caching Strategien
  • Schnittstellen für den Import externer Daten

Key Win:

  • globale Platform statt regionaler Länderseiten, Ressourcenoptimierung, Möglichkeit von globalen Marketingkampagnen, Vergleichbarkeit von Marktdaten unterschiedlicher Länder, etc.

OO Perl Upload-Interface für Yahoos Video Streaming Platform

Meine Schnittstelle wird von internem Code benutzt, der Video Streams und dazu gehörige Video Metadaten unserer Lieferanten entgegen nimmt, um diese in das Yahoo Publishing System einzubinden, welches die Videos dann europaweit veröffentlicht.

  • Konzept und Progarmmierung eins Interface, das sich in die bestehende Architektur des europäischen Publishing Systems einfügt und die zentrale Schnittstelle für den Video-Upload auf die neue interne Video Streaming Platform per REST API realisiert.

Key Win:

  • Vereinheitlichung von zahlreichen unwartbaren, z.T. unperformanten Insellösungen zu Gunsten einer zentralen, europaweiten, robusten, modularen Schnittstelle inklusive high-performance Dublettenerkennungsmechnismus.

Entwicklung einer generischen PHP Frontend Caching-Lösung

Bestimmte Teile einer PHP generierten Seite sollen gecached werden, andere nicht. Ziel ist es, die Runtime-Performance unterschiedlicher Anwendungen stark zu steigern, ohne Funktionalitäten wie Werbung oder personalisierte Inhalte durch seitenweises Caching zu beschneiden. Derzeit wird mein Frontend Cache von den EU Kernprodukten Movies, TV und News benutzt.

  • Entwurf, Programmierung und Implementierung einer Schnittelle zu einem distribuierten In-Memory Cache als Storage Engine

 

Key Win:

  • Meine Lösung konnte die Performance mancher Applikationen signifikant (bis zu 4x) steigern. Sie hat sich auf Seiten mit hohem Traffic bewährt (Movies durchschnittlich 1 Mio Pageviews pro Tag, Peaks bis 10 Mio PV/Tag) und als stabil erwiesen.

Neufassung der europäischen Movies Plattform

Die europäischen Movies-Seiten, sollen SEO freundlicher werden. Der Zugriff auf die Movies Daten soll zentralisiert und vereinheitlicht werden.

  • Entwicklung einer PHP API als Schnittstelle zwischen der Kino-Datenbank () und den PHP-Seiten des Frontends.
  • Implementierung der Vorgaben für suchmaschinenoptimierte URLs mittels o.a. API und Apaches mod_rewrite.
  • Betreuung der Site nach ihrem Launch im März 2006 durch Bugfixes und punktuelle Verbesserungen.

 

Key Win:

  • Zugriff auf die europaweite Yahoo Movies Datenbank über eine einzige definierte Schnittstelle.
  • Steigerung der Pageviews und unique Users durch Suchmaschinenoptimierung.
Kenntnisse

FreeBSD 4.x und 6.x

RedHat Enterprise Linux 4 und 5

VMware

Apache

Squid

RESTful WebServices & ein reichhaltiges Inventar an Yahoo-internen Frameworks

Tools und Libraries

die auf OpenSource Technologien auf bauen für Package Management

Security Scanning

Monitoring- Logging- und Reporting- Tools

Virtualisierungstools

Anti-Abuse Libraries

Input-Validation und -Filtering

distributed Caching

Profiling Software

XML

XSL/XSLT

Semantic Web (RDF

RDFS

OWL)

HTML

CSS

JavaScript

Memory-Caching

OOP

Perl

Shell Scripting

SQL

CVS

Bugzilla

TWiki

agile Entwicklungsmethoden

vornehmlich Scrum

objektorientiertes Perl Perl

REST

PHP

MySQL

Shell

Projekthistorie

2005 - 1998: Der ganze Rest

  • Internetentwicklung für das deutsche Tiscali Portal (Oktober 2004 - März 2005)
  • Internetentwicklung und Serveradministration für Tiscali Games Portale (Januar 2003 - Oktober 2004)
  • Webbasierte Businesssoftware für den DSL-Provider streamgate (2001)
  • Entwicklung für APIS Picturemaxx (1999 - 2000)
  • Webdevelopment für die PopNet Communications AG (1998 - 1999)
  • Neufassung und Relaunch der Homepage des Babyartikelherstellers BabyStaab (1998)

Branchen

Internationale Konzerne
Internetportale
Sondermaschinenbau: Industrielle Lasermarkersysteme
Bürotechnik

Kompetenzen

Programmiersprachen
C
Java
JavaScript
PHP
Python
Ruby
Shell

Betriebssysteme
Mac OS
Grundkenntnisse
Unix
Linux, GNU: sehr gute Kenntnisse, Server+Desktop, Distributionen: Debian, Ubuntu, CentOS
Windows
Grundkenntnisse

Sprachkenntnisse
Deutsch
Muttersprache
Englisch
fliessend in Wort und Schrift
Französisch
Grundkenntnisse

Datenkommunikation
Ethernet
Internet, Intranet
Kenntnisse der einschlägigen Protokolle HTTP, FTP, SMTP, etc.
TCP/IP

Datenbanken
MySQL
sehr gute Kenntnisse
Postgres
Grundkenntnisse

Produkte / Standards / Erfahrungen

Container 

  • Docker
  • Docker Swarm

Virtualisierung

  • VirtualBox
  • LXC
  • Vagrant

Infrastructure as Code

  • Ansible

Continous Delivery

  • git
  • Jenkins
  • Artifactory

Metric-/ KPI-/ Data-Visualisation

  • InfluxDB
  • Graphite
  • Grafana

 

Methodik

  • Scrum
  • Kanban
  • Test Driven Development, ...

Server Provisioning & Management, Monitoring & Alerting

  • Ansible
  • Icinga2
  • Grafana

Build- & Deployment-Pipelines, Continous Integration/Delivery

  • Ansible
  • Rundeck
  • Jenkins
  • Pipeline PlugIns
  • Maven
  • Artifactory

Webserver, Loadbalancer, Proxies, Caches

  • Apache2 inkl. gängiger Module (php, fpm, rewrite, auth, proxy, etc.)
  • nginx
  • HAProxy
  • Redis
  • Memcache

Profil

In den vergangenen 20+ Jahren habe ich sowohl in großen internationalen Teams gearbeitet, als auch Projekte in Eigenregie gestemmt. Ich habe u.a. an komplexen high-traffic Seiten gearbeitet, immer auf dem aktuellen Stand der Technik. Es macht mir Spaß, mich in aktuelle Technologien ein zu arbeiten und bestehendes Wissen zu erweitern.

  • über 20 Jahre IT-Erfahrung
  • Teamplayer & Mensch
  • sehr gutes Englisch in Wort & Schrift

Bemerkungen

Soft Skills

  • gewissenhaft
  • teamfähig
  • qualitätsbewusst
  • selbständig
  • leistungsbereit
  • belastbar


Ausbildungshistorie

1988

Abitur