node.js und Amazon EC2


Amazon Webservices LogoCloud-Computing ist mittlerweile ein allgemein bekannter Begriff. Die Amazon EC2 Elastic Computing Cloud bietet den Ansatz Rechenkapazität und Speicher skalierbar zur Verfügung zu stellen. Ebenso flexibel ist das Zahlungsmodell, gezahlt wird für genutzte Recheneinheiten, benutzer Speicher sowie erzeugter Traffic.

Sollte der Service Interesse geweckt haben biete Amazon eine Möglichkeit das Angebot kostenlos zu probieren. Dabei stehen unter anderem 750 Stunden Rechenzeit sowie 10 GB Speicher als auch 15 GB Traffic pro Monat für 12 Monate zur Verfügung. Das sollte um sich einen Überblick zu verschaffen reichen. Die Anmeldung benötigt allerdings eine Kreditkarte.

Die Amazon EC2 Elastic Computing Cloud ist also für Anwendung interessant die skaliert werden müssen, beispielweise durch steigende Nutzerzahlen. Der Administrator muss sich keine Gedanken um die Hardware machen. Steigt der Umfang an gefragten Resourcen an skaliert auch der Server, so sind 15 GB RAM ebenso wenig ein Problem wie 1 GB RAM zu beginn. Man spart sich also eine nennenswerte Menge an Administrationsaufwand.

Ebenso beliebt wie Cloud-Computing ist es node.js auf in der Amazon EC2 Elastic Computing Cloud laufen zu lassen. Dieser Beitrag soll die Vorgehensweise dazu erläutern.

Der erste Schritt besteht im aufsetzen des System das später auf der Amazon EC2 laufen soll. Hier wird ebenfalls der Aufwand minimiert, Amazon stellt fertige Betriebssysteme in Form von Amazon Machine Images (AMIs) bereit. Diese System werden minimalistisch ausgeliefert und sind besonders auf Aspekte wie Sicherheit und Performanz ausgerichtet. Unsere Aufgabe steht also nach dem installieren des Amazon Machine Image in der Installation weiterer Anwendung die für node.js benötigt werden.

Unsere Wahl für das AMI sollte beim ersten Aufsetzen der Maschine auf ein von Amazon bereitsgestelltes Amazon Linux AMI fallen. Später lässt sich noch auf weitere Distributionen zurückgreifen die nicht direkt von Amazon zur Verüfung gestellt werden wie beispielweise Ubuntu. Dabei sollten unter anderem aus Sicherheitsaspekten unbedingt darauf geachtet werden wer das AMI bereitstellen, die von mir genannte Quelle Alestic stellt eine sehr gute Wahl dar.

Nach der Installation führt man zuerst, ebenfalls aus Sicherheitsgründen einige Updates durch.

$ sudo apt-get update
$ sudo apt-get upgrade -y

Darüberhinaus werden einige weiter Anwendung zur Installation von node.js auf der Amazon EC2 benötigt.

$ sudo apt-get install build-essential libssh-dev -y

Sind die Anwendungen installiert kann mit node.js fortgefahren werden. In dem Wiki von node.js findet sich die Installationsanleitung für node.js.

$ echo deb http://ftp.us.debian.org/debian/ sid main > /etc/apt/sources.list.d/sid.list
$ apt-get update
$ apt-get install nodejs

node.js ist nun auf der Maschine installiert. Allerdings ist sinnvoll noch den Node Package Manager (NPM) zu installieren. Mit Hilfe des NPM lassen sich Erweiterungen für node.js auf einfache Weise hinzufügen.

$ curl http://npmjs.org/install.sh | sh

Will man beispielweise das Framework express für node.js installieren funktioniert das über einen einfachen Befehl.

$ npm install express

Weitere Module für node.js sind ebenfalls im Wiki zu finden. Eine gesamte Übersicht bietet die npm registry.