+

Radio France stellt dank GitLab CI/CD fünfmal schneller bereit

  • Höhere Effizienz
  • Schnellere Deployments
  • Jährliche Kosteneinsparungen
BrancheTelecommunications
Mitarbeitende5.000
StandortParis, Frankreich

Möchtest du sehen, wie GitLab Ultimate dein Team unterstützen kann?

Kostenlose Testversion starten

Radio France führte GitLab CI ein, um den Werkzeugwechsel zu minimieren und Deployments zu beschleunigen.

Nach ersten Erfahrungen mit dem Code-Management führte Radio France GitLab CI/CD ein.

Das war das Hauptziel: mehrere Werkzeuge in einem einzigen zusammenführen und es Entwicklerinnen und Entwicklern wirklich einfach machen, in die Produktion bereitzustellen. Vor der Migration lagen wir bei 10 Deployments pro Tag. Jetzt machen wir mit GitLab 50 Deployments täglich in der Produktion – deutlich effizienter als früher, als wir zwischen GitLab und Jenkins wechseln mussten.

- Julien Vey, Operational Excellence Manager, Radio France
Öffentlich-rechtlicher Hörfunk in Frankreich

Radio France ist der öffentlich-rechtliche Hörfunkanbieter Frankreichs und betreibt sieben Sender im ganzen Land. Radio France entwickelt und betreibt Websites, mobile Anwendungen, APIs, Podcasts, Sprachassistenten und Audio-Streaming-Plattformen.

Konfigurationsprobleme und ständiger Werkzeugwechsel

Radio France nutzte GitLab für Git und Jenkins für die Produktions-Builds, Container-Images und alle Deployments. Entwickler(innen) wechselten ständig zwischen GitLab für den Quellcode und Jenkins für alle Produktions-Builds. Die Teams wollten beide Werkzeuge zusammenführen, um den dauernden Kontextwechsel zu vermeiden. Idealerweise suchten sie eine einzige Lösung für Code-Management und Deployment.

Hinzu kamen Konfigurationsprobleme mit Jenkins: Alle Jobs wurden vom CI/CD-Team konfiguriert, sodass Entwickler(innen) keine eigenen Änderungen an Produktions-Deployments vornehmen konnten. Sie wollten ihren Code eigenverantwortlich verwalten, ohne auf Freigaben des CI/CD-Teams warten zu müssen.

"Wir wollten, dass Entwickler(innen) ihre eigene Art des Deployments in die Produktion selbst verwalten. Jedes Team, jedes Projekt hat seine eigene Arbeitsweise. Wir stellen Websites bereit, wir stellen APIs bereit, wir stellen viele verschiedene Dinge bereit. Nicht alle stehen vor denselben Herausforderungen", erklärt Julien Vey, Operational Excellence Manager.

Jenkins bot nach Veys Einschätzung einen sehr starren Workflow. Entwickler(innen) konnten ihre Projekte nicht anpassen oder neue Funktionen ohne erheblichen Verwaltungsaufwand hinzufügen. Die gesuchte Lösung musste einfache Integration, anpassbare Jobs und neue Funktionen ohne übermäßigen Verwaltungsaufwand bieten.

Eine Lösung für Code-Management und CI/CD

Da die Teams GitLab für das Quellcode-Management bereits erfolgreich einsetzten, lag der nächste Schritt nahe: dieselbe Plattform auch für CI/CD zu nutzen. Entwickler(innen) migrierten alles in eine GitLab-Pipeline, um Code an einem zentralen Ort in die Produktion bereitzustellen.

Radio France hat viele Teams, die an vielen verschiedenen Projekten arbeiten. Jedes Team verwaltet seine eigenen Services – manche Teams bis zu 20. Jeder Service ist nun in einem eigenen GitLab-Projekt.

"Wir haben einfach den CI/CD-Teil von GitLab genutzt, weil GitLab bereits funktionierte. Wir sind in die Werkzeuge eingebettet, sodass wir für Deployments nicht zu anderen Werkzeugen wechseln müssen. Das Wichtigste an GitLab ist, in einem einzigen Werkzeug zu arbeiten", so Vey.

Schnellere Deployments, bessere Zusammenarbeit

Der Technologie-Stack von Radio France umfasst PHP, React, NodeJS, Svelte, Golang, RabbitMQ und PostgreSQL. Alle Anwendungen laufen auf einer Microservice-Architektur auf Basis von Kubernetes. Die Teams betreiben mehrere GitLab-Runner-Instanzen, was unterbrechungsfreie Upgrades ermöglicht. GitLab läuft in einer virtuellen Maschine auf AWS, verwaltet mit Terraform und Ansible. Kops wird für die Verwaltung von Kubernetes-Clustern auf AWS eingesetzt, einschließlich mehrerer Instance Groups, die AWS-Auto-Scaling-Gruppen entsprechen.

GitLab CI ermöglichte Radio France, neue Testarten in ihre Websites zu integrieren – darunter Lighthouse-, UI- und Web-Bottle-Tests, die mit Jenkins aufgrund von Kosten und Verwaltungsaufwand zuvor nicht umsetzbar waren.

Zuvor setzte Radio France zwei Vollzeit-Jenkins-Runner-Instanzen mit je 64 GB ein, was etwa 1.100 USD monatlich kostete. Mit GitLab werden ein bis acht Spot-Instanzen genutzt, jedoch nur rund 10 Stunden täglich – zu Kosten von etwa 300 USD pro Monat. "Das entspricht einer Kosteneinsparung von 70 % bei unseren CI/CD-Kosten", ergänzt Vey.

"Der große Vorteil von GitLab: Früher dauerte ein reines Produktions-Deployment fünf bis sechs Minuten. Jetzt, wenn der Build mit GitLab bereits abgeschlossen ist, dauert das Deployment in jede Umgebung nur noch 20 Sekunden", sagt Vey. Das entspricht einer Reduzierung der Zykluszeit um 82 % gegenüber den früheren Jenkins-Deployments.

Workflow und Zusammenarbeit haben sich seit dem Wechsel von Jenkins verbessert. Entwickler(innen) verbringen weniger Zeit mit der Plattformverwaltung und können Funktionen stärker anpassen als zuvor. "Mit Jenkins war es ein sehr starrer Workflow. Wir konnten ihn nicht so anpassen, wie wir es wollten. Neue Funktionen hinzuzufügen war sehr aufwändig", sagt Vey. "Jetzt haben wir mit GitLab die nötige Flexibilität und können die Plattform so bereitstellen, dass Teams neue Funktionen direkt nutzen können."

Jedes Team ist nun für seine eigene Pipeline verantwortlich. Entwickler(innen) entscheiden selbst, ob, wie und wann sie in die Produktion bereitstellen. Radio France hat alle Werkzeuge bereitgestellt, die Entwickler(innen) benötigen, um diese Entscheidungen eigenverantwortlich zu treffen.

Alle Informationen und Personen, die an der Fallstudie beteiligt waren, waren zum Zeitpunkt der Veröffentlichung aktuell.