SlideShare a Scribd company logo
1 of 110
Benchmarking Top IaaS providers
using Real Time User Metrics
USING CASSANDRA STORAGE AND YCSB TOOL
KEERTHI BALA SUNDRAM
Schema
IaaS providers under Study
Setting up the system in Google Compute Engine
Setting up the system in Microsoft Azure
Setting up the system in CenturyLink
Setting up the system in Amazon Web Services
Deploying Cassandra in the nodes under the CSPs
Deploying YCSB in a test node for benchmarking
Benchmark Discussion
KEERTHI BALA SUNDRAM
IaaS Cloud Providers – Under Study
KEERTHI BALA SUNDRAM
Google’s Compute Engine (GCE) -
Architecture
KEERTHI BALA SUNDRAM
Creating a User ID for using GCE
Navigate to the URL https://cloud.google.com/compute/  Create an ID, or use your existing
gmail ID to sign up. Initially every user gets $300 free credit that can be used upto 30 days from
the date of sign up.
1. Click on Free Trial
KEERTHI BALA SUNDRAM
Logging in to Console
Create/Select the project that you want to use, from the window as shown below.
Create or select a project
KEERTHI BALA SUNDRAM
Google Developers Console
The Google Developers Console is the main dashboard of all the activities that you can control.
The Links here helps in navigation.
KEERTHI BALA SUNDRAM
Creating an Instance – Step 1/4
Google Compute Engine helps you to launch instances within a minute. So Simple 
2. Click on Create instance button to
create your instance
1. Click on Compute Engine Link
KEERTHI BALA SUNDRAM
Creating an Instance – Step 2/4
1. Give a name for your instance in
lowercase letters.
2. Select a zone. Note that this is
important, in free tier you can opt a
maximum of 8 vCPUs per zone.
KEERTHI BALA SUNDRAM
Creating an Instance – Step 3/4
1. Select the OS disk that you want
your instance to boot up.
2. Select the Book disk type, and size
of the disk your VM should be
KEERTHI BALA SUNDRAM
Creating an Instance – Step 4/4
Review the details of your VM and
click on Create button.
KEERTHI BALA SUNDRAM
Creating an Instance – Instance Details
Instance is created, and it appears in
the VM Instances link of the Console
Click on the instance name, to view
its details.
KEERTHI BALA SUNDRAM
Instance is UP and Running
This graph shows the CPU utilization
percentage
VM can be controlled using these
options
KEERTHI BALA SUNDRAM
Connecting the instances
Follow the same steps to create ‘n’ number
of VMs. All the VMs can be managed under
a project inside the Console
Easiest way to connect is to use this SSH
button. We can also connect using puTTY.
KEERTHI BALA SUNDRAM
Establishing connection to the SSH server
KEERTHI BALA SUNDRAM
Accessing the instance
The terminal opens as a web
interface page with Google
customized options
KEERTHI BALA SUNDRAM
Benchmarking : 3 Nodes + 1 Test Node
Create 3 VMs for Cassandra Cluster
Setup, and 1 for Test Node
KEERTHI BALA SUNDRAM
Installing Cassandra in 3 Nodes
Follow these steps in all the 3 NODES :
Step 1: Change root password
sudo passwd root
<enter password>
su
<password>
Step 2: Install Oracle Java 8 in Ubuntu via PPA
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
Step 3: Set Java environment variables
sudo apt-get install oracle-java8-set-default
sudo apt-get update
KEERTHI BALA SUNDRAM
Installing Cassandra in 3 Nodes
Step 4. Install Cassandra
mkdir /usr/local/Cassandra
cd /usr/local/Cassandra
wget http://apache.cs.utah.edu/cassandra/2.2.3/apache-cassandra-2.2.3-bin.tar.gz
tar xvfz apache-cassandra-2.2.3-bin.tar.gz
Step 5. Check IP address of instances
Ifconfig
//example : <IPAddress>
KEERTHI BALA SUNDRAM
Installing Cassandra in 3 Nodes
Step 6. Make a backup for all nodes
cp apache-cassandra-2.2.2/conf/cassandra.yaml apache-cassandra-2.2.2/conf/cassandra.yaml_bak
Step 7. Modify configuration for all nodes.
vim apache-cassandra-2.2.2/conf/cassandra.yaml
Note:
Find listen_address: and seeds: (Ctrl+W) and modify it
listen_address should be own IP of each instance.
listen_address: <IPAddress>
seeds: "<IPAddress>,172.31.42.247,172.31.42.151"
rpc_address: 0.0.0.0
broadcast_rpc_address: 1.2.3.4
KEERTHI BALA SUNDRAM
Installing Cassandra in 3 Nodes
Step 8. Excute cassandra
/usr/local/cassandra/apache-cassandra-2.2.3/bin/cassandra
/usr/local/cassandra/apache-cassandra-2.2.3/bin/nodetool -h localhost -p 7199 status
Note: All 3 nodes should be ready
/usr/local/cassandra/apache-cassandra-2.2.3/bin/cqlsh
Step 9. Create keyspace and table for YCSB benchmark
CREATE KEYSPACE usertable WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3};
use usertable;
CREATE TABLE usertable.data ( key blob, column1 text, value blob, PRIMARY KEY (key, column1)) WITH COMPACT
STORAGE AND CLUSTERING ORDER BY (column1 ASC);
describe table data;
KEERTHI BALA SUNDRAM
Installing YCSB in Test Node
Follow these steps in the Test Node only.
Step 1: Change root password
sudo passwd root
<enter password>
su
<password>
Step 2: Install Oracle Java 8 in Ubuntu via PPA
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
Step 3: Set Java environment variables
sudo apt-get install oracle-java8-set-default
sudo apt-get update
KEERTHI BALA SUNDRAM
Installing YCSB in Test Node
Step 4: Install YCSB
curl -O --location https://github.com/brianfrankcooper/YCSB/releases/download/0.4.0/ycsb-0.4.0.tar.gz
tar xfvz ycsb-0.4.0.tar.gz
cd ycsb-0.4.0
Step 5: Create workload files in workload folder (Other workload code is in the comment section)
vim workload_test10
recordcount=214748
operationcount=100000
workload=com.yahoo.ycsb.workloads.CoreWorkload
readallfields=true
readproportion=0.5435
updateproportion=0.4565
scanproportion=0
insertproportion=0
requestdistribution=zipfian
KEERTHI BALA SUNDRAM
Installing YCSB in Test Node
8. Create a folder for results
mkdir results_Cassandra
9. Load data
./bin/ycsb load cassandra-10 -P workloads/workload_test10 -p hosts=<IPAddress> -threads 10 -p columnfamily=data -s >
results_Cassandra/load_10
10. Run benchmark
./bin/ycsb run cassandra-10 -P workloads/workload_test10 -p hosts=<IPAddress> -threads 10 -p columnfamily=data -s >
results_Cassandra/run_10
11. Clean loaded data for next benchmark (REFER TO THE NOTES SECTION FOR OTHER BENCHMARKS)
drop table data;
CREATE TABLE usertable.data ( key blob, column1 text, value blob, PRIMARY KEY (key, column1)) WITH COMPACT STORAGE AND
CLUSTERING ORDER BY (column1 ASC);
KEERTHI BALA SUNDRAM
Some Issues you might want to know!
Issue 1: A table in Cassandra was unable to be dropped or truncated.
Possible Reason & Solution : When you want to drop or truncate a table data in a Cassandra
Userspace, then all the nodes in the Cassandra Cluster must be up. This can be checked by using
the nodetool command. Make sure you run Cassandra in all the nodes and then use the drop or
truncate command.
Issue 2: 7199 port already in use
Possible Reason & Solution : You can manually kill the Cassandra process in all the nodes using
the below command and run it again.
user=`whoami`
pgrep -u $user -f cassandra | xargs kill -9
KEERTHI BALA SUNDRAM
Configuration of a GCE instance
KEERTHI BALA SUNDRAM
Pricing of a GCE instance
KEERTHI BALA SUNDRAM
Monthly Estimate
KEERTHI BALA SUNDRAM
Graph Analysis of GCE Load Throughput
KEERTHI BALA SUNDRAM
Graph Analysis of GCE Run Throughput
KEERTHI BALA SUNDRAM
Public Cloud Services – Under Study
KEERTHI BALA SUNDRAM
Creating an Account – Login to Azure
Navigate to the URL https://azure.microsoft.com/en-us/pricing/free-trial/  Create an Azure ID,
and get in to the free trial page as shown below.
Click on Try it now button to start with.
KEERTHI BALA SUNDRAM
Creating an Account – Creating your ID
Use an existing login, or create a
new one
Azrure offers a
month of free usage
to use it’s services
KEERTHI BALA SUNDRAM
Creating an Instance using the Console
The Left Pane contains the link to all
the services under Azure IaaS
Click on Create a Virtual Machine
button to start a VM
KEERTHI BALA SUNDRAM
Creating an Instance – Ways to do it
There are two ways to create instances – Quick Create, and
From Gallery.
Now, Enter the VM details , click on Quick Create.
KEERTHI BALA SUNDRAM
Creating an Instance – VM Created
You’re done. The VM is created, and
it appears in the console.
KEERTHI BALA SUNDRAM
Creating an Instance – VM Details
Clicking on a VM, provides you the
details about it
KEERTHI BALA SUNDRAM
Connecting to an instance – SSH puTTY
Note the SSH Details here in the
console, and copy it.
Open puTTY, paste the URL,
port number here and Click
Open.
KEERTHI BALA SUNDRAM
VM Launched
The VM is now connected.
KEERTHI BALA SUNDRAM
Some issues you want to know?
Issue 1: 3 nodes were created. But these nodes were independent & were unable to be
clustered.
Possible Reason & Solution : When we use Quick Create while creating VM, the default
behavior sets each VM in a difference Cloud service hiding each VM from other VMs. Hence
while creating a VM, the instances are picked from the gallery and all the VMs have to be made
to be under same cloud service. The following snapshots illustrate this.
KEERTHI BALA SUNDRAM
Issue 1 : Solution (Page 1/3)
While creating the VM, please
choose FROM GALLERY
KEERTHI BALA SUNDRAM
Issue 1 : Solution (Page 2/3)
Select your desired OS, and click the
Cloud Service similar to that of the
other VMs you want to cluster
KEERTHI BALA SUNDRAM
Issue 1 : Solution (Page 2/3)
Note that, each VM under same cloud
service must have different public
ports for connecting them via SSH.
Hence, change the public port to a
value within the TCP range.
VM will be created under same Cloud
Service, and can be clustered easily
KEERTHI BALA SUNDRAM
Configuration of an Azure instance
KEERTHI BALA SUNDRAM
Pricing of an Azure instance
KEERTHI BALA SUNDRAM
Monthly Estimate for 1 and 3 VMs
KEERTHI BALA SUNDRAM
Graph Analysis of Azure Load Throughput
KEERTHI BALA SUNDRAM
Graph Analysis of Azure Run Throughput
KEERTHI BALA SUNDRAM
Public Cloud Services – Under Study
KEERTHI BALA SUNDRAM
Creating an User ID for CenturyLink
Navigate to the URL https://www.ctl.io/  Create an ID, or use your existing gmail ID to sign up.
Initially every user gets $2500 free credit that can be used upto 30 days from the date of sign up.
1. Click on Free Trial
KEERTHI BALA SUNDRAM
Logging in to Console
Click on Create a Server
KEERTHI BALA SUNDRAM
Creating an Instance – Step 1/4
The Control Portal gives you complete control to manage your VMs
Select the data center you wish
for your VM based on Geography
KEERTHI BALA SUNDRAM
Creating an Instance – Step 2/4
Google Compute Engine helps you to launch instances within a minute. So Simple 
Select the VM parameters in this screen.
2. Estimated cost is shown here
KEERTHI BALA SUNDRAM
Creating an Instance – Step 3/4
Choose the storage, computing, and
memory parameters in this screen.
KEERTHI BALA SUNDRAM
Creating an Instance – Step 4/4
1. VM is created. Note that a
random name is allotted to the VM.
2. Note the IP address of your VM
KEERTHI BALA SUNDRAM
Connecting the Instance – Step 1/5
Under Control Portal  Network  Click VPN
KEERTHI BALA SUNDRAM
Connecting the Instance – Step 2/5
Click on the download button under
the VPN Configuration & install the
Application that is downloaded.
KEERTHI BALA SUNDRAM
Connecting the Instance – Step 3/5
Click on OpenVPN GUI Application
KEERTHI BALA SUNDRAM
Connecting the Instance – Step 4/5
Check the system tray and click on the VPN
icon, to get a pop up menu as shown. Click
on Connect to get connected VM.
KEERTHI BALA SUNDRAM
Connecting the Instance – Step 5/5
You will get a notification window where
you can Reconnect or Disconnect the
VM.
KEERTHI BALA SUNDRAM
Instance Launched
Instance is launched automatically
KEERTHI BALA SUNDRAM
Benchmarking : 3 Nodes + 1 Test Node
Create 3 VMs for Cassandra Cluster
Setup, and 1 for Test Node
KEERTHI BALA SUNDRAM
Configuration of a CenturyLink instance
KEERTHI BALA SUNDRAM
Pricing & Estimate of CenturyLink
KEERTHI BALA SUNDRAM
Graph Analysis of CTL Load Throughput
KEERTHI BALA SUNDRAM
Graph Analysis of CTL Run Throughput
KEERTHI BALA SUNDRAM
Public Cloud Services – Under Study
KEERTHI BALA SUNDRAM
Creating an Instance – Login to AWS
Navigate to the URL aws.amazon.com  Create an Amazon ID, and get in to the login page of
the console as shown in the below figure. 1. Select your region. Instances
available depends on the value that
you select here.
2. Click on EC2 – to create VM
instances.
KEERTHI BALA SUNDRAM
Creating an Instance – EC2 Dashboard
This is the EC2 Dashboard, where in the instances, and its associated components such as
Events, Volumes, Network, Security, and other parameters can be modified.
1. You can view the list of resources
that is currently being
deployed/used in AWS EC2.
2. Click on Launch Instance
KEERTHI BALA SUNDRAM
Creating an Instance – t2.medium
t2.micro is the lowest available
Instance Type. This instance type is
available free for 12 months.
For benchmarking purpose, we
create t2.medium which is a
premium service offered by AWS
Amazon offers $100
free credit to use
free services
KEERTHI BALA SUNDRAM
Creating an Instance – Instance Details
Configure the instance details
KEERTHI BALA SUNDRAM
Creating an Instance – Storage Details
Configure the storage details
KEERTHI BALA SUNDRAM
Creating an Instance – Security Group
Configure the security group details
KEERTHI BALA SUNDRAM
Creating an Instance – Boot
Configure the Boot option
KEERTHI BALA SUNDRAM
Creating an Instance – Downloading Key
Create a new key pair, and Download
this key, which will be used to connect
the instances via puTTY.
KEERTHI BALA SUNDRAM
Creating an Instance – Review & Launch
Save the key in your safe directory. If
this key is lost, then the instance
cannot be connected via puTTY
KEERTHI BALA SUNDRAM
Creating an Instance – Review & Launch
Review and you are ready to go 
KEERTHI BALA SUNDRAM
Instance – Billing preferences
You can also set your billing
preferences to keep track of your
usage & its expenses
KEERTHI BALA SUNDRAM
AWS Console
You can see VMs in the dashboard
KEERTHI BALA SUNDRAM
Connecting to an instance
We have 2 options to connect. We will
see how to connect an instance via puTTY
KEERTHI BALA SUNDRAM
Connecting via puTTY
Open PuTTYgen, Conversion Import Key
KEERTHI BALA SUNDRAM
Connecting via puTTY
Select the key that was downloaded when
creating the instance
KEERTHI BALA SUNDRAM
Connecting via puTTY
Create a Private key as shown in snapshot
KEERTHI BALA SUNDRAM
Connecting via puTTY
Save the private key
KEERTHI BALA SUNDRAM
Connecting via puTTY
Open puTTY, Navigate to Connection
SSH  Auth, and select the Private Key
that you have saved.
KEERTHI BALA SUNDRAM
Launching the instance
Copy the Public IP from AWS Console
Click Session, and paste the IP and click on Open
KEERTHI BALA SUNDRAM
VM connected
VM instance is connected.
KEERTHI BALA SUNDRAM
Creating other instances
Create and launch Other VMs in the
same manner.
KEERTHI BALA SUNDRAM
Benchmarking–3 Nodes and 1 Test Node
Create 3 Nodes and 1 Test Node for
benchmarking
KEERTHI BALA SUNDRAM
Some issues you might want to know?
Issue 1: While running Cassandra in the node, error was : IP is in use by another process. Error
screenshot is pasted below.
Possible Reason & Solution : In the Cassandra.yaml file, the storage port can be changed to
another value, and Cassandra to be restarted.
Sometimes when Cassandra process is killed, and restarted, this problem gets resolved.
KEERTHI BALA SUNDRAM
Some issues you might want to know?
Issue 2: A Java memory exception occurred when Cassandra was started. The exception snip is
shown below.
Possible Reason & Solution : This issue occurs when t2.micro instance is chosen. The configuration
was not enough to run JVM. One way to resolve is to change the instance to t2.medium which was
sufficient enough to run JVM. Another way to resolve in t2. micro itself is to change the JVM heap size
from the default to user specified using the below command :
export _JAVA_OPTIONS="-XX:ParallelGCThreads=1 -Xms200m -Xmx300m"
KEERTHI BALA SUNDRAM
Configuration of an AWS instance
KEERTHI BALA SUNDRAM
Pricing of an instance
KEERTHI BALA SUNDRAM
Monthly estimate
KEERTHI BALA SUNDRAM
Graph Analysis of AWS Load Throughput
KEERTHI BALA SUNDRAM
Graph Analysis of AWS Run Throughput
KEERTHI BALA SUNDRAM
BENCHMARK DISCUSSION
The next section provides benchmark results obtained from the analysis of 4 CSPs subjected to study…
KEERTHI BALA SUNDRAM
Comparison of Running Time – 1 Node
The number of
concurrent users
Amazon
Web
Services
Google
Compute
Engine
Microsoft
Azure
CenturyLink IaaS
10 0 min 18.43 secs 17.6 secs 10.19 mins 12.71 secs
40 1 min 1.48 secs 43.68 secs 10.41 mins 33.93 secs
320 28.42 mins 8.13 mins 30.84 mins 10.75 mins
640 0 0 75.42 mins 30.56 mins
1200 0 0 0 0
*The best one in that category is highlighted in Red Font.
For 1200 users, higher configuration is recommended.
KEERTHI BALA SUNDRAM
Comparison of Running Time – 3 Nodes
The number of
concurrent users
Amazon
Web
Services
Google
Compute
Engine
Microsoft
Azure
CenturyLink IaaS
10 21.07 secs 19.69 secs 10.68 mins 15.406 secs
40 1 min 1 sec 1 min 9 secs 10.75 mins 36.628 secs
320 8.67 mins 13.3 mins 29.44 mins 14.78 mins
640 0 38.29 mins 0 27.70 mins
1200 0 0 0 72 mins
*The best one in that category is highlighted in Red Font
For 1200 users, higher configuration is recommended.
KEERTHI BALA SUNDRAM
CSPs Using 1 Node – Load Throughput
10 40 320 640 1200
1 node load Centlink 8966.88797 13444.96757 12867.86944 12277.74272 12806.52588
1 node load AWS 6442.891002 7573.40349 8914.91 0 0
1 node load Azure 3509.929229 4032.349164 3851.825279 3746.844432 0
1 node load GCE 6778.233697 8805.783362 8281.907807 8371.373625 0
0
2000
4000
6000
8000
10000
12000
14000
16000
Yaxis-Throughput
X axis - No of users
1 node Load Comparision
1 node load Centlink 1 node load AWS 1 node load Azure 1 node load GCE
KEERTHI BALA SUNDRAM
CSPs Using 3 Nodes – Load Throughput
10 40 320 640 1200
3 nodes load Centlink 7063.614236 9490.719134 3325.604073 7968.896927 7265.307695
3 node load AWS 5924.899986 7148.08207 6339.23661 0 0
3 nodes load Azure 211.8927453 786.7186973 1808.351897 150.201536 0
3 nodes load GCE 4709.695813 3807.109731 3619.465356 4024.894005 0
0
1000
2000
3000
4000
5000
6000
7000
8000
9000
10000
Yaxis-Throughput
X axis - No of users
3 nodes Load Comparision
3 nodes load Centlink 3 node load AWS 3 nodes load Azure 3 nodes load GCE
KEERTHI BALA SUNDRAM
CSPs Using 1 Node – Run Throughput
10 40 320 640 1200
1 node run Centlink 7865.963974 11788.97731 4957.251452 3489.472697 0
1 node run AWS 5425.641582 6506.075048 1876.243 0 0
1 node run Azure 163.4093732 640.0327697 1729.253017 1414.281503 0
1 node run GCE 5680.849855 9157.089877 6557.484549 0 0
0
2000
4000
6000
8000
10000
12000
14000
Yaxis-Throughput
X axis - No of users
1 node Run Comparision
1 node run Centlink 1 node run AWS 1 node run Azure 1 node run GCE
KEERTHI BALA SUNDRAM
CSPs Using 3 Nodes – Run Throughput
10 40 320 640 1200
3 nodes run Centlink 6490.977541 10920.60719 3606.422136 3849.647216 2757.103966
3 nodes run AWS 4745.183639 6481.721545 6147.639403 0 0
3 nodes run Azure 155.9901789 619.8014156 1811.339893 0 0
3 nodes run GCE 5078.462242 5757.135249 4003.152483 2785.487436 0
0
2000
4000
6000
8000
10000
12000
Yaxis-Throughput
X axis - No of users
3 nodes Run Comparision
3 nodes run Centlink 3 nodes run AWS 3 nodes run Azure 3 nodes run GCE
KEERTHI BALA SUNDRAM
Performance per price in Azure
KEERTHI BALA SUNDRAM
Performance per price in GCE
10 40 320 640 1200
1 node 113.8439652 164.1344411 135.5938629 0 0
3 nodes 29.81285957 29.13086312 23.21703777 20.74312086 0
0
20
40
60
80
100
120
140
160
180
Yaxis-throughput/(instance*24*30)
X axis - No of users
Performance per price curve
1 node 3 nodes
KEERTHI BALA SUNDRAM
Performance per price in CenturyLink
10 40 320 640 1200
1 node 129.8831169 194.7063648 137.539513 121.6606128 0
3 nodes 34.86263317 52.49826728 17.82928552 30.39749008 25.77780777
0
50
100
150
200
250
Yaxis-throughput/(instance*24*30)
X axis - No of users
Performance per price curve
1 node 3 nodes
KEERTHI BALA SUNDRAM
Performance per price in AWS
10 40 320 640 1200
1 node 158.5007023 188.0272241 144.1030983 0 0
3 nodes 47.49859163 60.67398333 55.58616459 0 0
0
20
40
60
80
100
120
140
160
180
200
Yaxis-throughput/(instance*24*30)
X axis - No of users
Performance per price curve
1 node 3 nodes
KEERTHI BALA SUNDRAM
Performance per price for 1 node – 4 CSPs
10 40 320 640 1200
Azure 21.25774654 27.0392473 32.29790681 29.86762694 0
AWS 158.5007023 188.0272241 144.1030983 0 0
GCE 113.8439652 164.1344411 135.5938629 0 0
CTL 129.8831169 194.7063648 137.539513 121.6606128 0
0
50
100
150
200
250
Yaxis-throughput/(instance*24*30)
X axis - No of users
Performance per price curve in one node between providers
Azure AWS GCE CTL
KEERTHI BALA SUNDRAM
Performance per price for 3 node – 4 CSPs
10 40 320 640 1200
Azure 21.25774654 27.0392473 32.29790681 29.86762694 0
AWS 47.49859163 60.67398333 55.58616459 0 0
GCE 29.81285957 29.13086312 23.21703777 20.74312086 0
CTL 34.86263317 52.49826728 17.82928552 30.39749008 25.77780777
0
10
20
30
40
50
60
70
Yaxis-throughput/(instance*24*30)
X axis - No of users
Performance per price curve in three nodes between providers
Azure AWS GCE CTL
KEERTHI BALA SUNDRAM
Detailed Analysis
Benchmark Files will be provided on request. Please reach me @
keerthibalasundaram@gmail.com
I have uploaded the Graph analysis into my dropbox, feel free to comment on it:
https://goo.gl/Ep0qjC
KEERTHI BALA SUNDRAM

