October 8th, 2009

A single unified interface to manage your Cloud Services
from a web browser or mobile device.

site blog feed twitter

Howto Compute Weekly Spend with Amazon S3 and EC2

October 8th, 2009


The usage reports show the internal naming for the usage types we meter from the service, whereas the bill and the http://aws.amazon.com/s3 page show the customer friendly names. Here’s the translation…

C3DataTransfer-In-Bytes is data transferred from EC2 to S3
C3DataTransfer-Out-Bytes is data transferred from S3 to EC2
DataTransfer-Out-Bytes is data transferred out of S3 (non-EC2)
DataTransfer-In-Bytes is data transferred in to S3 (non-EC2)
Requests-Tier1 is for PUT , COPY, POST , or LIST requests
Requests-Tier2 is for GET and all other requests (except DELETE)
Requests-NoCharge is for DELETE requests
TimedStorage-ByteHrs is for storage

Elastic IP on Amazon EC2: Why using a CNAME is better than an A record

October 8th, 2009


I have two options for creating this in my DNS Zone file:
1. Create an A record pointing to, or
2. Create a CNAME record pointing to ec2-186-210-34-68.compute-1.amazonaws.com

On immediate inspection, these seem to essentially give the same end result. And for most purposes this will work fine.

EC2 on Rails

October 8th, 2009


EC2 on Rails is an Ubuntu Linux server image for Amazon’s EC2 hosting service that’s ready to run a standard Ruby on Rails application with little or no customization. It’s a Ruby on Rails virtual appliance.

Recommended EC2 AMI for high traffic PHP web service

October 7th, 2009


What AMI is recommended for my setting (high traffic PHP web service?) It needs to support millions of requests a day. I need an OS that can be easily maintained by non expert + NGinx and my entire configuration + Security and other essential management features.

Simple question. No answers.

EC2 instance monitoring

October 7th, 2009


Unless you are using the auto-scaling service, which has a monitoring component, there is no monitoring offered by Amazon.

Personally, I have my monitoring run on a small instance in Amazon, and then a very simple script that runs on a box in the office to monitor that one host from the outside.

This one wins.

Benchmarking Drupal on Amazon EC2

October 7th, 2009


One of the questions we often help clients answer is: which EC2 instance size provides the best performance-per-cost for a given application? I recently did some load testing with a few different sample web configurations, including a “stock” Drupal installation… here are the results

(Medium instance wins)

High performance single-threaded access to SimpleDB

October 7th, 2009


Last month, Amazon published a code sample which demonstrated the use of SimpleDB as a repository for S3 object metadata. This code sample would probably have gone almost completely unnoticed if it were not for one detail: Using a pool of 34 threads in Java, the code sample sustained 300 SimpleDB operations per second when running on a small EC2 instance. Only 300? We can do better than that…

First, rather than using multiple threads, I used a single thread with several TCP connections and non-blocking I/O. The most difficult part of this is the HTTP client code; but fortunately I already had event-driven HTTP client code available which I wrote in order to allow the tarsnap server to access Amazon S3.

Load Balancing in Amazon EC2 with HAProxy

October 7th, 2009


Until the time comes when Amazon will offer a load balancing service in their EC2 environment, people are forced to use a software-based load balancing solution. One of the most common out there is HAProxy. I’ve been looking at it for the past 2 months or so, and recently we started to use it in production here at OpenX. I am very impressed with its performance and capabilities. I’ll explore here some of the functionality that HAProxy offers, and also discuss some of the non-obvious aspects of its configuration.

How to use C++ Compiled Python for Amazon’s Elastic Mapreduce (Hadoop)

October 7th, 2009


Sometimes it can be useful to compile Python code for Amazon’s Elastic Mapreduce into C++ and then into a binary. The motivation for that could be to integrate with (existing) C or C++ code, or increase performance for CPU-intensive mapper or reducer methods. Here follows a description how to do that: