Erfolgsgeschichte

Microsoft Yammer nutzt die Leistungsfähigkeit von HAProxy Enterprise für den Aufbau Ihres Service Meshes

Unbegrenzte Skalierbarkeit
Kosteneinsparung
Für Service Meshes geeignet
Perfekte Automatisierung

Über Microsoft Yammer

Yammer ist ein Social-Networking-Tool, das Teil der Microsoft Office 365-Suite ist. Es wird verwendet, um unternehmensweites Verbinden und Engagement zu fordern. Mit Yammer können Sie Konversationen, an denen jeder in Ihrer Organisation teilnehmen kann, starten. Sie können Nachrichten ankündigen, Gruppen nach Themen durchsuchen und Dokumente freigeben. Ziel ist es, Menschen und Informationen miteinander zu verbinden, um schneller bessere Entscheidungen treffen zu können.

Resultatsüberblick

Unbegrenzte Skalierbarkeit
Kosteneinsparung
Für Service Meshes geeignet
Perfekte Automatisierung

„Zu Spitzenzeiten haben wir 450.000 Anfragen pro Sekunde, intern und extern zusammen. Nur etwa 80-100.000 Anfragen kommen von unseren Kunden. Also, der schwerste Teil des Jobs für HAProxy kommt eigentlich von unseren internen Anfragen.“ – Tobias Haag, leitender Softwareentwickler

Die Challenge

Als Yammer von Microsoft im Juni 2012 übernommen worde, migrierte Yammers Team seine Services in Microsofts Datenzentren. Diese traditionellen Datenzentren waren, für eine gewisse Zeit, ausreichend. Aber, Tobias Haag, leitender Softwareentwickler, entschied sich für eine Migration auf Microsoft Azure. Diese Migration würde ihre Anforderungen – sofortige On-Demand-Skalierbarkeit, enorme geografische Reichweite und Entlastung von aufwändigen Vernetzen – besser erfüllen. Sie wollten jedoch ein zusätzliches Sicherheitsnetz, um Downtimes zu vermeiden. Zu diesem Zweck hatten sie die Idee, auf Azure eine Plattform zu entwickeln, die ihre Belastbarkeit erhöht, die Entwicklungsgeschwindigkeit beschleunigt und die Ihnen ermöglicht Sicherheits- und Regierungs-Vorschriften richtig zu erfüllen.

Nachdem Yammer von den traditionellen Datenzentren migrierte, machten sie sich auf die Suche nach einer Layer-7-Lösung, um ihre vorhandenen Hardware Load Balancers zu ersetzen. Tobias und sein Team wendeten sich an HAProxy, als sie die enormen Vorteile des Software Load Balancers erkannten. Das Team wollte nun HAProxy in ihrer Azure-Umgebung, für interne und externe Apps, ausprobieren. HAProxy hatte klare Vorteile gegenüber andere Load Balancers, die das Team in der Vergangenheit verwendet hat. Nun wollten Sie ausprobieren, ob es möglich ist, HAProxy weiterhin in ihrer neuen, auf Azure aufgebauten, Umgebung zu benutzen.

yammer-main-header2

Tobias Haag auf der Bühne während seines HAProxyConf 2019-Vortrags

Die Ziele

Robuste Zuverlässigkeit war Tobias‘ Priorität für die Yammer-Plattform. Azure kümmerte sich für das Vernetzen, das DNS und die Serverbereitstellung. Tobias wollte aber auch zusätzliche Mechanismen benutzen, um sich gegen Ausfälle zu schützen und um solche Ausfälle endgültig zu verhindern.

Das Team wollte auch eine eigennützige Infrastruktur aufbauen, um so den Developers zu ermöglichen neue Apps schnell bereitzustellen. Weil diese Umgebung so dynamisch ist, brauchte das Team Service Discovery, leistungsfähige Health-Checks und mehrere Möglichkeiten voneinander abhängige Apps automatisch anzuschließen. All dies würde zu einer verbesserten Developer-Produktivität führen.

Das letzte Ziel war die Integrierung von Sicherheits- und Compliance-Maßnahmen. Am wichtigsten war die Verschlüsselung aller Kommunikationen zwischen allen Apps, zusätzlich zur Verschlüsselung von Client-Verbindungen. Die Durchsetzung von SSL im gesamten Unternehmen würde bedeuten das überall konsistente Sicherheit vorhanden ist.

