IIS7.5 – gzip-Kompression für CloudFront aktivieren

Amazons CloudFront ist ein guter Service um beispielsweise die Ladezeiten seiner Internetpräsenz weltweit zu verbessern. Um die Ladezeiten weiter zu optimieren lohnt es sich auch über CloudFront die IIS-seitige gzip-Kompression zu nutzen.

Da CloudFront aber aktuell nur gzip-Kompression über HTTP1.0 unterstützt und der IIS7.5 standardmäßig nur über HTTP1.1 gzip-komprimierten Content verteilt, muss eine kleine Anpassung am IIS vorgenommen werden.

mehr … »

CloudFront Caching

CloudFront ermöglichkeit das weltweite verteilte lokale Caching, damit auf Daten in S3-Buckets oder von Custom HTTP Origins (externe URLs soder Elastic Load Balancer) schneller zugegriffen werden kann.

CloudFront Daten werden standardmäßig 24h in den lokalen Edges gecached. Übersteuern kann man diese, wenn man entsprechende HTTP-Header setzt.

Gerade bei S3-Daten ist wichtig, das jede S3-Datei den HTTP-Header “Cache-Control” = “max-age=Wert in Sekunden” bekommt. Besonders gemein ist, dass man bei den Behaviors der Cloudfron-Distribution

beim Object Caching “customize” einstellen kann und man dann eine Minimum TTL definieren kann. Man schliesst dann folgerichtig (auch beim Lesen der ?-Hilfe), das damit ein fehlender Cache-Control Header bei S3-Dateien gesetzt wird. Nein, es wird nur ein vorhandener überschrieben … also immer auf “use Origin Cache Headers” lassen und dann bei den S3-Dateien die Cache-Header richtig setzten. Kann man mit Tools wie Cloudberry auch einfach für ganz viele Dateien machen …

 

Video HTTP Streaming mit Flash Media Server mit CloudFront

Viele Kunden nutzen als kostenlosen Videoplayer den flashbasierten Player “Flash Media Playback” um damit das HTTP Streaming des Flash Media Servers über CloudFront zu nutzen. Leider zeigt die von Adobe veröffentlichte URL auf eine doch sehr alte Version … und diese hat zahlreiche Probleme mit dem HTTP Streaming (HDS Streaming) … es kommt zu zahlreichen Bufferproblemen …

Der offizielle Link http://www.osmf.org/configurator/fmp/# führt zur Version 1.5x ….

Über diesen Link http://osmf.org/dev/2.0gm/setup.html kommt man zur aktuellen Version 2.x

 

Das in den Screenshots dargestellt Overlay mit der Versionsnummer kann man übrigens abrufen, in dem man unten rechts auf das letzte Icon eine Mausklick mit der rechten Maustaste macht …

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 …

mehr … »

AWS CloudFront Video-Streaming über RTMP

Mittels CloudFront kann man auch ohne einen Adobe Flash Media Server Videos über das Adobe eigene RTMP Protokoll streamen. Dazu müssen alle Videos in einem S3-Bucket abgelegt werden, dieser S3-Bucket wird dann entsprechend mit CloudFront als Streaming Distribution verbunden.

Über z.B. den Flash Media Playerback Videoplayer von Adobe (http://www.osmf.org/configurator/fmp/#)  kann man dann das Video als Stream über das RTMP Protokoll abrufen. Wichtig ist dabei, dass die URL wie folgt angegeben werden muss:  rtmp://CLOUDFRONT-URL/cfx/st/_definst_/mp4:VIDEONAME.mp4

Das mit dem cfx/st steht ja noch irgendwo in der Dokumentation … aber das mit dem _definst_ hat Amazon AWS glatt vergessen zu dokumentieren …

CloudFront unterstützt als Protokolle RTMP und RTMPE (die leicht verschlüsselte Variante) und verwendet ausschliesslich den Port 1935. Leider wird die getunnelte Version RTMPT nicht unterstützt … schade.

Nachtrag am 6.6.2012: Habe noch mal recherchiert und dann getestet … RTMPT und RTMPTE gehen nun auch und zwar über Port 80 und auch Port 443, war wohl nur eine kleine Störung an dem Tag meines Tests …