So automatisieren Sie die Cloud-Infrastruktur mit einem Ruby SDK

Bei diesem Text handelt es sich um eine maschinell erstellte Übersetzung. Eine überarbeitete Version ist in Planung.

Mit dem Ruby SDK für unsere API können Sie die Cloud-Infrastruktur automatisieren. Dies trägt weiterhin zu unserer Arbeit mit Ruby bei; das SDK unterscheidet sich jedoch etwas von unserem bisherigen Open-Source-Beitrag zum Fog-Projekt, da es abstrahiert und eine vollständige Abdeckung aller gängigen API Funktionen bietet. Es bietet erweiterte Funktionen, die Sie vielleicht nicht in einem Multi-Cloud-Toolkit finden.

Warum Rubin?

Rubin ist eine äußerst beliebte Sprache, die überall auf der Welt verwendet wird. Während es schon eine Weile da ist, ist Ruby stetig gewachsen und hat Branchenführer wie Heroku gesehen, wie sie ihre Unternehmen rund um Ruby gründen. Es ist auch die Sprache, der Sie bei der Arbeit mit Chefkoch begegnen werden, einem der beliebtesten DevOps-Tools. Wenn wir unseren Support für Ruby erweitern, werden wir versuchen, den Support innerhalb der DevOps-Toolkits zu erweitern, die ihn nutzen.

Übersicht

Die Bibliothek stellt eine Reihe von Funktionen zur Verfügung, die alle auf die REST-API zurückgreifen. Y Eine vollständige Dokumentation zu den verschiedenen Aspekten der neuen API finden Sie hier und ein Blick in das Ruby-Repository hier. Wir haben den Ansatz gewählt, den Code einfach zu halten und gleichzeitig die Ruby-Konventionen einzuhalten.

Code-Beispiele

Sobald Sie unserem gErste-Schritte-Leitfaden gefolgt sind, sollten Sie den Edelstein in Ihrer Umgebung verfügbar haben. Der Edelstein ist auf  Rubin Edelsteine zu finden.

Sie können ein virtuelles Rechenzentrum erstellen und anschließend einen Server hinzufügen:

Location.list.each { |location| puts "#{location.id} - #{location.properties['name']}" }
location = Location.get('us/las')

datacenter = Datacenter.create(name: 'datacenter1', description: 'My New Datacenter', location: location.id)
datacenter.wait_for { ready? }

server = datacenter.create_server(name: 'server1', description: 'My New Server', cores: 4, ram: 4096)
server.wait_for { ready? }

Sie können die Vorteile der verschiedenen Funktionen unseres Angebots nutzen, wie z.B. die Aktualisierung von Kernen, Speicher und Festplatte unabhängig voneinander.

server.update(cores: 6, ram: 10240 }
sever.wait_for { ready? }
server.reload

Wenn du die Größe aktualisieren willst, würdest du es tun:

volume.update(size: 100)
volume.wait_for { ready? }

Oder vielleicht möchten Sie ein Volume erstellen:

volume = datacenter.create_volume(name: 'My New Volume, size: 40, image: image.id)

volume.wait_for { ready? }

Du könntest es dann anhängen:

volume.attach(server.id)

volume.wait_for { ready? }

Zusammenfassung

Die Ruby-Bibliothek schafft eine leistungsfähige Schnittstelle zur REST-API. Mit unbegrenzten privaten Netzwerken kann ein Entwickler die Erstellung von Cluster-Umgebungen automatisieren, in denen verschiedene Dienste in verschiedene Netzwerke unterteilt sind. Alle Volumes werden auf einem ultraschnellem Plattensubsystem erstellt, das ein überzeugendes Argument für Dinge wie nette Big Data Farmen ist, bei denen I/O eine große Rolle spielt; unsere Bibliothek ist hervorragend geeignet, um diese und andere Arten von Build Outs automatisch und maßstabsgetreu durchzuführen.


Wir werden diese Version weiter verbessern und auf dieser Version ein Release des Ruby SDK aufbauen. Wir begrüßen auch Beiträge zurück in das Projekt und, wie immer, können Sie sich mit der Community über die Website von DevOps Central