What's Eclat

Eclat stands for EC2 Command Line Administrator Tool. It allows you to manage Amazon EC2 services from the command line, fast and easy. It does not require any resource-consuming libraries. It is written in plain C, depends only on libraries which are always installed on any decent system, and has a tiny memory footprint.

Why use it?

Amazon provides similar command line utilities in its ec2-api-tools package. So why use Eclat instead? The answer is simple: Eclat performs about 100 times faster, uses 10 times less CPU and requires 32 times less memory than ec2-api-tools.

The table below summarizes the results of running various describe commands on two distinct classes of Amazon instances.

Action Real time CPU usage (%) Memory usage
EC2 Eclat % EC2 Eclat % EC2 Eclat %
t1.micro
describe-addresses 0:07.73 0:00.25 3.2 93 4 4.3 541.3 19.4 3.6
describe-instance-status 0:31.78 0:00.39 1.2 98 28 28.6 538.3 19.7 3.7
describe-instances 1:00.99 0:00.25 0.4 98 9 9.2 420.8 21.3 5.1
describe-tags 0:12.26 0:00.45 3.7 98 51 52.0 541.6 20.2 3.7
describe-volumes 1:01.46 0:00.39 0.6 90 5 5.6 378.6 20.2 5.3
Average 0:34.84 0:00.35 1.0 95 19 20.3 484.1 20.2 4.2
m1.large
describe-addresses 0:06.87 0:00.11 1.6 140 14 10.0 589.9 19.2 3.3
describe-instance-status 0:06.75 0:00.12 1.8 143 12 8.4 611.8 19.5 3.2
describe-instances 0:07.47 0:00.11 1.5 143 21 14.7 643.8 21.1 3.3
describe-tags 0:07.82 0:00.10 1.3 139 19 13.7 654.7 20.1 3.1
describe-volumes 0:08.26 0:00.10 1.2 129 18 14.0 654.0 20.1 3.1
Average 0:07.43 0:00.11 1.5 138 16 12.1 630.8 20.0 3.2

The columns EC2 and Eclat contain measurements shown by ec2-api-tools and Eclat correspondingly. Each % column shows the resource usage by Eclat relative to that of ec2-api-tools.

Requirements and Build Prerequisites

There are no special requirements for the system where Eclat is to be run. As the above table shows, it feels itself quite comfortably even in conditions of extreme scarcity of resources, such as on t1.micro instances.

There are only two prerequisites for building the package: Curl and Expat libraries.

ID Mapping

One of the unique features of Eclat is ID mapping, which allows you to identify EC2 resources by arbitrary symbolic names, instead of Amazon resource identifiers. Tables that map symbolic names to identifiers can be stored in several formats, such as plain text files, GDBM or LDAP databases.