Berufserfahrung
Kunde: eigenes Projekt
Aufgaben:
Entwicklung einer IPhone-App zur Personalbeschaffung mit KI-basiertem Jobemp-fehlungsbackend
- Entwicklung einer iPhone-App für die Personalbeschaffung in SwiftUI
- Entwicklung eines Python-Server-API-Backends in Flask mit komplexem Pfadrouting und Entwicklung des KI-basierten Job-Empfehlungs-Backends
- Verwendung von Poetry als Python-Paketverteilungswerkzeug und Gunicorn Application Server
- Anmietung eines VServers und Bereitstellung des Backend-Stacks mit Ansible auf diesem Server sowie Serverkonfiguration mit Ansible unter Verwendung von Nginx, Letsencrypt und Podman
- Lösung komplexer Bibliothekssuchprobleme (CocoaPods SwiftUI Paketmanager)
- Herbeiführen einer Lösung, wie man Bibliotheks-Suchpfade mit übergeordneter Projektkonfiguration im XCode-Projekt intelligent setzen kann
- Entwicklung eines Container Build- und Deploymenttools in Python für das Backend
- Schreiben von Python-Unittests
Einsatzort: Hamburg
Kunde: mecom Medien-Communications-Gesellschaft mbH
Aufgaben:
Betrieb der hochverfügbaren IT-Platform zur Nachrichtenübermittlung für die Deutsche Presse Agentur (dpa) und deutschen Behörden
- Deaktivierung des rsyncd-Dienstes für das Node-Backup auf mehreren Servern, die auf die Verwendung von rsync+ssh-Transport über Ansible und systemd (Debian) und xinetd (SLES10) umgestellt wurden
- Bereitstellung von KVM-Hypervisor-Servern sowie von VMs und Kubernetes-Clustern mit Ansible
- Installieren und Testen von Server-Hardware auf ihre Eignung als Cell-Broadcast-Instanz für das deutsche DE-Alert-System bei einem deutschen Mobilfunkanbieter unter Verwendung von Alarmierungsdaten-Feeds aus Satellitensystemen
- Entwicklung und Design von Deployment-Prozessen für einen Microservice-basierten Software-Stack in Kubernetes unter Verwendung von Gitlab CI (Umgebungen wie Test, Integration, Staging und Production sowie personalisierte Testumgebungen in Kubernetes-Namespaces für Entwickler)
- Einsatz von GitLab-Runnern unter Verwendung einer bestehenden Ansible-Rolle sowie Berücksichtigung von Sicherheitsaspekten
- Entwicklung/Erweiterung/Überarbeitung (bereits vorhandener) Ansible-Rollen und Playbooks für proftpd, ssh-key-Rollout, sudo-Regeln-Rollout, Erstellung von Benutzern/Gruppen, Diskussion der besten Verwendung dieser Rollen mit den vorhandenen Teammitgliedern (z.B. Sicherheitsaspekte)
- Bereitstellung von Java-Anwendungen auf Linux-Servern (Entwicklung und Bereitstellung von systemd-Units zur Verwaltung von Java-Dienstprozessen, Konfiguration von Java-Springprofilen pro Umgebung, Konfiguration von Verbindungen zwischen Diensten, Analyse von Protokolldateien)
- Koordination mit dem Netzwerkteam für den Rollout von physischen Linux-Servern mit mehreren Hosts (IP-Adressmanagement-Server IPv4 & IPv6, gleiches Subnetz auf mehreren Interfaces, Network-Namespaces)
- Koordinierung, Planung und Einführung von Linux-VMs für das QS-Team (Koordinierung mit dem Netzwerkteam bezüglich der IP-Zuweisung in verschiedenen Netzwerksicherheitszonen, Koordinierung mit dem QS-Team bezüglich der Anforderungen an die VM, auf der das Test-Framework läuft, Entwicklung von Ansible-Code und Einführung der VM-Bereitstellung auf der Grundlage von KVM und PXE-Installation unter Verwendung eines temporären Install-IP-Netzwerks)
Einsatzort: München
Kunde: Knauf Digital GmbH
Aufgaben:
Aufbau einer digitalen IT-Infrastruktur als Backend für Knauf-CAD-Software-Plugins sowie Backend-Entwicklung und Hosting-Konzeption für webbasierte Anwendung von Knauf Digital
- Migrieren mehrerer Azure AppService-Anwendungen zu Kubernetes (AKS) (next.js und Java-Prozesse)
- Erstellen von GitHub Action-Workflows zur Bereitstellung von Terraform-Ressourcen auf Azure unter Verwendung einer GitHub Actions-Matrix zur Unterscheidung zwischen Umgebungen
- Erstellen von Helm-Charts für interne Geschäftsanwendungen (Frontend, Backend, Reporter, Dateigenerator, Datenpipeline)
- Einsatz von ArgoCD unter Verwendung von GitHub Actions und deklarative Einrichtung von ArgoCD-Anwendungen, Projekten, Repositories, Kubernetes-Clustern inkl. Setzen von Kubernetes-Berechtigungen in Projekten
- Bereitstellung von NginX Ingess Controller für Kubernetes (AKS)
- Einrichten von automatischen DNS-Namen in Azure Cloudapp Subdomain mit Kubernetes Annotations
- Code-Reviews für den Release-Management-Prozess mit GitHub-Aktionen (Build-Release mit Docker-Image-Tags und Git-Commit-Hashes)
- Dynamische Bereitstellung von geheimen Anmeldeinformationen unter Verwendung von GitHub-Actions-Secrets (und deren Weitergabe an den GitHub-Actions-Workflow für die Helm-Bereitstellung)
- Diskussion generischer Anwendungs- und Infrastrukturarchitekturen mit anderen Teammitgliedern
- Ändern/Migrieren von GitHub-Actions, die eine Datenpipeline (Kedro) ausführen, um als Kubernetes-Job zu laufen (Kedro-Container & Init-Container zum Bereitstellen der Eingabedaten)
- Entwurf der Bereitstellung eines Azure Application Gateway Ingress Controllers (AGIC) mit dem offiziellen Terraform-Modul in einem Greenfield-Projekt
- Wiederverwendung und Anpassung bestehender Terraform-Module für Azure VNETs zur Verwendung in einem neuen Greenfield-Projekt
Einsatzort: Berlin
Kunde: Deutsche Post DHL IT Services GmbH
Aufgaben:
Weiterentwicklung der auf CentOS6 und RHEL6 betriebenen IT-Platform sowie Migration dieser nach Kubernetes
- Code-Review für Puppet-Code für Minio S3-Dateispeicher Prometheus Monitoring und Minio-Paket-Upgrade
- Simulation des Ausfalls von Kubernetes-Clusterknoten in mehreren Kubernetes-Clustern
- und Erstellen von Prozeduren, um diese Knoten wiederherzustellen
- Evaluation mehrerer LoadBalancer-Szenarien für den kube-api-Server (Kubernetes Pods), d. h. HAProxy, NGinX, Keepalived (basierend auf virtueller IP), envoy oder kube-vip container
- Code-Review der Dokumentation diverser Build-Chains (README.md) für die Infrastruktur-Deployment und Zusammenstellung von Maßnahmen zur Verbesserung der Gesamtdokumentation
- Bewertung von HelmFile-Deployments im Vergleich zu Helm-Deployments (Kubernetes, Manifeste, Vorlagen)
- Implementierung der LoadBalancer-Deployments mit TeamCity (Image-Erstellung) und Terraform mit Keepalived und NginX (L4 Failover IP, L7 Loadbalancing)
- Überprüfung eines dreistufigen Firewall-Konzepts (HW-Firewall-Regeln, SecurityGroups in OpenNebula, Ku-bernetes NetworkPolicies)
- Anpassen von OpenNebula Puppet-Manifesten sowie Ruby DSL-Typen und -providern zum Erstellen von Netzwerkadressbereichen, deren IP-Bereiche vom OpenNebula DHCP-Server zum Bereitstellen statischer IP-Adressen gehalten werden
- Setzen von Kubernetes Cluster Join Tokens auf Null TTL zur Mitigation von Race-Conditions auf Cluster Node Join (Kubernetes Cluster Bootstrapped mit Terraform
Einsatzort: Amsterdam, Niederlande/Berlin, Deutschland
Kunde: Vattenfall Europe Information Services GmbH
Aufgaben:
Betrieb und Weiterentwicklung interner Kubernetes-basierter IT-Anwendungen
- Istio-Service-Mesh-Deployment zur sicheren und policybasierten Weiterleitung des Datenverkehrs in und aus Kubernetes
- ArgoCD Kubernetes-Deployment auf Azure AKS
- Fehlerbehebung bei K8s-Clustern (cgroups in service)
- Definieren der korrekten Werte für die Ausführung von K8s auf RHEL 7 im kubespray Ansible Playbook
- Skalieren von K8s-Clustern mit Kubespray
- Entwickeln von Istio Ingress Gateway Kubernetes Manifesten, Debuggen von Kubernetes-Netzwerkproblemen
- Evaluation von Möglichkeiten, Protokolldateien des Dynatrace OneAgent zu logrotieren (K8s-helm-hooks / Lifecyle-Skripte, Ansible-Playbook, Dynatrace-Funktion für interne Protokollrotation).
- Anpassen von K8s-Helmcharts (Grafana für Istio-Subpfad, unter dem es aufgerufen wird)
- Bereitstellung von Istio Kiali, Grafana, Prometheus und Jaeger Dashboards in K8s
- Integration des in Istio gebundelden Grafanas und Prometheus in eine bestehende Kundeninstallation (scrape_configs, secrets).
- Laden von Istio Grafana-Dashboards in eine vorhandene Installation
- Erarbeiten einer Möglichkeit, HostPort-Konfigurationen in ein Deployment-Template des Istio Ingress Gateway aufzunehmen und die zugehörigen Konfigurationsdaten in eine umgebungsspezifische Konfigurationsdatei zu verschieben
- mTLS-Deployment auf Istio Ingress Gateway
- Eskalieren spezifischer K8s / Istio-Fragen zu Stackoverflow und Rückführung von Lösungen in die Systemumgebung
- Entwickeln eines Deployment- und Configmap-Helmtemplates zum Hinzufügen einer Hostport-Konfiguration zum Istio-Ingressgateway-Deployment mit Hilfe von istioctl, Python und einem IstioControlPlane-Konfigurations-Overlay-Manifest
- Verfolgen von Änderungsanforderungen und Standardänderungsprozessen für Upgrade-Prozesse (OS, K8s)
- Fehlerbehebung bei Kubernetes Pod-Evictions aufgrund von K8s-Tolerations / Taints (Ressourcenprobleme)
- Installation und Betrieb des Windows-Subsystem für Linux als Arbeitsumgebung (Einrichtung von Artifactory APT-Spiegel inkl. Authentifizierung)
- Untersuchen von OOMKilled-Problemen mit bestimmten Pods in Kubernetes (Ressourcenprobleme)
- Unterstützung bei Aufgaben zur Erweiterung von Kubernetes-Clustern
- Deaktivieren von PodDisruptionBudgets im Istio-Deployment (helm chart) für ein Kubernetes-Upgrade
- Migration mehrerer Confluence- und Jira-Instanzen von on-premise zu Kubernetes (Lösen von Backup-Dump-Import-Problemen, Verifizierung der Datenbankparameter der Confluence- und Jira-Datenbanken in MSSQL, Lösen von Icon-Display-Problemen mit Internet Explorer 11 und Apache Reverse Proxy (HTTP header), Rücksetzen des Admin-Accounts aufgrund von Login-Problemen)
Einsatzort: Berlin
Kunde: Kapsch Telematic Services GmbH Deutschland
Aufgaben:
Aufbau des IT-Betriebs der einzuführenden PKW-Maut in Deutschland
- Erstellen eines Virtual Machine Scale Set in Microsoft Azure für das Deployment der Atlassian Confluence und Jira Datacenter Version sowie Migration von der Confluence- und Jira-Cloud-Version
- Hinzufügen von Netzwerkadaptern in das Virtual Machine Scale Set unter Benutzung der Windows PowerShell für den ungeproxiten Applicaton Link zwischen Confluence und Jira, da der Azure Application Gateway von Atlassian für den Application Link nicht unterstützt wurde
- Einrichten von Integrations und Pre-Acceptance-Umgebungen für das Fabasoft Dokumenten Management System
- Evaluation einer Jira-issue-Synchronisation mit den Plugins Backbone Issue Sync und Orasi ConnectAll zwischen zwei Jira-Instanzen unter Benutzung eines HTTPS-Proxies
- Konfiguration einer Jira ? Gitlab Synchronisation
- Debuggen von Jira ScriptRunner Plugin Problemen (NULL Werte in Skript)
- Finden eines Plugins für Jira, das ein Readonly-Custom-Feld in den Edit- und Transition-Screens einer Workflow-Transition erhöht (Evaluation des ScriptRunner scripted fields)
- Administration einer Kubernetes Microservice basierten Architektur
- Unterstützen der Tester im Setup ihrer Testing-Toolchain (kubectl, kubetail, kubectx, kubens, Postman REST-calls, RabbitMQ)
- Mitarbeit im Aufbau des Rechenzentrums (Equinix), um die Kubernetes-Workload-Applikationen der deutschen PKW-Maut-Erhebung unter Benutzung von Pivotal Cloud Foundry, VMWare Vsphere, ESXi, NSX-T und BOSH zu betreiben
Einsatzort: Frankfurt am Main
Kunde: MRM McCann GmbH
Aufgaben:
Betrieb und Migration der vorhandenen IT-Umgebung
- Migration von PHP5 nach PHP7 auf Debian Linux unter Benutzung von Puppet
- Administration von JIRA Workflows, Custom fields, Screens
- Erhöhung des Festplattenspeichers von VMWare VMs und Linux-Dateisystem (LVM)
- Installation von Centreon Monitoring zur Icinga-Konfigurationsgenerierung
- Installation von ruby gems auf Debian Linux
- Icinga-Monitoring Setup für Server / VMs
- Schematischer organisierter Reboot von Servern / VMs nach Kernel-Upgrade
- Verwaltung von HA für NFS, Virtual IP
- Migration von Puppet nach Ansible als Konfigurationsmanagementsystem
Einsatzort: Nürnberg
Kunde: noris network AG
Aufgaben:
Weiterentwicklung der Konfigurationsmanagementinfrastruktur und IT-Platform
- Erstellung von Puppet Rollen für Nagios und collectd in einem existierenden Rollen/Profil-Konzept, Analyse und Nutzung von bestehenden Puppet Modulen
- Definition von Datenformatstandards für den Export von öffentlichen SSH Schlüsseln via eines Rest API information service in einer Arbeitsgruppe, der die Keys aus dem Active Directory bereitstellt, um mittels eines Puppet Modules (Nutzung von hiera_http) importiert werden zu können
- Entwicklung und Deployment eines Shell-Scripts mittels Puppet, um eine CSV Datei mit öffentlichen SSH Schlüsseln mit einer Sicherheitslogik für den Import ins Active Directory bereitzustellen
- Mitarbeit in der Implementierung von Puppet Klassen für SUSE Linux Enterprise Server
- Anbindung von SUSE Linux Enterprise Servern an Puppet
- Erstellung von Puppet Manifesten und Custom Facts für die Implementierung von dynamischen Nagios Disk Checks (Implementierung von prozentualen und absoluten Schwellen für die Disks, iteratives Zurückgeben von Mountpoints und deren Größe als Hash im Fact (Ruby), Puppet template Iteration)
- Steuern des korrekten Setzens von Puppet Konfigurationsparametern (stringify_facts und future parser) in einer alten Puppet Installation
- Implementierung von Active Directory-Authentifizierung von Linux Maschinen mittels Puppet
Einsatzort: Berlin
Kunde: MYTOYS GROUP GmbH
Aufgaben:
Betrieb-, Migration und Weiterentwicklung der E-Commerce Webplattform
- Deployment von CentOS-VMWare vCenter VMs mittels Ansible
- Deployment von Tomcat-Instanzen mit Ansible unter Anwendung verschiedener Konfigurationen (JNDI datasources)
- Development von Jenkins Jobs für Tomcat application deployment
- Development von Graphite statsd mittels Ansible Rollen
- Deployment von Apache, Graphite, NodeJS, collectd und statsd mittels Ansible
- Standardization von Oracle connection-strings (Service names) per Anwendung
- Erstellung von parametrisierten Jenkins Deployment Jobs für ein Blue/Green Deployment von Apache Solr-Cluster Content (data importer, replication)
Einsatzort: Tornesch
Kunde: Hanseatisches Wein- und Sekt-Kontor Hawesko GmbH
Aufgaben:
Migration einer E-Commerce Platform von einem externen Anbieter
- Konfiguration von HAProxy für ein Webbackend (Backend, Rewrite)
- Evaluation / Test von Icinga2, Graphite und Grafana Monitoring-Lösungen
Einsatzort: Hamburg
Kunde: Lotto24 AG
Aufgaben:
Migration einer E-Commerce
Platform von einem externen Anbieter / Entwicklung Deployment / Provisionierung
- Mitarbeit
im Migrationsprojekt für NTP, SSH, Apache, Tomcat, Build services/CI und
Entwicklung bestimmter Dienste von einem Rechenzentrum in ein anderes unter
Anwendung von dynamischer Provisionierung von Hosts, Diensten und Applikationen
- Implementierung
von Puppet Modulen für bestimmte Dienste (z.B. NTP, user + group management,
SSH key management, package deployment, SSHd configuration, sudo, Python PIP
package management mit eigenem Mirror,
YUM package manager)
- Implementierung
und Erweiterung von Betriebssystemprovisierungsprozessen (Kickstart, Vagrant,
Foreman, Puppet, Ansible)
- Design
und Implementierung von Ansible Playbooks und Entwicklung der Check-Daten für
Icinga2 (Master, Clients, Icinga2web) mit Verteilung über mehrere Rechenzentren
/ Server locations von Basis und JMX, AJP und HTTP Checks aus existierenden
unterschiedlich aufgebauten Ansible Playbooks und Infrastructure beschreibenden
Build XML Konfigurationsdaten
- Implementierung/Import/Anpassung
und Anwendung von Ansible Playbooks (z.B. Postfix MTA, ActiveMQ, Atlassian
Fisheye)
- Einrichtung
von Zimbra Collaboration mit Mail Routing, Alias- sowie Filter-Regeln für
mehrere Domains
- Continuous
Integration
Einsatzort: Leipzig
Kunde: EWERK RZ GmbH
Aufgaben:
Systemadministration im Linux- und OpenSource-Umfeld
- Security Patch management von SUSE Linux Enterprise Server und Debian Linux Server Systemen
- Service monitoring mit Nagios/Icinga
- VMWare vCenter Management
- Networking
- Entwicklung von Nagios/Icinga Plugins für das Monitoring des Systempatchlevels
- CVS-Server Verwaltung
- Debian Package Repository Mirroring
- Betrieb von Java CLI Applikationen
Einsatzort: Berlin
Kunde: Kombinat - Agentur für Informationsgestaltung GmbH
Aufgaben:
Installation eines HTTP SSL Proxy vor einem Varnish Cache vor einer Magento E-Commerce Platform
- Analyse des Fehlens von SSL Unterstützung in der Software Varnish Cache
- Recherche zur Problematik fehlerhaften Bewertens der Entscheidung der Generierung von HTTPS-Seiten in Magento E-Commerce
- Aufsetzen eines SSL HTTP Proxy Servers (nginx) vor einem Varnish Cache, der sich vor einer Magento E-Commerce Installation (Apache HTTP Server) befindet
- Setzen eines http Headers im SSL Proxy, zur Markierung der Verbindung von HTTPS
- Einstellen einer Auswertung des HTTP-Markierungsheaders in der Webserverkonfiguration der Magento E-Commerce Installation
Einsatzort: Hannover
Kunde: Nurago GmbH
Aufgaben:
Analyse und Standardisierung einer Puppet Configuration Management Installation, Entwick-lung von Puppet Klassen zur Konfigurationsautomatisierung unter Linux
- Analyse der Abweichungen von der Spezifikationsdefinition einer nicht konformen Implementierung einer Puppet-Instanz
- Harmonisierung von Abweichungen und technische Projektplanung der Herstellung der an Puppet-Standards orientierenden Klassenhierarchie
- Strukturierung / Deduplizierung benutzter Puppetsprachgrammatik
- Bildung von datenbetriebenen Puppet-Codesprachelementen
- Anwendung von Code-Standards gemäß der Puppet-Sprachspezifikation
- Planung eines Prozesses bzw. Zyklus für den Deployment und Releaseprozess von Puppet-Programmcode
- Erweiterung des Standardaufbaus der Klassenstruktur um standardklassendefinierende parametrisierende Klassen (u.a. SSH, Syslog, APT, PHP)
- Analyse von Puppet / Ruby-Bugs und Ableitung und Bestimmung von Handlungsmaßnahmen
- Entwicklung eines Puppet Modules zum automatisierten datengestützten Deployment von Benutzerkonten unter erlaubten Zeiträumen
Einsatzort: Hamburg
Kunde: Otto GmbH & Co KG
Aufgaben:
Konsolidierung der Konfigurationen von Web-Applikationen (Web-Shops), Erweiterung der Konfigurationsautomatisierung mittels Puppet
- Automatisierung des Rollouts mehrerer Kundenplatformen (Webshops) mehrerer Instanzen (Testing, Staging, Live), Abbildung synergistischer Konfigurationsparameter
- Entwicklung von Puppet-Templates zur Vereinheitlichung (Standardisierung) von festgelegten Deploymentstandardisierungen sowie hierarchische Abbildung von Parametern mittels Puppet Hiera (YAML Backend)
- Konsolidierung teilweise gleich operierender Shell-Deployment-Skripte für mehrere Webshops (Zusammenführung/Gemeinsame Nutzung von übergreifenden Parametern, bspw. Datenbankeinstellungen, Platform- und instanzrelevante Einstellungen)
- Komplexer Vergleich der Konfigurationen (Apache, Tomcat Cluster, Systemumgebungsdateien, Datenquellen) mehrerer Instanzen verschiedener Webplatformen, Ableitung der Konfigurationskonsolidierung