500px wechselt von Jenkins zu Semaphore für verbesserte Skalierbarkeit
😔 Vor Semaphore:
- ⛔️ Probleme mit der Wartung und Skalierung von Jenkins
- ⛔️ Begrenzte CI-Ressourcen und verschwendete Zeit
😄 Nach der Einführung von Semaphore:
- ✅ 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.
“Semaphore ermöglicht es uns, gleichzeitig zwei bis zwanzig Branches parallel zu bauen, jeweils in einer Thread-Umgebung. Wir hatten Tausende von Tests, die sehr lange liefen, und mit Semaphore haben wir es geschafft, den Build in weniger als 20 Minuten durchzuführen.”

Artem Lypiy
QA Lead bei 500px
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.
“Semaphore ist auch Teil unseres täglichen Standups, bei dem wir den Status der laufenden Arbeiten besprechen, was funktioniert und was nicht. Wenn der Build auf Semaphore grün ist, bedeutet das, dass die kritischen Tests erfolgreich bestanden wurden und wir mit Zuversicht deployen können.”

Artem Lypiy
QA Lead bei 500px
Die Ergebnisse
Die Möglichkeit, bei Bedarf schnell zu skalieren, erwies sich als der erste und wichtigste Vorteil für 500px.
“Im Vergleich zu Jenkins ist das Skalieren mit Semaphore wirklich einfach, wo viel Wartung und Overhead erforderlich ist. Wenn wir mehr Parallelität benötigen, führen wir einfach ein Upgrade durch. Semaphore funktioniert einfach für uns.”

Artem Lypiy
QA Lead bei 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.
Das in Toronto, Kanada, ansässige Unternehmen 500px entwickelt eine Fotocommunity und einen Marktplatz, der darauf ausgelegt ist, den kreativen Prozess für Schöpfer und Käufer zu verbessern und zu unterstützen. Mehr als 6 Millionen Kreative nutzen die 500px-Plattform, um ihre Arbeit zu verbessern, zu präsentieren und zu monetarisieren. Der 500px-Marktplatz bietet Käufern die Möglichkeit, frische, kraftvolle Bilder für ihre kreativen Kampagnen zu lizenzieren.
500px.com
Branche
Kreativbranche
Echte Ergebnisse. Echte Wirkung. 🎯📈