Posts Tagged EC2

EC2 Reserved Instances

With “Reserved Instances” Amazon introduced an additional pricing option for EC2 that gives an option to make a one-time payment for an instance to reserve capacity and further reduce hourly usage charges. You may look up the details at: aws.amazon.com/ec2/#pricing.

I have made a rough comparison for the classic “on demand” small instance against the new reserved instance:

On Demand Instance:
$0 + (365*24*$0,10) = $876/year = $73/month

Reserved Instance 1year:
$325 + (365*24*$0,03) = $588/year = $50/month
Saves you $288/year or $24/month.

Reserved Instance 3years:
$500 + (3*365*24*$0,03) = $1288/3years = $430/year = $36/month
Saves you 446 $/year or 37$/month.

Here’s the offical FAQ on using Reserved Instances. And here’s a funny but critically blog post about the “single commandline that can costs you losts of money“. I think Marc Musings is right and I wish that Amazon would improve this because I had the same bad emotions with this “new API feature”. It would basically a good idea to have alerts and/or limits for charges, instances and traffic.

Can’t wait for reserved Instances to be available for the EU region… “in the near future” as Amazon promised… Happy emotions when spending big money with ec2-purchase-reserved-instances-offering!

, ,

No Comments

Cloud Computing – DLD09

If I had to convince a non technical person about Cloud Computing, I would show him this video.

I really enjoyed listening to Dr. Werner Vogels. Dr. Vogels is Vice President & Chief Technology Officer at Amazon.com where he is responsible for driving the company’s technology vision, which is to continuously enhance the innovation on behalf of Amazon’s customers at a global scale.
This vision is why I have moved to EC2/S3 in 2007. I guess, I’ve finally become an Amazon AWS fan boy.


Even if audio is a bit out of sync, it’s worth to listening this long session.
As a developer from the bottom of my heart I like especially this quote: “There is no value in being a system administrator. You do not build a better product by being a better server maintainer.” This is so true, but I wonder how EC2 can free me from typical administration tasks. I still have to maintain my virtual server instances with the whole LAMP stack. Plus I have to think about how to scale horizontally (what to do when I need more virtual server instances).
In contradiction to Amzon’s EC2, Google’s AppEngine promises to free me from doing the admin tasks (no OS/LAMP Stack to maintain) and to solve the scale problem (no Database Replication to set up). AppEngine scales out of the box – the downside is, that it offers a very limited runtime just for you app.
True, a single EC2 instance doesn’t scale out of the box but it also doesn’t limit you in doing what you want to do on your virtual server. With EC2 I have to solve the scaling on my own. For this price I got more freedom.
I’m exited to use and learn about EC2/S3/Storefront each day but I also hope that Google’s AppEngine will offer a wider range of runtime environments in the future. t’s an interesting Cloud-Year 2009! #buzzword

, , , , , , , , , ,

No Comments

Amazon CloudFront – Content Delivery Network für S3

CloudFront ist eine sinnvolle Erweiterung für Amazon S3: Wenn man S3 bisher als Asset-Server für statische Inhalte eingesetzt hat, so muss man sich für einen Standort entscheiden der möglichst nahe an der Zielgruppe betrieben wird. Ist meine Zielgruppe Europa, so wähle ich den S3 Standort dort und nehme in Kauf, dass User aus USA eine höhre Latenzzeit haben werden.

Mit CloudFront kann ich nun vor meinen öffentlichen S3 noch ein Content Delivery Network vorschalten, dass automatisch meine Inhalte über alle verfügbaren Standorte synchronisert und bei Requests auf meine Inhalte immer die schnellste Verbindung auswählt. Mehr Details zur neuen CloudFront, dem Content Delivery Network von Amazon gibt’s unter aws.amazon.com/cloudfront/ und im original Wortlaut des Developer-Newsletters. Read the rest of this entry »

, , , ,

No Comments

Elastic IP – Statische IPs für virtuelle EC2 Server-Instanzen