More Related Content

What's hot

Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Arun Gupta
 
Virtual private cloud fundamentals
Virtual private cloud fundamentalsVirtual private cloud fundamentals
Virtual private cloud fundamentalsSai Viswanath
 
Ansible & CloudStack - Configuration Management
Ansible & CloudStack - Configuration ManagementAnsible & CloudStack - Configuration Management
Ansible & CloudStack - Configuration ManagementShapeBlue
 
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and SecuritySeungmin Shin
 
Automating CloudStack with Puppet - David Nalley
Automating CloudStack with Puppet - David NalleyAutomating CloudStack with Puppet - David Nalley
Automating CloudStack with Puppet - David NalleyPuppet
 
OpenSource ToolChain for the Hybrid Cloud
OpenSource ToolChain for the Hybrid CloudOpenSource ToolChain for the Hybrid Cloud
OpenSource ToolChain for the Hybrid CloudIsaac Christoffersen
 
AWS Sydney Summit 2013 - Your First Week with Amazon EC2
AWS Sydney Summit 2013 - Your First Week with Amazon EC2AWS Sydney Summit 2013 - Your First Week with Amazon EC2
AWS Sydney Summit 2013 - Your First Week with Amazon EC2Amazon Web Services
 
Moving Drupal to the Cloud
Moving Drupal to the CloudMoving Drupal to the Cloud
Moving Drupal to the CloudAri Davidow
 
