Multiserver Architektur mit Ruby on Rails und Vagrant
Was aber, wenn man die gesamte Einrichtung für die Entwicklung mit nur einem Befehl in der Konsole einrichten kann? Geht nicht? Geht schon!
Mit Vagrant ist es nicht nur möglich eine Virtuelle Maschine zu definieren, sondern auch ein ganzes Set von Maschinen und auch unterschiedlichen Distributionen. CentOS als Load Balancer, Ubuntu als Webserver und RHEL als Datenbankserver. Auch die Anzahl der Webserver kann über eine Variable frei definiert werden. Ob 1, 2 oder 10 Webserver liegt allein an der Kapazität des verwendeten Entwicklungsrechners.
Entwickler haben dann eine vergleichbare Umgebung, um Ihre Anpassungen im Zusammenspiel mit unterschiedlichen Servern testen zu können.
Mögliche Szenarien:
- Deployment Prozesse entwickeln/automatisieren/testen
- REST API Schnittstellen zwischen den Servern entwickeln/ testen
- Ausfall eines Webservers simulieren und die dafür eingerichteten Routinen entwickeln/ testen
- Datenbank Synchronisation/ Replikationen entwickeln/ testen
- Webserver Konfigurationen entwickeln/ testen
Für die Erstellung ist nur noch die Datei “Vagrantfile” notwendig. In dieser Datei werden die Konfigurationen mit Chef, Puppet oder als Shell-Skripte für die jeweiligen virtuellen Maschinen definiert. Der Quellcode der Anwendung kann dann automatisiert aus einem Quellcode Repository z.B. git oder Subversion ausgecheckt und entsprechend konfiguriert werden.
Dank Vagrant spielt der verwendete Rechner und sein Betriebssystem dann keine Rolle mehr. Egal ob man mit Mac, Windows, oder einer der vielen Linux Distributionen lieber arbeiten möchte.
Alternativ kann man auch eine Multiserver Architektur einrichten und den Quellcode auf dem eigenen PC bearbeiten. Durch “Shard Folders” können dann die Daten auf der entsprechenden virtuellen Maschine verfügbar gemacht werden.
Möchte man z.B. mit Capistrano seine Server Deploymentprozess automatisiert aktualisieren, kann man auf diese Weise auch den gesamten Ablauf testen.
Kommt dann ein neuer Entwickler dazu oder muss die Konfiguration auf einem anderen PC auch entsprechend eingerichtet werden, reicht es die “Vagrantfile” Datei zu kopieren und dann mit “vagrant up” die gesamte Architektur einzurichten. Notwendige Abhängigkeiten oder spezielle Konfigurationen eines oder aller Server wird dann automatisch durchgeführt. Ändert sich die Konfiguration, kann man diese in der Vagrantfile Datei anpassen.
Läuft was nicht wie gewünscht ist es ein leichtes die virtuellen Maschinen neu zu erstellen.
atixadmin
Neueste Artikel von atixadmin (alle ansehen)
- Das ATIX 5 Phasen Modell - 22. November 2017
- Was ist Selenuim IDE? - 9. November 2017
- Support - 8. November 2017
Hinterlasse einen Kommentar
An der Diskussion beteiligen?Hinterlasse uns deinen Kommentar!