Bisher gab es bei Amazon’s EC2 den Nachteil, dass jede Server-Instanz eine dynamisch zugewiesene öffentliche IP (”EC2 Public IP Address”) erhalten hat. Es konnte also nicht sichergestellt werden, dass man bei EC2 immer unter der selben IP erreichbar ist und musste DNS Updates machen oder über eine externe statische IP ein Reverse-Proxy in die EC2-Cloud machen um diesen Nachteil zu umgehen.
Amazon hat nun die sog. Elastic IP eingeführt, die genau diesen Nachteil aufhebt.

Man kann sich mit ec2-allocate-address bis zu fünf statische Elastic IPs auf sein EC2-Konto buchen lassen (mehr sind auf Anfrage bei Amazon möglich) und diese an beliebige eigene Instanzen knüpfen. Hierzu sind die aktuellen EC2 Command-Line Tools erforderlich, denn ältere Versionen vor 1.3-19403 2008-02-01 kennen die erforderlichen Befehle zum Verwalten der Elastic IP noch nicht. Testen welche Version installiert ist, kann man mit ec2ver.

Mit ec2-describe-addresses kann man sich anzeigen lassen welche Elastic IPs man bezitzt und welche Elastc IPs an welche Instance gebunden sind. Mit ec2-associate-address kann man eine Elastic IP an eine bestimmte Instanz binden. Somit ist es dann z.B. auch ganz einfach möglich eine ausgefallene Instanz durch eine neue Instanz zu ersetzen (die entweder zuvor paralell mitgelaufen ist oder erst neu hochgefahren wird) ohne dass nach aussen der Wechsel einer IP kommuniziert werden muss. Auch zwischen laufenden Instanzen können so einfach die Elastic IPs ausgetauscht werden. Z.b. wenn man einen Loadbalancer auf einer Small Instance betreibt und diesen nahtlos auf eine Large Instance umziehen lassen möchte. Über die EC2 API oder die Command-Line Tools lässt sich das alles auch wunderbar automatisieren.

Elastic IPs die an eine Instanz gebunden sind, verursachen keine Mehrkosten. Lediglich reservierte aber nicht genutzte Elastic IPs kosten derzeit pro Stunde 1 Cent um einem Horten der knappe IPs vorzubeugen. Die ersten 100 Remaps einer Elastic IP je Monat sind kostenfrei; weitere Remaps werden mit je 10 Cent berechnet. Also eine tolle und faire Erweiterung für EC2.

Wie genau das ganze mit den Elastic IPs geht wird ausführlich in diesem Feature Guide besprochen.

Brainstorming in eigener Sache: Der einzige Nachteil den ich bisher für meinen Anwendungshorizont ausmachen konnte betrifft Nutzer, die wie ich bereits Instanzen betreiben, die vor der Einführung der Elastic IPs über die “EC2 Public IP Address” nach aussen verfügbar/bekannt gemacht wurden. Ich habe die “EC2 Public IP Address” in mein Zonenfile eingetragen und wenn ich nun auf eine Elastic IP umstellen möchte um künftig immer mit der selben IP erreichbar zu sein (unabhängig von der Instanz, und um künftige DNS Updates zu sparen), so verliere ich beim Zuweisen der neuen Elastic IP sofort die “EC2 Public IP Address” unter der die Instanz bisher erreichbar ist. Da es nicht möglich ist, sich eine Elastic IP zu reservieren die bisher als EC2 Public IP Address auf eine eigene Instanz gebunden ist, bleibt einem nichts anderes übrig als für die Dauer des DNS Updates unerreichbar zu bleiben.
Soll eine temporäre Unerreichbarkeit vermieden werden, so müsste man sich dadurch behelfen, dass man Read the rest of this entry »

, ,

No Comments

Google App Engine – Eldorado für Entwickler

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 »

, , , , , , , , ,

No Comments

Amazon SimpleDB

Wow, nach dem Release von Rails2 gibt es nun auch noch ein Weihnachtsgeschenk von Amazon:

Dear AWS Developers,

This is a short note to let a subset of our most active developers know about an upcoming limited beta of our newest web service: Amazon SimpleDB, which 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.

