Durch AWS bieten wir unseren Benutzern weltweit mehr Stabilität und Redundanz, und dies eröffnet uns in puncto künftigen Wachstums eine völlig neue Welt. 
Vijay Ramesh Lead Data Engineer

Change.org ist mit mehr als 130 Millionen Nutzern in 196 Ländern die weltweit größte Plattform für sozialen Wandel. Als zertifiziertes B-Unternehmen – eine neue Art von Unternehmen, die die Macht des Business für soziale Werte einsetzen – hat es sich das Unternehmen zur Mission gemacht, Menschen überall auf der Welt zu befähigen, positiven sozialen Wandel zu bewirken. Über diese offene Plattform kann jeder eine Kampagne starten und hunderte Menschen in der Region oder hunderttausende Menschen weltweit mobilisieren, um Änderungen – von der Beendigung des Schulmobbing bis hin zum Stopp von Säureattacken in Indien – zu bewirken. Sitz von Change.org ist in San Francisco, und das Unternehmen zählt Investoren wie Bill Gates, Richard Branson, Arianna Huffington sowie die Gründer von LinkedIn, Yahoo, Twitter und eBay zu seinen Unterstützern. 

Change.org hat sich in den vergangenen Jahren enorm entwickelt, insbesondere international, und sich rege darum bemüht, regelmäßig neue Site-Features herauszugeben. Allerdings fehlte der Organisation mit seiner bisherigen verwalteten Cloud-Infrastruktur die hierfür erforderliche Elastizität. "Insbesondere unser Data Science-Team wünschte sich schnellere Iterationszyklen, unsere bisherige Umgebung legte uns jedoch einige Steine in den Weg, die das Hinzufügen neuer Ressourcen wirklich zu einer Herausforderung machten", erklärt Vijay Ramesh, Lead Data Engineer für Data Science bei Change.org. "Außerdem brauchten wir die Agilität für Iterationen bei unterschiedlichsten Maschinentopologien für Machine Learning. Wir wollten beispielsweise Maschinen mit sehr vielen Cores verwenden, gleichzeitig aber auch kleinere Maschinen mit Parallelprozessen."

Außerdem ist Change.org in hohem Maße von Continuous Integration (CI) abhängig – einem Entwicklungsverfahren, bei dem Code mehrmals am Tag in ein Repository integriert werden muss. Nur so kann das Unternehmen qualitativ einwandfreien Code liefern. Allerdings nutzte die Organisation ein selbst entwickeltes CI-System, das die Freigabe neuer Features enorm verlangsamte. "Jeder CI-Build dauerte bis zu einer Stunde, was eindeutig zu lange ist", so Ramesh. "Schnelle Funktionstests und die sofortige Bereitstellung neuer Features waren damit nahezu unmöglich." Außerdem war das System sehr wartungsanfällig und erforderte dabei zu viel manuelles Eingreifen. "Mehrere unserer Techniker waren mehrere Stunden täglich damit beschäftigt, den CI-Workflow in Schuss zu halten. Dabei ist das gar nicht unsere Kernkompetenz”, erklärt Ramesh. "Eigentlich wollen wir uns nur auf die Entwicklung neuer Features konzentrieren."

Auch ihre Website-Plattform musste die Organisation besser skalieren, um Datenverkehrsspitzen gewachsen zu sein. "Sobald wir zum Beispiel in den Medien erwähnt werden, explodiert der Ansturm auf unsere Website, aber wir hatten wirklich Probleme, schnell genug neue Serverknoten einzurichten, um diesen Spitzen gerecht zu werden", so Ramesh. "Von unserer Seite war sehr viel manuelle Intervention erforderlich und es dauerte mehr als eine Stunde, bis neue Ressourcen bereitstanden und in Produktion gehen konnten, um dem Bedarf nachzukommen."

Auf der Suche nach einer agileren und skalierbareren Web-Plattform entschied sich das Data Science-Team von Change.org, einen Teil seiner Machine Learning-Ressourcen auf Amazon Web Services (AWS) zu verlagern. "Die Flexibilität und Skalierbarkeit von AWS sagte uns sofort zu", so Ramesh. So begann das Data Science-Team zunächst, Amazon Elastic Compute Cloud (Amazon EC2)-Instances in der Produktion für sein E-Mail-Targeting und seine Batch-Pipeline-Jobs einzusetzen.

