DevOps

Was ist das?

DevOps ist der Schlüssel zu ganzheitlicher Softwareentwicklung. 

Getreu dem Motto “You Build It You Run It” kümmern sich crossfunktionale Teams arbeitsteilig um alle Aspekte der Entwicklung: Von der Analyse und Konzeption über die Bereitstellung der Infrastruktur und die Entwicklung bis zur Auslieferung und den Betrieb der Software. 

Warum DevOps?

Automatisierung
Durch den Einsatz von CI/CD werden Teile des Entwicklungsprozesses automatisiert. Hierdurch wird die Produktqualität kontinuierlich sichergestellt.

Reproduzierbarkeit
Mit Hilfe von Infrastructure as Code werden Umgebungen und Services reproduzierbar bereitgestellt.

Agilität
Durch agile Arbeitsweisen und die Einbindung des Fachbereiches ins Projektteam werden schnelles Feedback gewährleistet.

Was bieten wir?

Wir haben langjährige Erfahrung in der Konzeption und Entwicklung sowie in der Modernisierung bestehender Infrastrukturen.

Hierbei können wir DevOps Architekturen sowohl on premises als auch in der Cloud umsetzen. Unsere Architekten fühlen sich gleichermaßen in AWS, Azure und der Google Cloud zu Hause.

Unsere Erfahrungen

Umstellung auf GitLab CI
Sukzessives Ersetzen der bestehenden CI/CD Pipeline GoCD durch GitLab CI. Als Versionsverwaltung war GitLab On Premise ohnehin schon in Verwendung. Durch das Nutzen der integrierten CI/CD Möglichkeiten wurde Komplexität und die Anzahl an Fremdsystemen reduziert. Umstellung sämtlicher Build sowie Deployment Prozesse bis einschließlich auf die Präproduktions-Umgebung.
Einführung Kubernetes
Ablösung von Docker Swarm und Einführung von Kubernetes. Migration der gesamten Microservice Architektur inklusive Sidecars (Zookeeper + Kafka, ActiveMQ) in eine neue Kubernetes-Infrastruktur. Vom Kickoff zum Go Live in 3 Monaten.
Entwicklung einer CI/CD CLI in Golang
Ablösung des bestehenden Release-Prozesses bestehend auf verschiedenen Pipelines und selbstentwickelten Bash Script. Dazu haben wir eine eigene CLI in Golang entwickelt, die sämtliche Prozesse vom Build zum Go Live abdeckt. Sowohl die Versionsverwaltung GitLab, als auch Helm zur Konfigurationsverwaltung und Kubernetes zum eigentlichen Deployment wurden in die CLI integriert. Alle Funktionen und Abläufe sind getestet und dokumentiert um nachvollziehbare Builds zu gewährleisten.
Einführung Helm
Ablösung von Docker-Compose Artefakten und Custom Konfiguration durch Helm. Sämtliche Konfigurationen wurden migriert und in ein eigenes Repository geladen.
Einführung eines API Gateways
Evaluierung von verschiedenen API Gateways und anschließendem Einsatz von KrakenD als Best Match für den Kunden. Provoisionierung des Gateways mit Ansible für den Betrieb innerhalb eines OpenShift-Clusters.
Previous slide
Next slide