Microsoft Yammer nutzt die Leistungsfähigkeit von HAProxy Enterprise für den Aufbau Ihres Service Meshes
Mehr als 2 Millionen Anfragen pro Sekunde zu jedem Zeitpunkt.
Eine der am häufigsten verwendeten Enterprise Social Networking-Lösungen, die von über 85% der Fortune 500-Unternehmen verwendet wird.
Vor über 12 Jahren gegründet.
Ü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
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.
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.
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.
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.“
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?