Erst später richtete Change.org zwei Amazon Redshift-Cluster mit jeweils 16 TB ein. Die gesamten relationalen und Ereignisdaten des Unternehmens werden in diesen beiden Clustern gespeichert. Dabei ist der erste Cluster ein Business Intelligence (BI)-Cluster für die Produktion, das die Kundendaten aus einer MySQL-Datenbank nach Redshift streamt. Der zweite Cluster wird für Offline-Analysen verwendet, wobei R&D experimentelle und Protokollereignisdaten aus Amazon Simple Storage Service (Amazon S3) erfasst und auf Redshift hochlädt. Dieser Cluster wird durch den AWS Data Pipeline-Service aktuell gehalten. "Wir experimentieren sehr viel mit neuen Features und Site-Verbesserungen. Deswegen richteten wir dieses System für unsere Techniker ein, damit sie einfach alles ausprobieren können, ohne sich Gedanken um eine Beeinträchtigung des laufenden Betriebs machen zu müssen", erläutert Ramesh. In diesem Cluster können die Geschäftsanalysten des Unternehmens auch Berichte und Management-Dashboards für die Analyse der Ereignisstromdaten in Redshift erstellen. Auch viele E-Mail-Tools des Unternehmens fragen Redshift ab.

Noch behält Change.org einige Ressourcen in seiner lokalen Umgebung bei, wobei der Trend eindeutig in Richtung On-Demand-Ressourcen aus AWS geht und das Unternehmen im Begriff ist, seine vollständige Produktionsumgebung auf AWS zu verlagern.

Change.org hat sich darüber hinaus auch für die gehostete CI-Lösung Solano CI entschieden. Solano CI wird vollständig auf AWS ausgeführt. Dabei verwendet es Elastic Load Balancing für die Weiterleitung des eingehenden Datenverkehrs, Amazon S3 als Datenspeicher und Amazon Relational Database Service (Amazon RDS) für die Ausführung seiner Datenbank. Solano CI ist ein skalierbares System, das insbesondere Entwicklungstests beschleunigen, die Verwaltung des CI-Systems auslagern und die Auslastung der AWS-Instances optimieren soll, wodurch sich die Gesamtbetriebskosten erheblich reduzieren. "Durch die Implementierung von Solano CI konnten wir unser selbst gestricktes CI-System komplett stilllegen", so Ramesh. 

Dank der On-Demand-Elastizität von AWS haben sich die Entwicklungszeiten für Change.org erheblich reduziert. "Die Iterationszeiten haben sich für unser Data Science-Team dank der Elastizität von AWS enorm gesteigert", meint dazu Ramesh. "Beispielsweise variierte der Computing-Aufwand bei der Entwicklung von Empfehlungsengines je nach verwendetem Algorithmus und Datenmenge erheblich. Mit AWS geschieht das nahezu nebenbei, und dabei greifen wir nur auf die Ressourcen zu, die wir tatsächlich für das jeweilige Projekt benötigen. Wir brauchen keine Server mehr zu requirieren oder in irgendeiner Weise vorausplanen."

Das Unternehmen kann sich ganz auf seine automatisierte Testumgebung von Solano CI verlassen – dadurch reduzieren sich Testzeiten und neue Features gehen schneller in die Produktion. Seit dem Wechsel zu Solano CI mit seiner automatischen Parallelverarbeitung konnte das Unternehmen seine Build-Zeiten von durchschnittlich einer Stunde auf 15 Minuten reduzieren. "Jeden Tag können wir nun wesentlich mehr CI-Builds durchführen, was letztlich bedeutet, dass wir täglich weitaus mehr Änderungen an unserer Site vornehmen können", so Ramesh. "Dank Solano CI können wir unseren Endbenutzern nun schneller mehr Wert bereitstellen." Auch Fehler und Mängel erkennt Change.org wesentlich schneller, da es mit Solano CI mehr Tests durchführen kann. Ramesh meint dazu: "Dadurch, dass wir Fehler schneller erkennen, liefern wir einen qualitativ hochwertigeren Code und letztlich bessere Features."

