Das Thema Virtualisierung hat uns in den letzten Jahren eigentlich nur tangential beschaeftigt. Viele Dienste liefen auf "echten" Maschinen, virtuelle Computerloesungen wie XEN waren eher baeh und auch die Loesungen, die man auf V-Servern so angeboten bekam, fuehlten sich immer zaeh an und konnten nicht ueberzeugen. VMWARE? Aeh ... naja.

Echtes virtuales Feeling kommt bei den alteingesessenen Hard- und Softwarefirmen noch nicht auf. Man kann einen Server virtualisieren aber keinen Dienst. Dabei ist das der Schluessel zum Erfolg, wenn es mich nicht mehr interessiert, ob der Dienst auf Rechner12 am Switch15 laeuft und das HA durch Heartbeat auf Rechner13 geloest ist, aber die geschwenkte Postgres-Datenbank danach Matsch ist. Bullshit.

Eine ungefaehre Vorstellung, wie Virtualisierung wirklich geht, bekommt man bei den Amazon Webservices. Den Dienst gibt es jetzt zwar auch schon 2-3 Jahre, halte ich aber fuer relativ genial. Die Benutzung ist wie alle Amazon-Services (ja, die mit dem Onlinekaufhaus!) recht trivial. 

Ausgehend von http://aws.amazon.com kann ich mich fuer den Dienst registrieren oder wenn man einen Amazon-Account mit hinterlegten Kreditkartendaten hat, direkt einloggen auf https://console.aws.amazon.com/ec2/home . Nehmen wir an, ich will eine Anwendung im Internet laufen lassen. Was brauche ich als erstes? Das EC2-Dashboard verraet es mir in der erforderlichen Reihenfolge.

1. Eine Rechnerinstanz. Verschiedene Instanztypen stehen in der Vorauswahl bereit:  Fedora Linux 32bit, 64 bit mit LAMP, Windows 2008 Server. Oder lieber etwas "heimisches"? SLES 11 mit dem neuesten Servicepack kann ebenfalls ausgewaehlt werden. Oder ich habe beim letzten Besuch mein eigenes Image erstellt und benoetige es jetzt wieder.  Nun noch die Staerke der CPU festlegen, Groesse des RAM-Speichers. Und wieviel Instanzen wollten Sie gleich noch mal? 1? 10? 100? 1000?

2. Storage. Klar, bischen Festplatte waere schon nicht schlecht. 1 GB, 10 GB, 100 ... alles kann man auswaehlen und dann *KLICK*. Ratter Ratter Ratter. Fertig! Ihre Instanz ist erstellt. Haeh? Wie? Fehlt da nicht was? Richtig!

3. IP-Adresse. Aus einem Pool wird eine public IP-Adresse mit Hostnamen ausgewaehlt und der Instanz zugewiesen. Per Default ist die IP aus dem Internet per HTTP und SSH erreichbar. Aus einer Auswahl von einem Dutzend Protokollen kann ich meine eigene Firewall zusammenklicken und der IP-Adresse zuweisen. Apply! Der ping-Test beweist: Das Ding ist wirklich online! Optional kann ich den Dienst auch monitoren lassen (gegen Extra Geld)

4. SSH-Key. Wird automatisch erstellt und mit cut&paste kann man den Connect-String in die Shell seines Vertrauens uebernehmen und schon ist man auf seiner Rechner-Instanz eingeloggt und kann da Dinge tun. Auch per Browser ist der installierte Apache-Webserver mit PHP sofort erreichbar. 

5. Load-Balancing. Vielleicht will ich 2 Instanzen meines Dienstes erstellen. Eine soll in der Cloud "US-EAST" laufen und eine in der Cloud "EU".  Mit einem virtuellen Loadbalancer kann ich meinen Dienst ueber eine Adresse anbieten. Die Konfiguration der Nodes und der Healthcheck ist selbsterklaerend. Nach insgesamt 5 Minuten habe ich mit Maus und Browser  mein komplettes Rechenzentrum online.

Und was kostet der Spass? Abgerechnet werden die einzelnen Resourcen (also Rechnerinstanz, Speicher, IP-Adresse, verbrauchte Traffic) nach Nutzungsdauer. Wenn man eine Instanz einen ganzen Monat laufen lassen wuerde, kaeme man bei den Kosten von 70 Dollar raus und waere in der Preisklasse der Miete eines guten Root-Servers in Deutschland. Will man aber nur etwas ausprobieren (ein neues Betriebsssystem, eine neue Software), minimieren sich die Kosten entsprechend bei einem Tag Nutzungsdauer. Die Abrechnung erfolgt quasi schon am naechsten Tag online und wird dann einfach von Kreditkarte abgebucht.

Was bietet AWS noch?

Amazon CloudFront. Hier kann ich einfach in "Buckets" Daten ablegen: Bilder, HTML-Seiten, Stylesheets ... Daten, die vielleicht nur einen Teil meines Dienstes ausmachen, aber die schnell vom User geladen werden muessen, weil meine Webseite vielleicht aus sehr vielen Teilen besteht? Die Rechner zu CloudFront stehen direkt an den Peeringpunkten in Frankfurt und in Amsterdam. Ich lade einmal die Bilder in die Cloudfront hoch und sie werden so verteilt, dass sie von ueberall gut erreichbar sein. Ansprechen kann ich sie ueber die URL des "Buckets" - das ist dann so eine Art Webcontainer, der (nur intern) meinem Account zugewordnet ist. Den Namen kann man (soweit noch frei) frei waehlen, sodass https://eubucket20100228.s3.amazonaws.com/PIC_6118.JPG

Weitere Services sind noch SimpleDB, Relational Database Service, Payment-Service (nur USA) und (auch ueber die EC2-Console managebar) Elastic MapReduce.  MapReduce ist eine Technolgie, die unter http://de.wikipedia.org/wiki/MapReduce beschrieben ist. Man kann wohl sagen, dass damit Google funktioniert und das mit dieser Technologie sehr grosse Datenmengen in sehr kurzer Zeit verarbeitet werden koennen. Einen Anwendungsfall beschreibe ich im Folgeartikel "Map&Reduce". Im Amazon Elastic MapReduce kann ich diese Daten in grosser Breite (also B-R-E-I-T) verarbeiten, um durch Parallelisierung die Verarbeitung zu beschleunigen. Wo die Anwendung genau laeuft? Ist mir egal. Ich bin virtualisiert.

 

   

Blogs  

   
© ALLROUNDER