Schlagwörter
Skills
- Identity- und Access Management
- Automatisierung
- Applikationsentwicklung und Archtiektur
liegen.
Da die Infrastruktur das Rückgrat jedes Dienstes darstellt, ist speziell dort eine hohe Qualität sehr wichtig. Diese erreiche ich mit einem hohen Grad von Automatisierung. Dabei übernehme ich sowohl die Archetektur, als auch die Koordination der Teams und Aufgaben, die zum Aufbau notwendig sind. Zusätzlich kann ich, falls notwendig auch bei der Implementierung unterstützen.
Mein besonderes Interesse liegt dabei im Bereich freier Software. So habe ich (siehe auch Projekthistorie) tiefgreifende Erfahrungen mit den modernen
Automatisierungwerkzeugen, speziell mit Ansible, Docker und Kubernetes (mitsamt Ökosystem)
Da die Anforderungen sehr individuell sein können habe ich tiefgreifende Erfahrung in der Architektur von komplexen Python Applikationen
auch mit anspruchsvollen Webapplikationen mit Django, Html5, CSS und Javascript
Ich habe fundiertes Fachwissen im Bereich von Identity and Access Management (IAM), sowie Rollenmanagement. Auch hier habe ich bereits große IAM Systeme konzeptioniert, aufgebaut und den Betrieb organisiert.
Projekthistorie
Ferner ist ein reibungsloser Betrieb sowie Deployment Prozesse sicherzustellen.
Aufgaben u.a. :
- Zieldefinition des Funktionsumfangs
- Definition der Architektur und der benötigten Datenmodelle
- Planung und Leitung der Entwicklungstätigkeiten
- Zielgerechte Fortschrittsberichte
- Definition der Zielinfrastruktur
- Python+Django zur Implementierung der REST-Schnittstelle und Darstellung der Daten
- Celery für asynchrone Task-Bearbeitung
- Prometheus zur Überwachung und Bereitstellung von Metriken
- Ansible zur Definition der Infrastruktur
- Docker + Kubernetes zur Bereitstellung
- OAuth / OIDC für eine moderne Berechtigungsverwaltung
- Spezifikation und Roadmap zum Vorgehen
- Wohldefinierte REST-Schnittstelle
- Definition der Teststrukturen und der QS
- Automatisiertes hochverfügbares Rollout
Aufgaben u.a. :
- Zieldefinition des Funktionsumfangs
- Definition der Architektur und der benötigten Datenmodelle
- Planung und Leitung der Entwicklungstätigkeiten
- Zielgerechte Fortschrittsberichte
- Definition der Zielinfrastruktur
- Python+Django zur Implementierung der REST-Schnittstelle und Darstellung der Daten
- Ansible zur Definition der Infrastruktur
- Docker + Kubernetes zur Bereitstellung
- OAuth / OIDC für eine moderne Berechtigungsverwaltung
- Spezifikation und Roadmap zum Vorgehen
- Wohldefinierte REST-Schnittstelle
- Definition der Teststrukturen und der QS
- Automatisiertes hochverfügbares Rollout
Aufgaben u.a. :
- Planung der Umstellung / Prozesse
- Definition benötigter Komponenten und Schnittstellen
- Entwicklung spezifischer Werkzeuge
- Beratung bezüglich einzusetzender Protokolle
- Erstellung von Projektarchitektur
- Python + Django zur Tool Entwicklung
- Ansible + Operator Framework zur Deployment Automatisierung
zu implementieren und zu warten.
Aufgaben u.a. :
- Zieldefinition einer REST - Schnittstelle zur SAP CPI
- Definition und Evaluierung eines geeigneten Datenmodells
- Entwicklung von Werkzeugen zum Auslesen der Schnittstelle
- Entwicklung von Werkzeugen zur Darstellung von Daten
- Definition der Zielinfrastruktur
- OpenApi zur Definition der Schnittstelle
- Ansible zur Definition der Infrastruktur
- Python+Django zur Implementierung der REST-Schnittstelle und Darstellung der Daten
- LDAP-Verzeichnis als Zielsystem für die Daten
- Spezifikation und Roadmap zum Vorgehen in der Migration
- Wohldefinierte REST-Schnittstelle
- Umfangreich erstellte und automatisiert getestete Schnittstellensoftware
- Automatisiertes hochverfügbares Rollout
Aufgaben u.a. :
- Automatisierte Bestellung und Provisionierung virtueller Maschinen
- Definition des Zielzustands, Beratung bezüglich BestPractices, geeigneter Struktur
- Entwicklung angepasster Ansible Module, Inventories
- Aufbau und Betrieb von diversen Werkzeugen
Verwendete Technologien u.a. :
- Ansible zum Aufbau und Provisionerung der Systeme
- Docker zum Applikationsdeployment
- Kubernetes(K3s) + Operators Zum Deployment einiger Applikationen
- AWX als Frontend für Ansible
- Gitea + DroneCI für automatisierte Tests und Codeverwaltung
Ergebnisse u.a. :
- Infrastruktur- und Betriebskonzept
- Pflege von VMS / Storages / ... durch Mitareiter ermöglicht (Excel -> VMWare)
- Automatisiert gewartete Systeme (AWX, Gitea, DroneCI, ...)
- Automatisiertes hochverfügbares Deployment
Sowohl die Prozesse als auch die Werkzeugketten sollten verschlankt werden.
Ferner ging es darum, Python Code zu optimieren und zu pflegen:
Aufgaben u.a. :
- Erstellung von Konzepten zur Automatisierung
- Vereinfachung der Infrastruktur
- Pflege und Erweiterung von Python Code
Verwendete Technologien u.a. :
-
HashiVault als Demo System für Credential Management
-
Python zur Weiterentwicklung von Modulen
-
Grafana zur Visualisierung
Ergebnisse u.a. :
- Konzept für ein einheitliches, zukunftssicheres Credential Management mit HashiVault
- PoC Hashivault System inkl. Workshops zur Einführung
- Konzept für ein zentrales Monitoring mit Prometheus
Eine heterogene historisch Gewachsene Infrastrukturlandschaft sollte automatisert und zukuntsfähig gemacht werden.
Dabei galt es ein zukunftssicheres und wenig betriebsaufwändiges Konzept zu entwickeln und umzusetzen.
Ferner waren Kenntnisse über SSO Systeme notwendig (SAML, OIDC), als auch die Implementierung eines rollenbasierten
Zugriffs- und Rechtekonzepts.
Aufgaben u.a. :
-
Konzeptionierung, Implementierung und Einführung eines automatisierten
Infrastrukturansatzes (Infrastructure as Code) -
Einführung eines Staging und Pipelining Konzepts für zuverlässige Updates
-
Überarbeitung des zentralen Logging Systems mit dezentralen Komponenten
-
Bau von Docker Images zwecks einfacher Verteilung
-
Evaluierung und Einführung eines Kubernetes Clusters zwecks späterer Überführung
der Infrastruktur -
SSO Beratung (Best Practices, Fehlerbehebung)
-
Python Entwicklung von Tools zur Infrastruktur Überwachung, Datenmigration, etc.
Verwendete Technologien u.a. :
-
Ansible zur Automatisierung der Infrastruktur
-
Python für Benutzer- und Firmenspezifische Werkzeuge und eigene Ansible Module
-
Gitlab CI/CD für automatisierte Deployments und Staging
-
Docker zur Kapselung der Applikationen, uniformes Deployment und Systemunabhängigkeit
-
Prometheus/cAdvisor/nodeExporter zur Systemüberwachung
-
fluentd + Graylog zur Aggregation von Logs
-
CentOS als Basissystem
-
Kubernetes für automatisiertes Container Rollout (POC)
Ergebnisse u.a. :
-
Etablierung einer automatisierten zuverlässigen wartbaren Umgebung
-
Einheitliches Konzept für eine heterogene Landschaft
-
Wissenstransfer an den Kunden zum Betrieb der neuen Infrastruktur
Aufgaben u.a. :
- Vermittlung von Monitoring/Alerting Konzepten
- Funktionsweise + Vor / Nachteile Prometheus
- Einsatz + Deployment von Prometheus in Azure Kubernetes
- Darstellung mit Hilfe von Grafana
- Erstellung eines PoC Systems
Verwendete Technologien u.a.:
- Prometheus + Alertmanager
- Grafana
- Docker
- Kubernetes
Ergebnisse u.a. :
- Funktionierendes PoC- System mit angeschlossenen Clients
- Dashboards mit Übersicht über die Systeme
- Plan zum weiteren Vorgehen
Aufgaben u.a.:
- Auswahl eine geeigneten SSO-Lösung
- Konzeptionierung und Aufbau der neuen Lösung (Keycloak + Shibboleth)
- Migrationskonzept der Altsysteme
- Betrieb und Sicherheitskonzept für die neue Lösung
- Keycloak (SSO Lösung) + Shibboleth (SSO Federation)
- Nginx (Reverseproxy für die SSO-Systeme)
- Python (Erstellen von Test-Clients, Demonstration Look-And-Feel)
- Ansible (Automatisiertes Deployment)
- Docker (Betrieb von Keycloak erfolgt in Docker Containern)
- Graylog (Zentrales Logging)
Ergebnisse u.a. :
- Einheitliches zukunftssicheres SSO eingeführt und dokumentiert
- Betrieb des Systems sichergestellt und Hochverfügbarkeit sichergestellt
- Kunde in SSO Protokollen geschult
Ferner sollten dem Kunden die Vorteile und Möglichkeiten von Containervirtualisierung mit Docker nähergebracht werden.
Aufgaben u.a. :
- Vorstellung von Ansible, AnsibleTower / AWX / Docker
- POC von Eigenanpassungen in Ansible (inventories, frontends)
- Analyse bestehender fachlicher und technischer Prozesse
- Beratung im Hinblick auf Verbesserungspotentiale
- Aufzeigen der Möglichkeiten der Containervirtualisierung
- Ansible
- Ansible Tower / AWX
- Docker
- Python
- Roadmap zum weiteren Vorgehen mit Ansible Tower / Awx
- Custom inventories
- Teilumsetzung von Prozessen
Eine monolithisch gebaute Applikation sollte in eine Microservice Architektur überführt werden.
Das Ziel war es, Delivery Pipelines zu konzeptionieren und vorzubereiten, sowie standardisierte
Methodik einzuführen, um eine nahtlose Überführung in ein Kubernetes Cluster zu ermöglichen.
Ferner sollte eine Monitoring Infrastruktur aufgebaut werden.
Aufgaben u.a. :
-
Etablierung eines neuen Automatisierungkonzepts
-
Etablierung von delivery pipelines
-
Vorbereitung und Umsetzung eines monitoring und alerting Konzepts
-
Beratung für künftiges Betriebskonzept
-
Etablierung einer Performanceanalyse der Applikation
Verwendete Technologien u.a. :
-
Ansible zur Automatisierung der Infrastruktur
-
Python für Benutzer- und Firmenspezifische Werkzeuge und eigene Ansible Module
-
Gitlab CI/CD für automatisierte Deployments und Staging
-
Selenium für Performanceanalyse
-
Docker zur Überführung in die Microservices Architektur
Ein großes IAM Projekt wurde ins Leben gerufen, um die
Berechtigungsvergabe künftig rollenbasiert zu ermöglichen.
Dabei sollte ein Großteil der Berechtigungen automatisch
aufgrund von Unternehmensstrukturen und Mitarbeiterinformationen
vergeben werden können. Der Rest sollte über ein maßgeschneidertes
Interface erfolgen. Es wurde ein unternehmensweites zuverlässiges
Rollenportal konzipiert und entwickelt.
Aufgaben u.a. :
-
Konzeptionierung eines unternehmensweiten Rollenmanagement Systems
-
Entwicklung eines kundenspezifischen Webinterfaces zur Rollenvergabe
-
Integration des Webinterfaces mit der MicroFocus Lösung
-
Training und Support der Mitarebeiter in der neugeschaffenen Lösung, sowie in Prozessen
-
Schaffung und Wartung einer zuverlässigen Infrastruktur
Verwendete Technologien u.a. :
-
Python + Django für das Backend
-
Angular für das Frontend (mehrere SinglePage Applications)
-
HTML5/CSS3/Bootstrap3 für das Frontend
-
SAML + Ldap zur Rollenvergabe und Anmeldung an der Applikation
-
Ansible + Docker für 1-Click Deployments
Ergebnisse u.a. :
-
Unternehmensweit genutztes Werkzeug zur Rollenvergabe
-
Unternehmensweit verwendetes Konzept zur rollenbasierten
Rechtevergabe -
Onlineübersicht über Unternehmensweite Strukturen
Ein Projekt im Bereich des Identity und Access managements
benötigte Beratung im Hinblick auf die künftige Entwicklung und
Architektur der Infrastruktur Umgebung sowie diverse Tools. Ferner
sollte eine manuell gepflegte VMWare Umgebung in
eine inhouse Cloud (Cloudstack) überführt werden.
Aufgaben u.a. :
-
Auswahl und Erstellung von Werkzeugen zur effizienten Verwaltung der Infrastruktur
-
Migration der Instanzen aus der VMWare Umgebung in die CloudStack Cloud
-
Entwicklung von Ansible Modulen
-
Qualitätssicherung und Dokumentation
-
Migration SLES11 -> SLES12
Verwendete Technologien u.a. :
-
Python zur Entwicklung von Werkzeugen und Ansible Modulen
-
Ansible zur Migration der Infrastruktur und Konfiguration der cloud
-
SLES12 als Basissytem
-
Django zur Visualisierung
Ergebnisse u.a. :
-
Ansible Module zur SLES 12 System und Package Registrierung
-
Diverse Python Werkzeuge u.a. zur Verwaltung von ACLs in der Cloud
und Bearbeitung des LDAP Schemas -
Automatische Migration aller bestehender Systeme in die Cloud
Der Kunde benötigte eine Überarbeitung seiner bestehenden
Systemlandschaft, um eine höhere Verfügbarkeit von Diensten
und sowie eine bessere Sichtbarkeit für kritische Systeme zu
gewährleisten. Zwecks dessen sollte u.a. ein Konzept für ein
zentralisiertes Logging erstellt werden
Aufgaben u.a. :
-
Design und Implementierung der Automatisierung
des Update und Deployment Prozesses -
Qualitätssicherung durch Einführung einger zentralisierten Monitoring
und Logging Lösung -
Entwicklung von kundenspezifischen Werkzeugen für täglichen Ldap Betrieb
-
Installation und Wartung von SSO Systemen
-
Unterstützung und Beratung in Ldap / Infrastruktur / SSO Fragen
Verwendete Technologien u.a. :
-
Ansible zur Automatisierung der Infrastruktur
-
Python für Benutzer- und Firmenspezifische Werkzeuge
-
nxlog + graylog + rsyslog für zentrale Logging Infrastruktur
-
Novell eDirectory als Ldap Server
-
Shibboleth als SSO idp
-
SLES11 als Basissystem
-
git zur Versionierung von Code, Konfiguration und Dokumentation
Ergebnisse u.a. :
-
Drastische Beschleunigung (ca 20x) des Realease und Update
Prozesses so wie Steigerung der Zuverlässigkeit -
Erweiterung der python-ldap Library durch vereinfachte Funktionen
-
Einführung einer zentralisierten Logging Lösung inklusive Filterung
und Alerting
Der Kunde benötigte eine Überarbeitung seiner bestehenden
Systemlandschaft, um eine höhere Verfügbarkeit von Diensten
und sowie eine bessere Sichtbarkeit für kritische Systeme zu
gewährleisten. Zwecks dessen sollte u.a. ein Konzept für ein
zentralisiertes Logging erstellt werden
Aufgaben u.a. :
-
Design und Implementierung der Automatisierung
des Update und Deployment Prozesses -
Qualitätssicherung durch Einführung einger zentralisierten Monitoring
und Logging Lösung -
Entwicklung von kundenspezifischen Werkzeugen für täglichen Ldap Betrieb
-
Installation und Wartung von SSO Systemen
-
Unterstützung und Beratung in Ldap / Infrastruktur / SSO Fragen
Verwendete Technologien u.a. :
-
Ansible zur Automatisierung der Infrastruktur
-
Python für Benutzer- und Firmenspezifische Werkzeuge
-
nxlog + graylog + rsyslog für zentrale Logging Infrastruktur
-
Novell eDirectory als Ldap Server
-
Shibboleth als SSO idp
-
SLES11 als Basissystem
-
git zur Versionierung von Code, Konfiguration und Dokumentation
Ergebnisse u.a. :
-
Drastische Beschleunigung (ca 20x) des Realease und Update
Prozesses so wie Steigerung der Zuverlässigkeit -
Erweiterung der python-ldap Library durch vereinfachte Funktionen
-
Einführung einer zentralisierten Logging Lösung inklusive Filterung
und Alerting
Sehr alter c++ code sollte von Solaris nach Linux migriert werden.
Es sollten dabei kritische Stellen (endianness) identifiziert und
korrigiert werden.
Aufgaben u.a. :
-
Entwicklung von Werkzeugen zur Code und daten Analyse
-
Qualitätssicherung
-
Einführung von Python als Scriptsprache in der Abteilung,
Trainings in Python -
Beratung im Hinblick auf Migration nach git
Verwendete Technologien u.a. :
-
Python zur Code / Datenanalyse
-
git als Versionsverwaltung
-
Debian als Basissystem
Ergebnisse u.a. :
-
Werkzeuge zur automatischen Bestimmung der Codeabdeckung
und dynamischerCodechecker für alten
c++ Code basierend auf gcov -
Python mitsamt Ökosystem ist etabliert worden
Ein großes Social Media Projekt benötigte Unterstützung in Bereichen Performance
und Qualitätssicherung
Aufgaben u.a. :
-
Organisation des Cloud Netzwerks (Debian)
-
Unterstützung der Entwickler
-
Konfiguration von OpenSource Werkzeugen zur Qualitätssicherung
und Dokumentation -
Implementierung von Performance Tests
-
Implementierung automatisierter Reports zur Code Qualität
und Performance
Verwendete Technologien u.a. :
-
Python + Django zur Tool Entwicklung
-
Sonar zur statischen Codeanalyse
-
OpenLdap zur Berechtigungsverwaltung
Ergebnisse u.a. :
-
Benutzerspezifisches Wiki + Dokumentationsapplikation
-
Django Webapplikation, die die Performance der Applikation
testet und Berichte erstellt -
Verbesserte Codequalität durch Steigerung der Testabdeckung
(+ ~30%) und Eliminierung potentieller Schwachstellen