Die Flexperten Herrlich & Ramuschkat

grosse Live-Events mit CloudFront HTTP-Streaming und Flash Media Server 4.5

Seit der Version 4.5 des Adobe Flash Media Servers (demnächst ohne Flash im Namen … nur noch Adobe Media Server) wird HTTP-Streaming für Live- und VOD-Szenarien für den Flash Player und iOS Devices unterstützt. Das Gute daran ist, das der Flash Media Server über entsprechende URL Aufrufe die vorhandenen VOD-Videodateien oder einen Live-Stream on-the-fly in das entsprechende HTTP-Streaming Format (HDS oder HLS) konvertiert und ausliefert. Seit neuestem unterstützt Amazon AWS CloudFront auch HTTP-Streaming, so dass sich hier nun die Frage stellt, wie viele concurrent User kann ich mit einem oder zwei Flash Media Server und vorgeschaltetem CloudFront bei z.B. einem Live-Szenario unterstützen, ohne das es zu einer Überforderung der zugrunde liegenden Flash Media Server kommt …

Ohne HTTP-Streaming mit dem klassischen RTMP-Streaming (Adobe eigenes proprietäres Streaming Protokoll) brauchte man für 30.000 bis 50.000 User eine ganze Serverfarm (ca. 40-50 Server) mit einem Origin-Edge-Server Konzept und einem RTMP-fähigen Load-Balancer …

Nach Rücksprache mit dem Amazon CloudFront- und dem Adobe Flash Media Server Team können nun mehrere 10K User mit einem, besser aber mit zwei Flash Media Servern und Amazon AWS CloudFront bedient werden, da die Manifest-Dateien und die darin referenzierten HTTP-Streaming Pakete sehr gut von CloudFront gecacht werden und nur sehr wenige HTTP-Requests zu den Flash Media Servern durchkommen.

Also für einen Live-Event mit 20.000 bis 50.000 Usern könnte folgendes Szenario vollkommen ausreichend sein …

  • Einspielen eines Live-Streams über den Flash Media Live Encoder direkt an zwei Flash Media Server (FMS-URL und Backup-URL definieren, dann werden zwei FMS Server angesteuert und mit einem Live-Stream bedient)
  • Aufsetzen von zwei Flash Media Serven als EC2-Instanzen (mindestens “large”)
  • Definition eines Load-Balancers, der die HTTP-Requests zwischen den beiden EC2-Instanzen aufteilt
  • Definition einer CloudFront Download-Distribution, die gegen den Load-Balancer konnektiert

Das müsste so prima funktionieren, nur getestet habe ich es noch nicht, da mir die 50.000 concurrent User fehlen …

4 Kommentare

  1. Steve am 20. Juli 2012

    Die vorgefertigten CloudFormation-Vorlagen arbeiten ja mit nur einem FMS-Server.

    Wenn ich das ganze richtig verstehe, verbinden sich ja nur die CloudFront-Edges mit der eigentlichen Server-Instanz.

    Das sollte doch selbst bei einer large-Instanz und ihrer 350MBit-Anbindung ausreichen, oder?

    Warum also 2 Server und Load-Balancer? Nur als Failover-Backup?

    Und wenn man sowas machen möchte, dann ist Handarbeit angesagt, oder?

  2. SRamuschkat am 24. Juli 2012

    Hi,
    ja, eine Large müsste locker ausreichen.

    2 Server und Load-Balancer kommt als Empfehlung vom Adobe FMS Team und entsprechend vom CloudFront Team. Letztendlich kann im Augenblick keiner ganz genau sagen, wieviele Requests eigentlich auf den FMS Origin durchkommen und da welche Last erzeugen, daher die Reserver mit dem LoadBalancer und den 2 Instanzen. Die generelle Aussage war nur, das CloudFront ziemlich gut alles auffängt … 😉

  3. cialis am 21. März 2017

    Professionals and if off over to Buy cialis Buy Cialis normal week for yourself.

  4. en am 19. Oktober 2017

    These medications for patients who lose their late cialis en verkauf Cialis teens and workup be elucidated.

Einen Kommentar schreiben