Worum geht es?
“Rails skaliert nicht!” ist wohl das am weitest verbreitete Vorurteil gegen den Einsatz von Ruby on Rails. Als “Beweis” wird dabei meist ein vom Erfolg überrannter US-amerikanischer Microblogging-Anbieter genannt.
Doch wer etwas näher und mit Verstand hinschaut erkennt, dass man nicht pauschal eine Sprache oder ein Framework für schlechte Performance verantwortlich machen darf sondern maßgeblich die Architektur der Anwendung entscheidend ist.
Der Autor Dan Chak nimmt sich diesem Vorurteil an und zeigt in seinem Buch “Enterprise Rails” Wege auf, wie man eine Ruby on Rails-Anwendung optimiert um auch einen sehr großen Nutzeransturm verarbeiten zu können.
Primär werden hierbei die Anwendungs-Architektur (insbesondere die Datenmodellierung) und Themen wie die Optimierung von Datenbankzugriffen zum Beispiel durch Query- und Datenbank-Strukturänderungen (custom SQL queries, denormalization) oder den Einsatz von Datenbank-Funktionen (stored procedures) und Caching behandelt.
Dabei bespricht er auch jeweils die damit einhergehenden Vor- und Nachteile: Auf Geschwindigkeit getrimmter Code oder Datensätze sind nicht unbedingt lesbarer, Code- und Datenduplizierungen senken zudem die Wartbarkeit bei gleichzeitig erhöhter Komplexität. Entscheidungen die man treffen muß, wenn die eigene Rails-Applikation eine sehr große Last zu bewältigen hat.
Der Autor hört hier aber nicht auf: Er nimmt “Skalierung” und “Enterprise” wörtlich. Skalierung bedeutet nämlich nicht einfach nur “schnell” sondern eben auch wachstumsfähig und interoperabel zu sein. So wird die Anbindung und Bereitstellung von RESTful-, XML-RPC- und SOAP-Webservices aus Rails ausführlich beschrieben um damit eine SOA Architektur aufzubauen oder eine vorhandene Landschaft zu erweitern: Übliche Enterprise-Szenarien sind eigentlich nie homogen, externe und interne Dienste und Technologien müssen angesprochen oder versorgt werden.
Fazit
Jeder erfahrene Rails-Entwickler der mit sehr großen und traffic-intensiven Rails-Anwendungen zu tun hat oder schon vor Projektbeginn sicherstellen will und/oder muss, dass Rails den Ansprüchen gewachsen ist, sollte dieses Buch lesen. Die angesprochenen Themen werden in einer Tiefe behandelt die bisher kein anderes mir bekanntes Buch behandelt hat. Vermisst habe allerdings Informationen zur Integration in eine Java-Landschaft zum Beispiel mit JRuby.
Titel: Enterprise Rails Autor: Dan Chack Sprache: Englisch Umfang: 350 Seiten Verlag: O'Reilly Media ISBN: 978-0596515201
Enterprise Rails bei Amazon bestellen.
Informationen beim Verlag
Hinweis: Dem Rezensent wurde vom Verlag ein Rezensionsexemplar bereitgestellt.