Were excited about this upcoming service and wanted to let you know about it as soon as possible. We anticipate beginning the limited beta in the next few weeks.

Seite zum Beta-Projekt bei Amazon: Amazon SimpleDB und Developer Guide.
AWS-Blog: A Place for Everything – Amazon SimpleDB

, ,

No Comments

Skalieren mit Amzon EC2 und S3

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 »

, ,

2 Comments

Amazon S3 nun auch in Europa verfügbar.

Nachdem Amazon erst kürzlich die EC2 Instanzen “Large” und “Extra Large” eingeführt hat, stößt Amazon nun mit dem Simple Storage Service (S3) nun auch nach Europa vor:

United States

Storage
$0.15 per GB-Month of storage used

Data Transfer
$0.10 per GB – all data transfer in
$0.18 per GB – first 10 TB / month data transfer out
$0.16 per GB – next 40 TB / month data transfer out
$0.13 per GB – data transfer out / month over 50 TB

Requests
$0.01 per 1,000 PUT or LIST requests
$0.01 per 10,000 GET and all other requests*
* No charge for delete requests

Europe

Storage
$0.18 per GB-Month of storage used

Data Transfer
$0.10 per GB – all data transfer in

$0.18 per GB – first 10 TB / month data transfer out
$0.16 per GB – next 40 TB / month data transfer out
$0.13 per GB – data transfer out / month over 50 TB

Requests
$0.012 per 1,000 PUT or LIST requests
$0.012 per 10,000 GET and all other requests*
* No charge for delete requests

Zwar sind die die Preise etwas höher als S3 in den USA, aber wenn man plant statischen Content via public buckets verfügbar zu machen, so ist S3 mit Standbein in Europa diesen Aufpreis ganz sicher wert.

Für die Verwendung mit EC2 bleibt S3 USA natürlich attraktiver, da es nicht nur schneller sein dürfte sondern hier auch der Traffic zwischen EC2 und S3 USA kostenfrei ist. Traffic zwischen EC2 und S3 Europa hingegen ist kostenpflichtig.

Damit wird greifbar, was ich mir schon länger wünsche: EC2 auch in Europa.

, ,

No Comments

EC2 legt “big iron” nach

Seit heute können via Amazon EC2 noch performantere virtuelle Server verwendet werden:

Instances

$0.10 - Small Instance (Default)

    1.7 GB of memory, 1 EC2 Compute Unit (1 virtual core with 1 EC2 Compute Unit), 160 GB of instance storage, 32-bit platform

$0.40 - Large Instance

    7.5 GB of memory, 4 EC2 Compute Units (2 virtual cores with 2 EC2 Compute Units each), 850 GB of instance storage, 64-bit platform

$0.80 - Extra Large Instance

    15 GB of memory, 8 EC2 Compute Units (4 virtual cores with 2 EC2 Compute Units each), 1690 GB of instance storage, 64-bit platform

Pricing is per instance-hour consumed for each instance type. Partial instance-hours consumed are billed as full hours.

One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007 Opteron or 2007 Xeon processor. This is also the equivalent to an early-2006 1.7 GHz Xeon processor referenced in our original documentation.

Detailierte Infos hat Amzon auf dieser Seite zusammengestellt.

No Comments

Virtuelle Maschinen werden standardisiert

Unter dem Namen Open Virtual Machine Format (OVF) wird derzeit an einem branchenweiten Standard für virtuelle Maschinen (VM) gearbeitet. Ziel des Standards ist es, dass virtuelle Maschinen unter verschiedenen Virtualisierungsprogrammen unabhängig davon, mit welcher Anwendung sie erstellt wurden, zum Laufen gebracht werden können.

Das ist eine gute Nachricht, denn es sichert die Investitionen, die man in den Aufbau seiner VMs getätigt hat und wird auch Dienste wie Amazons EC2 (basierend auf XEN) noch attraktiver machen. Wäre ein solcher Standard bereits heute verfügbar, könnte ich wohl meine mit VMWare erstellten VMs nach Amazon S3 uploaden und mit EC2 nutzen. Traumhaft.

, ,

No Comments