Superhuman reduziert seine Build-Zeit mit Semaphore von 22 Minuten auf 8 Minuten.
😔 Vor Semaphore:
- ⛔️️ Verschiedene Tools, die für den CI-Prozess verantwortlich sind
- ⛔️ Ein langsamer und kostspieliger Feedback-Zyklus
😄 Nach der Einführung von Semaphore:
- ✅ Ein Tool für alles
- ✅ Ein schnellerer und kostengünstigerer Feedback-Zyklus
Probieren Sie Semaphore aus
Die Herausforderung
Superhuman ist stolz darauf, der schnellste E-Mail-Client der Welt zu sein, und möchte diesen Wert der Geschwindigkeit auch für alle internen Tools leben. Vor Semaphore waren das Testen und die Bereitstellung zu langsam. Das Team hinter Superhuman nutzte Wercker für das Backend (das vor einigen Jahren von Oracle übernommen wurde). Ihr Frontend-CI-Dienst nutzte das „Old-School-Modell“ der Abrechnung nach Spitzenparallelität, und sie hatten außerdem einen weiteren CI-Dienst, um die Builds für den Desktop-Client auszuführen.
“Bei der Suche nach Ersatz war Semaphore mit Abstand der beste (wenn nicht sogar der einzige!) CI-Server, der diese Anforderungen erfüllte.”

Conrad Irwin
CTO / Co-Founder bei Superhuman
Superhuman benötigte einen Dienst, der:
- Von Grund auf so entwickelt wurde, dass es schnell ist.
- macOS-Code-Signierung unterstützen kann.
- Die tatsächliche Nutzungszeit berechnet, nicht die Spitzenparallelität.
- Ein hohes Maß an Spitzenparallelität bietet.
- Auf E-Mails reagiert, wenn sie Kontakt aufnehmen.

Die Lösung
Das Superhuman-Backend ist in Go geschrieben. Wenn Code in einen Branch gepusht wird, erstellt Semaphore Builds und führt die Tests aus. Wenn die Tests auf ‚master‘ oder ’staging‘ bestehen, erstellt Semaphore Docker-Images, lädt diese in das Google Container Registry hoch und rollt sie schrittweise in ihrem Google Container Engine-Cluster aus.
Das Frontend ist in JavaScript geschrieben. Wenn Code in einen Branch gepusht wird, führt Semaphore Zen (einen von einem ihrer Ingenieure entwickelten Test-Runner) aus, um alle Tests durchzuführen. Zen kompiliert den Code, lädt ihn auf S3 hoch und startet 600 AWS Lambda-Instanzen, um die Tests parallel auszuführen (der Semaphore-Worker koordiniert dies). Wenn die Tests in den Branches ’staging‘ oder ‚production‘ bestehen, erstellt Semaphore automatisch ein Bundle und lädt es in den Google Cloud Storage hoch.

“Die Zeit für die Bereitstellung einer neuen Version des Backends wurde von etwa 22 Minuten auf 8 Minuten reduziert. Die Zeit, um die Frontend-Tests mit unserer vorherigen Lösung durchzuführen, betrug etwa 17 Minuten (nicht einmal für die Bereitstellung, nur für die Tests!).”

Conrad Irwin
CTO / Co-Founder bei Superhuman
Die Ergebnisse
Semaphore bietet eine deutlich bessere Leistung, die Maschinen sind nicht überlastet und es können viele Builds parallel ausgeführt werden. Es ist auch wesentlich günstiger als das alte Modell, bei dem Kapazitäten und Ressourcen für 10 parallele Jobs reserviert werden mussten (was 80 % der Zeit verschwendet und 10 % der Zeit nicht ausreicht).
✔️ Bessere Leistung
✔️ Die Maschinen sind nicht überlastet
✔️ Viele Builds parallel ausführen
✔️ Günstiger als das alte Modell
“Es ist viel schneller, und wir zahlen bei Semaphore nur für die tatsächlich genutzten Build-Sekunden. Da wir etwas Zeit in die Optimierung unserer Build-Geschwindigkeit investiert haben, kostet jeder Build etwa 10 Cent.”

Conrad Irwin
CTO / Co-Founder bei Superhuman
Superhuman ist nicht einfach nur ein weiterer E-Mail-Client. Sie haben das Posteingangserlebnis von Grund auf neu gestaltet, um Menschen dabei zu helfen, in ihrer Arbeit herausragend zu sein. Superhuman ist blitzschnell und optisch beeindruckend. Es bietet erweiterte Funktionen, die den Benutzer sich wie ein Superhuman fühlen lassen: A.I.-gestützte Sortierung, Rückgängig machen von gesendeten Nachrichten, Einblicke aus sozialen Netzwerken, Erinnerungen für Nachfassaktionen, geplante Nachrichten und Lesebestätigungen.
superhuman.com
Branche
Jobsuche & Rekrutierung
Technologie-Stack
Go
Javascript
Docker
GKE
Aws Lambda
Echte Ergebnisse. Echte Wirkung. 🎯📈