Posts Tagged Rails
Google App Engine – Eldorado für Entwickler
Posted by Lars Schenk in Video, Virtualisierung on April 9th, 2008
Google hat eine frühe Version der App Engine vorgestellt (Preview). Es verspricht mir all die Administrativen Task abzunehmen, die ich üblicherweise habe, wenn ich meine Web-Anwendung online bringen will. Ich brauche mich nicht mehr um Server kümmern (seien es klassische RootServer beim Hoster oder virtuelle Server wie z.b. bei EC2). Ich muss mich nicht mehr darum kümmern, wie meine Applikation skaliert. Ich muss also keinen Mechanismus entwicklen wie bei EC2 wo ich meine Server und die Last überwache und ausgefallene Server ersetzte bzw. dynamsch weitere virtutelle Serverinstanzen zuschalten muss wenn mehr Last aufkommt – das alles macht Google App Engine automatisch für mich!
Es entlastet mich als Entwickler von all diesen adminstrativen Tasks die ich überlicherweise beim LAMP Stack habe. Es macht quasi den Administrator in mir arbeitslos und schenkt dem Entwickler in mir die frei gewordene Zeit um mich auf die Anwendung zu konzentrieren.
Teil 1 – Vorstellung der Google App Engine Preview:
Ab 2:50 stellt Kevin Gibbs die Vorteile der App Engine gegenüber dem klassischen LAMP Stack vor. Read the rest of this entry »
Große Nachfrage nach SimpleDB – Data 2.0 für Web 2.0
Posted by Lars Schenk in Virtualisierung on Januar 2nd, 2008
Wer sich dieser Tage für den Amazon SimpleDB Service anmelden möchte, wird vertröstet: “The Limited Beta is currently closed, however we will contact you via e-mail when a spot becomes available.”
Zu groß sei die Nachfrage nach dem erst kürzlich gestartetem Beta-Programm welches ideal die bereits mit großem Erfolg gestarteten Dienste S3 und EC3 ergänzt. So ist es zumindest in dem Developer Connections Newsletter#33 von heute zu lesen:
In late December, we announced Amazon SimpleDB, which is available in limited beta. Amazon SimpleDB is a web service for running queries on structured data in real time. This service works in close conjunction with Amazon Simple Storage Service (Amazon S3) and Amazon Elastic Compute Cloud (Amazon EC2), collectively providing the ability to store, process and query data sets in the cloud. Traditionally, this type of functionality has been accomplished with a clustered relational database that requires a sizable upfront investment, brings more complexity than is typically needed, and often requires a DBA to maintain and administer. In contrast, Amazon SimpleDB is easy to use and provides the core functionality of a database – real-time lookup and simple querying of structured data – without the operational complexity.
We’re very excited about the strong interest our community has shown in the beta program. At this stage, we have limited spots available, and ask for your patience as we work to enable additional developers. In the meantime, you can read more about the service, and sign up to be notified when a spot becomes available for you.
So wie Rails für Ruby eine Killeranwendung ist, so wird SimpleDB für Rails und ähnliche Frameworks eine Killeranwendung werden. Also warte ich voller ungeduld, dass ich einen Slot zum SimpleDB Service bekomme und dass Rails einen Database-Adapter für SimpleDB bekommt.
Nitin Borwankar beschreibt in seinem Blog warum SimpleDB ein wichtiger Baustein zu skalierbaren Web-Anwendungen sein wird und warum SimpleDB ein Schlüssel-Feature für kommende Web-Anwendungen sein wird. Nitin kommt auch zu dem Schluss:
Existing web technologies such as Ruby on Rails, Django and Hibernate all have an Object Relational Mapper (ORM), which maps language objects to relational database tables.
If designers of these ORMs want to stay in the scalable apps game, they should take a serious look at using SimpleDB as a data store. Better yet, they should build ORMs from the ground up to integrate with SimpleDB.
Man darf also gespannt sein, ob RoR in gewohnt eleganter Weise einen Database-Adapter für SimpleDB bereitstellen kann. Denn auch wenn mit ActiveRecord eine Abstraktionslayer zu SQL eingezogen ist, so ist diese Aktraktionsstufe doch noch sehr an das Paradrigma von Relationalen Datenbanken angelehnt. SimpleDB ist aber nicht einfach nur eine altbekannte relationale DB die nun virtualisiert wurde sondern es bringt auch gleich ein neues Paradigma mit das vielleicht eher mit persistenten Hashes zu erfassen ist. Ich bin gespannt, ob man als RoR Entwickler von alledem ewas mitbekommen wird oder ob RoR die Internas verstecken wird so dass man weiterhin an der gewohnten Denkweise wird festhalten könnnen (wie es etwas das aws-simpledb Projekt in Aussicht stellt).
Für Nitin Borwanka jedenfalls ist mit SimpleDB der Startschus für Data 2.0 gefallen:
More than two years ago I wrote that Web 2.0 needs Data 2.0. The combination of EC2, S3 and SimpleDB is a toolkit for assembling massively scalable REST addressable web databases. Data 2.0 is now officially here. May the fun and games begin.
Skalieren mit Amzon EC2 und S3
Posted by Lars Schenk in tech-recipes on Dezember 11th, 2007
Jonathan Weiss zeigt in seinem Blog eine überarbeitete Version seines Vortrags zur Skalierung vom Ruby on Rails Apps mittels Amazon EC2 und S3.
Eine etwas älteres Video von seinem Vortrag (mit zum Teil überholten Aussagen, siehe hier und hier), welches aber dennoch wirklich ansehenswert ist, gibt es unter: www.loromoar.com.
Jonathan stellt im Slide 34/35 “EC2 for extra capacity” ein optionales Model vor, bei dem für die DB und den Loadbalancer ein Inhouse-Lösung angetrebt wird (Eigens RZ oder klassischer Hoster). Die Gründe dafür deutet er auch schon im Video an (welches dieses Modell noch nicht zum Gegenstand der Diskussion gemacht hatte): EC2 hat kein persistentes Speichermedium. Fällt die Instanz aus, gehen die Daten verloren. Wenn nicht konstant dedumpt und auf S3 gesichert wird, droht Datenverlust.
Ich fürchte jedoch das gerade bei RoR-Anwendungen recht komplexe und viele SQL Abfragen entstehen, so das sich eine erhöhte Latenz zwischen den Application-Servern die unter EC2 laufen und der Datenbank, die inhouse läuft sehr negativ auf die Antwortzeiten auswirken könnte. Ich würde daher lieber die DB@EC2 belassen und das Verlustrisiko von Daten minimieren indem eine Replikation (Slave) in eine oder mehrere EC2 Instanzen oder auch auf einen Slave im eigenen RZ gemacht wird. Der Vorteil dabei ist, dass die Application-Server kürzere Latenzzeiten zur DB haben und der Traffic innerhalb EC2 bleibt und somit auch kostenlos ist. Fällt die Master-DB aus, so kann ein Slave die Aufgabe übernehmen.
Das Argument den Loadbalancer Inhouse zu nehmen ist, dass beim Ausfall des EC2 basierten Loadbalancers eine neue IP zugewiesen wird und es somit zur vorübergehenden Unerreichbarkeit kommen kann, wenn DNS-Server die Updates nicht rasch genug verarbeiten. Steht der Loadbalancer hingegen im eigenen RZ oder beim klassischen Hoster habe ich eine statische IP und kann das Problem (eher) umgehen, so dass keine DNS-Update erforderlich wird.
Aber man erkauft sich diesen Vorteil zum einen durch mehr Latenzzeit: der Loadbalancer muss nun alle Requests erst an die weit entfernten EC2 Instanzen weiterreichen und auf deren Antwort warten. Der Weg von den Clients zum Loadbalaner kommt in diesem Fall dann noch hinzu. Hier kann es sich dann schon lohnen über eine Proxy/Cash-Lösung nachzudenken. Was aber ebenfalls noch zu berücksichtigen ist: Ich habe nun zwei mal den Traffic zu bezahlen: Einmal zwischen EC2 und dem Loadbalancer und hinzu dann noch der Traffic zwischen dem Loadbalancer und den Clients.
Also auf den ersten Blick würde ich den Loadbalancer doch lieber auch bei EC2 einsetzen…
Ein recht radikaler aber genialer Ansatz ist der Verzicht auf einen dedizierten Loadbalancer.
Lei Zhu beschreibt in seinem Aritkel wie man das Problem mit der dynamischen IP lösen kann indem man ganz auf einen Loadbalancer verzichtet und das Konzept und die Aufgabe des Loadbalancers gleich auf den Client überträgt: Client-Side Loadbalancing!
Zum Slide: Read the rest of this entry »
Ruby on Rails vs PHP / PHP-Frameworks
Posted by Lars Schenk in Miscellaneous, Video on Oktober 25th, 2007
Gregg Pollack and Jason Seifer von RailsEnvy.com haben einige Ruby on Rails Werbespots erstellt die in der gleichen Art wie Apples “Mac vs PC” Werbekampagne gemacht sind. Echt lustig:






Latest comments