Einführung der Fastly Staging-Umgebung: Sicher testen, einfach bereitstellen

Simon Wistow

VP Strategic Initiatives, Fastly

Ab heute können Sie mit der Staging-Umgebung von Fastly Ihre CDN- und Compute-Konfigurationen mühelos – mit nur einem Klick – testen, bevor sie live gehen. Gewinnen Sie die Gewissheit, dass Sie sich voll und ganz auf Ihre Deployments verlassen können, stellen Sie eine einwandfreie Performance sicher und sparen Sie Zeit bei der Fehlerbehebung.

Wie kam es dazu?

Als Fastly im Jahr 2011 gegründet wurde, war „sofortige Ausführung“ eines der Leitprinzipien, und das ist bis heute so geblieben.

Zu dieser Zeit konnte das Aktualisieren von Inhalten bei anderen CDNs Stunden dauern, es sei denn, Sie zahlten extra für eine begrenzte Anzahl von "schnellen Bereinigungen", die in wenigen Minuten erledigt werden konnten. Inzwischen sind mehr als zehn Jahre vergangen, seit wir in einem Blogbeitrag die genaue Funktionsweise unseres Bereinigungssystems beschrieben haben, und erst jetzt kommt ein anderes CDN dem nahe.

Logs und Metriken wurden Ihnen alle 24 Stunden per FTP übermittelt (nicht per FTPS oder SFTP, sondern einfach nur per unsicherem FTP), und die Bereitstellung einer Konfigurationsänderung für Ihr CDN konnte Stunden dauern, was jede Änderung riskant machte, da Sie nicht wussten, ob etwas schiefgelaufen war, und Sie es in diesem Fall nicht beheben konnten. Aus diesem Grund wurde jedes Fastly Deployment versioniert. Wenn eine Änderung in die Produktivumgebung übernommen wurde, wurde sie unveränderlich in unserer Datenbank gesperrt, sodass unsere Kunden oder wir, falls nötig, innerhalb von Sekunden ein Rollback durchführen konnten.

Und das hat über ein Jahrzehnt hinweg unglaublich gut funktioniert. Die Kunden waren begeistert von der Leistung und Flexibilität, die es ihnen bot. Ähnlich wie die bahnbrechende DevOps-Präsentation von John Allspaw und Paul Hammond auf der Velocity 2009 „10+ Deploys Per Day: Dev and Ops Cooperation at Flickr“ gab die Fähigkeit, viele schnelle Änderungen zu deployen, unseren Kunden Sicherheit, da jede Änderung leicht nachvollziehbar, isoliert testbar und im Falle eines Fehlers leicht per Rollback rückgängig zu machen war oder, häufiger, der Fehler behoben und die Version und weitergeführt werden konnte.

Kunden haben uns in ihre CI/CD-Pipelines und Architekturen integriert – sie nutzten Chef und Terraform oder benutzerdefinierte API-Hooks. Sie haben Feature-Flag-Systeme in unser Edge Scripting eingebaut und Canarying sowie schrittweise Rollouts durchgeführt.

Aber wir erhielten Anfragen, eine integrierte Staging-Umgebung bereitzustellen – oft von sehr großen Kunden, die sich bei sehr großen Veranstaltungen, bedeutenden Werbeaktionen, Produkteinführungen und mehr auf Fastly verlassen.

Was ist die Staging-Umgebung von Fastly?

Als es darum ging, wie wir Staging aufbauen wollten, war eines klar: Wir wollten das Testen nicht auf das Staging von PoPs oder ein separates Staging-Netzwerk beschränken. Wir wollten, dass unsere Staging-Umgebung der Produktivumgebung so nahe wie möglich ist, damit Sie beim Testen nicht in verschiedenen Regionen auf unterschiedlicher Hardware mit unterschiedlichen Latenzen testen. 

Gemäß unserem Leitsatz der sofortigen Ausführung wollten wir, dass alles funktioniert, ohne dass Sie, unsere geschätzten Kunden, etwas ändern müssen.

Keine Staging-Domains (es sei denn, Sie möchten sie), Service-Pinning, Regionskonformität, PCI, TLS-Zertifikate, DDoS-Schutz … alles sollte einfach funktionieren.

Und das haben wir veröffentlicht – alles funktioniert einfach. Hinter den Kulissen steckt eine Menge Arbeit – aber im Vordergrund klicken Sie einfach auf die Schaltfläche „Stage“ (oder rufen die API auf oder führen den CLI-Befehl aus) und alles geschieht von selbst. Keine Codeänderungen erforderlich, kein if (staging) { …  } in Ihrem Code.

Bald werden Sie in der Lage sein, Canary Deployments (auch bekannt als Green/Blue Deployments oder schrittweise Einführung) durchzuführen, bei denen Sie Live-Kunden schrittweise auf eine neue Version migrieren.

Wie immer ist alles, was wir entwickelt haben, Teil unserer Plattformphilosophie – wir bauen die Komponenten, und die Komponenten ermöglichen es uns und Ihnen, mehr Dinge auf der Plattform zu entwickeln.

Gewinnen Sie noch heute Sicherheit, stellen Sie eine einwandfreie Performance sicher und sparen Sie Zeit bei der Fehlerbehebung, indem Sie die Staging-Umgebung von Fastly nutzen. Wie immer, wenn Sie Fragen, Vorschläge, Funktionswünsche oder Kommentare haben, können Sie sich gerne an uns wenden.