Some of the instances are equipped with the new AMD EPYC Rome CPUS.
In the case of Google’s n2d-highcpu-224 it comes with 224 Virtual CPUs (Cores).
The CMIPS score is:
Some of the instances are equipped with the new AMD EPYC Rome CPUS.
In the case of Google’s n2d-highcpu-224 it comes with 224 Virtual CPUs (Cores).
The CMIPS score is:
The new Amazon c3.8xlarge based on Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz and SSD has been added. Is the most powerful instance tested to the date, beating Cloudsigma 37 Cores/80 Ghz by a little (although CloudSigma is much more cheaper).
The cool thing of c3.8xlarge comparing to cc2.8xlarge is that the first is not a Cluster like the last, so you can use a standard Linux distribution, not the specially cluster distributions.
In a graphic (more CMIPS means more CPU+RAM Speed power, so more is better):
Prices for Amazon have been updated, only m3.xlarge (SSD) changed passing from $0.5 USD/hour to $0.45 USD/hour.
http://aws.amazon.com/ec2/pricing/
Prices for Azure have been reviewed but did not change since last update on 2013.
http://www.windowsazure.com/en-us/pricing/calculator/
Detailed results:
Type of Service | Provider | Name of the product | Codename | Zone | Processor | Ghz Processor | Cores (from htop) | RAM (GB) | Os tested | CMIPS | Execution time (seconds) | USD /hour | USD /month |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Cloud | T1 Micro | t1.micro | US East | Intel Xeon E5-2650 | 2 | 1 | 0.613 | Ubuntu Server 13.04 64 bits | 49 | 20,036.7 | $0.02 | $14.40 | |
Cloud | M1 Small | m1.small | US East | Intel Xeon E5-2650 | 2 | 1 | 1.6 | Ubuntu Server 13.04 64 bits | 203 | 4,909.89 | $0.06 | $43.20 | |
Cloud | GoGrid | Extra Small (512 MB) | Extra Small | US-East-1 | Intel Xeon E5520 | 2.27 | 1 | 0.5 | Ubuntu Server 12.04 64 bits | 441 | 2,265.14 | $0.04 | $18.13 |
Physical (laptop) | Intel SU4100 | 1.4 | 2 | 4 | Ubuntu Desktop 12.04 64 bits | 460 | 2,170.32 | ||||||
Cloud | CloudSigma | 1 Core / 1 Ghz | 1 Core / 1 Ghz | Zurich (Europe) | Amd Opteron 6380 | 2.5 Ghz to 3.4 Ghz with Turbo | 1 | 1 | Ubuntu Server 12.04.3 64 bits | 565 to 440 | 1,800 | $0.04475 | $32,22 |
Cloud | M1 Large | m1.large | US East | Intel Xeon E5-2650 | 2 | 2 | 7.5 | Ubuntu 13.04 64 bits | 817 | 1,223.67 | $0.24 | $172.80 | |
Cloud | Linode | 1x priority (smallest) | 1x priority | London | Intel Xeon E5-2670 | 2.6 | 8 | 1 | Ubuntu Server 12.04 64 bits | 1,427 | 700.348 | n/a | $20 |
Cloud | M1 Extra Large | m1.xlarge | US East | Intel Xeon E5-2650 | 2 | 4 | 15 | Ubuntu 13.04 64 bits | 1,635 | 606.6 | $0.48 | $345.60 | |
Cloud | LunaCloud | 8 Core 1.5 Ghz, 512 MB RAM, 10 GB SSD | CH | 1.5 | 8 | 0.5 | Ubuntu 13.10 64 bits | 1,859 | 537.64 | $0.0187 | $58.87 | ||
Cloud | CloudSigma | 3 Core / 1,667 Ghz each / 5 Ghz Total | 3 Core / 1,667 Ghz each / 5 Ghz Total | Zurich (Europe) | Amd Opteron 6380 | 2.5 Ghz to 3.4 Ghz with Turbo | 3 | 1 | Ubuntu Server 13.10 64 bits | 1928 to 1675 | 518.64 | $0.1875 | $135 |
Cloud | M3 Extra Large | m3.xlarge | US East | Intel Xeon E5-2670 | 2.6 | 4 | 15 | Ubuntu 13.04 64 bits | 2,065 | 484.1 | $0.45 | $324 | |
Cloud | Linode | 2x priority | 2x priority | Dallas, Texas, US | Intel Xeon E5-2670 | 2.6 | 2 | Ubuntu Server 12.04 64 bits | 2,556 | 391.19 | n/a | $40 | |
Cloud | GoGrid | Extra Large (8GB) | Extra Large | US-East-1 | Intel Xeon E5520 | 2.27 | 8 | 8 | Ubuntu Server 12.04 64 bits | 2,965 | 327.226 | $0.64 | $290 |
Cloud | C1 High CPU Extra Large | c1.xlarge | US East | Intel Xeon E5506 | 2.13 | 8 | 7 | Ubuntu Server 13.04 64 bits | 3,101 | 322.39 | $0.58 | $417.60 | |
Dedicated | OVH | Server EG 24G | EG 24G | France | Intel Xeon W3530 | 2.8 | 8 | 24 | Ubuntu Server 13.04 64 bits | 3,881 | 257.01 | n/a | $99 |
Cloud | M2 High Memory Quadruple Extra Large | m2.4xlarge | US East | Intel Xeon E5-2665 | 2.4 | 8 | 68.4 | Ubuntu Server 13.04 64 bits | 4,281 | 233.545 | $1.64 | $1,180.80 | |
Cloud | Rackspace | RackSpace First Generation 30 GB RAM – 8 Cores – 1200 GB | US | Quad-Core AMD Opteron(tm) Processor 2374 HE | 2.2 | 8 | 30 | Ubuntu Server 12.04 64 bits | 4,539 | 220.89 | $1.98 | $1,425.60 | |
Physical (desktop workstation) | Intel Core i7-4770S | 3.1 (to 3.9 with turbo) | 8 | 32 | Ubuntu Desktop 13.04 64 bits | 5,842 | 171.56 | ||||||
Cloud | Digital Ocean | Digital Ocean 48GB RAM – 16 Cores – 480 GB SSD | Amsterdam 1 | QEMU Virtual CPU version 1.0 | 16 | 48 | Ubuntu Server 13.04 64 bits | 6,172 | 161.996 | $0.705 | $480 | ||
Cloud | High I/O Quadruple Extra Large | hi1.4xlarge | US East | Intel Xeon E5620 | 2.4 | 16 | 60.5 | Ubuntu Server 13.04 64 bits | 6,263 | 159.65 | $3.1 | $2,232 | |
Cloud | Digital Ocean | Digital Ocean 64GB RAM – 20 Cores – 640 GB SSD | Amsterdam 1 | QEMU Virtual CPU version 1.0 | 20 | 64 | Ubuntu Server 13.04 64 bits | 8,116 | 123.2 | $0.941 | $640 | ||
Cloud | Digital Ocean | Digital Ocean 96GB RAM – 24 Cores – 960 GB SSD | New York 2 | QEMU Virtual CPU version 1.0 | 24 | 96 | Ubuntu Server 13.04 64 bits | 9,733 | 102.743 | $1.411 | $960 | ||
Cloud | GoGrid | XXX Large (24GB) | XXX Large | US-East-1 | Intel Xeon X5650 | 2.67 | 32 | 24 | Ubuntu Server 12.04 64 bits | 10,037 | 99.6226 | $1.92 | $870 |
Cloud | CloudSigma | 24 Core / 52 Ghz Total | 24 Core / 52 Ghz Total | Zurich (Europe) | Amd Opteron 6380 | 2.5 Ghz to 3.4 Ghz with Turbo | 24 | 1 | Ubuntu Server 13.10 64 bits | 10979 to 8530 | 98 | $0.9975 | $718.20 |
Cloud | Memory Optimized CR1 Cluster 8xlarge | cr1.8xlarge | US East | Intel Xeon E5-2670 | 2.6 | 32 | 244 | Ubuntu Server 13.04 64 bits for HVM instances (Cluster) | 16,468 | 60.721 | $3.5 | $2,520 | |
Cloud | Compute Optimized CC2 Cluster 8xlarge | cc2.8xlarge | US East | Intel Xeon E5-2670 | 2.6 | 32 | 60.5 | Ubuntu Server 13.04 64 bits for HVM instances (Cluster) | 16,608 | 60.21 | $2.4 | $1,728 | |
Cloud | CloudSigma | 37 Core / 2.16 Ghz each / 80 Ghz Total | 37 Core / 2.16 Ghz each / 80 Ghz Total | Zurich (Europe) | Amd Opteron 6380 | 2.5 Ghz to 3.4 Ghz with Turbo | 37 | 1 | Ubuntu Server 13.10 64 bits | 17136 to 8539 | 58 | $1.5195 | $1,094.10 |
Cloud | Compute Optimized C3 8xlarge | c3.8xlarge | US East | Intel Xeon E5-2680 | 2.8 | 32 | 60 | Ubuntu Server 13.10 64 bits for HVM instances (Cluster) | 17,476 | 57.21 | $2.4 | $1,728 |
Here are provided the CMIPS results after the past tests with Microsoft Azure and CloudSigma Cloud.
* Please note that values published in the graph for CloudSigma’s CMIPS are the max obtained, as results fluctuated during the tests, as indicated in the review. The range is below, on the html table.
*2 Costs for CloudSigma came in EUR, so have been exchanged from EUR to USD using google. Prices show subscription (not burst mode)
And the CUP (Cost per Unit Process), the orange bar.
Detailed results:
Type of Service | Provider | Name of the product | Codename | Zone | Processor | Ghz Processor | Cores (from htop) | RAM (GB) | Os tested | CMIPS | Execution time (seconds) | USD /hour | USD /month |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Cloud | Amazon | T1 Micro | t1.micro | US East | Intel Xeon E5-2650 | 2 | 1 | 0.613 | Ubuntu Server 13.04 64 bits | 49 | 20,036.7 | $0.02 | $14.40 |
Cloud | Amazon | M1 Small | m1.small | US East | Intel Xeon E5-2650 | 2 | 1 | 1.6 | Ubuntu Server 13.04 64 bits | 203 | 4,909.89 | $0.06 | $43.20 |
Cloud | GoGrid | Extra Small (512 MB) | Extra Small | US-East-1 | Intel Xeon E5520 | 2.27 | 1 | 0.5 | Ubuntu Server 12.04 64 bits | 441 | 2,265.14 | $0.04 | $18.13 |
Physical (laptop) | Intel SU4100 | 1.4 | 2 | 4 | Ubuntu Desktop 12.04 64 bits | 460 | 2,170.32 | ||||||
Cloud | CloudSigma | 1 Core / 1 Ghz | 1 Core / 1 Ghz | Zurich (Europe) | Amd Opteron 6380 | 2.5 Ghz to 3.4 Ghz with Turbo | 1 | 1 | Ubuntu Server 12.04.3 64 bits | 565 to 440 | 1,800 | $0.04475 | $32,22 |
Cloud | Amazon | M1 Large | m1.large | US East | Intel Xeon E5-2650 | 2 | 2 | 7.5 | Ubuntu 13.04 64 bits | 817 | 1,223.67 | $0.24 | $172.80 |
Cloud | Linode | 1x priority (smallest) | 1x priority | London | Intel Xeon E5-2670 | 2.6 | 8 | 1 | Ubuntu Server 12.04 64 bits | 1,427 | 700.348 | n/a | $20 |
Cloud | Amazon | M1 Extra Large | m1.xlarge | US East | Intel Xeon E5-2650 | 2 | 4 | 15 | Ubuntu 13.04 64 bits | 1,635 | 606.6 | $0.48 | $345.60 |
Cloud | CloudSigma | 3 Core / 1,667 Ghz each / 5 Ghz Total | 3 Core / 1,667 Ghz each / 5 Ghz Total | Zurich (Europe) | Amd Opteron 6380 | 2.5 Ghz to 3.4 Ghz with Turbo | 3 | 1 | Ubuntu Server 13.10 64 bits | 1928 to 1675 | 518.64 | $0.1875 | $135 |
Cloud | Amazon | M3 Extra Large | m3.xlarge | US East | Intel Xeon E5-2670 | 2.6 | 4 | 15 | Ubuntu 13.04 64 bits | 2,065 | 484.1 | $0.50 | $360 |
Cloud | Linode | 2x priority | 2x priority | Dallas, Texas, US | Intel Xeon E5-2670 | 2.6 | 2 | Ubuntu Server 12.04 64 bits | 2,556 | 391.19 | n/a | $40 | |
Cloud | GoGrid | Extra Large (8GB) | Extra Large | US-East-1 | Intel Xeon E5520 | 2.27 | 8 | 8 | Ubuntu Server 12.04 64 bits | 2,965 | 327.226 | $0.64 | $290 |
Cloud | Amazon | C1 High CPU Extra Large | c1.xlarge | US East | Intel Xeon E5506 | 2.13 | 8 | 7 | Ubuntu Server 13.04 64 bits | 3,101 | 322.39 | $0.58 | $417.60 |
Dedicated | OVH | Server EG 24G | EG 24G | France | Intel Xeon W3530 | 2.8 | 8 | 24 | Ubuntu Server 13.04 64 bits | 3,881 | 257.01 | n/a | $99 |
Cloud | Amazon | M2 High Memory Quadruple Extra Large | m2.4xlarge | US East | Intel Xeon E5-2665 | 2.4 | 8 | 68.4 | Ubuntu Server 13.04 64 bits | 4,281 | 233.545 | $1.64 | $1,180.80 |
Cloud | Rackspace | RackSpace First Generation 30 GB RAM – 8 Cores – 1200 GB | US | Quad-Core AMD Opteron(tm) Processor 2374 HE | 2.2 | 8 | 30 | Ubuntu Server 12.04 64 bits | 4,539 | 220.89 | $1.98 | $1,425.60 | |
Physical (desktop workstation) | Intel Core i7-4770S | 3.1 (to 3.9 with turbo) | 8 | 32 | Ubuntu Desktop 13.04 64 bits | 5,842 | 171.56 | ||||||
Cloud | Digital Ocean | Digital Ocean 48GB RAM – 16 Cores – 480 GB SSD | Amsterdam 1 | QEMU Virtual CPU version 1.0 | 16 | 48 | Ubuntu Server 13.04 64 bits | 6,172 | 161.996 | $0.705 | $480 | ||
Cloud | Amazon | High I/O Quadruple Extra Large | hi1.4xlarge | US East | Intel Xeon E5620 | 2.4 | 16 | 60.5 | Ubuntu Server 13.04 64 bits | 6,263 | 159.65 | $3.1 | $2,232 |
Cloud | Digital Ocean | Digital Ocean 64GB RAM – 20 Cores – 640 GB SSD | Amsterdam 1 | QEMU Virtual CPU version 1.0 | 20 | 64 | Ubuntu Server 13.04 64 bits | 8,116 | 123.2 | $0.941 | $640 | ||
Cloud | Digital Ocean | Digital Ocean 96GB RAM – 24 Cores – 960 GB SSD | New York 2 | QEMU Virtual CPU version 1.0 | 24 | 96 | Ubuntu Server 13.04 64 bits | 9,733 | 102.743 | $1.411 | $960 | ||
Cloud | GoGrid | XXX Large (24GB) | XXX Large | US-East-1 | Intel Xeon X5650 | 2.67 | 32 | 24 | Ubuntu Server 12.04 64 bits | 10,037 | 99.6226 | $1.92 | $870 |
Cloud | CloudSigma | 24 Core / 52 Ghz Total | 24 Core / 52 Ghz Total | Zurich (Europe) | Amd Opteron 6380 | 2.5 Ghz to 3.4 Ghz with Turbo | 24 | 1 | Ubuntu Server 13.10 64 bits | 10979 to 8530 | 98 | $0.9975 | $718.20 |
Cloud | Amazon | Memory Optimized CR1 Cluster 8xlarge | cr1.8xlarge | US East | Intel Xeon E5-2670 | 2.6 | 32 | 244 | Ubuntu Server 13.04 64 bits for HVM instances (Cluster) | 16,468 | 60.721 | $3.5 | $2,520 |
Cloud | Amazon | Compute Optimized CC2 Cluster 8xlarge | cc2.8xlarge | US East | Intel Xeon E5-2670 | 2.6 | 32 | 60.5 | Ubuntu Server 13.04 64 bits for HVM instances (Cluster) | 16,608 | 60.21 | $2.4 | $1,728 |
Cloud | CloudSigma | 37 Core / 2.16 Ghz each / 80 Ghz Total | 37 Core / 2.16 Ghz each / 80 Ghz Total | Zurich (Europe) | Amd Opteron 6380 | 2.5 Ghz to 3.4 Ghz with Turbo | 37 | 1 | Ubuntu Server 13.10 64 bits | 17136 to 8539 | 58 | $1.5195 | $1,094.10 |
After testing Microsoft Azure Small (A1), Large (A3), Extra Large (A4) and A7, this is how the results are.
(More CMIPS means more perfomance so a most powerful instance).
As you can see Azure Extra Large and Azure A7 have the same CMIPS performance, the main difference is in the number of RAM.
About Linux prices we can say that Azure are not the cheapest, but they try to be much cheaper than Amazon. They have a long path to provide so many and so quality products as Amazon, but they are working intensely.
As we are commited to Start ups and Open Source we didn’t compare prices for Windows Servers between Amazon and Microsoft Azure.
In the next graphic you can see the CMIPS (CPU power + memory speed), blue bar -longer bar means more power-, and the CUP (Cost of Unit of Process) multiplied to 10M to fit the graphic scale, orange bar -shorter bar means cheap price, longer bar means expensive price per CMIP.
The best power-price are up on the list (long blue bar) but have a small orange bar.
Linode has an amazing relationg between power and price, the physical dedicated server from OVH introduced to have a wider picture has also a very good CUP ratio and with high computing power Digital Ocean (they equip SSD disks) beats the game with very powerful instances yet not so expensive as Amazon.
Microsoft has Azure, a Cloud platform similar to Amazon and it reveals obvious to me, that they are trying by all means to attract customers from Amazon to their platforms by beating AWS in price and performance.
The prices in Azure use to be half compared to AWS, for a bit more, or much more (like in the case of the Small) CPU power, as CMIPS reveals.
To show some examples, Amazon t1.micro costs USD $0.020 per hour and performs at 49 CMIPS, while Azure Small costs USD $0.060 per hour, but performs at 554 CMIPS, so 11 times faster. For the same price Amazon M1 Small performs at 203 CMIPS and costs USD $0.060 per hour as well, so half powerful (both have the same amount of RAM 1.7 GB).
Azure Large (A3) performs at 2142 CMIPS with a cost of USD $0.24 per hour, while Amazon m3.xlarge performs at 2065 CMIPS at a cost of USD $0.50 per hour. So similar power but double price.
In the case of the Azure A7 (56 GB RAM) we get 4412 CMIPS at the cost of USD $1.29 per hour while the Amazon M2 High Memory Quadruple Extra Large (m2.4xlarge) (68,4 GB RAM) brings 4281 CMIPS costing USD $1.64.
If we don’t need so many memory Azure Extra Large (A4) has the same CPU power as A7, with only 14 GB of RAM but a lower cost of USD $0.48 per hour.
See Amazon instance types for more information.
See Azure prices for more information.
A very nice thing is that Azure charges by the minute, and not by hour (or fraction) like most of the Cloud providers.
Take a look at the price calculator:
http://www.windowsazure.com/en-us/pricing/calculator/?scenario=virtual-machines
This week I was reported by an Start up founder that one colleague saved around 50,000 USD in the first year running his Start up with Azure, due to a kind of sponsorship/subsidized program by Ms Azure. This has to be confirmed yet.
To start, they publicly offer a Free month with 150 € pre-charged to use the Free trial.
The registration process is a bit annoying and confusing, having to create a Microsoft account, validating the card and receiving a SMS with a verification code, and I had problems later because their website was not redirecting me to the proper page (halted on white page), but after going to their main login page an login twice being told because my session had expired (…) everything ran smoothly in my Firefox for Linux.
The thing that may surprise many users is that Azure does not only offer Windows Servers, it offers also Linux Servers.
As CMIPS is only for Linux, and Open Source is particularly interesting for the Start ups, and not privative cost-for-license Software, this will be the main target of analysis, but I tested some of the Windows platform features also.
The first thing, and I like it, is that you can select if you want to provide a certificate to login to your Linux box, log in by SSH with user and password, or use both methods.
In the text box you define your user and your password, and it works great. The user is automatically added to sudoers, so no problems here.
Another interesting feature is that all the instances you create have an unique name.
The name is in the form yourname.cloudapp.net
The namespace is shared among all customers so maybe the name you want is taken, but it is a great feature since everytime you shutdown you server, it will keep the same name.
That allows you to create a CNAME entry in your DNS pointing to your .cloudapp.net domain, and so user your DNS. For example www.cmips.net could be pointed as CNAME to cmips-t-small.cloudapp.net
That also adds an abstraction layer giving a lot of functionality.
I introduced this feature in ECManaged when I was in charge of the project, and I suggested this same feature to Amazon in a meeting I had in their offices in Dublin, when they invited me this November.
Another interesting feature is that Azure has several Data Centers:
North Europe
West Europe
East US
West US
Southeast Asia
East Asia
I may say that the provisioning of the instances, at least the Linux Servers, is slow.
The user interface is nice, fast, clear and useful, but doesn’t notices when I do sudo poweroff from the ssh terminal (or it notices really late).
So it doesn’t refreshed the status screen until many minutes have passed (around 30 minutes), it lacks a refresh button, and even if I refresh the entire browser it shows the virtual machine running when in fact is stopped.
They have a very nice monitor, very similar to ECManaged’s, but not so powerful and with limited alarms/alerts functionality.
When I stop the server from ssh this monitor detects no activity on network, disk, cpu… but the user interface continues reporting that the server is on when in fact is down.
This happens also with the Credit Status, and the detailed page linked, that didn’t get refreshed after several hours running four instances and other services.
Some icons in the navigation bar on bottom disappear some times, randomly, and appear/disappear flashing when moving the mouse over, making difficult to find buttons like SAVE or DISCARD if they disappear and you didn’t see it before and hence you know where they should be placed.
Wow!. The Customdata feature to provide custom scripts in BASE64 when launching instances was only introduced to Azure’s API on October 2013, so a big big delay respect the competitors.
Optional in Linux Provisioning Configuration. Specifies a base-64 encoded string of custom data. The base-64 encoded string is located in the ovf-env.xml file on the ISO of the Virtual Machine. The file is copied to /var/lib/waagent/ovf-env.xml by the Windows Azure Linux Agent. The Windows Azure Linux Agent will also place the base-64 encoded data in /var/lib/waagent/CustomData during provisioning. The maximum length of the binary array is 65535 bytes.
The CustomData element is only available using version 2013-10-01 or higher.
msdn.microsoft.com/en-us/library/windowsazure/jj157194.aspx
One of the coolest feature is the AutoScale.
User can define different criteria for AutoScaling during the day and the night, the weekends, and special ranges.
Then Scale up or down according to CPU intervals, with cooldown (wait time to prevent scaling too fast within small peaks).
The AutoScaling options are not as complete as ECManaged, but in line with functionality offered by Amazon CloudWatch.
I found extremely useful the possibility to check the endpoints from different locations in Europe, USA and Asia.
I miss the option to receive alerts based on SMS, Skyper or Whatsup (email is supported).
I miss the possibility to raise events based on time, for example, start or stop a group of instances or do a Backup.
Azure offers a Market of Addons like for performing Backups, and a Market of instances preconfigured.
They also offer Managed Services and the possibility to hire support.
Another cool feature is the support for Load Balancers based on:
They allow the creation of Databases (Sql Server), similarly to Amazon RDS.
Also the creation of Websites, Mobile Services (with domain like https://cmipstests.azure-mobile.net/ and with functionalities like Push Notifications for smartphones: Windows Phone, iOS, Android, just HTML, Xamarin.iOS, Xamarin.Android), Windows Azure Cache, and collaboration storage for Visual Studio to use with Github or centralized version control. These last sites have the domain yourchosenname.visualstudio.com
Another remarkable aspect is that I saw only 64 bit Linux system, not 32 (honestly I see this Ok), and according to /proc/cpuinfo on the guest OS, the CPU detected on the host servers is an AMD Opteron 4171 HE (six-core processor – 2.1GHz (Lisbon, 6MB Level-3 cache, socket C32, 50W TDP) designed for Cloud). Please note that in the documentation of Azure it says that Small servers run at 1 Ghz
In the next article I will add the results of CMIPS and CUP (costs per CMIP).
To download EC2 Tools you can use this page from the Amazon Developer tools page, that links to the zip file in S3.
The Tools use Java, so you will need Java, at least v. 1.6 and can be uncompressed to any directory.
The tools use AWS_ACCESS_KEY
and AWS_SECRET_KEY
environment variables to know your credentials, and so passing the requests to Amazon API with them.
Amazon AWS_ACCESS_KEY can be seen on your AWS account.
Edit your ~/.bashrc
to add the exports:
export AWS_ACCESS_KEY=your-aws-access-key-id export AWS_SECRET_KEY=your-aws-secret-key
Run:
source ~/.bashrc
Please note Tools commands support pass of authentication on execution time with the params:
-O, --aws-access-key KEY -W, --aws-secret-key KEY
Export the EC2_HOME variable, you can also add to ~/.bashrc:
export EC2_HOME=/home/cmips/ec2-tools
And you add also and export also to the PATH
export PATH=$PATH:$EC2_HOME/bin
Export the JAVA_HOME dir:
export JAVA_HOME=/usr
That means that you java binary is in /usr/bin
Test the Tools with: ec2-describe-regions
Then use the parameter –url or -U to specifify the url of the region you want to query.
You can also set the parameter EC2_URL environment variable if you prefer.
Eg:
--url https://ec2.us-east-1.amazonaws.com
Alternatively you can use the parameter –region
Eg:
--region us-east-1
–region overrides the value of –url
Other util parameters are:
–auth-dry-run or -D
To test instead of performing the action.
–verbose or -v
So let’s test the whole thing:
ec2-create-keypair --region us-east-1 cmips-test-key
The first text starting with ca:75:f9… is called the fingerprint and is a checksum of the KEY.
From this PRIVATE KEY (or .pem file) you can generate your public key:
ssh-keygen -y
You can list all your instances with:
ec2-describe-instances
Or the images available to you with:
ec2-describe-images
The images available to you can be public, your own images (private) or images that other AWS account has granted to be launched from yours (explicit).
You can describe AMIs, AKIs, and ARIs (Amazon Ramdisk Images).
You can request all the images available to you (it will take several seconds as there are thousands):
ec2-describe-images --all
Or your own images:
ec2-descibre-images --owner self
For owner you can specify any of these values:
amazon | aws-marketplace | self | AWS account ID | all
The second column is the AMI ID, that is unique for every zone.
Link to the Amazon’s documentation for ec2-describe-images.
You can also the list of official AMIs for Ubuntu here:
http://cloud-images.ubuntu.com/locator/ec2/
You can launch one or more instances (create new) with:
ec2run
Passing the AMI ID of the AMI, so the base image for the virtual disk, to launch.
For example:
ec2-run-instances ami-4bb39522 -O AWS_ACCESS_KEY -W AWS_SECRET_KEY
You can also import instances and create your own images:
ec2-import-instance
ec2-upload-disk-image
For example:
ec2-import-instance ./LinuxSvr13-10-disk1.vmdk –f VMDK -t hi1.4xlarge -a x86_64 -b myawsbucket -o AKIAIOSFODNN7SAMPLE -w wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Requesting volume size: 25 GB Disk image format: Stream-optimized VMDK Converted volume size: 26843545600 bytes (25.00 GiB) Requested EBS volume size: 26843545600 bytes (25.00 GiB) TaskType IMPORTINSTANCE TaskId import-i-fhbx6hua ExpirationTime 2011-09-09T15:03:38+00:00 Status active StatusMessage Pending InstanceID i-6ced060c DISKIMAGE DiskImageFormat VMDK DiskImageSize 5070303744 VolumeSize 25 AvailabilityZone us-east-1c ApproximateBytesConverted 0 Status active StatusMessage Pending Creating new manifest at testImport/9cba4345-b73e-4469-8106-2756a9f5a077/Linux_2008_Server_13_10_EE_64.vmdkmanifest.xml Uploading the manifest file Uploading 5070303744 bytes across 484 parts 0% |--------------------------------------------------| 100% |==================================================| Done
Here you can find complete documentation on how to export instances/disks from Citrix, Microsoft Hyper-V and VMware.
Why is it important to know the APIs from the Cloud providers?.
In order to be able to automate tasks and to measure the time taken by the actions to be performed.
Most Cloud providers have their own APIs, while the smaller ones don’t.
Apache Libcloud provides an unified API for many providers, even for some of the providers that don’t offer direct API.
You can see the complete list of providers, and supported functionalities in:
http://libcloud.apache.org/supported_providers.html
I introduce the tests for GoGrid Cloud Instances.
I tested three instances:
The biggest XXX Large comes with 1.2 TB (1,200 GB) of disk storage.
The tests have been done with Ubuntu Server 12.04 64 bit because latest Ubuntu Server 13.04 64 bit was not listed in the available OS list.
Must be remarked that GoGrid makes easy to select a reserved provisioning for long term, in the moment of creation of the instance, Extra Large (8GB) for example, the user is asked if he wants to go with a Subscription Term:
Must be highlighted that they allow to hire a Cloud Server or a Physical Dedicated Server, from the same wizard.
Is always nice to be able to create hybrid infrastructures, specially if you want really powerful Database Servers connected to your Webserver Instances, in the same network.
Is also remarkable that the smaller instance, with 1 Core and only 0.5 GB of Ram comes with 25 GB of disk storage. That’s good.
That smaller instance, Extra Small is called, performs just a bit less than my low-performance-high-battery Intel SU4100 Laptop, and double than Amazon’s M1 Small and 9 times more than Amazon’s t1.micro.
The Dedicated Servers start from US $300 per month. Would not be nice to be able to rent a Physical, Dedicated Server per hours as well? Or at least by days?.
I think people would try more often, as paying $10 per one day Server, for testing, is not so aggressively risky as having to try for a minimum of a month and investing $300 may be just to discover that this Server is not powerful enough, or that the Internet bandwidth does not fit your requirements.
Other thing curious is that they charge per Server, even if it is stopped. So to stop paying you have to delete the Server. If you stop it, you continue paying for the provisioned resources (disk and Ip address).
And I was surprised that in their Terms and Conditions they do not allow to use the servers as IRC Servers.
The registration process needs to perform a phone call, and supports many languages, and I tried Catalan, my language, and worked flawlessly.
Detailed results:
Type of Service | Provider | Name of the product | Codename | Zone | Processor | Ghz Processor | Cores (from htop) | RAM (GB) | Os tested | CMIPS | Execution time (seconds) | USD /hour | USD /month |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Cloud | Amazon | T1 Micro | t1.micro | US East | Intel Xeon E5-2650 | 2 | 1 | 0.613 | Ubuntu Server 13.04 64 bits | 49 | 20,036.7 | $0.02 | $14.40 |
Cloud | Amazon | M1 Small | m1.small | US East | Intel Xeon E5-2650 | 2 | 1 | 1.6 | Ubuntu Server 13.04 64 bits | 203 | 4,909.89 | $0.06 | $43.20 |
Cloud | GoGrid | Extra Small (512 MB) | Extra Small | US-East-1 | Intel Xeon E5520 | 2.27 | 1 | 0.5 | Ubuntu Server 12.04 64 bits | 441 | 2,265.14 | $0.04 | $18.13 |
Physical (laptop) | Intel SU4100 | 1.4 | 2 | 4 | Ubuntu Desktop 12.04 64 bits | 460 | 2,170.32 | ||||||
Cloud | Amazon | M1 Large | m1.large | US East | Intel Xeon E5-2650 | 2 | 2 | 7.5 | Ubuntu 13.04 64 bits | 817 | 1,223.67 | $0.24 | $172.80 |
Cloud | Linode | 1x priority (smallest) | 1x priority | London | Intel Xeon E5-2670 | 2.6 | 8 | 1 | Ubuntu Server 12.04 64 bits | 1,427 | 700.348 | n/a | $20 |
Cloud | Amazon | M1 Extra Large | m1.xlarge | US East | Intel Xeon E5-2650 | 2 | 4 | 15 | Ubuntu 13.04 64 bits | 1,635 | 606.6 | $0.48 | $345.60 |
Cloud | Amazon | M3 Extra Large | m3.xlarge | US East | Intel Xeon E5-2670 | 2.6 | 4 | 15 | Ubuntu 13.04 64 bits | 2,065 | 484.1 | $0.50 | $360 |
Cloud | Linode | 2x priority | 2x priority | Dallas, Texas, US | Intel Xeon E5-2670 | 2.6 | 2 | Ubuntu Server 12.04 64 bits | 2,556 | 391.19 | n/a | $40 | |
Cloud | GoGrid | Extra Large (8GB) | Extra Large | US-East-1 | Intel Xeon E5520 | 2.27 | 8 | 8 | Ubuntu Server 12.04 64 bits | 2,965 | 327.226 | $0.64 | $290 |
Cloud | Amazon | C1 High CPU Extra Large | c1.xlarge | US East | Intel Xeon E5506 | 2.13 | 8 | 7 | Ubuntu Server 13.04 64 bits | 3,101 | 322.39 | $0.58 | $417.60 |
Dedicated | OVH | Server EG 24G | EG 24G | France | Intel Xeon W3530 | 2.8 | 8 | 24 | Ubuntu Server 13.04 64 bits | 3,881 | 257.01 | n/a | $99 |
Cloud | Amazon | M2 High Memory Quadruple Extra Large | m2.4xlarge | US East | Intel Xeon E5-2665 | 2.4 | 8 | 68.4 | Ubuntu Server 13.04 64 bits | 4,281 | 233.545 | $1.64 | $1,180.80 |
Cloud | Rackspace | RackSpace First Generation 30 GB RAM – 8 Cores – 1200 GB | US | Quad-Core AMD Opteron(tm) Processor 2374 HE | 2.2 | 8 | 30 | Ubuntu Server 12.04 64 bits | 4,539 | 220.89 | $1.98 | $1,425.60 | |
Physical (desktop workstation) | Intel Core i7-4770S | 3.1 (to 3.9 with turbo) | 8 | 32 | Ubuntu Desktop 13.04 64 bits | 5,842 | 171.56 | ||||||
Cloud | Digital Ocean | Digital Ocean 48GB RAM – 16 Cores – 480 GB SSD | Amsterdam 1 | QEMU Virtual CPU version 1.0 | 16 | 48 | Ubuntu Server 13.04 64 bits | 6,172 | 161.996 | $0.705 | $480 | ||
Cloud | Amazon | High I/O Quadruple Extra Large | hi1.4xlarge | US East | Intel Xeon E5620 | 2.4 | 16 | 60.5 | Ubuntu Server 13.04 64 bits | 6,263 | 159.65 | $3.1 | $2,232 |
Cloud | Digital Ocean | Digital Ocean 64GB RAM – 20 Cores – 640 GB SSD | Amsterdam 1 | QEMU Virtual CPU version 1.0 | 20 | 64 | Ubuntu Server 13.04 64 bits | 8,116 | 123.2 | $0.941 | $640 | ||
Cloud | Digital Ocean | Digital Ocean 96GB RAM – 24 Cores – 960 GB SSD | New York 2 | QEMU Virtual CPU version 1.0 | 24 | 96 | Ubuntu Server 13.04 64 bits | 9,733 | 102.743 | $1.411 | $960 | ||
Cloud | GoGrid | XXX Large (24GB) | XXX Large | US-East-1 | Intel Xeon X5650 | 2.67 | 32 | 24 | Ubuntu Server 12.04 64 bits | 10,037 | 99.6226 | $1.92 | $870 |
Cloud | Amazon | Memory Optimized CR1 Cluster 8xlarge | cr1.8xlarge | US East | Intel Xeon E5-2670 | 2.6 | 32 | 244 | Ubuntu Server 13.04 64 bits for HVM instances (Cluster) | 16,468 | 60.721 | $3.5 | $2,520 |
Cloud | Amazon | Compute Optimized CC2 Cluster 8xlarge | cc2.8xlarge | US East | Intel Xeon E5-2670 | 2.6 | 32 | 60.5 | Ubuntu Server 13.04 64 bits for HVM instances (Cluster) | 16,608 | 60.21 | $2.4 | $1,728 |
To test aspects like the time that a server takes to become available there two approaches can be used:
1) Manually laborious launch the instance creation order (from web or from API call) and start the counter of a chronometer
Then keep refreshing for the instance id to get the public dns name, or Ip, and then ping to know when the interface is up, then keep trying to access via ssh.
Stop the chronometer…
2) Go more pro and automate test through Cloud-Init procedure
That’s specifying your script, that will be executed when the instance starts.
This is done in Amazon through the User data.
There you can provide your scripts in plain text, in base64, or add as a file and they are executed as root.
In our case I created my scripts to automate tests and save time, while being more accurate.
Sample User data script for cmips tests:
#!/bin/sh # cmips v.1.0.3 cloud init execution tests # Define routes file_name=cmips-speed-test.000 # Complete Path, on cloud-init through user data $HOME is empty, so data will be at / # user data script is executed as root, so no problem of permissions file_route=$HOME/$file_name # Get the time when the server is up date_server_up=`date +"%Y-%m-%d %k:%M:%S:%N"` date_server_up_unix_time=`date +"%s"` # In case invoked from command line, show some info echo "Using logfile $file_route.log Server up: $date_server_up Unix Time: $date_server_up_unix_time" echo "-----------------------------------------------------------------------------------" >> $file_route.log echo "Server up: $date_server_up Unix Time: $date_server_up_unix_time" >> $file_route.log # Add packages you want apt-get install htop >> $file_route.log apt-get install git >> $file_route.log # Here you can add packages like mysql, apache, php... and monitor the time # You can also clone from github your source code to deploy your web $date_end_packages_install=`date +"%Y-%m-%d %k:%M:%S:%N"` $date_end_packages_install_unix_time=`date +"%s"` echo "Package finished installing at $data_end_packages_install Unix Time: $date_end_packages_install_unix_time" >> $file_route.log # Do Connection Speed tests # ... # Do cmips tests # ... # Get start of time for disk speed calculations date_start_dd_unix_time=`date +"%s"` date_start_dd=`date +"%Y-%m-%d %k:%M:%S:%N"` echo "Starting cmips dd tests at $date_start_dd Unix time: $date_start_dd_unix_time" echo "Starting cmips dd tests at $date_start_dd Unix time: $date_start_dd_unix_time" >> $file_route.log dd if=/dev/zero of=$file_route bs=4M count=64 >> $file_route.log ; sync date_end_dd_unix_time=`date +"%s"` date_end_dd=`date +"%Y-%m-%d %k:%M:%S"` total_seconds=`expr $date_end_dd_unix_time - $date_start_dd_unix_time` echo "Ending cmips dd tests at $date_end Unix time: $date_end_dd_unix_time Total seconds dd with sync: $total_seconds" echo "Ending cmips dd tests at $date_end Unix time: $date_end_dd_unix_time Total seconds dd with sync: $total_seconds" >> $file_route.log
In /var/log you can find the cloud-init.log file and examine it in deep if you’re curious.
I use dd to get data about disk performance. Is not so evident in Cloud, as all the Virtual platforms cache the file I/O from the guest instances, so tests with smalland medium-sized files are not trustworthy, and so certain aspects have to be taken in count:
Update: Article updated and more data provided here.
I update the results, adding newly introduced Amazon Cluster instances on January 2013:
Stats have been updated to show (public today) price per hour and per month of the instances.
Detailed results:
Type of Service | Provider | Name of the product | Codename | Zone | Processor | Ghz Processor | Cores (from htop) | RAM (GB) | Os tested | CMIPS | Execution time (seconds) | USD /hour | USD /month |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Cloud | Amazon | T1 Micro | t1.micro | US East | Intel Xeon E5-2650 | 2 | 1 | 0.613 | Ubuntu Server 13.04 64 bits | 49 | 20,036.7 | $0.02 | $14.40 |
Cloud | Amazon | M1 Small | m1.small | US East | Intel Xeon E5-2650 | 2 | 1 | 1.6 | Ubuntu Server 13.04 64 bits | 203 | 4,909.89 | $0.06 | $43.20 |
Physical (laptop) | Intel SU4100 | 1.4 | 2 | 4 | Ubuntu Desktop 12.04 64 bits | 460 | 2,170.32 | ||||||
Cloud | Amazon | M1 Large | m1.large | US East | Intel Xeon E5-2650 | 2 | 2 | 7.5 | Ubuntu 13.04 64 bits | 817 | 1,223.67 | $0.24 | $172.80 |
Cloud | Linode | 1x priority (smallest) | 1x priority | London | Intel Xeon E5-2670 | 2.6 | 8 | 1 | Ubuntu Server 12.04 64 bits | 1,427 | 700.348 | n/a | $20 |
Cloud | Amazon | M1 Extra Large | m1.xlarge | US East | Intel Xeon E5-2650 | 2 | 4 | 15 | Ubuntu 13.04 64 bits | 1,635 | 606.6 | $0.48 | $345.60 |
Cloud | Amazon | M3 Extra Large | m3.xlarge | US East | Intel Xeon E5-2670 | 2.6 | 4 | 15 | Ubuntu 13.04 64 bits | 2,065 | 484.1 | $0.50 | $360 |
Cloud | Linode | 2x priority | 2x priority | Dallas, Texas, US | Intel Xeon E5-2670 | 2.6 | 2 | Ubuntu Server 12.04 64 bits | 2,556 | 391.19 | n/a | $40 | |
Cloud | Amazon | C1 High CPU Extra Large | c1.xlarge | US East | Intel Xeon E5506 | 2.13 | 8 | 7 | Ubuntu Server 13.04 64 bits | 3,101 | 322.39 | $0.58 | $417.60 |
Dedicated | OVH | Server EG 24G | EG 24G | France | Intel Xeon W3530 | 2.8 | 8 | 24 | Ubuntu Server 13.04 64 bits | 3,881 | 257.01 | n/a | $99 |
Cloud | Amazon | M2 High Memory Quadruple Extra Large | m2.4xlarge | US East | Intel Xeon E5-2665 | 2.4 | 8 | 68.4 | Ubuntu Server 13.04 64 bits | 4,281 | 233.545 | $1.64 | $1,180.80 |
Cloud | Rackspace | RackSpace First Generation 30 GB RAM – 8 Cores – 1200 GB | US | Quad-Core AMD Opteron(tm) Processor 2374 HE | 2.2 | 8 | 30 | Ubuntu Server 12.04 64 bits | 4,539 | 220.89 | $1.98 | $1,425.60 | |
Physical (desktop workstation) | Intel Core i7-4770S | 3.1 (to 3.9 with turbo) | 8 | 32 | Ubuntu Desktop 13.04 64 bits | 5,842 | 171.56 | ||||||
Cloud | Digital Ocean | Digital Ocean 48GB RAM – 16 Cores – 480 GB SSD | Amsterdam 1 | QEMU Virtual CPU version 1.0 | 16 | 48 | Ubuntu Server 13.04 64 bits | 6,172 | 161.996 | $0.705 | $480 | ||
Cloud | Amazon | High I/O Quadruple Extra Large | hi1.4xlarge | US East | Intel Xeon E5620 | 2.4 | 16 | 60.5 | Ubuntu Server 13.04 64 bits | 6,263 | 159.65 | $3.1 | $2,232 |
Cloud | Digital Ocean | Digital Ocean 64GB RAM – 20 Cores – 640 GB SSD | Amsterdam 1 | QEMU Virtual CPU version 1.0 | 20 | 64 | Ubuntu Server 13.04 64 bits | 8,116 | 123.2 | $0.941 | $640 | ||
Cloud | Digital Ocean | Digital Ocean 96GB RAM – 24 Cores – 960 GB SSD | New York 2 | QEMU Virtual CPU version 1.0 | 24 | 96 | Ubuntu Server 13.04 64 bits | 9,733 | 102.743 | $1.411 | $960 | ||
Cloud | Amazon | Memory Optimized CR1 Cluster 8xlarge | cr1.8xlarge | US East | Intel Xeon E5-2670 | 2.6 | 32 | 244 | Ubuntu Server 13.04 64 bits for HVM instances (Cluster) | 16,468 | 60.721 | $3.5 | $2,520 |
Cloud | Amazon | Compute Optimized CC2 Cluster 8xlarge | cc2.8xlarge | US East | Intel Xeon E5-2670 | 2.6 | 32 | 60.5 | Ubuntu Server 13.04 64 bits for HVM instances (Cluster) | 16,608 | 60.21 | $2.4 | $1,728 |
Update: Article updated and more data provided here.
New CMIPS v. 1.0.3 measurements with:
More CMIPS means more performance, and time is the number of seconds needed to do the tests, so less is better.
Type of Service | Provider | Name of the product | Codename | Zone | Processor | Ghz Processor | Cores (from htop) | RAM (GB) | Os tested | CMIPS | Execution time (seconds) |
---|---|---|---|---|---|---|---|---|---|---|---|
Cloud | Amazon | T1 Micro | t1.micro | US East | Intel Xeon E5-2650 | 2 | 1 | 0.613 | Ubuntu Server 13.04 64 bits | 49 | 20,036.7 |
Cloud | Amazon | M1 Small | m1.small | US East | Intel Xeon E5-2650 | 2 | 1 | 1.6 | Ubuntu Server 13.04 64 bits | 203 | 4,909.89 |
Physical (laptop) | Intel SU4100 | 1.4 | 2 | 4 | Ubuntu Desktop 12.04 64 bits | 460 | 2,170.32 | ||||
Cloud | Amazon | M1 Large | m1.large | US East | Intel Xeon E5-2650 | 2 | 2 | 7.5 | Ubuntu 13.04 64 bits | 817 | 1,223.67 |
Cloud | Linode | Smallest | London | Intel Xeon E5-2670 | 2.6 | 2 | Ubuntu Server 12.04 64 bits | 1,427 | 700.348 | ||
Cloud | Amazon | M1 Extra Large | m1.xlarge | US East | Intel Xeon E5-2650 | 2 | 4 | 15 | Ubuntu 13.04 64 bits | 1,635 | 606.6 |
Cloud | Amazon | M3 Extra Large | m3.xlarge | US East | Intel Xeon E5-2670 | 2.6 | 4 | 15 | Ubuntu 13.04 64 bits | 2,065 | 484.1 |
Cloud | Linode | 2x priority | 2x priority | Dallas, Texas, US | Intel Xeon E5-2670 | 2.6 | 2 | Ubuntu Server 12.04 64 bits | 2,556 | 391.19 | |
Cloud | Amazon | C1 High CPU Extra Large | c1.xlarge | US East | Intel Xeon E5506 | 2.13 | 8 | 7 | Ubuntu Server 13.04 64 bits | 3,101 | 322.39 |
Dedicated | OVH | Server EG 24G | EG 24G | France | Intel Xeon W3530 | 2.8 | 8 | 24 | Ubuntu Server 13.04 64 bits | 3,881 | 257.01 |
Cloud | Amazon | M2 High Memory Quadruple Extra Large | m2.4xlarge | US East | Intel Xeon E5-2665 | 2.4 | 8 | 68.4 | Ubuntu Server 13.04 64 bits | 4,281 | 233.545 |
Cloud | Rackspace | RackSpace First Generation 30 GB RAM – 8 Cores – 1200 GB | US | Quad-Core AMD Opteron(tm) Processor 2374 HE | 2.2 | 8 | 30 | Ubuntu Server 12.04 64 bits | 4,539 | 220.89 | |
Physical (desktop workstation) | Intel Core i7-4770S | 3.1 (to 3.9 with turbo) | 8 | 32 | Ubuntu Desktop 13.04 64 bits | 5,842 | 171.56 | ||||
Cloud | Digital Ocean | Digital Ocean 48GB RAM – 16 Cores – 480 GB SSD | Amsterdam 1 | QEMU Virtual CPU version 1.0 | 16 | 48 | Ubuntu Server 13.04 64 bits | 6,172 | 161.996 | ||
Cloud | Amazon | High I/O Quadruple Extra Large | hi1.4xlarge | US East | Intel Xeon E5620 | 2.4 | 16 | 60.5 | Ubuntu Server 13.04 64 bits | 6,263 | 159.65 |
Cloud | Digital Ocean | Digital Ocean 64GB RAM – 20 Cores – 640 GB SSD | Amsterdam 1 | QEMU Virtual CPU version 1.0 | 20 | 64 | Ubuntu Server 13.04 64 bits | 8,116 | 123.2 | ||
Cloud | Digital Ocean | Digital Ocean 96GB RAM – 24 Cores – 960 GB SSD | New York 2 | QEMU Virtual CPU version 1.0 | 24 | 96 | Ubuntu Server 13.04 64 bits | 9,733 | 102.743 |