Aufbau einer modernen DevOps-Pipeline und eines digitalen Self-Service-Portals für ein mittelständisches Recyclingunternehmen
Akademisches Praxisprojekt in Softwareentwicklung und IT-Operations
Einführung
Dieses Praxisprojekt wurde bei einem zertifizierten Entsorgungsunternehmen durchgeführt, das sich auf die Wiederverwertung von Holz spezialisiert. Das Hauptziel war die Gestaltung und Implementierung eines modernen Development- und IT-Operations-Zyklus sowie eines digitalen Kundenportals, das in die Unternehmensprozesse integriert wurde.
Die Arbeit konzentrierte sich auf zwei Kernaspekte. Erstens die Einrichtung einer DevOps-Umgebung, die kontinuierliche Entwicklung, Integration, Deployment und Betrieb des Portals unterstützt. Zweitens die Konzeption und Implementierung eines webbasierten Kundenportals, das die Kundenbindung verbessert, indem es transparenten Zugang zu Wiegedaten, Verträgen, Rechnungen und Controlling-Informationen bietet und die internen Wiege- und Entsorgungsprozesse optimiert.
Das Projekt adressierte mehrere Herausforderungen im täglichen Betrieb des Unternehmens, einschließlich ineffizienter Kundenkommunikation, begrenzter Dokumentenverfügbarkeit und manueller administrativer Prozesse, die durch Digitalisierung optimiert werden konnten.
Grundlagen und Anforderungen
Anforderungsanalyse
Das Projekt begann mit einer umfassenden Anforderungsanalyse durch Interviews mit Management und Mitarbeitern. Identifizierte Hauptprobleme umfassten:
- Ineffiziente Kundenkommunikationsprozesse, die häufige Telefonate und E-Mails erforderten
- Begrenzte Verfügbarkeit von Wiegedaten und Dokumenten für Kunden
- Manuelle administrative Arbeit, die automatisiert werden konnte
- Mangelnde Transparenz im Projektstatus und Fortschrittsverfolgung
- Keine standardisierten Entwicklungs- und Deployment-Prozesse
Technische Anforderungen
Basierend auf der Analyse wurden folgende technische Anforderungen abgeleitet:
- Implementierung einer kontinuierlichen Integrations- und Deployment-Pipeline
- Entwicklung einer modularen Kundenportal-Architektur
- Integration mit bestehendem ERP-System und Wiegedaten
- Sichere Authentifizierung und rollenbasierte Zugriffskontrolle
- Responsives Design für mobile und Desktop-Zugriffe
Konzept und Architektur
DevOps-Konzept
Das DevOps-Konzept wurde entwickelt, um kontinuierliche Entwicklung, Integration, Deployment und Betrieb zu unterstützen. Die Architektur umfasste:
- Versionskontrolle mit GitLab für Code-Verwaltung und Zusammenarbeit
- Kontinuierliche Integration mit automatisierten Builds und Tests mit TeamCity
- Containerisierung mit Docker für konsistente Deployment-Umgebungen
- Automatisierte Deployment-Pipelines für Staging- und Produktionsumgebungen
- Monitoring und Logging für operative Einblicke
Portal-Architektur
Das Kundenportal wurde als modulare Webanwendung mit folgenden Kernmodulen entworfen:
Wiege-Modul
Kunden können Wiegescheine, die mit ihrer Kundennummer verknüpft sind, einsehen und herunterladen, was vollständige Transparenz über gelieferte Mengen und Qualitäten ermöglicht.
Dispositions-Modul
Planung von Containertransporten mit Integration von Kunden, Containern, Mitarbeitern und geeigneten Fahrzeugen zur Unterstützung des Logistikprozesses.
Vertrags- und Preis-Modul
Permanente Verfügbarkeit von Preisen und Vertragsdokumenten mit Export als PDF zur Unterstützung transparenter Kommunikation und schnellem Zugriff auf Vereinbarungen.
Buchhaltungs-Modul
Suche und Download von Rechnungen im PDF-Format, abgestimmt auf die Wiegedaten, um manuelle Anfragen zu reduzieren und digitale Buchhaltungsworkflows zu unterstützen.
Controlling und Analytics
Bewertung von gelieferten Mengen, Lieferqualität und Preisen zur Unterstützung des operativen Controllings und strategischer Entscheidungsfindung.
Stammdaten-Self-Service
Optionen für Kunden, ausgewählte Stammdaten und Kontaktinformationen zu pflegen, was die manuelle administrative Arbeit für das Unternehmen reduziert.
Technologie-Stack
Programmierung und Web
DevOps und Zusammenarbeit
Daten und Integration
Infrastruktur und Tools
Implementation
Entwicklungsumgebungs-Setup
Die erste Phase umfasste die Einrichtung einer dedizierten Entwicklungsumgebung mit Webserver, Datenbank, IDE und notwendigen Tools zur Unterstützung kontinuierlicher Entwicklung. Dies umfasste die Konfiguration lokaler Entwicklungsserver, Datenbankverbindungen und Entwicklungstools.
DevOps-Implementierung
Der DevOps-Zyklus wurde durch die Integration von GitLab, TeamCity und Docker implementiert. Dies ermöglichte:
- Kontinuierliche Integration mit automatisierten Builds und Tests
- Automatisierte Deployment-Pipelines für Staging und Produktion
- Versionskontroll-Workflows mit Branching-Strategien
- Containerisierte Umgebungen für konsistente Deployments
Portal-Entwicklung
Das Kundenportal wurde mit dem Laravel-Framework implementiert. Der Entwicklungsprozess umfasste:
- Erstellung der modularen Architektur mit separaten Modulen für Wiegen, Disposition, Verträge, Buchhaltung, Controlling und Stammdaten
- Entwicklung von Benutzeroberflächen mit responsivem Design für mobile und Desktop-Zugriffe
- Integration mit dem bestehenden ERP-System und Wiegedaten über REST-APIs
- Implementierung von Authentifizierung und rollenbasierter Zugriffskontrolle
- Entwicklung von PDF-Export-Funktionalität für Dokumente und Rechnungen
Testing und Feedback
Während des gesamten Entwicklungsprozesses wurden Funktionstests durchgeführt, Testdaten erstellt und Feedback-Schleifen mit Stakeholdern etabliert, um Usability, Leistung und Korrektheit der Geschäftsprozesse zu validieren. Dieser iterative Ansatz stellte sicher, dass die Lösung den Anforderungen und Erwartungen entsprach.
Ergebnisse und Fazit
Erzielte Ergebnisse
Die Implementierung des DevOps-Zyklus und des Kundenportals führte zu erheblichen Verbesserungen:
- Verbesserte Entwicklungseffizienz: Automatisierte CI/CD-Pipelines reduzierten die Deployment-Zeit und minimierten manuelle Fehler, was schnellere Iterationszyklen ermöglichte.
- Verbesserte Kundenerfahrung: Kunden erhielten 24/7-Zugang zu ihren Daten, was Telefonanfragen reduzierte und die Zufriedenheit durch Self-Service-Fähigkeiten verbesserte.
- Optimierte interne Prozesse: Digitale Workflows reduzierten den administrativen Aufwand und verbesserten die Datenqualität durch automatisierte Prozesse.
- Bessere Datentransparenz: Echtzeit-Zugang zu Wiegedaten, Rechnungen und Verträgen verbesserte die Kommunikation und das Vertrauen zwischen dem Unternehmen und seinen Kunden.
- Skalierbare Architektur: Das modulare Design ermöglicht zukünftige Erweiterungen und Integration zusätzlicher Funktionen, wenn sich Geschäftsanforderungen entwickeln.
Lessons Learned
Das Projekt lieferte wertvolle Erkenntnisse über moderne Softwareentwicklungspraktiken:
- Die Bedeutung der Etablierung eines ordnungsgemäßen DevOps-Zyklus von Anfang an zur Unterstützung kontinuierlicher Entwicklung und Deployment
- Der Wert modularer Architektur bei der Ermöglichung flexibler und wartbarer Softwarelösungen
- Die Bedeutung von Stakeholder-Feedback und iterativer Entwicklung bei der Gewährleistung der Lösungsqualität
- Die Vorteile von Containerisierung und automatisiertem Deployment bei der Reduzierung operativer Komplexität
Zukünftige Empfehlungen
Für die weitere Expansion des DevOps-Zyklus und der Portal-Funktionen wurden folgende Empfehlungen gegeben:
- Implementierung automatisierter Monitoring- und Alarmierungssysteme zur proaktiven Problemerkennung
- Erweiterung des Portals mit zusätzlichen Modulen basierend auf Kundenfeedback und Geschäftsanforderungen
- Integration mobiler Anwendungen für verbesserte Zugänglichkeit
- Kontinuierliche Verbesserung der CI/CD-Pipeline mit zusätzlichen automatisierten Tests und Quality Gates