Automatisierung der Lizenzverwaltung für 7.000 Benutzer mit einer skalierbaren Cloud-basierten Lösung
Die Herausforderung
Ein großer Unternehmenskunde, der Produktlizenzen für 7.000 Benutzer verwaltete, hatte mit einem ineffizienten, manuellen System zu kämpfen, das auf Excel und eine einzige Person für die Nachverfolgung angewiesen war. Jede Lizenz kostete 1.000 Dollar, und das Unternehmen verlor Geld aufgrund von:
- Die verzögerte Bearbeitung von Lizenzanträgen beeinträchtigte die Produktivität der Mitarbeiter.
- Die Lizenzen blieben an ehemalige Mitarbeiter gebunden, wodurch Ressourcen verschwendet wurden.
- Nicht ordnungsgemäße Neuzuteilung von Lizenzen, wenn Benutzer das Gerät wechselten.
Der Kunde suchte nach einer Lösung, um die Lizenzverwaltung zu automatisieren, ungenutzte Lizenzen zurückzufordern und die betriebliche Effizienz zu steigern, während gleichzeitig die mit schlechten Softwarepraktiken und Sicherheitslücken verbundenen Risiken minimiert wurden.
Die Lösung
Das Projekt wurde in drei Hauptphasen eingeführt, wobei jede Phase die im Laufe der Jahre wachsenden betrieblichen, technischen und sicherheitstechnischen Herausforderungen bewältigte.
Version 1 (2015-2018): Automatisierung der Lizenzverwaltung mithilfe von SharePoint, Dateiprotokollierung, FxCop und manuellen Bereitstellungen
In der Anfangsphase ersetzte eine maßgeschneiderte Softwarelösung den Excel-basierten manuellen Prozess. SharePoint-Listen wurden zur Speicherung von Lizenzanforderungen, aktiven Lizenzen und Audit-Daten verwendet. Zu den wichtigsten Integrationen in Version 1 gehörten:
- Active Directory für rollenbasierte Zuweisungen von Benutzern.
- E-Mail-Benachrichtigungen für die Genehmigung oder Ablehnung von Anfragen.
- Lizenzaudits zur Verfolgung der Nutzung und Neuzuweisung.
Die Protokollierung erfolgte über dateibasierte Protokolle, die aufgrund der steigenden Anzahl von Anfragen und der wachsenden Audit-Daten bald ineffizient wurden.
Was die Bereitstellung betrifft, so wurden die Releases manuell mit Visual Studio verwaltet, was zu langsameren Release-Zyklen und einem erhöhten Risiko von Bereitstellungsfehlern führte. FxCop, ein Code-Analyse-Tool für .NET-Anwendungen, wurde eingesetzt, um die Codequalität und die Einhaltung von Codierungsstandards zu gewährleisten. Die von FxCop bereitgestellte statische Analyse war jedoch in ihrem Umfang begrenzt und erforderte weitere Automatisierung und Integration, um die wachsende Komplexität der Lösung zu bewältigen.
Version 2 (2019-2021): Skalierung mit Snowflake, Code Analyzers, automatisierten CI/CD Pipelines und ServiceNow Integration
Um die wachsende Komplexität des Systems zu bewältigen, migrierte das Team von SharePoint zu Snowflake, um die Datenspeicherung und die Abfragefunktionen zu verbessern. Auch die Protokollierung wurde auf Snowflake umgestellt, obwohl die Verwaltung der großen Menge an Protokollen immer noch eine Herausforderung darstellte.
Zu den wichtigsten Verbesserungen in Version 2 gehören:
- Snowflake-Migration: Verbesserte Datenspeicherung, schnellere Abfragen und größere Skalierbarkeit zur Bewältigung der wachsenden Anzahl von Lizenzanfragen und Audits.
- ServiceNow-Integration: Optimierte Workflows für Serviceanfragen und verbesserte Nachverfolgung von Lizenzanfragen und Lösungen.
- Automatisierte CI/CD-Pipelines: Das Team führte Azure DevOps für kontinuierliche Integration (CI) und kontinuierliche Bereitstellung (CD) ein. Diese Automatisierung gewährleistet schnellere, konsistentere Bereitstellungen mit weniger manuellen Eingriffen und weniger Fehlern.
- Code-Analysatoren: Das Team wechselte von FxCop zu .NET Code Analyzers als Teil des automatisierten CI-Prozesses in Azure DevOps. Dieses Upgrade ermöglichte eine tiefere Integration in den Entwicklungs-Workflow und bot eine Code-Analyse in Echtzeit während des Build-Prozesses, was die allgemeine Code-Qualität und die Einhaltung von Best Practices verbesserte.
Version 3 (2022-2024): Migration zu AWS Cloud, Veracode für erweiterte Sicherheit und fein abgestimmte Bereitstellungskontrolle mit Octopus Deploy
In der letzten Phase wurde die Anwendung vollständig in die Cloud migriert, die auf AWS gehostet wird, um Skalierbarkeit und Flexibilität zu gewährleisten. Die auf C# und ASP.NET basierende Anwendung wurde auf Linux-Container migriert, wobei das Team mehrere Windows-spezifische Bibliotheken durch Linux-kompatible Bibliotheken ersetzen musste.
Da Sicherheit und Risikomanagement zu einer der wichtigsten Prioritäten wurden, führte das Team in Version 3 Veracode ein. Veracode bietet ein erweitertes Maß an Anwendungssicherheit und Risikomanagement, scannt nach Schwachstellen und bietet kontinuierlichen Schutz vor neuen Bedrohungen.
Zu den wichtigsten Upgrades in Version 3 gehören:
- Cloud-Migration zu AWS: Die Migration in die Cloud verbessert die Skalierbarkeit, reduziert den Wartungsaufwand und erhöht die Zuverlässigkeit des Systems.
- Octopus Deploy für ein verbessertes Release-Management: Das Team wechselte zu Octopus Deploy, das eine bessere Kontrolle über den Bereitstellungsprozess bietet und eine feinkörnige Kontrolle darüber ermöglicht, was in Entwicklungs-, Integrations- und Produktionsumgebungen bereitgestellt wird.
- Veracode für die Sicherheit: Mit der Einführung von Veracode wurde die Anwendungssicherheit auf die nächste Stufe gehoben, indem fortschrittliche Scans nach Schwachstellen durchgeführt wurden, die dem Team halfen, Sicherheitsrisiken zu erkennen und zu entschärfen, bevor sie die Produktion beeinträchtigen konnten.
- DataDog für die Überwachung: Die Einführung von DataDog für die Echtzeitüberwachung und Protokollverwaltung verbesserte die Fähigkeit des Teams, Probleme schnell zu diagnostizieren und zu lösen. Dies ermöglichte eine schnellere Fehlerbehebung und eine effizientere Leistungsverfolgung.
Die Ergebnisse
Die Weiterentwicklung der Lizenzverwaltungslösung führte zu erheblichen betrieblichen und sicherheitstechnischen Verbesserungen:
- Kosteneinsparungen: Durch die automatische Deaktivierung ungenutzter Lizenzen konnte das Unternehmen 15-20 % seiner Lizenzkosten einsparen, was zu erheblichen finanziellen Einsparungen führte.
- Verbesserte Reaktionszeiten: Die Automatisierung von Lizenzanfragen und -deaktivierungen verkürzte die Bearbeitungszeiten von Tagen auf Minuten, was die Produktivität der Mitarbeiter erheblich verbesserte.
- Schnellere, sicherere Bereitstellungen: Der Wechsel von manuellen Bereitstellungen in Version 1 zu automatisierten CI/CD-Pipelines in Azure DevOps und kontrollierten Bereitstellungen mit Octopus Deploy in Version 3 reduzierte Fehler und ermöglichte zuverlässigere, zeitnahe Updates.
- Verbesserte Sicherheit: Durch die Integration von Veracode für Codesicherheitsscans wurde sichergestellt, dass die Anwendung vor Schwachstellen geschützt ist, wodurch das Risiko von Sicherheitsverletzungen erheblich reduziert wurde.
- Proaktive Problemlösung: Mit DataDog konnte das Team den Systemzustand in Echtzeit überwachen und so proaktiv Probleme erkennen und beheben, bevor sie sich auf die Benutzer auswirken.
Herausforderungen und Lösungen
- Manuelle Bereitstellungen für automatisierte CI/CD-Pipelines: In Version 1 erfolgten die Bereitstellungen manuell und waren fehleranfällig. In Version 2 ging das Team dieses Problem an, indem es Azure DevOps-Pipelines für automatisierte CI/CD einführte. Dadurch wurde die Konsistenz der Bereitstellung verbessert und das Risiko von Produktionsproblemen verringert.
- Codequalität und Sicherheit: Das Projekt begann mit FxCop für die statische Code-Analyse in Version 1, aber als das System immer komplexer wurde, ging das Team in Version 2 zu Code Analyzers über, um eine tiefere Integration mit der CI-Pipeline zu erreichen. In Version 3 stand die Sicherheit im Vordergrund, und Veracode wurde eingeführt, um fortschrittliches Anwendungssicherheitsscanning zu bieten und sicherzustellen, dass Schwachstellen frühzeitig im Entwicklungsprozess erkannt und behoben werden.
- Umstellung von Windows-Servern auf AWS: Die Umstellung der Anwendung von Windows-Servern auf Linux-Container auf AWS erforderte erhebliche Änderungen an der Codebasis. Das Team ersetzte erfolgreich Windows-spezifische Bibliotheken durch Linux-kompatible Bibliotheken, um eine reibungslose Funktionalität in der Cloud-Umgebung zu gewährleisten.
- Protokollverwaltung und -überwachung: Ursprünglich wurden die Protokolle in Dateien gespeichert, deren Verwaltung zunehmend schwieriger wurde. Die Migration von Protokollen zu Snowflake in Version 2 verbesserte die Leistung, aber erst die Einführung von DataDog in Version 3 ermöglichte dem Team eine Echtzeitüberwachung und proaktive Problemlösung.
Fazit
Die Umstellung des Kunden von einem manuellen, Excel-basierten Lizenzverwaltungsprozess auf eine automatisierte, in der Cloud gehostete Lösung zeigt, wie wichtig es ist, die richtigen Technologien einzusetzen, um den wachsenden Geschäfts- und Sicherheitsanforderungen gerecht zu werden. Durch die Entwicklung in drei Schlüsselphasen – beginnend mit SharePoint und manuellen Implementierungen von 2015 bis 2018, Skalierung mit Snowflake und automatisierten Pipelines von 2019 bis 2021 und schließlich Umstellung auf Cloud-Hosting, Veracode für die Sicherheit und DataDog für die Echtzeitüberwachung von 2022 bis 2024– erzielte der Kunde erhebliche Kosteneinsparungen, verbesserte betriebliche Effizienz und verstärkte Anwendungssicherheit.
Technology Stack