Behind the Scenes at LiveJournal: Scaling Storytime
Behind the Scenes at LiveJournal: Scaling StorytimeBehind the Scenes at LiveJournal: Scaling Storytime
Behind the Scenes at LiveJournal: Scaling StorytimeSergeyChernyshev
 
Hands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQLHands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQLAmazon Web Services
 
Hardening cassandra q2_2016
Hardening cassandra q2_2016Hardening cassandra q2_2016
Hardening cassandra q2_2016zznate
 
Running your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudRunning your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudArun Gupta
 
Infrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackInfrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackke4qqq
 
Creating a gallery image for Azure marketplace
Creating a gallery image for Azure marketplaceCreating a gallery image for Azure marketplace
Creating a gallery image for Azure marketplaceAlexey Bokov
 
Vm ware server-tips-tricks
Vm ware server-tips-tricksVm ware server-tips-tricks
Vm ware server-tips-tricksunixadminrasheed
 
Distributed automation selcamp2016
Distributed automation selcamp2016Distributed automation selcamp2016
Distributed automation selcamp2016aragavan
 
Configuration management and deployment with ansible
Configuration management and deployment with ansibleConfiguration management and deployment with ansible
Configuration management and deployment with ansibleIvan Dimitrov
 

What's hot (18)

Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)Running your Java EE 6 applications in the Cloud (FISL 12)
Running your Java EE 6 applications in the Cloud (FISL 12)
 
