Die Kampmann GmbH & Co. KG ist ein führender Hersteller von innovativen Lösungen im Bereich der Klimatechnik. Mit einem breiten Sortiment an Heizungs- und Kühlsystemen bietet Kampmann maßgeschneiderte Lösungen für Gewerbe- und Industriekunden weltweit. Das Familienunternehmen hat seinen Sitz in Lingen (Ems) in Niedersachsen und beschäftigt mehr als 1.000 Mitarbeiter an über 16 Standorten weltweit.
Das Projekt auf einen Blick
- Aufschlussreiche Analyse der zugrundeliegenden Geschäftsziele einer Kernanwendung
- Ableitung und Priorisierung konkreter Maßnahmen zur Verbesserung der Softwarearchitektur
- Klare Handlungsempfehlungen wurden direkt vom Kunden umgesetzt
- Senkung der Entwicklungs- und Betriebskosten
Ausgangssituation
Für die Planung industrieller Kühl- und Heizungsanlagen auf Basis der eigenen Produktpalette nutzt die Kampmann GmbH & Co. KG KaData, eine eigens entwickelte Software, die von internationalen Kunden, insbesondere jedoch im eigenen Vertrieb, verwendet wird. Die Anwendung wird von einem kleinen, internen Team in der Azure Cloud entwickelt und war die erste Cloud-Anwendung dieser Art im Unternehmen — entsprechend hoch waren die Herausforderungen für die Entwickler und das Unternehmen im Allgemeinen. KaData nimmt eine zentrale Rolle für den Vertrieb ein und ist somit kritisch für die Zukunftsfähigkeit des Unternehmens. Um diese Zukunftsfähigkeit validieren zu können, trat Kampmann in die Zusammenarbeit mit codecentric ein.
Lösung
Erfassung des Ist-Zustands
Ausarbeitung der Qualitätsziele
Erfassung des Ist-Zustands
Das dreimonatige Projekt umfasste zwei Workshops von jeweils einem Tag. Im ersten Workshop wurde gemeinsam der aktuelle Ist-Stand erfasst und die Hintergründe für die Entwicklung von KaData beleuchtet. Hierbei nahm das Team zunächst das Produkt KaData als solches unter die Lupe. Im Mittelpunkt standen die mit KaData verfolgten Business-Ziele, die Zielgruppe und deren Nutzungsverhalten.
Im zweiten Schritt wurde der Ist-Zustand auf technischer Ebene aufgenommen. Dabei wurde die Anwendung unter anderem aus den folgenden Blickwinkeln betrachtet:
- Gesamtsystemarchitektur, inkl. Anbindung an und durch externe Systeme
- Interne Strukturierung der Anwendung
- Verwendete Azure Services
- Konfiguration der Kubernetes Deployments
Zum Abschluss des Workshops betrachtete das Team den aktuellen Entwicklungsprozess von der Idee bis zur Bereitstellung.
Ausarbeitung der Qualitätsziele
Die Ausarbeitung der Qualitätsziele von KaData standen im Fokus des zweiten Workshops — diese sind besonders wichtig für die Zukunftsfähigkeit der Software. Die erarbeiteten Qualitätsziele fallen in die Kategorien Verfügbarkeit, Wartbarkeit, Beobachtbarkeit und Performance.
Aufbauend auf den gesammelten Informationen und den identifizierten Qualitätszielen erarbeitete codecentric einen Empfehlungs- und Maßnahmenkatalog für deren Erreichung. Alle Empfehlungen erhielten dabei eine Klassifizierung hinsichtlich Aufwand und Priorität.
In einer Abschlusspräsentation erfolgte dann die Vorstellung dieses Katalogs. Hierzu gehörten unter anderem:
- Native Azure-Dienste statt eigens betriebener Services: Die Wartung von selbst gehosteten Services, wie etwa einer Datenbank, kostet Zeit und Ressourcen und bringt zudem eine erhöhte Komplexität in das Team. Die Empfehlung lautete daher, auf eine Azure Cosmos DB zu migrieren. Dadurch konnten drei verschiedene Datenbanksysteme ersetzt und somit neben der Wartbarkeit auch die Verfügbarkeit und Performance des gesamten Produktes verbessert werden.
- Ganzheitliches Monitoring für bessere Fehleranalyse: Ein wichtiges Element für die Analyse von Softwarefehlern ist der Einsatz einer ganzheitlichen Monitoring-Lösung. Diese gibt Entwicklern die Möglichkeit, Zusammenhänge und Fehler schnell zu erkennen und ihnen auf den Grund zu gehen. Ein weiterer Vorteil solcher Tools ist eine Alarmfunktion, die zum Beispiel beim Auftreten von Fehlern Entwickler und Admins benachrichtigen kann.
- Einführung von Infrastructure as Code (IaC): Mit IaC werden alle Änderungen an Infrastrukturkomponenten lückenlos dokumentiert. So behalten die Teams stets den Überblick darüber, wer was wann geändert hat und können bei Problemen schnell die Ursache ermitteln und beheben. Ein erhöhter Automatisierungsgrad und Reproduzierbarkeit verringern außerdem den Arbeitsaufwand und steigern die Qualität.
Ergebnis
Ein großer Teil der von codecentric ausgesprochenen Handlungsempfehlungen wurden innerhalb eines Dreivierteljahres bereits umgesetzt oder befinden sich aktuell in Bearbeitung. In einem gemeinsamen Feedbackgespräch zwischen Kampmann und codecentric ließen sich die bereits umgesetzten Maßnahmen und deren Auswirkung daher direkt betrachten. Insgesamt konnte Kampmann durch die von codecentric erarbeiteten Maßnahmen die Erreichung der wichtigsten Qualitätsziele merklich verbessern.
- Durch den Einsatz einer umfassenden Monitoring-Lösung konnte die Transparenz der Anwendung verbessert werden, sodass Kampmann jederzeit den Zustand der Anwendung überwachen und proaktiv auf mögliche Probleme reagieren kann.
- Mit der Einführung von IaC hat Kampmann seine IT-Infrastruktur derweil grundlegend optimiert. Die Bereitstellungszeit neuer Systeme wurde deutlich verkürzt, die Zuverlässigkeit und Skalierbarkeit der Infrastruktur erhöht. Zudem hat IaC die Zusammenarbeit zwischen den Teams vereinfacht.
- Durch eine Vielzahl an Vereinfachungen — von der Wahl der verwendeten Azure Services bis hin zur internen Strukturierung der Komponenten — wurde das Produkt zudem wartungsfreundlicher. Dies senkt die Entwicklungskosten und ermöglicht es Kampmann, sich auf die Weiterentwicklung der Anwendung zu konzentrieren.
Kampmann ist nun in der Lage, schneller auf Marktveränderungen zu reagieren, neue Produkte und Funktionen schneller auf den Markt zu bringen und die IT-Infrastruktur effizienter zu verwalten.
Noch Fragen zum Projekt?
Du hast eine in-house entwickelte Software und benötigst ein umfassendes Review? Dann sprich mich gerne an!
Team Lead & IT Consultant
Weitere Projekte der codecentric AG
Informiere dich über weitere erfolgreiche Projekte, die wir mit unseren Kunden abgeschlossen haben. Vielleicht findest du hier Anregungen für einen Use Case in deinem Unternehmen.
Gemeinsam bessere Projekte umsetzen.
Wir helfen deinem Unternehmen.
Du stehst vor einer großen IT-Herausforderung? Wir sorgen für eine maßgeschneiderte Unterstützung. Informiere dich jetzt.
Hilf uns, noch besser zu werden.
Wir sind immer auf der Suche nach neuen Talenten. Auch für dich ist die passende Stelle dabei.
Dominik Averesch
Team Lead & IT Consultant