Durch die neu gewonnene Skalierbarkeit sieht Change.org auch Datenverkehrsspitzen gelassener entgegen. "Durch AWS können wir wesentlich leichter auf eine erhöhte Frequentierung unserer Website reagieren", meint Ramesh. "Sobald wir gesteigerten Datenverkehr sehen, schalten wir automatisch neue Hintergrundserver online. Lässt der Ansturm wieder nach, gehen diese Server wieder offline. Das ist sehr zuverlässig und geht blitzschnell. Und da unsere Techniker nicht manuell eingreifen müssen, dauert es auch keine Stunde mehr, um neue Ressourcen aus dem Boden zu stampfen. Das geht sofort."

Auch die Solano CI-Umgebung ist ganz auf Skalierbarkeit ausgerichtet. Deswegen passt sich Change.org jederzeit höheren Build-Testanforderungen an. "Insbesondere wenn wir kurz vor der Freigabe wichtiger Features stehen und die Deadline immer näher rückt, müssen wir ungewöhnlich viele Builds ausführen", erklärt Ramesh. "Solano CI passt sich diesem Bedarf an, da es unmittelbarer Nutznießer der Skalierbarkeit von AWS ist."

Und da sich sein CI-System nun in der Cloud befindet, brauchen sich Change.org-Entwickler nicht mehr mit Wartungsaufgaben herumzuschlagen. Solano CI optimiert Tests auf intelligente Weise und völlig automatisch. Für die Entwickler von Change.org entfallen dadurch Aufgaben wie die Verwaltung eines CI-Systems, die Konfiguration virtueller Maschinen oder die Pflege ihrer CI-Knoten, so dass alles korrekt funktioniert. "Unsere Entwickler brauchen sich keine Gedanken mehr über die Wartung unseres CI-Systems zu machen." so Ramesh. "Sie können sich ganz darauf verlassen, dass Solano CI alles automatisch macht. Stattdessen können sie sich auf das konzentrieren, was sie am besten können: großartige Tools für unsere Website entwickeln, die unseren Endbenutzern weltweit den größten Nutzen bringen."

Change.org plant seine Nutzung von AWS noch auszubauen, sobald es seine Migration in die Umgebung abgeschlossen hat. "Besonders interessant für uns ist, dass AWS weltweit mehrere Regionen und Availability Zones betreibt. Das ist für uns neu – das hatten wir bei unserer bisherigen Lösung nicht", so Ramesh. "Eine Website-Architektur zu entwickeln, die es uns ermöglicht, weltweit jederzeit schnell auf individuellen Datenverkehr zu reagieren, ist für uns ein unglaublicher Vorteil. International haben wir uns in den letzten Jahren enorm entwickelt – mit Hilfe von AWS werden wir in der Lage sein, diesen Prozess noch zu beschleunigen. Wir werden unseren Benutzern weltweit mehr Stabilität und Redundanz bieten, und dies eröffnet uns in puncto künftigen Wachstums eine völlig neue Welt."

solano-labs-logo

Ein Advanced-Technologiepartner des AWS-Partnernetzwerks (APN) mit AWS DevOps-Kompetenz. Solano Labs stellt leistungsstarke, skalierbare Systeme für Continuous Integration (CI) und Continuous Deployment (CD) bereit, dank derer Softwareentwickler Leistung und Qualität bei gleichzeitiger Kostenreduzierung steigern können.

Weitere Informationen darüber, wie Solano Labs Ihrem Unternehmen beim Aufbau und bei der Verwaltung Ihrer AWS-Umgebung helfen kann, finden Sie unter dem Eintrag Solano Labs im AWS-Partnerverzeichnis.
 

Weitere Informationen zur Verwaltung Ihrer Website in der Cloud mithilfe von AWS finden Sie auf unseren Detailseiten zu Websites und zum Website-Hosting.