Um zum Beispiel mit Boto einen Loadbalancer in der Amazon Cloud aufzusetzen, bedarf es zunächst wieder eines Connection-Objekts, das die Aufrufe »boto.ec2.elb.connect_to_region()
«
oder »boto.connect_elb()
«
liefern. Eine weitere Funktion erzeugt einen Loadbalancer, dem sich anschließend einzelne Knoten zuweisen lassen:
lb = conn.create_load_balancer('lb', zones, ports)lb.register_instances(['i-4f8cf126'])
Alternativ bedient man sich des Autoscaling-Moduls, das abhängig von der Last selbstständig Knoten dem Loadbalancer hinzufügt oder sie wieder entfernt.
So viele Dienste Amazon selbst bietet, so viele Module enthält auch die Boto-Bibliothek. So gibt es an Basisdiensten neben EC auch das Virtual Secure Network (siehe den Artikel zur Firewall-Installation in der Amazon-Cloud in diesem Heft), Autoscaling, DNS und Loadbalancing. Für einfache Webanwendungen mit größeren Anforderungen an Skalierbarkeit und Verfügbarkeit kommt man damit schon sehr weit. Um Daten zu speichern, bietet Amazon schon eine ganze Palette an Möglichkeiten: die verteilte Datenbank Dynamo, den Elastic Block Store, eine relationale Datenbank und ein großes System für ein »Data Warehouse
«
.
Darüber hinaus kann man natürlich immer selbst in einer Reihe von Linux-Instanzen beispielsweise MySQL, PostgreSQL oder eine NoSQL-Datenbank installieren und sie über die Rechner hinweg replizieren. Zur Lastverteilung verwendet man dann den »Load Balancing Service
«
, gegebenenfalls in Zusammenarbeit mit dem Amazon Content Delivery Network »Cloudfront
«
. Auch zum Management der eigenen Cloud-Installation gibt es eher zu viel als zu wenig Auswahl. Neben dem Autoscaling gibt es dafür auch noch Elastic Beanstalk, Opsworks und Cloud Formation, die ähnliche Funktionen bieten. Die Aufzählung der Dienste ist damit noch nicht abgeschlossen, eine Übersicht enthält das PDF unter [5].
Mit Boto lassen sich Skripte schreiben, die auch komplexere Setups in der Amazon Cloud verwalten. Auch wer noch kein Python-Experte ist, sollte wenig Schwierigkeiten haben, sich die nötigen Kenntnisse anzueignen. Die Dokumentation des Python-Moduls ist brauchbar, wenngleich viele Methoden der API mit ihrer Vielzahl an Parametern ziemlich komplex sind.
Schließlich sollte man auch daran denken, dass Cloud Computing Frameworks teilweise schon die Funktionalität bieten, die man mit Boto selbst programmiert, und aufpassen, das Rad nicht neu zu erfinden. Mehr Informationen zu Boto sind in der Dokumentation zu finden. In gedruckter Form gibt es das »Python and AWS Cookbook
«
, das beim O'Reilly-Verlag erschienen ist und vom Boto-Autor stammt.
Infos