Virtual private cloud fundamentals
Virtual private cloud fundamentalsVirtual private cloud fundamentals
Virtual private cloud fundamentals
 
Ansible & CloudStack - Configuration Management
Ansible & CloudStack - Configuration ManagementAnsible & CloudStack - Configuration Management
Ansible & CloudStack - Configuration Management
 
70 533 study material
70 533 study material70 533 study material
70 533 study material
 
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security[KGC 2012] Online Game Server Architecture Case Study Performance and Security
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
 
Automating CloudStack with Puppet - David Nalley
Automating CloudStack with Puppet - David NalleyAutomating CloudStack with Puppet - David Nalley
Automating CloudStack with Puppet - David Nalley
 
OpenSource ToolChain for the Hybrid Cloud
OpenSource ToolChain for the Hybrid CloudOpenSource ToolChain for the Hybrid Cloud
OpenSource ToolChain for the Hybrid Cloud
 
AWS Sydney Summit 2013 - Your First Week with Amazon EC2
AWS Sydney Summit 2013 - Your First Week with Amazon EC2AWS Sydney Summit 2013 - Your First Week with Amazon EC2
AWS Sydney Summit 2013 - Your First Week with Amazon EC2
 
Moving Drupal to the Cloud
Moving Drupal to the CloudMoving Drupal to the Cloud
Moving Drupal to the Cloud
 
Behind the Scenes at LiveJournal: Scaling Storytime
Behind the Scenes at LiveJournal: Scaling StorytimeBehind the Scenes at LiveJournal: Scaling Storytime
Behind the Scenes at LiveJournal: Scaling Storytime
 
Hands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQLHands-on Lab: re-Modernize - Updating and Consolidating MySQL
Hands-on Lab: re-Modernize - Updating and Consolidating MySQL
 
Hardening cassandra q2_2016
Hardening cassandra q2_2016Hardening cassandra q2_2016
Hardening cassandra q2_2016
 
Running your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloudRunning your Java EE 6 applications in the cloud
Running your Java EE 6 applications in the cloud
 
Infrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStackInfrastructure as code with Puppet and Apache CloudStack
Infrastructure as code with Puppet and Apache CloudStack
 
Creating a gallery image for Azure marketplace
Creating a gallery image for Azure marketplaceCreating a gallery image for Azure marketplace
Creating a gallery image for Azure marketplace
 
Vm ware server-tips-tricks
Vm ware server-tips-tricksVm ware server-tips-tricks
Vm ware server-tips-tricks
 
Distributed automation selcamp2016
Distributed automation selcamp2016Distributed automation selcamp2016
Distributed automation selcamp2016
 
Configuration management and deployment with ansible
Configuration management and deployment with ansibleConfiguration management and deployment with ansible
Configuration management and deployment with ansible
 

Similar to Benchmarking top IaaS providers - A practical study

Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...
Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...
Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...Tenchi Security
 
Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...
Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...
Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...Alexandre Sieira
 
AWS Cost Control
AWS Cost ControlAWS Cost Control
AWS Cost ControlBob Brown
 
Oracle goldengate and RAC12c
Oracle goldengate and RAC12cOracle goldengate and RAC12c
Oracle goldengate and RAC12cSiraj Ahmed
 
Software Defined Datacenter
Software Defined DatacenterSoftware Defined Datacenter
Software Defined DatacenterNETWAYS
 
Salt Cloud vmware-orchestration
Salt Cloud vmware-orchestrationSalt Cloud vmware-orchestration
Salt Cloud vmware-orchestrationMo Rawi
 
Cloud Run - the rise of serverless and containerization
Cloud Run - the rise of serverless and containerizationCloud Run - the rise of serverless and containerization
Cloud Run - the rise of serverless and containerizationMárton Kodok
 
Ansible Automation Inside Cloudforms ( Embedded Ansible)
Ansible Automation Inside Cloudforms ( Embedded Ansible)Ansible Automation Inside Cloudforms ( Embedded Ansible)
Ansible Automation Inside Cloudforms ( Embedded Ansible)Prasad Mukhedkar
 
Building virtualised CloudStack test environments
Building virtualised CloudStack test environmentsBuilding virtualised CloudStack test environments
Building virtualised CloudStack test environmentsShapeBlue
 
Hands-on Lab: Migrating Oracle to PostgreSQL
Hands-on Lab: Migrating Oracle to PostgreSQL Hands-on Lab: Migrating Oracle to PostgreSQL
Hands-on Lab: Migrating Oracle to PostgreSQL Amazon Web Services
 
Azure from scratch Part 1 By Girish Kalamati
Azure from scratch Part 1 By Girish KalamatiAzure from scratch Part 1 By Girish Kalamati
Azure from scratch Part 1 By Girish KalamatiGirish Kalamati
 
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014zshoylev
 
reModernize-Updating and Consolidating MySQL
reModernize-Updating and Consolidating MySQLreModernize-Updating and Consolidating MySQL
reModernize-Updating and Consolidating MySQLAmazon Web Services
 
How to become cloud backup provider
How to become cloud backup providerHow to become cloud backup provider
How to become cloud backup providerCLOUDIAN KK
 
CloudStack - Top 5 Technical Issues and Troubleshooting
CloudStack - Top 5 Technical Issues and TroubleshootingCloudStack - Top 5 Technical Issues and Troubleshooting
CloudStack - Top 5 Technical Issues and TroubleshootingShapeBlue
 
Free radius for wpa2 enterprise with active directory integration
Free radius for wpa2 enterprise with active directory integrationFree radius for wpa2 enterprise with active directory integration
Free radius for wpa2 enterprise with active directory integrationChanaka Lasantha
 
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...Davide Benvegnù
 
