100 Microservices.
Automatisiert bereitgestellt.
Komplexe Releases zuverlässig automatisieren.
Wie lassen sich rund 100 Microservices wiederholbar entwickeln, testen und bereitstellen? Wir unterstützten den Aufbau einer durchgängigen DevOps Architektur für automatisierte Softwarebereitstellung, Qualitätssicherung und einen transparenten Betrieb.
In komplexen Microservice Landschaften muss eine Vielzahl voneinander abhängiger Anwendungen zuverlässig entwickelt, geprüft und bereitgestellt werden. Manuelle Abläufe erschweren reproduzierbare Releases und die einheitliche Durchsetzung von Qualitätsstandards. Die Herausforderung bestand darin, Build, Deployment und Tests für rund 100 Microservices auf Basis von Java und Spring Boot zu automatisieren. Unterschiedliche Services sollten in einer skalierbaren Kubernetes Umgebung konsistent betrieben und gemeinsam geprüft werden können. Gleichzeitig mussten Codequalität, Softwareabhängigkeiten, Sicherheitsbefunde und Infrastrukturprozesse systematisch in die technische Delivery eingebunden werden.
Wir entwickelten und erweiterten zentrale Bausteine der Build und Deployment Pipelines. Kubernetes Konfigurationen und Deployments wurden mit Helm und Kustomize standardisiert. Crossplane ergänzt den Ansatz für deklarative Infrastrukturverwaltung. Automatisierte Tests, unter anderem mit Spock, unterstützen die serviceübergreifende Qualitätssicherung. Statische Codeanalysen in Merge Requests mit SonarQube und die Prüfung eingesetzter Softwarekomponenten ergänzen die technische Absicherung. Auch die Bearbeitung von Sicherheitsbefunden aus DefectDojo sowie Monitoring mit Prometheus und Grafana gehörten zum Vorgehen. So wurden Entwicklung, Bereitstellung, Infrastruktur, Qualitätssicherung und Betrieb in einer konsistenten DevOps Architektur miteinander verbunden.
Herausforderung
- Build und Deployment Prozesse für rund 100 Microservices vereinheitlichen und automatisieren
- Java und Spring Boot Services reproduzierbar in Kubernetes Umgebungen bereitstellen
- Das Zusammenspiel der Services durch automatisierte Tests absichern
- Codequalität, Abhängigkeiten und Sicherheitsbefunde frühzeitig prüfen
- Konfiguration, Infrastruktur und Monitoring nachvollziehbar und standardisiert gestalten
Unsere Lösung
- Entwicklung und Weiterentwicklung automatisierter Build und Deployment Pipelines für eine umfangreiche Microservice Landschaft
- Standardisierte Kubernetes Konfiguration und Bereitstellung mit Helm und Kustomize
- Deklarative Verwaltung von Infrastrukturressourcen mit Crossplane
- Automatisierte Tests für die serviceübergreifende Qualitätsprüfung, unter anderem mit Spock
- Statische Codeanalyse mit SonarQube direkt in Merge Requests sowie Software Composition Analysis
- Bearbeitung von Sicherheitsbefunden mit DefectDojo und technische Überwachung mit Prometheus und Grafana
Ergebnis
- Standardisierte und automatisierte Bereitstellung einer Landschaft mit rund 100 Microservices
- Serviceübergreifende Qualitätssicherung durch automatisierte Prüfungen
- Systematische Einbindung von Codeanalyse, Abhängigkeitsprüfung und Sicherheitsprozessen
- Nachvollziehbare Konfiguration von Kubernetes Deployments und deklarativer Infrastruktur
- Belastbare Grundlage für Überwachung, Wartung und kontinuierliche Weiterentwicklung
Technologien
- Java
- Spring Boot
- Kubernetes
- Helm
- GitLab CI
- Kustomize
- Crossplane
- SonarQube
- Spock
- DefectDojo
- Prometheus
- Grafana