Profitbricks

Aufgrund kürzlicher Erfahrungen mit dem Cloud Computing Anbieter Profitbricks, möchte ich hier ein paar Tipps & Tricks posten. Profitbricks bietet - ähnlich wie Amazon Web Services oder Google Cloud Platform - ein Infrastructure as a Service (Iaas) Angebot. Dabei werden keine fest definierten virtuellen oder physikalischen Maschinen gebucht und bezahlt, sondern man bezahlt minutengenau für die Performance, die man auch bucht. Zum jetzigen Zeitpunkt kostet das wiefolgt:

1 Kern1 GB Ram1 GB StorageTraffic
0,02 € / Std.0,0045 € / Std.0,04 € / 30 Tage0,06 € / GB

Damit kommt man bei einer VM mit 1 Kern, 1GB Ram, 35 GB Storage und 5 GB Traffic im Monat auf ca. 19,59 € im Monat. Natürlich ist das teurer als wenn man eine VM bei Hosteurope oder Hetzner bucht. Vorteile sind dagegen eine Infiniband-Anbindung (die in meinem Fall eine verbesserte Response-Time des Webservers von 200ms verursacht hat) und eine unglaubliche Flexibilität bzgl. der in Anspruch genommenen Ressourcen. Benötigt man etwas mehr RAM oder einen Kern mehr, lässt sich dieser im Live-Betrieb hinzufügen. Selbst die Festplatte lässt sich im Live Betrieb vergrößern, wenn der Platz mal eng wird. Außerdem wird minutengenau abgerechnet. Muss ein Server also nicht dauerhaft online sein (z.B. eine Entwicklungs- oder Test-VM) kann man diese am Ende der Arbeit einfach herunterfahren und zahlt ab dem Moment nicht mehr für Kerne und RAM.

Verwaltet wird das Ganze über den Datacenter Designer (DCD), quasi ein simplifiziertes Microsoft Visio bei dem man am Ende auf Provisionieren klickt und die gezeichnete Infrastruktur real wird. Der Einstieg war entsprechend denkbar einfach. Profitbricks lässt sich nicht lumpen, und bietet 14 Tage kostenlosen Testzeitraum (zwar mit begrenzten Ressourcen, aber ausreichend genug um Server für alle gängigen Zwecke zu konfigurieren - bei mir waren es max 4 Kerne, 10GB RAM und 50GB Storage). Über den DCD lassen sich die Server miteinander verbinden, es können Snapshots vom Storage angelegt, fertige Images installiert, IP-Adressen vergeben und Loadbalancer (kostenlos) hinzugefügt werden.

Die Installation eines Servers funktioniert identisch zum Vorgang, wenn man eine VM auf einer lokalen Maschine installiert. Installations-Image mounten (z.B. Ubuntu Server (es stehen noch viele andere Images zur Verfügung und eigene Images können auch selbst hochgeladen werden) und dann die VM starten. Die Installation erfolgt dann über eine Remote Console (Achtung: Java auf den neusten Stand bringen und evtl die Sicherheitsstufe in der Java Konsole etwas runterschrauben, das herauszufinden hat mich viele Stunden Zeit gekostet). Während der Installation am besten direkt einen SSH Server installieren und alles Anschließende dann mit Putty erledigen.

Die manuelle Konfiguration des Netzwerkes während der Installation des OS kann mit den angegebenen IP-Adressen erfolgen, die man nach Provisionierung der VM im DCD einsehen kann. Einzig ein Nameserver wird nicht genannt und hier kann auch nicht - entgegen der Gewohnheit - der Gateway als Nameserver angegeben werden. Also einfach auf den Google DNS zurückgreifen (8.8.8.8 und 8.8.4.4) oder - wer sich bei einer deutschen Firma naiverweise weniger ausspioniert fühlt - den von der Telekom oder einen beliebigen anderen.

Und das war's. Wer im Nachhinein feststellt, dass die Ressourcen doch nicht reichen, der kann im DCD bei Cores statt einer 1 eine 2 eintragen, klickt auf Provisionieren und wenige Sekunden später steht der zweite Kern der Maschine zur Verfügung. Genauso verhält es sich mit RAM. Festplatten lassen sich nur vergrößern, nicht verkleinern, das ist aber auch gut so. Wer mal den Versuch gewagt hat, eine Festplatte nachträglich per Partitionierung etc zu Verkleinern, der hat es sicherlich auch schonmal bereut. Auch sind bei einer Festplattenvergrößerung ein paar Befehle im Betriebssystem notwendig um den neuen Platz auch einer Partition zuzuordnen. Wie das unter Ubuntu funktioniert, erklär ich in einem späteren Artikel.