Skip to main content
Zurück zu Projekte

Enterprise SaaS Platform — CI/CD & Infrastructure Automation

Infrastructure-as-Code und Deployment-Automatisierung für eine Enterprise SaaS-Plattform

AnsibleBambooAzurePythonBashPowerShellElasticsearchHAProxyRedisRabbitMQActive DirectoryHyper-V

IT Operations Manager — Mai 2014 – Dez. 2017

Übersicht

Mitglied des IT Operations-Teams bei einem internationalen SaaS-Anbieter für eine Enterprise Digital Asset Management (DAM)-Plattform. Verantwortlich für Entwicklung und Betrieb der Plattforminfrastruktur und kundenspezifische Implementierungen über Multi-Server-Umgebungen.

Meine Rolle

IT Operations Manager — Konzeption und Aufbau der CI/CD-Pipeline von Grund auf. Entwurf der Ansible-Rollenarchitektur, Integration von Cloud- und Azure-Providern als Deployment-Ziele, Verwaltung der CI/CD-Pipeline-Konfiguration und Leitung von Enterprise-Kundenimplementierungen auf Multi-Server-Umgebungen.

DEPLOYMENT PIPELINE SOURCE Git Repository CI SERVER Bamboo INFRASTRUCTURE AS CODE Ansible Roles Azure Cloud Hyper-V Cluster On-Premises COMPONENT ARCHITECTURE HAProxy Load Balancer APPLICATION DAM Platform Rendering Monitoring Elasticsearch Redis RabbitMQ Graphite / Grafana

CI/CD-Pipeline & Infrastrukturautomatisierung

Infrastructure-as-Code-Plattform für reproduzierbare Multi-Umgebungs-Deployments

Problem

Die Plattform erforderte komplexe Multi-Tier-Infrastruktur — Elasticsearch-Cluster, Redis-Caches, RabbitMQ-Messaging, HAProxy Load Balancing, Windows Application Server und Rendering-Services — alles verteilt über mehrere Umgebungen. Deployments waren manuell, fehleranfällig und zeitaufwändig. Umgebungsparität war manuell nicht aufrechtzuerhalten.

Entwickelte Lösung

  • CI/CD-Integration — Orchestrierungsscripts ausgelöst durch die CI/CD-Plattform mit umgebungsspezifischen Parametern
  • VM-Provisionierung — Python API-Client zur Verwaltung des VM-Lebenszyklus (Erstellen, Klonen, Snapshot, Start/Stopp) über Cloud-Provider und Azure
  • Ansible-Automatisierung — 30+ wiederverwendbare Roles für Elasticsearch, Redis, RabbitMQ, HAProxy, Keepalived, ELK, Nagios und Applikations-Services
  • Multi-Service-Deployment — Automatisierte Installation einer Microservice-Architektur mit 11+ Services
  • Snapshot-basiertes Testen — Hyper-V Snapshot-Management für schnelle Umgebungsresets in Minuten statt Stunden
  • Metrikgesteuerte Deployments — Deployment-Zeiten an Graphite für Grafana-Dashboards zur Optimierung der langsamsten Phasen
  • Automatisiertes Testen — xUnit-Testrunner mit Mandantenbereitstellung, Testdatengenerierung und Ergebnisaggregation

Umgebungen

  • QA (x5) — Fünf parallele QA-Umgebungen für gleichzeitiges Testen
  • Development — Entwicklungsumgebung
  • Test — Dual-Instance Load-Balanced Testing
  • Staging — Staging mit Multi-Tenant-Kundenkonfigurationen
  • Production — Cloud-Produktionsumgebung

Enterprise-Kundenimplementierungen

Technische Leitung für Plattform-Deployments bei Enterprise-Kunden

Durchgeführte Arbeiten

  • Multi-Server-Deployments — Leitung der Installation und Konfiguration der SaaS-Plattform bei Enterprise-Kunden auf komplexen Multi-Server-Umgebungen
  • Umgebungsarchitektur — Entwurf von Servertopologien, zugeschnitten auf Kundengrösse und Anforderungen (Application Server, Search Cluster, Load Balancer, Storage)
  • Multi-Tenant-Bereitstellung — Automatisierte Mandanten-Erstellung mit umgebungsspezifischen Credentials, verwaltet via Ansible Vault
  • Sicherheit — Active Directory Domain-Integration, Kerberos-Authentifizierung, SSL-Zertifikatsverwaltung, verschlüsselte Secrets