Bdc from bare metal to k8s
Bdc   from bare metal to k8sBdc   from bare metal to k8s
Bdc from bare metal to k8sChris Adkin
 
[CB16] 80時間でWebを一周:クロムミウムオートメーションによるスケーラブルなフィンガープリント by Isaac Dawson
[CB16] 80時間でWebを一周:クロムミウムオートメーションによるスケーラブルなフィンガープリント by Isaac Dawson[CB16] 80時間でWebを一周:クロムミウムオートメーションによるスケーラブルなフィンガープリント by Isaac Dawson
[CB16] 80時間でWebを一周:クロムミウムオートメーションによるスケーラブルなフィンガープリント by Isaac DawsonCODE BLUE
 

Similar to Benchmarking top IaaS providers - A practical study (20)

Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...
Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...
Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...
 
Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...
Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...
Shopping for Vulnerabilities - How Cloud Service Provider Marketplaces can He...
 
AWS Cost Control
AWS Cost ControlAWS Cost Control
AWS Cost Control
 
Oracle goldengate and RAC12c
Oracle goldengate and RAC12cOracle goldengate and RAC12c
Oracle goldengate and RAC12c
 
Software Defined Datacenter
Software Defined DatacenterSoftware Defined Datacenter
Software Defined Datacenter
 
Salt Cloud vmware-orchestration
Salt Cloud vmware-orchestrationSalt Cloud vmware-orchestration
Salt Cloud vmware-orchestration
 
Cloud Run - the rise of serverless and containerization
Cloud Run - the rise of serverless and containerizationCloud Run - the rise of serverless and containerization
Cloud Run - the rise of serverless and containerization
 
Ansible Automation Inside Cloudforms ( Embedded Ansible)
Ansible Automation Inside Cloudforms ( Embedded Ansible)Ansible Automation Inside Cloudforms ( Embedded Ansible)
Ansible Automation Inside Cloudforms ( Embedded Ansible)
 
Building virtualised CloudStack test environments
Building virtualised CloudStack test environmentsBuilding virtualised CloudStack test environments
Building virtualised CloudStack test environments
 
Hands-on Lab: Migrating Oracle to PostgreSQL
Hands-on Lab: Migrating Oracle to PostgreSQL Hands-on Lab: Migrating Oracle to PostgreSQL
Hands-on Lab: Migrating Oracle to PostgreSQL
 
Azure from scratch Part 1 By Girish Kalamati
Azure from scratch Part 1 By Girish KalamatiAzure from scratch Part 1 By Girish Kalamati
Azure from scratch Part 1 By Girish Kalamati
 
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
Taming the Cloud Database with Apache jclouds, ApacheCon Europe 2014
 
reModernize-Updating and Consolidating MySQL
reModernize-Updating and Consolidating MySQLreModernize-Updating and Consolidating MySQL
reModernize-Updating and Consolidating MySQL
 
How to become cloud backup provider
How to become cloud backup providerHow to become cloud backup provider
How to become cloud backup provider
 
CloudStack - Top 5 Technical Issues and Troubleshooting
CloudStack - Top 5 Technical Issues and TroubleshootingCloudStack - Top 5 Technical Issues and Troubleshooting
CloudStack - Top 5 Technical Issues and Troubleshooting
 
AWS essentials EC2
AWS essentials EC2AWS essentials EC2
AWS essentials EC2
 
Free radius for wpa2 enterprise with active directory integration
Free radius for wpa2 enterprise with active directory integrationFree radius for wpa2 enterprise with active directory integration
Free radius for wpa2 enterprise with active directory integration
 
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
Consolidating Infrastructure with Azure Kubernetes Service - MS Online Tech F...
 
Bdc from bare metal to k8s
Bdc   from bare metal to k8sBdc   from bare metal to k8s
Bdc from bare metal to k8s
 
[CB16] 80時間でWebを一周:クロムミウムオートメーションによるスケーラブルなフィンガープリント by Isaac Dawson
[CB16] 80時間でWebを一周:クロムミウムオートメーションによるスケーラブルなフィンガープリント by Isaac Dawson[CB16] 80時間でWebを一周:クロムミウムオートメーションによるスケーラブルなフィンガープリント by Isaac Dawson
[CB16] 80時間でWebを一周:クロムミウムオートメーションによるスケーラブルなフィンガープリント by Isaac Dawson
 

Recently uploaded

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 

Recently uploaded (20)

