500px wechselt von Jenkins zu Semaphore für verbesserte Skalierbarkeit

  • ⛔️ Probleme mit der Wartung und Skalierung von Jenkins
  • ⛔️ Begrenzte CI-Ressourcen und verschwendete Zeit
  • ✅ 400 % schnellere Build-Zeit
  • ✅ Ein skalierbarer Continuous-Integration-Prozess

Probieren Sie Semaphore aus

Die Herausforderung

Beim Aufbau der 500px-Plattform mussten die Entwickler von 500px einen Prozess einrichten, der es ihrem wachsenden Team ermöglicht, Probleme schnell zu erkennen und zu lösen. Sie wollten sicherstellen, dass der Quellcode für wichtige Benutzerinteraktionen wie Galerien und Marktplätze für Fotografie durch Tests abgedeckt ist, die automatisch ausgeführt werden.

Vor dem Wechsel zu Semaphore nutzte 500px eine eigene Jenkins-Instanz für die kontinuierliche Integration. Als ihre Plattform wuchs, erwies sich Jenkins als suboptimale Lösung und stellte das Team vor einige technische Schwierigkeiten. Es war schwierig, Jenkins und die erforderliche Software zu warten. Verantwortlich für die Wartung des gesamten Software-Stacks auf ihrem CI-Server zu sein, gehörte weder zu ihrer Kernkompetenz, noch bot es dem Unternehmen einen geschäftlichen Vorteil.

Jenkins skalierte auch nicht gut für die Bedürfnisse von 500px. Um Millionen von Nutzern zu unterstützen, hatte 500px ein großes Softwaresystem mit mehreren Komponenten entwickelt. Die größte Softwareanwendung hatte eine Testsuite, die mehr als eine Stunde dauern würde. Da viele Entwickler an derselben Codebasis arbeiteten, war es notwendig, Jenkins auf mehreren Maschinen auszuführen, was 500px als zeitaufwendig und schwierig empfand. Infolgedessen litten die Entwickler unter begrenzten CI-Ressourcen und verschwendeten Zeit, während sie auf den Abschluss ihrer Tests warteten.

Die komplexe Benutzeroberfläche von Jenkins erschwerte auch das Onboarding neuer Ingenieure. Mit Tausenden von Tests in ihrer Suite und dem wachsenden Bedarf ihres Teams, effektiver zusammenzuarbeiten, erfüllte Jenkins einfach nicht die Anforderungen des 500px-Engineering-Teams.

Die Lösung

500px überwand die Einschränkungen eines selbstgehosteten Continuous-Integration-Systems, indem es auf die cloudbasierte Lösung von Semaphore migrierte. Da das Team sich nicht mehr um die Wartung einer komplexen CI-Infrastruktur kümmern musste, konnte es sich auf das Wesentliche konzentrieren – den Aufbau und die Verbesserung ihres Services.

Wenn 500px mehr Bandbreite benötigt, um ihre Tests auszuführen, sei es durch die Entwicklung von mehr Code oder die Hinzufügung neuer Entwickler, steht ihnen diese auf Semaphore sofort zur Verfügung.

Dank der integrierten Slack-Integration hält Semaphore die Entwickler von 500px in Echtzeit über den Build-Status auf dem Laufenden.

Mit einem Team, das auf drei Städte und zwei Zeitzonen verteilt ist, bietet ein zentraler Ort zum Testen des gesamten Quellcodes und zur Kommunikation des Status einen großen Vorteil für die Zusammenarbeit im Engineering-Team.

Die Ergebnisse

Die Möglichkeit, bei Bedarf schnell zu skalieren, erwies sich als der erste und wichtigste Vorteil für 500px.

Mit der On-Demand-Skalierbarkeit, der benutzerfreundlichen Oberfläche und dem technischen Support des Engineering-Teams hat 500px in Semaphore eine stabile und schnelle Continuous-Integration-Lösung gefunden, die ihren gesamten Entwicklungsprozess verbessert.

Branche

Kreativbranche

Star us on GitHub