Kundenerfahrungen / Digitales Marketing
2021
Pinterest verbessert die Zuverlässigkeit der iOS-Build-Pipeline um 80,5 % mit Mac-Instances von Amazon EC2
Pinterest verbesserte die Entwicklungsgeschwindigkeit, die Stabilität der Infrastruktur und die Markteinführungszeit durch die Migration seiner iOS-Build-Umgebung auf Mac-Instances von Amazon EC2.
80,5 %
Reduzierung von maschinenbedingten Build-Fehlern in der CI/CD-Pipeline um 80,5 %.
Reduzierte Kosten
18,4 %
Verbesserte Zuverlässigkeit und Stabilität
Befähigte Entwickler,
sich auf die Entwicklung innovativer Services zu konzentrieren
Übersicht
Weltweit hat Pinterest über 444 Millionen monatliche Benutzer auf seinen Web- und Mobilanwendungen. Zur Unterstützung der iOS-Anwendung verwendeten die Pinterest-Entwickler On-Premises-Computer mit Zugriff auf macOS und die integrierte Entwicklungsumgebung Xcode von Apple. Beide sind zum Entwickeln, Erstellen, Testen und Bereitstellen von Upgrades und neuen Funktionen für jede Apple-Anwendung erforderlich. Die visuelle Entdeckungsplattform wünschte sich jedoch eine schnellere, effizientere Infrastruktur für ihre iOS-Entwicklungsumgebung und suchte nach einer Lösung in Amazon Web Services (AWS).
Pinterest migrierte seine Pipeline für kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) von iOS-Anwendungen auf Mac-Instances von Amazon Elastic Compute Cloud (Amazon EC2). Diese ermöglichen Entwicklern die nahtlose Bereitstellung und den Zugriff auf macOS-Computing-Umgebungen in der Cloud. Durch die Verwendung von Amazon-EC2-Mac-Instances hat Pinterest maschinenbedingte Build-Fehler um 80,5 % reduziert und seine Entwicklungsgeschwindigkeit um 18,4 % verbessert.
Gelegenheit | Zugriff auf macOS-Umgebungen in der Cloud
Als visuelle Entdeckungsmaschine, die von Menschen verwendet wird, um sich in Kategorien wie Wohnen, Essen, Stil und Schönheit inspirieren zu lassen, hat sich Pinterest zu einer globalen Plattform entwickelt. Um Anwendungen für seine iOS-Benutzer zu entwickeln, zu testen und bereitzustellen, verwendeten die Pinterest-Entwickler On-Premises-Computer, die vom Unternehmen manuell beschafft, konfiguriert und aktualisiert werden mussten. „Es war sehr schwierig, physische Maschinen zu verwalten“, sagt Oliver Koo, Senior Software Engineer bei Pinterest. „Wir brauchten Personal, um alle Laptops zu konfigurieren und sie ständig zu überwachen und zu aktualisieren. Wenn eine Maschine ein Problem hatte, kam es zu Serviceunterbrechungen und höheren Latenzzeiten.“ Diese On-Premises Umgebung verlängerte die Entwicklungszeit, was sich auf die Markteinführung ausgewählter iOS Funktionen bei Pinterest auswirkte.
Pinterest benötigte eine skalierbare, effiziente Methode zum Entwickeln, Testen und Bereitstellen von iOS-Funktionen und -Upgrades. Nachdem das Unternehmen seit seiner Einführung im Jahr 2010 AWS-Services benutzt hatte, wandte es sich an AWS und erfuhr von Mac-Instance von Amazon EC2. Pinterest erkannte, dass es diesen Service verwenden konnte, um macOS-Umgebungen in Minutenschnelle bereitzustellen und darauf zuzugreifen, die Kapazität nach Bedarf zu skalieren und seine Computing-Kosten zu optimieren. „Wir hatten festgestellt, dass die Migration zu AWS die Entwicklungserfahrung optimieren würde“, sagt Koo. „Mac-Instances von Amazon EC2 sind der erste Service, mit dem Benutzer on-demand macOS Umgebungen in der Cloud betreiben können – ein entscheidender Fortschritt.“ Im März 2021 begann Pinterest mit der Migration seiner CI/CD-Pipeline auf Mac-Instances von Amazon EC2.
Mit Amazon-EC2-Instances konnten wir die Anzahl der maschinenbedingten Build-Fehlern um 80,5 % senken – das ist wirklich enorm.“
Oliver Koo
Senior Software Engineer, Pinterest
Lösung | Verbesserung der Markteinführungszeit mit Mac-Instances von Amazon EC2
Im August 2021 hatte Pinterest seine Migration auf Mac-Instances von Amazon EC2 abgeschlossen. Mit dieser Lösung hat das Unternehmen seine CI/CD-Pipeline optimiert und kann nun seine iOS-Entwicklungsumgebung On-demand skalieren. „In AWS können wir jetzt die Anzahl der entwickelten Maschinen bei Spitzenbedarf um 400 Prozent erhöhen, anstatt eine statische Gruppe von Maschinen zu verwalten“, sagt Koo. Pinterest benutzt Buildkite Agent Scaler, der als Funktion in AWS Lambda – einem Serverless-, ereignisgesteuerten Computing-Service – ausgeführt wird, um die CI/CD-Infrastruktur des Unternehmens effizient zu skalieren. Dabei wird die Anzahl der auszuführenden Aufträge verfolgt und die Flottengröße der Amazon-EC2-Mac-Instances von Pinterest entsprechend angepasst. „Bei geringer Nachfrage können wir sie leicht niederskalieren“, sagt Koo. Die Entwickler müssen nicht mehr darauf warten, dass bei Nachfragespitzen Kapazitäten frei werden – dies erhöht die Entwicklungsgeschwindigkeit. Es dauert nur wenige Minuten, bis Pinterest eine neue Mac-Instance von Amazon EC2 hochgefahren hat, im Vergleich zu den Stunden oder Tagen, die es dauern kann, eine neue Maschine zu beschaffen. Im Vergleich zu On-Premises-Rechnern kann Pinterest iOS-Anwendungen mit Mac-Instances von Amazon EC2 um 18,4 Prozent schneller entwickeln und veröffentlichen. Da Pinterest keine Rechner mehr anschaffen muss und nur für die von ihm verwendete Rechenkapazität von macOS bezahlt, konnte es seine Entwicklungskosten erheblich senken.
Pinterest hat außerdem seine Entwicklungsvorgänge mit Mac-Instances von Amazon EC2 vereinfacht. Das Testen neuer Funktionen und Upgrades ist jetzt schneller und unkomplizierter. „Das Upgrading, Patching und Bereitstellen von Sicherheitskorrekturen in unserer CI/CD-Pipeline war vorhin ein recht komplexer Vorgang“, sagt Koo. „Aber die Mac-Instances von Amazon EC2 und die neuen Vorgänge, die wir entwickelt haben, sind wirklich einfach zu verstehen.“ Um eine Amazon-EC2-Instance zu launchen, entwickelt Pinterest ein Amazon Machine Image (AMI), das Informationen wie Berechtigungen enthält, die steuern, welche AWS-Konten das AMI benutzen können. Da die Entwickler nun in der Lage sind, eine AMI zu erstellen und diese Regeln schnell zu konfigurieren, konnte Pinterest seine Entwicklungsgeschwindigkeit um 42 Prozent steigern. Die optimierte Infrastruktur macht es für Pinterest auch einfacher, neue Mitarbeiter einzustellen. Dadurch können die Entwickler früher mit der Arbeit beginnen und schneller innovieren.
Um seine CI/CD-Pipeline sicher zu halten, verlässt sich Pinterest auf AWS-Services wie AWS Identity and Access Management (AWS IAM), das eine differenzierte Zugriffskontrolle in das ganze AWS-System ermöglicht. Jeder Cluster von Mac-Instances von Amazon EC2 verwendet eine verschiedene AWS-IAM-Rolle mit unterschiedlichen Berechtigungen. Wenn ein Benutzer versucht, auf den Cluster zuzugreifen, gewährt oder verweigert das System automatisch den Zugriff auf der Grundlage der von Pinterest konfigurierten Sicherheitsrichtlinien. Das Unternehmen verwendet auch AWS Secrets Manager, der Entwicklern hilft, Anmeldeinformationen und API-Schlüssel während ihres gesamten Lebenszyklus einfach zu drehen, zu verwalten und abzurufen. Pinterest verlässt sich auf AWS Secrets Manager, um die macOS-Authentifizierung zu zentralisieren und so zu verhindern, dass unbefugte Benutzer auf seine iOS-Umgebung zugreifen.
Pinterest verwendet Mac-Instances von Amazon EC2, um die Stabilität seiner CI/CD-Pipeline zu verbessern, damit seine Entwickler neue Funktionen schneller veröffentlichen können. Zuvor mussten die Entwickler die On-Premises-Rechner nach langen Betriebszeiten häufig neu starten, was stets die Entwicklung unterbrochen hat. Jetzt haben sie jederzeit Zugriff auf eine zuverlässige CI/CD-Infrastruktur. So können Pinterest-Entwickler bessere Funktionen entwickeln und Verzögerungen bei der Einreichung von Aktualisierungen im Apple App Store vermeiden. „Mit Mac-Instances von Amazon EC2 haben wir die Anzahl der maschinenbedingten Fehler beim Entwickeln um 80,5 Prozent reduziert – das ist wirklich enorm.“ Durch die Verwendung von Mac-Instances von Amazon EC2 müssen die Entwickler von Pinterest keine Zeit mehr für die Lösung von Problemen und die Verwaltung der Infrastruktur aufwenden und können sich auf die Entwicklung innovativer neuer Funktionen zur besseren Unterstützung der Benutzer von Pinterest konzentrieren.
Ergebnis | Unterstützung der kontinuierlichen Innovation in AWS
Mit Mac-Instances von Amazon EC2 hat Pinterest seine Entwicklungszeiten, die Markteinführungszeit und die Stabilität der CI/CD-Pipeline erheblich verbessert. Für die Zukunft plant Pinterest, den Amazon Relational Database Service (Amazon RDS) zu benutzen, der die Einrichtung, den Betrieb und die Skalierung einer relationalen Datenbank in der Cloud vereinfacht, um Build-Fehler zu protokollieren und zu überwachen. Mit diesen Erkenntnissen kann Pinterest besser verstehen, wie häufig bestimmte Fehler auftreten, und Lösungen zur Behebung dieser Fehler bereitstellen. „AWS ist der erste Anbieter von on-demand macOS Umgebungen in der Cloud“, sagt Koo. „Mit Amazon-EC2-Mac-Instances machen wir iOS-Build-Umgebungen und Mac-Maschinen für Entwickler viel leichter verfügbar und zugänglich.“
Über Pinterest
Pinterest ist eine visuelle Entdeckungsmaschine, die jeden Monat von mehr als 444 Millionen Menschen benutzt wird, um Rezepte, Wohn- und Stilideen und vieles mehr zu finden. Das Unternehmen mit Hauptsitz in San Francisco, Kalifornien, wurde im Jahr 2010 gegründet.
Genutzte AWS-Services
Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) ist ein Web-Service, der sichere, skalierbare Rechenkapazitäten in der Cloud bereitstellt. Der Service ist darauf ausgelegt, Web-Scale-Cloud-Computing für Entwickler zu erleichtern.
Mac-Instances von Amazon EC2
Mit den Mac-Instances von Amazon EC2 können Kunden erstmals on-demand macOS-Workloads in der Cloud ausführen und so die Flexibilität, Skalierbarkeit und Kostenvorteile von AWS für alle Apple-Entwickler zugänglich machen.
AWS Secrets Manager
AWS Secrets Manager hilft Ihnen, geheime Informationen für den Zugriff auf Ihre Anwendungen, Services und IT-Ressourcen zu schützen.
Erkunden Sie die Innovationsreise von Pinterest mit AWS
Weitere Erfahrungen von Pinterest
Erste Schritte
Organisationen aller Größen aus verschiedenen Sektoren transformieren ihre Unternehmen und erfüllen ihre Missionen täglich mithilfe von AWS. Kontaktieren Sie unsere Experten und begeben Sie sich noch heute Ihren Weg zu AWS.