[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

Benchmarking top IaaS providers - A practical study

  • 1. Benchmarking Top IaaS providers using Real Time User Metrics USING CASSANDRA STORAGE AND YCSB TOOL KEERTHI BALA SUNDRAM
  • 2. Schema IaaS providers under Study Setting up the system in Google Compute Engine Setting up the system in Microsoft Azure Setting up the system in CenturyLink Setting up the system in Amazon Web Services Deploying Cassandra in the nodes under the CSPs Deploying YCSB in a test node for benchmarking Benchmark Discussion KEERTHI BALA SUNDRAM
  • 3. IaaS Cloud Providers – Under Study KEERTHI BALA SUNDRAM
  • 4. Google’s Compute Engine (GCE) - Architecture KEERTHI BALA SUNDRAM
  • 5. Creating a User ID for using GCE Navigate to the URL https://cloud.google.com/compute/  Create an ID, or use your existing gmail ID to sign up. Initially every user gets $300 free credit that can be used upto 30 days from the date of sign up. 1. Click on Free Trial KEERTHI BALA SUNDRAM
  • 6. Logging in to Console Create/Select the project that you want to use, from the window as shown below. Create or select a project KEERTHI BALA SUNDRAM
  • 7. Google Developers Console The Google Developers Console is the main dashboard of all the activities that you can control. The Links here helps in navigation. KEERTHI BALA SUNDRAM
  • 8. Creating an Instance – Step 1/4 Google Compute Engine helps you to launch instances within a minute. So Simple  2. Click on Create instance button to create your instance 1. Click on Compute Engine Link KEERTHI BALA SUNDRAM
  • 9. Creating an Instance – Step 2/4 1. Give a name for your instance in lowercase letters. 2. Select a zone. Note that this is important, in free tier you can opt a maximum of 8 vCPUs per zone. KEERTHI BALA SUNDRAM
  • 10. Creating an Instance – Step 3/4 1. Select the OS disk that you want your instance to boot up. 2. Select the Book disk type, and size of the disk your VM should be KEERTHI BALA SUNDRAM
  • 11. Creating an Instance – Step 4/4 Review the details of your VM and click on Create button. KEERTHI BALA SUNDRAM
  • 12. Creating an Instance – Instance Details Instance is created, and it appears in the VM Instances link of the Console Click on the instance name, to view its details. KEERTHI BALA SUNDRAM
  • 13. Instance is UP and Running This graph shows the CPU utilization percentage VM can be controlled using these options KEERTHI BALA SUNDRAM
  • 14. Connecting the instances Follow the same steps to create ‘n’ number of VMs. All the VMs can be managed under a project inside the Console Easiest way to connect is to use this SSH button. We can also connect using puTTY. KEERTHI BALA SUNDRAM
  • 15. Establishing connection to the SSH server KEERTHI BALA SUNDRAM
  • 16. Accessing the instance The terminal opens as a web interface page with Google customized options KEERTHI BALA SUNDRAM
  • 17. Benchmarking : 3 Nodes + 1 Test Node Create 3 VMs for Cassandra Cluster Setup, and 1 for Test Node KEERTHI BALA SUNDRAM
  • 18. Installing Cassandra in 3 Nodes Follow these steps in all the 3 NODES : Step 1: Change root password sudo passwd root <enter password> su <password> Step 2: Install Oracle Java 8 in Ubuntu via PPA sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer Step 3: Set Java environment variables sudo apt-get install oracle-java8-set-default sudo apt-get update KEERTHI BALA SUNDRAM
  • 19. Installing Cassandra in 3 Nodes Step 4. Install Cassandra mkdir /usr/local/Cassandra cd /usr/local/Cassandra wget http://apache.cs.utah.edu/cassandra/2.2.3/apache-cassandra-2.2.3-bin.tar.gz tar xvfz apache-cassandra-2.2.3-bin.tar.gz Step 5. Check IP address of instances Ifconfig //example : <IPAddress> KEERTHI BALA SUNDRAM
  • 20. Installing Cassandra in 3 Nodes Step 6. Make a backup for all nodes cp apache-cassandra-2.2.2/conf/cassandra.yaml apache-cassandra-2.2.2/conf/cassandra.yaml_bak Step 7. Modify configuration for all nodes. vim apache-cassandra-2.2.2/conf/cassandra.yaml Note: Find listen_address: and seeds: (Ctrl+W) and modify it listen_address should be own IP of each instance. listen_address: <IPAddress> seeds: "<IPAddress>,172.31.42.247,172.31.42.151" rpc_address: 0.0.0.0 broadcast_rpc_address: 1.2.3.4 KEERTHI BALA SUNDRAM
  • 21. Installing Cassandra in 3 Nodes Step 8. Excute cassandra /usr/local/cassandra/apache-cassandra-2.2.3/bin/cassandra /usr/local/cassandra/apache-cassandra-2.2.3/bin/nodetool -h localhost -p 7199 status Note: All 3 nodes should be ready /usr/local/cassandra/apache-cassandra-2.2.3/bin/cqlsh Step 9. Create keyspace and table for YCSB benchmark CREATE KEYSPACE usertable WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3}; use usertable; CREATE TABLE usertable.data ( key blob, column1 text, value blob, PRIMARY KEY (key, column1)) WITH COMPACT STORAGE AND CLUSTERING ORDER BY (column1 ASC); describe table data; KEERTHI BALA SUNDRAM
  • 22. Installing YCSB in Test Node Follow these steps in the Test Node only. Step 1: Change root password sudo passwd root <enter password> su <password> Step 2: Install Oracle Java 8 in Ubuntu via PPA sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer Step 3: Set Java environment variables sudo apt-get install oracle-java8-set-default sudo apt-get update KEERTHI BALA SUNDRAM
  • 23. Installing YCSB in Test Node Step 4: Install YCSB curl -O --location https://github.com/brianfrankcooper/YCSB/releases/download/0.4.0/ycsb-0.4.0.tar.gz tar xfvz ycsb-0.4.0.tar.gz cd ycsb-0.4.0 Step 5: Create workload files in workload folder (Other workload code is in the comment section) vim workload_test10 recordcount=214748 operationcount=100000 workload=com.yahoo.ycsb.workloads.CoreWorkload readallfields=true readproportion=0.5435 updateproportion=0.4565 scanproportion=0 insertproportion=0 requestdistribution=zipfian KEERTHI BALA SUNDRAM
  • 24. Installing YCSB in Test Node 8. Create a folder for results mkdir results_Cassandra 9. Load data ./bin/ycsb load cassandra-10 -P workloads/workload_test10 -p hosts=<IPAddress> -threads 10 -p columnfamily=data -s > results_Cassandra/load_10 10. Run benchmark ./bin/ycsb run cassandra-10 -P workloads/workload_test10 -p hosts=<IPAddress> -threads 10 -p columnfamily=data -s > results_Cassandra/run_10 11. Clean loaded data for next benchmark (REFER TO THE NOTES SECTION FOR OTHER BENCHMARKS) drop table data; CREATE TABLE usertable.data ( key blob, column1 text, value blob, PRIMARY KEY (key, column1)) WITH COMPACT STORAGE AND CLUSTERING ORDER BY (column1 ASC); KEERTHI BALA SUNDRAM
  • 25. Some Issues you might want to know! Issue 1: A table in Cassandra was unable to be dropped or truncated. Possible Reason & Solution : When you want to drop or truncate a table data in a Cassandra Userspace, then all the nodes in the Cassandra Cluster must be up. This can be checked by using the nodetool command. Make sure you run Cassandra in all the nodes and then use the drop or truncate command. Issue 2: 7199 port already in use Possible Reason & Solution : You can manually kill the Cassandra process in all the nodes using the below command and run it again. user=`whoami` pgrep -u $user -f cassandra | xargs kill -9 KEERTHI BALA SUNDRAM
  • 26. Configuration of a GCE instance KEERTHI BALA SUNDRAM
  • 27. Pricing of a GCE instance KEERTHI BALA SUNDRAM
  • 29. Graph Analysis of GCE Load Throughput KEERTHI BALA SUNDRAM
  • 30. Graph Analysis of GCE Run Throughput KEERTHI BALA SUNDRAM
  • 31. Public Cloud Services – Under Study KEERTHI BALA SUNDRAM
  • 32. Creating an Account – Login to Azure Navigate to the URL https://azure.microsoft.com/en-us/pricing/free-trial/  Create an Azure ID, and get in to the free trial page as shown below. Click on Try it now button to start with. KEERTHI BALA SUNDRAM
  • 33. Creating an Account – Creating your ID Use an existing login, or create a new one Azrure offers a month of free usage to use it’s services KEERTHI BALA SUNDRAM
  • 34. Creating an Instance using the Console The Left Pane contains the link to all the services under Azure IaaS Click on Create a Virtual Machine button to start a VM KEERTHI BALA SUNDRAM
  • 35. Creating an Instance – Ways to do it There are two ways to create instances – Quick Create, and From Gallery. Now, Enter the VM details , click on Quick Create. KEERTHI BALA SUNDRAM
  • 36. Creating an Instance – VM Created You’re done. The VM is created, and it appears in the console. KEERTHI BALA SUNDRAM
  • 37. Creating an Instance – VM Details Clicking on a VM, provides you the details about it KEERTHI BALA SUNDRAM
  • 38. Connecting to an instance – SSH puTTY Note the SSH Details here in the console, and copy it. Open puTTY, paste the URL, port number here and Click Open. KEERTHI BALA SUNDRAM
  • 39. VM Launched The VM is now connected. KEERTHI BALA SUNDRAM
  • 40. Some issues you want to know? Issue 1: 3 nodes were created. But these nodes were independent & were unable to be clustered. Possible Reason & Solution : When we use Quick Create while creating VM, the default behavior sets each VM in a difference Cloud service hiding each VM from other VMs. Hence while creating a VM, the instances are picked from the gallery and all the VMs have to be made to be under same cloud service. The following snapshots illustrate this. KEERTHI BALA SUNDRAM
  • 41. Issue 1 : Solution (Page 1/3) While creating the VM, please choose FROM GALLERY KEERTHI BALA SUNDRAM
  • 42. Issue 1 : Solution (Page 2/3) Select your desired OS, and click the Cloud Service similar to that of the other VMs you want to cluster KEERTHI BALA SUNDRAM
  • 43. Issue 1 : Solution (Page 2/3) Note that, each VM under same cloud service must have different public ports for connecting them via SSH. Hence, change the public port to a value within the TCP range. VM will be created under same Cloud Service, and can be clustered easily KEERTHI BALA SUNDRAM
  • 44. Configuration of an Azure instance KEERTHI BALA SUNDRAM
  • 45. Pricing of an Azure instance KEERTHI BALA SUNDRAM
  • 46. Monthly Estimate for 1 and 3 VMs KEERTHI BALA SUNDRAM
  • 47. Graph Analysis of Azure Load Throughput KEERTHI BALA SUNDRAM
  • 48. Graph Analysis of Azure Run Throughput KEERTHI BALA SUNDRAM
  • 49. Public Cloud Services – Under Study KEERTHI BALA SUNDRAM
  • 50. Creating an User ID for CenturyLink Navigate to the URL https://www.ctl.io/  Create an ID, or use your existing gmail ID to sign up. Initially every user gets $2500 free credit that can be used upto 30 days from the date of sign up. 1. Click on Free Trial KEERTHI BALA SUNDRAM
  • 51. Logging in to Console Click on Create a Server KEERTHI BALA SUNDRAM
  • 52. Creating an Instance – Step 1/4 The Control Portal gives you complete control to manage your VMs Select the data center you wish for your VM based on Geography KEERTHI BALA SUNDRAM
  • 53. Creating an Instance – Step 2/4 Google Compute Engine helps you to launch instances within a minute. So Simple  Select the VM parameters in this screen. 2. Estimated cost is shown here KEERTHI BALA SUNDRAM
  • 54. Creating an Instance – Step 3/4 Choose the storage, computing, and memory parameters in this screen. KEERTHI BALA SUNDRAM
  • 55. Creating an Instance – Step 4/4 1. VM is created. Note that a random name is allotted to the VM. 2. Note the IP address of your VM KEERTHI BALA SUNDRAM
  • 56. Connecting the Instance – Step 1/5 Under Control Portal  Network  Click VPN KEERTHI BALA SUNDRAM
  • 57. Connecting the Instance – Step 2/5 Click on the download button under the VPN Configuration & install the Application that is downloaded. KEERTHI BALA SUNDRAM
  • 58. Connecting the Instance – Step 3/5 Click on OpenVPN GUI Application KEERTHI BALA SUNDRAM
  • 59. Connecting the Instance – Step 4/5 Check the system tray and click on the VPN icon, to get a pop up menu as shown. Click on Connect to get connected VM. KEERTHI BALA SUNDRAM
  • 60. Connecting the Instance – Step 5/5 You will get a notification window where you can Reconnect or Disconnect the VM. KEERTHI BALA SUNDRAM
  • 61. Instance Launched Instance is launched automatically KEERTHI BALA SUNDRAM
  • 62. Benchmarking : 3 Nodes + 1 Test Node Create 3 VMs for Cassandra Cluster Setup, and 1 for Test Node KEERTHI BALA SUNDRAM
  • 63. Configuration of a CenturyLink instance KEERTHI BALA SUNDRAM
  • 64. Pricing & Estimate of CenturyLink KEERTHI BALA SUNDRAM
  • 65. Graph Analysis of CTL Load Throughput KEERTHI BALA SUNDRAM
  • 66. Graph Analysis of CTL Run Throughput KEERTHI BALA SUNDRAM
  • 67. Public Cloud Services – Under Study KEERTHI BALA SUNDRAM
  • 68. Creating an Instance – Login to AWS Navigate to the URL aws.amazon.com  Create an Amazon ID, and get in to the login page of the console as shown in the below figure. 1. Select your region. Instances available depends on the value that you select here. 2. Click on EC2 – to create VM instances. KEERTHI BALA SUNDRAM
  • 69. Creating an Instance – EC2 Dashboard This is the EC2 Dashboard, where in the instances, and its associated components such as Events, Volumes, Network, Security, and other parameters can be modified. 1. You can view the list of resources that is currently being deployed/used in AWS EC2. 2. Click on Launch Instance KEERTHI BALA SUNDRAM
  • 70. Creating an Instance – t2.medium t2.micro is the lowest available Instance Type. This instance type is available free for 12 months. For benchmarking purpose, we create t2.medium which is a premium service offered by AWS Amazon offers $100 free credit to use free services KEERTHI BALA SUNDRAM
  • 71. Creating an Instance – Instance Details Configure the instance details KEERTHI BALA SUNDRAM
  • 72. Creating an Instance – Storage Details Configure the storage details KEERTHI BALA SUNDRAM
  • 73. Creating an Instance – Security Group Configure the security group details KEERTHI BALA SUNDRAM
  • 74. Creating an Instance – Boot Configure the Boot option KEERTHI BALA SUNDRAM
  • 75. Creating an Instance – Downloading Key Create a new key pair, and Download this key, which will be used to connect the instances via puTTY. KEERTHI BALA SUNDRAM
  • 76. Creating an Instance – Review & Launch Save the key in your safe directory. If this key is lost, then the instance cannot be connected via puTTY KEERTHI BALA SUNDRAM
  • 77. Creating an Instance – Review & Launch Review and you are ready to go  KEERTHI BALA SUNDRAM
  • 78. Instance – Billing preferences You can also set your billing preferences to keep track of your usage & its expenses KEERTHI BALA SUNDRAM
  • 79. AWS Console You can see VMs in the dashboard KEERTHI BALA SUNDRAM
  • 80. Connecting to an instance We have 2 options to connect. We will see how to connect an instance via puTTY KEERTHI BALA SUNDRAM
  • 81. Connecting via puTTY Open PuTTYgen, Conversion Import Key KEERTHI BALA SUNDRAM
  • 82. Connecting via puTTY Select the key that was downloaded when creating the instance KEERTHI BALA SUNDRAM
  • 83. Connecting via puTTY Create a Private key as shown in snapshot KEERTHI BALA SUNDRAM
  • 84. Connecting via puTTY Save the private key KEERTHI BALA SUNDRAM
  • 85. Connecting via puTTY Open puTTY, Navigate to Connection SSH  Auth, and select the Private Key that you have saved. KEERTHI BALA SUNDRAM
  • 86. Launching the instance Copy the Public IP from AWS Console Click Session, and paste the IP and click on Open KEERTHI BALA SUNDRAM
  • 87. VM connected VM instance is connected. KEERTHI BALA SUNDRAM
  • 88. Creating other instances Create and launch Other VMs in the same manner. KEERTHI BALA SUNDRAM
  • 89. Benchmarking–3 Nodes and 1 Test Node Create 3 Nodes and 1 Test Node for benchmarking KEERTHI BALA SUNDRAM
  • 90. Some issues you might want to know? Issue 1: While running Cassandra in the node, error was : IP is in use by another process. Error screenshot is pasted below. Possible Reason & Solution : In the Cassandra.yaml file, the storage port can be changed to another value, and Cassandra to be restarted. Sometimes when Cassandra process is killed, and restarted, this problem gets resolved. KEERTHI BALA SUNDRAM
  • 91. Some issues you might want to know? Issue 2: A Java memory exception occurred when Cassandra was started. The exception snip is shown below. Possible Reason & Solution : This issue occurs when t2.micro instance is chosen. The configuration was not enough to run JVM. One way to resolve is to change the instance to t2.medium which was sufficient enough to run JVM. Another way to resolve in t2. micro itself is to change the JVM heap size from the default to user specified using the below command : export _JAVA_OPTIONS="-XX:ParallelGCThreads=1 -Xms200m -Xmx300m" KEERTHI BALA SUNDRAM
  • 92. Configuration of an AWS instance KEERTHI BALA SUNDRAM
  • 93. Pricing of an instance KEERTHI BALA SUNDRAM
  • 95. Graph Analysis of AWS Load Throughput KEERTHI BALA SUNDRAM
  • 96. Graph Analysis of AWS Run Throughput KEERTHI BALA SUNDRAM
  • 97. BENCHMARK DISCUSSION The next section provides benchmark results obtained from the analysis of 4 CSPs subjected to study… KEERTHI BALA SUNDRAM
  • 98. Comparison of Running Time – 1 Node The number of concurrent users Amazon Web Services Google Compute Engine Microsoft Azure CenturyLink IaaS 10 0 min 18.43 secs 17.6 secs 10.19 mins 12.71 secs 40 1 min 1.48 secs 43.68 secs 10.41 mins 33.93 secs 320 28.42 mins 8.13 mins 30.84 mins 10.75 mins 640 0 0 75.42 mins 30.56 mins 1200 0 0 0 0 *The best one in that category is highlighted in Red Font. For 1200 users, higher configuration is recommended. KEERTHI BALA SUNDRAM
  • 99. Comparison of Running Time – 3 Nodes The number of concurrent users Amazon Web Services Google Compute Engine Microsoft Azure CenturyLink IaaS 10 21.07 secs 19.69 secs 10.68 mins 15.406 secs 40 1 min 1 sec 1 min 9 secs 10.75 mins 36.628 secs 320 8.67 mins 13.3 mins 29.44 mins 14.78 mins 640 0 38.29 mins 0 27.70 mins 1200 0 0 0 72 mins *The best one in that category is highlighted in Red Font For 1200 users, higher configuration is recommended. KEERTHI BALA SUNDRAM
  • 100. CSPs Using 1 Node – Load Throughput 10 40 320 640 1200 1 node load Centlink 8966.88797 13444.96757 12867.86944 12277.74272 12806.52588 1 node load AWS 6442.891002 7573.40349 8914.91 0 0 1 node load Azure 3509.929229 4032.349164 3851.825279 3746.844432 0 1 node load GCE 6778.233697 8805.783362 8281.907807 8371.373625 0 0 2000 4000 6000 8000 10000 12000 14000 16000 Yaxis-Throughput X axis - No of users 1 node Load Comparision 1 node load Centlink 1 node load AWS 1 node load Azure 1 node load GCE KEERTHI BALA SUNDRAM
  • 101. CSPs Using 3 Nodes – Load Throughput 10 40 320 640 1200 3 nodes load Centlink 7063.614236 9490.719134 3325.604073 7968.896927 7265.307695 3 node load AWS 5924.899986 7148.08207 6339.23661 0 0 3 nodes load Azure 211.8927453 786.7186973 1808.351897 150.201536 0 3 nodes load GCE 4709.695813 3807.109731 3619.465356 4024.894005 0 0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 Yaxis-Throughput X axis - No of users 3 nodes Load Comparision 3 nodes load Centlink 3 node load AWS 3 nodes load Azure 3 nodes load GCE KEERTHI BALA SUNDRAM
  • 102. CSPs Using 1 Node – Run Throughput 10 40 320 640 1200 1 node run Centlink 7865.963974 11788.97731 4957.251452 3489.472697 0 1 node run AWS 5425.641582 6506.075048 1876.243 0 0 1 node run Azure 163.4093732 640.0327697 1729.253017 1414.281503 0 1 node run GCE 5680.849855 9157.089877 6557.484549 0 0 0 2000 4000 6000 8000 10000 12000 14000 Yaxis-Throughput X axis - No of users 1 node Run Comparision 1 node run Centlink 1 node run AWS 1 node run Azure 1 node run GCE KEERTHI BALA SUNDRAM
  • 103. CSPs Using 3 Nodes – Run Throughput 10 40 320 640 1200 3 nodes run Centlink 6490.977541 10920.60719 3606.422136 3849.647216 2757.103966 3 nodes run AWS 4745.183639 6481.721545 6147.639403 0 0 3 nodes run Azure 155.9901789 619.8014156 1811.339893 0 0 3 nodes run GCE 5078.462242 5757.135249 4003.152483 2785.487436 0 0 2000 4000 6000 8000 10000 12000 Yaxis-Throughput X axis - No of users 3 nodes Run Comparision 3 nodes run Centlink 3 nodes run AWS 3 nodes run Azure 3 nodes run GCE KEERTHI BALA SUNDRAM
  • 104. Performance per price in Azure KEERTHI BALA SUNDRAM
  • 105. Performance per price in GCE 10 40 320 640 1200 1 node 113.8439652 164.1344411 135.5938629 0 0 3 nodes 29.81285957 29.13086312 23.21703777 20.74312086 0 0 20 40 60 80 100 120 140 160 180 Yaxis-throughput/(instance*24*30) X axis - No of users Performance per price curve 1 node 3 nodes KEERTHI BALA SUNDRAM
  • 106. Performance per price in CenturyLink 10 40 320 640 1200 1 node 129.8831169 194.7063648 137.539513 121.6606128 0 3 nodes 34.86263317 52.49826728 17.82928552 30.39749008 25.77780777 0 50 100 150 200 250 Yaxis-throughput/(instance*24*30) X axis - No of users Performance per price curve 1 node 3 nodes KEERTHI BALA SUNDRAM
  • 107. Performance per price in AWS 10 40 320 640 1200 1 node 158.5007023 188.0272241 144.1030983 0 0 3 nodes 47.49859163 60.67398333 55.58616459 0 0 0 20 40 60 80 100 120 140 160 180 200 Yaxis-throughput/(instance*24*30) X axis - No of users Performance per price curve 1 node 3 nodes KEERTHI BALA SUNDRAM
  • 108. Performance per price for 1 node – 4 CSPs 10 40 320 640 1200 Azure 21.25774654 27.0392473 32.29790681 29.86762694 0 AWS 158.5007023 188.0272241 144.1030983 0 0 GCE 113.8439652 164.1344411 135.5938629 0 0 CTL 129.8831169 194.7063648 137.539513 121.6606128 0 0 50 100 150 200 250 Yaxis-throughput/(instance*24*30) X axis - No of users Performance per price curve in one node between providers Azure AWS GCE CTL KEERTHI BALA SUNDRAM
  • 109. Performance per price for 3 node – 4 CSPs 10 40 320 640 1200 Azure 21.25774654 27.0392473 32.29790681 29.86762694 0 AWS 47.49859163 60.67398333 55.58616459 0 0 GCE 29.81285957 29.13086312 23.21703777 20.74312086 0 CTL 34.86263317 52.49826728 17.82928552 30.39749008 25.77780777 0 10 20 30 40 50 60 70 Yaxis-throughput/(instance*24*30) X axis - No of users Performance per price curve in three nodes between providers Azure AWS GCE CTL KEERTHI BALA SUNDRAM
  • 110. Detailed Analysis Benchmark Files will be provided on request. Please reach me @ keerthibalasundaram@gmail.com I have uploaded the Graph analysis into my dropbox, feel free to comment on it: https://goo.gl/Ep0qjC KEERTHI BALA SUNDRAM