HAProxy Enterprise ermöglicht uns zuverlässiges Load Balancing zwischen allen unseren Komponenten.

Die Lösung

Die neue Yammer-Plattform benutzt Docker-Container um hochwiderstandsfähige Uptime im ganzen Server-Cluster zu bieten. Die Plattform benutzt Mesos und Marathon für Container-Orchestrierung und HAProxy Enterprise für die Weiterleitung aller Kommunikationen zwischen den Containern.

Das Yammer-Team bevorzugte HAProxy für Request-Routing am Rande des Netzwerks. Aber, mit einer zunehmenden Anzahl von Apps, war es nicht mehr effizient den ganzen East-West Datenverkehr durch den selben Set von Load Balancers zu routen. Die neue Plattform hat den Team ermöglicht einen Service Mesh großen Umfangs zu entwerfen. Dieser Service Mesh enthält eine HAProxy Enterprise-Instanz neben jeder Conatiner-App, um so direkte Kommunikation zwischen Services, Health-Checks, SSL-Encryption, DNS-basierte Service Discovery, und Observability am Container-Level zu ermöglichen.

HAProxy bleibt weiterhin der Layer-7 Edge Load Balancer vor der Plattform – es ermöglicht sichere und zuverlässige Kommunikationen zu externen Clients. Aber jetzt nimmt HAProxy eine neue Rolle auf, um so eine ganze Reihe von Load Balancing-Features für Yammers interne Services zu bieten.

yammer-haproxy-simplified-2

Die Infrastruktur von Yammer benutzt dedizierte HAProxy Enterprise Cluster, die auf circa 60,000 HAProxy-Instanzen ausgeführt werden.

Die Zeit notwendig für die Bereitstellung von HAProxy wurde auch in Betracht gezogen.“Es stellte sich heraus, dass es für uns extrem billig ist, HAProxy bereitzustellen“, sagte Tobias Haag. „Der Overhead, den wir im Vergleich zu unseren Apps erhalten, ist nahezu vernachlässigbar. Bei beständiger Verwendung nutzt HAProxy keinen oder keine merkliche CPU.“

Seit 2015 hat sich vieles in Bezug auf wie einfach es ist HAProxy und einige seiner Komponenten zu konfigurieren geändert. Ich denke, dass das am meisten dazu beigetragen hat, so eine Umgebung leichter verwalten zu können.

Die Resultate

HAProxy Technologies erwies sich als großartiger Partner für Yammer, als sie mithilfe unseres Support-Teams auf eine Microsoft Azure-basierte Microservices-Architektur migrierten. Dabei nutzte das Team alle Vorteile unserer Technical Account Manager-Services. Heute benutzt Yammer einen benutzerdefinierten Service-Mesh der auf 60.000 HAProxy Enterprise-Instanzen ausgeführt wird, wobei zu jedem Zeitpunkt 2.000.000 Anfragen pro Sekunde durch das System fließen.

„Die Migration auf softwaredefinierte Load Balancers, und insbesondere auf HAProxy Enterprise, ermöglichte uns die Umsatzung eines Systems, das komplett auf Orchestrierung basiert ist. Dieses System kann dank HAProxy Enterprise dynamisch skaliert werden und liefert die, von unseren Nutzern geforderte Leistung und Zuverlässigkeit, auf sehr kostenwirksame Weise „, sagte Haag. „HAProxy Enterprise ermöglicht uns zuverlässiges Load Balancing zwischen all unseren Komponenten. Außerdem ermöglicht es uns einfache SSL-Terminierung während der Aktualisierung von Konfigurationen. Es bietet eine Menge Flexibilität, die uns erhebliche Entwicklungszeit spart. Jetzt können wir uns darauf konzentrieren, die Erfahrung für unsere Developer insgesamt zu verbessern und neue Features für unsere Kunden zu entwickeln.“

Wollen Sie mehr HAProxy Use-Cases entdecken? Besuchen Sie unseren Success Story Page?

Wenden Sie sich an die maßgeblichen Experten bei HAProxy. Diese helfen Ihnen dabei, die Lösung zu finden, die Ihre Anforderungen in puncto Bereitstellung, Skalierung und Sicherheit am besten erfüllt.

Kontaktieren Sie unsere Experten