GitHub, die einfachste Möglichkeit, gemeinsam Software zu programmieren, ist mittlerweile eine weltweite Community von 5,8 Millionen Entwicklern in mehr als 12 Millionen Repositories. Gemeinsam mit Fastly arbeitete GitHub an der Optimierung seines CDN-Setups, um eine schnelle und effiziente Bereitstellung seiner Inhalte zu gewährleisten. Fastly liefert alle statischen Assets aus und ist vor GitHub.com, Pages (dem Webhosting-Service von GitHub) und raw.github.com angesiedelt.
„Fastly hat einen äußerst positiven Einfluss auf unsere Endnutzer. Dieser Anbieter macht es uns leicht, die Bereiche unserer Website zu ermitteln, in denen sich Inhalte effizient über ein CDN ausliefern lassen, und diese gezielt auf Fastly auszulagern. Wir können uns darauf verlassen, dass Fastly unsere Inhalte schnell und zuverlässig über sein globales Netzwerk bereitstellt.
Jesse Newland, Systems Engineer
GitHub nutzt Fastly seit der Entwicklung eines dringenden neuen Features. Als der bisherige CDN-Anbieter des Unternehmens von einem Ausfall betroffen war, wurde ein Großteil der verbleibenden Inhalte über Nacht ebenfalls zu Fastly migriert. Da Fastly als Service sich quasi selbst bereitstellt und sehr schnell eingerichtet ist, konnte GitHub den Wechsel zu Fastly inmitten eines Angriffs vollziehen und den Service sofort konfigurieren, ohne dabei auf einen Vertriebsmitarbeiter angewiesen zu sein.
GitHub schaltete Fastly vor andere Services, die häufig von DoS-Angriffen betroffen waren. Mithilfe von Fastlys Grace Mode lassen sich die Auswirkungen eines Angriffs auf die Endnutzer minimieren, indem statt einer Fehlermeldung veraltete Inhalte aus dem Cache ausgeliefert werden.
„Wir haben es hauptsächlich der Infrastruktur von Fastly zu verdanken, dass wir einen Kapazitätsengpass beheben konnten. Die Möglichkeit, die Inhalte wirklich schnell auf Fastly zu übertragen und mit wenigen Konfigurationsänderungen und Einstellungen an unserem Origin-Server zu cachen, war dabei entscheidend.“
Vor Fastly waren die Origin-Server von GitHub Pages bei Anfragespitzen permanent stark ausgelastet.Um diese Spitzen auszugleichen und die virale Nutzung von Pages in den Griff zu bekommen, wies Fastly GitHub in jedem Datacenter eine eigene IP-Adresse zu, mit der die hunderttausenden individuellen Domains, die mit Pages erstellt werden, auf Fastly umgeleitet werden können. Das Ergebnis: Die einzelnen Websites auf Pages werden beschleunigt und die Anzahl der Anfragen an den Origin-Server wird minimiert, wodurch Pages schneller und zuverlässiger wird. Tatsächlich schlägt Pages in puncto Seitenladezeit laut diesem Vergleich sogar Arvixe, Windows Azure und Amazon AWS.
„Auf github.io können Nutzer ihren Blog über Pages mit einem Cname versehen, und solange die entsprechenden Inhalte auf die richtige IP-Adresse treffen, die Fastly konfiguriert hat, werden sie über das CDN ausgeliefert. Das ist für uns sehr vorteilhaft, bei anderen CDNs aber oft schwierig.“
GitHub nutzt Fastly auch, um dynamische Inhalte wie die gerenderten Rohdateien aus den Repositories zu cachen. Zuvor verzeichnete Raw.GitHub in regelmäßigen Abständen enorme Anfragespitzen, wenn mehrere tausend Geräte nutzergenerierte Inhalte anforderten, um automatisierte Aktionen auszuführen. Mit Fastly vor Raw werden mehrere Anfragen für denselben Inhalt zu einer einzigen Anfrage zusammengefasst, was eine erhebliche Entlastung des Origin-Servers zur Folge hat.
Vor Fastly zeigten unsere Auswertungen der Anfragen pro Stunde hohe Ausschläge. Früher erreichten uns stündlich hunderte Anfragen nach einem bestimmten Inhalt. Mit Fastly konnten wir dieses Anfragevolumen auf eine Anfrage pro Stunde reduzieren, was unsere Origin-Server erheblich entlastet.“
Für GitHub ist Fastly zu einem wichtigen Partner geworden. Das Unternehmen verzeichnete in den letzten Jahren ein rasantes Wachstum und verließ sich bei der Skalierung seiner Services im Rahmen der Neugestaltung wichtiger Infrastrukturkomponenten auf Fastly. Dank Fastly konnte sich GitHub bei der Planung seiner Kapazitäten auf seine Hauptseite konzentrieren, während andere beliebte Services wie Raw und Pages weiterhin unterstützt werden, ohne dass die Performance darunter leidet.
„Ich kann Fastlys Services nur wärmstens empfehlen. Fastly und seine CDN-Services gehören bei GitHub zur Entwicklungs- und Produkt-Roadmap. Sie machen einen großen Teil unseres Toolkits für die Entwicklung leistungsstarker und umfangreicher Webanwendungen aus.“