Seit 2014 leistet LaunchDarkly mit einer Methode namens Feature Management Pionierarbeit in der Softwareentwicklung. Damit können Kunden neue Funktionen schneller und risikoärmer bereitstellen, indem sie Feature Flags in großem Umfang nutzen. Feature Flags ermöglichen es LaunchDarkly Kunden, einigen oder allen Nutzern bestimmte Funktionen anzubieten und diese bei Bedarf innerhalb von Millisekunden zurückzusetzen, ohne das Nutzererlebnis zu beeinträchtigen oder gegen Verfügbarkeits-SLAs zu verstoßen. Seit seiner Gründung hat sich das Unternehmen auf die Funktionen von Fastlys Edge-Cloud-Plattform zur Bereinigung und Abschirmung verlassen, um Kundenerwartungen selbst bei exponentiellem Traffic-Anstieg zu erfüllen und zu übertreffen. LaunchDarkly hat sich zum Ziel gesetzt, seine Geschwindigkeit kontinuierlich zu verbessern. Im Zuge dessen wandte sich das Unternehmen an Fastly, um herauszufinden, ob es mit Compute@Edge zusätzliche Performance-Steigerungen erzielen und gleichzeitig 20 Billionen Feature Flags pro Tag auswerten kann.
launchdarkly.com/
Branche: PaaS/SaaS
Standort: Oakland, CA
Kunde seit: 2014
Lieblingsfunktionen
LaunchDarkly sah großes Potenzial, die Performance für seine Kunden zu verbessern, die sein Software Development Kit (SDK) im Polling-Modus nutzen. Kurze Antwortzeiten sind entscheidend für die gesamte Seitenladezeit. An mehreren Standorten auf der ganzen Welt wurden von LaunchDarkly Initialisierungsraten von über einer Sekunde gemessen. Dies lag daran, dass die Logik für den Flag-Management-Dienst am Origin ausgeführt werden musste. Einige Regionen waren ganz einfach zu abgelegen, um eine hohe Performance zu gewährleisten. Unternehmen mit einem weltweiten Kundenstamm, die Bedenken haben, dass ihre Nutzer mit übermäßigen Latenzen konfrontiert sein könnten, zögern womöglich, Feature Flags für bestimmte Anwendungsfälle zu verwenden. Der Feature-Flagging-Service musste also näher zu den Nutzern gebracht und schneller werden.
„Wir möchten, dass unsere Kunden Feature Flags überall und in jeder Anwendung ohne Kompromisse bei Security, Performance oder Ausfallsicherheit nutzen können“, so Jonathan Nolen, Senior Vice President of Engineering and Product. Der Wechsel zu Compute@Edge erfüllte genau diesen Wunsch und versetzte LaunchDarkly in die Lage, die Latenzzeiten rund um den Globus von Hunderten von Millisekunden auf Dutzende von Millisekunden zu verkürzen.
LaunchDarkly entwickelte Flagbearer@Edge, eine Lösung, die die Auswertung von Flags auf die Edge verlagert und auf Compute@Edge basiert. Die meisten Anfragen an Flagbearer@Edge werden von einem der geografisch verteilten POPs von Fastly beantwortet und nicht an den Origin-Server in den USA weitergeleitet. Seit der Einführung von Flagbearer@Edge kann LaunchDarkly eine beeindruckende Cache-Hitrate von 98 % verzeichnen. Noch wichtiger für die Kunden von LaunchDarkly ist aber, dass die durchschnittliche Initialisierungsdauer auf 25 Millisekunden gesunken ist.
Das LaunchDarkly Team hatte schon lange mit dem Gedanken gespielt, seine Plattform um diese Funktionen zu erweitern. Laut Nolen wollte das Unternehmen das Problem mit der geografischen Verteilung der Flag-Auswertung ursprünglich innerhalb seiner eigenen Architektur lösen. Als LaunchDarkly aber von Compute@Edge erfuhr, wandte man sich von dieser Idee ab, selbst wenn das Unternehmen zu diesem Zeitpunkt bereits Teile seiner Infrastruktur auf den gesamten Globus verteilt hatte.
Compute@Edge bot LaunchDarkly eine fertige Lösung. Man begriff schnell, dass eine vollständige globale Verteilung wie bei Fastly nicht ohne großen Zeit-, Arbeits- und Kostenaufwand möglich war. Mithilfe des weltweit verteilten Netzwerks von Fastly konnte LaunchDarkly seinen Kunden die Vorteile von Flagbearer@Edge mehr oder weniger von hier auf jetzt zur Verfügung stellen. Inzwischen laufen bis zu 100 % des produktiven Polling-Traffics über Compute@Edge.
Der Aufbau von Infrastruktur erweist sich meist schwieriger als erwartet, wie Software Engineer Andrew Brown weiß. Durch die Einführung von Compute@Edge musste sich das Team mit der Infrastruktur nicht lange herumschlagen und konnte seine Zeit stattdessen in andere Dinge investieren.
Ein Team von LaunchDarkly Entwicklern erstellte ein Proof of Concept für die Nutzung von Compute@Edge und brachte es relativ schnell zum Laufen, nachdem ein frühes Prototyping bestätigt hatte, dass eine Umsetzung möglich war und das Onboarding besonders einfach ist. Laut Nolen und Brown hat die Zuverlässigkeit von Compute@Edge ihre Entscheidung nur bestätigt.
„Wir hatten bislang noch keinerlei Probleme. [Fastlys Compute@Edge] läuft äußerst stabil. Wir mussten auch noch keine Änderungen vornehmen. Compute@Edge hält, was es verspricht.“
Jonathan Nolen, Senior Vice President of Engineering and Product
Einer der Gründe, warum LaunchDarkly der Umstieg so schnell gelang, war Fastlys Enterprise Support. Die Einführung neuer Technologien wie Compute@Edge kann Herausforderungen mit sich bringen. Nolen und Brown bestätigen jedoch, dass der Fastly Support während des gesamten Implementierungsprozesses und auch danach jederzeit zur Verfügung stand und ein reibungsloser Ablauf auf diese Weise gewährleistet wurde.
„Es war uns von Anfang an klar, dass der Erfolg von LaunchDarkly dem Fastly Team sehr am Herzen liegt“, so Brown. „Wir fühlten uns bestens unterstützt und unsere Fragen wurden per Slack sehr schnell beantwortet.“
Am besten gefällt LaunchDarkly an Compute@Edge aber, dass man sich darauf verlassen kann, dass das System einwandfrei funktioniert und nicht ständig gewartet werden muss. So kann sich das Unternehmen darauf konzentrieren, immer wieder neue Wege zu finden, um den Entwicklern das Leben zu erleichtern und den Entwicklungsprozess insgesamt zu beschleunigen.
„Was mir an Fastly am besten gefällt, ist die Tatsache, dass es schlichtweg funktioniert … Das ist die Art von Infrastruktur, auf die ich mich gerne verlasse.“
Jonathan Nolen, Senior Vice President of Engineering and Product
„Viele unserer Anbieter schicken uns regelmäßig Warnmeldungen und kosten uns jede Menge Schlaf. Aber auf Fastly konnten wir uns bisher stets verlassen.“
Andrew Brown
Software Engineer