Amazon Cloud Management bei Netflix mit Asgard

Netflix ist ein großer Anwender der Amazon Cloud. Um die große Anzahl von Amazon AWS Ressourcen zu administrieren hat sich Netflix auf Basis von Grails eine eigene Management-Software geschrieben. Diese Management-Software mit dem Namen Asgard wurde nun von Netflix als OpenSource Projekt veröffentlicht.

Die Installation von Asgard ist sehr einfach, da man nur ein WAR-File in seinen TomCat werfen muss und los gehts …

Mehr zu Asgard findet man hier: Netfix Asgard

 

Elastic Load Balancer und Session-Handling

Keine Web-Applikation kommt eigentlich ohne ein Session-Management aus. Um die einzelnen Requests einem User zu zuordnen übermittelt der Applikationsserver dem Anwender beim ersten Zugriff oder besser nach dem Login eine SessionID, die dann in Form eines Cookies oder einer URL-Variable bei jedem Request an den Applikationsserver übergeben wird. Der Applikationsserver hat dann i.d.R. entsprechende Session-Variablen in seinem RAM, die er aufgrund der übermittelten SessionID dem User zuordnen kann.

Wenn man aber nun für eine bessere Skalierung den Amazon AWS Elastic Load Balancer vor seine Applikation-Server setzen möchte, dann verteilt der Load Balancer die Requests zunächst unabhängig von der SessionID auf einen beliebigen Server, wo dann ggf. die entsprechende Session des Users bei dem zweiten Request gar nicht existiert.

Wie kann man dieses Problem lösen?

mehr … »

S3 als Laufwerk für EC2-Windows oder Linux mappen

S3 ist der zentrale Speicherdienst von Amazon AWS. S3 hat für den Kunden eine unlimitierte Größe, verfügt über ein Rechtemanagement, kann Objekte versionieren bzw. mit Verfallsdaten versehen und ist über mehrere Availibility-Zonen verteilt, so dass die Daten sehr sicher gespeichert sind.

Über ein eigenes API kann man in S3 Daten speichern und entsprechend abrufen oder über HTTP wieder herunterladen …  manchmal aber braucht man für eine vielleicht existierende Software den Lese- und Schreibzugriff auf S3 über einen Laufwerkszugriff … gücklicherweise gibt es hier sowohl für Windows als auch für Linux entsprechende Software, die dann z.B. direkt auf einer entsprechenden EC2-Instanz installiert werden kann. Hier eine aktuelle Aufstellung:

gute EC2-Instanz Übersicht

Unter http://www.ec2instances.info findet man eine gute EC2-Instanz Übersicht … leider sind die Preise derzeit nur für die Region US-East enthalten, der Autor hat aber die zugrunde liegenden HTML-Seiten auf GitHub bereitgestellt, so dass man gerne an dem Ausbau der Informationen teilnehmen kann …

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 … »

ColdFusion CFC Wrapper für Amazon AWS

Aus unserer langen Historie als Adobe Partner arbeiten wir neben Java und Grails auch nach wie vor gerne mit Adobe ColdFusion. Leider gab es bisher für ColdFusion keine guten Libs zur Ansteuerung der Amazon AWS Dienste und man musste mühsam und aufwendig das Amazon AWS Java SDK in ColdFusion einbinden.

Dank dem Projekt https://github.com/simonfree/cfAWSWrapper von Simon Free gibt es nun für fast alle Amazon AWS Dienste eigene ColdFusion CFC Wrapper … so dass eine Ansteuerung der Amazon AWS Dienste aus ColdFusion heraus ein leichtes ist. Danke Simon Free.

Fragen und Antworten zu Amazon AWS

In Gesprächen mit unseren Kunden kommen immer wieder ein paar grundsätzliche Fragen zu den Amazon AWS Diensten, die ich mal hier in dieser kleinen Präsentation zusammengefasst habe …

Amazon-AWS-Fragen-und-Antworten

Neu: Interne Load-Balancer in einem VPC-Szenario

Endlich … just hat Amazon AWS folgendes neue Feature released (auch in der Region EU) … im Rahmen eines VPC-Szenarios können nun auch interne Load-Balancer definiert werden.

Interne Load-Balancer braucht man, wenn man die Backend-Server auch über einen Load-Balancer optimal von den Frontend-Servern ansteuern möchte. Die Frontend-Server haben dann einen Load-Balancer, der aus dem Internet die Anfragen entsprechend auf die Frontend-Server verteilt und der interne Load-Balancer verteilt die Anfragen der Frontend-Server entsprechend an die Backend-Server. Super Sache … und vor allem sehr einfach im Rahmen einer VPC auf Amazon AWS zu implemetieren.

Mehr Details auch hier: http://aws.typepad.com/aws/2012/06/internal-elastic-load-balancers.html und hier: http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/UserScenariosForVPC.html

kostenlose Amazon EC2 Scheduler App für Windows / Mac OSX

SimpleHelp hat eine kleine aber nette Scheduler Anwendung für Amazon EC2 herausgebraucht. Mit dieser Anwendung kann man seine EC2 Instanzen automatisiert zu bestimmten Zeiten starten und stoppen, dazu können EC2-Instanzen auch in Gruppen zusammengefaßt werden. Leider kann diese Anwendung nicht als Dienst laufen … und somit ist der professionelle Einsatz nur bedingt möglich, aber um damit seine Entwicklungs- und Testinstanzen im Rahmen eines kleinen Entwicklungsteams zu steuern ist es gut zu gebrauchen.

Mehr Infos hier: http://blog.simple-help.com/2012/03/free-ec2-scheduler

AWS Cloud Performance und Monitoring

Seit Jahren bin ich ein großer Fan des Monitoring Tools PRTG Network Monitor von Paessler. Dieses Tool hat auch einen eigenen Sensor für Amazon CloudWatch … so das man auf diese Weise alles in einem zentralen Tool monitoren kann … denn CloudWatch hat leider keine Sensoren, um z.B. das Funktionieren von bestimmten Diensten wie HTTP-Server zu monitoren … deswegen braucht man nach wie vor, wenn man für Kunden alles unter Kontrolle halten möchte, ein Tool wie PRTG Network Monitor.

Zusätzlich stellt Paessler mit http://www.cloudclimate.com ein zentrales Dashboard bereit, auf dem generell die Performance auf den AWS Regions  zentral durch Paessler gemonitored wird.