Editor's Notes

  1. Source : http://commondatastorage.googleapis.com/io2012/presentations/live%20to%20website/313.pdf
  2. vim workload_test40 ------------------------------------------------------------- recordcount=536871 operationcount=400000 workload=com.yahoo.ycsb.workloads.CoreWorkload readallfields=true readproportion=0.5435 updateproportion=0.4565 scanproportion=0 insertproportion=0 requestdistribution=zipfian ------------------------------------------------------------ vim workload_test320 ------------------------------------------------------------- recordcount=3543348 operationcount=3200000 workload=com.yahoo.ycsb.workloads.CoreWorkload readallfields=true readproportion=0.5435 updateproportion=0.4565 scanproportion=0 insertproportion=0 requestdistribution=zipfian ------------------------------------------------------------ vim workload_test640 ------------------------------------------------------------- recordcount=6120328 operationcount=6400000 workload=com.yahoo.ycsb.workloads.CoreWorkload readallfields=true readproportion=0.5435 updateproportion=0.4565 scanproportion=0 insertproportion=0 requestdistribution=zipfian ------------------------------------------------------------ vim workload_test1200 ------------------------------------------------------------ recordcount=10630044 operationcount=12000000 workload=com.yahoo.ycsb.workloads.CoreWorkload readallfields=true readproportion=0.5435 updateproportion=0.4565 scanproportion=0 insertproportion=0 requestdistribution=zipfian ------------------------------------------------------------
  3. 11. Repeat benchmark with different configurations. //Note: benchmark for 40 concurrent users ./bin/ycsb load cassandra-10 -P workloads/workload_test40 -p hosts=<IPAddress> -threads 40 -p columnfamily=data -s > results_Cassandra/load_40 ./bin/ycsb run cassandra-10 -P workloads/workload_test40 -p hosts=<IPAddress> -threads 40 -p columnfamily=data -s > results_Cassandra/run_40 drop table data; CREATE TABLE usertable.data ( key blob, column1 text, value blob, PRIMARY KEY (key, column1)) WITH COMPACT STORAGE AND CLUSTERING ORDER BY (column1 ASC); //Note: benchmark for 320 concurrent users ./bin/ycsb load cassandra-10 -P workloads/workload_test320 -p hosts=<IPAddress> -threads 320 -p columnfamily=data -s > results_Cassandra/load_320 ./bin/ycsb run cassandra-10 -P workloads/workload_test320 -p hosts=<IPAddress> -threads 320 -p columnfamily=data -s > results_Cassandra/run_320 drop table data; CREATE TABLE usertable.data ( key blob, column1 text, value blob, PRIMARY KEY (key, column1)) WITH COMPACT STORAGE AND CLUSTERING ORDER BY (column1 ASC); //Note: benchmark for 640 concurrent users ./bin/ycsb load cassandra-10 -P workloads/workload_test640 -p hosts=<IPAddress> -threads 640 -p columnfamily=data -s > results_Cassandra/load_640 ./bin/ycsb run cassandra-10 -P workloads/workload_test640 -p hosts=<IPAddress> -threads 640 -p columnfamily=data -s > results_Cassandra/run_640 drop table data; CREATE TABLE usertable.data ( key blob, column1 text, value blob, PRIMARY KEY (key, column1)) WITH COMPACT STORAGE AND CLUSTERING ORDER BY (column1 ASC); //Note: benchmark for 1200 concurrent users ./bin/ycsb load cassandra-10 -P workloads/workload_test1200 -p hosts=<IPAddress> -threads 1200 -p columnfamily=data -s > results_Cassandra/load_1200 ./bin/ycsb run cassandra-10 -P workloads/workload_test1200 -p hosts=<IPAddress> -threads 1200 -p columnfamily=data -s > results_Cassandra/run_1200 drop table data; CREATE TABLE usertable.data ( key blob, column1 text, value blob, PRIMARY KEY (key, column1)) WITH COMPACT STORAGE AND CLUSTERING ORDER BY (column1 ASC);