Cloud Service Comparison – James Hardin

Abstract

Two cloud service providers are surveyed, compared and contrasted: Amazon Web Service and Windows Azure. The types of services are first described and then attributed to each provider. Both providers have basic services like processing and storage and they also supply virtual machines and business services. Information on pricing is provided for computation and database storage with two payment options: pay by the hour or a prepaid package.

Introduction

Some of the types of cloud functions include monitoring, collaboration, communication, business, identity, computing, runtime, queuing, database, content storage, object storage, block storage and networking.

Monitoring includes services such as server condition and status. Some of the monitoring functions that can take place in the cloud include security applications such as passwords, firewalls, virus scanning and intrusion detection, software or hardware failure, server logs and SNMP.

Cloud collaboration allows the sharing of information across a network where information can be automatically distributed. Examples include email and uploads to a folder or directory followed by multiple downloads to duplicate file structures at different locations.

Business functions can be implemented on the cloud such as finance, accounting and marketing.

Identity issues like authentication and authorization can be addressed by remote cloud services.

Computing services can add to processing capability by access to multiple processors and increased memory.

A runtime cloud provides synchronization and coordination of processes at different locations. MapReduce is an example where data is distributed and collected.

Queuing allows tasks or messages to be ordered in sequence for processing at different places.

One of the most common uses for the cloud is for data storage. Databases can be located remotely to save on storage costs and for speed of access.

The cloud can be used for object storage where instantiated objects store and manipulate data.

Block storage provides extra disk space for storing data on the cloud.

Cloud networking provides as few or as many of the different services depending on the cloud sevice provider. Some providers only offer a specific application while others offer a whole spectrum of services.

Interaction with the cloud takes place through various hardware devices such as servers, desktops, laptops, smart phones and tablets.

The cloud has many different levels of services. The first level consistes of the clients that use remote applications to process data. The next level, known as AaaS or application as a service, deals with providing these applications across a network from a remote location from the user.

The third level is PaaS or platform as a service. At this level, the user is provided with network access to a software framework that might include compilers, databases and special applications along with middleware as well as a solution stack that includes access to one or more servers, operating systems, scripting languages and database management systems. One example of a web application stack includes LAMP which stands for Linux (operating system), Apache (web server), MySQL(database) and PHP(scripting language). Other examples of solution stacks include LYME which stands for Linux (operating system), Yaws (web server), Mnesia(database) and Erlang(programming language) and WINS which stands for Windows (operating system), Internet Information Services (web server), .NET(programming language) and SQL Server(database).

The fourth level is IaaS or infrastructure as a service. This level provides virtual hardware to the user in the form of virtual machines and servers each with its own operating system. Virtual machines simulate the hardware profile of the actual hardware it runs on and can create multiple instances of itself. As a result, different operating systems can run on the same hardware through a virtual machine. Infrastucture as a service is usually implemented on a distributed system using software such as Hadoop, Eucalyptus and Open Stack.

At the server level the actual server hardware may be presented to the user as a dedicated server.

Some of the benefits of cloud computing include agility, cost reduction, portability, reliability, scalability and performance. Updates and changes can be easier on the cloud. Cost reduction can be realized by savings on hardware expenses and overhead as well as utility pricing. Software on the cloud can be more compatible with other systems and applications. Redundancy on the cloud can reduce failures and increase reliability. Size requirements can be scaled upwards more easily on the cloud. With access to a larger amount of resources, performance can improve.

Amazon Web Services

MonitoringAmazon Cloud Watch provides monitoring of other Amazon web services such as Elastic Compute Cloud (EC2).
BusinessAmazon Flexible Payment Services allows users to receive payment transactions from clients.
IdentityAmazon AWS Authentication authenticates users of Amazon Web Services.
ComputingAmazon Elastic Compute Cloud allows data processing through compute units.
RuntimeAmazon Elastic MapReduce provides distributed computing ability.
QueueAmazon Simple Queue Service allows queues for different applications and processes.
Database StorageAmazon SimpleDB or Amazon Relational Database Service.
Object StorageAmazon Simple Storage Service allows object instances to be stored in data containers called buckets.
Block StorageAmazon Elastic Block Store provides data storage in one or more volumes with a specified file system.
NetworkingAmazon Virtual Private Cloud allows Amazon Elastic Compute Cloud to connect to other networks.

Windows Azure and SQL Azure

BusinessWindows Azure Marketplace provides applications and billing services while Microsoft SQL Azure Reporting provides reports and statistics in different file formats.
IdentityAccess Control provides identity management and authorization control.
ComputingWindows Azure compute provides computing units called roles such as Web, Worker and Virtual machine roles. A compute instance has the equivalent of a cpu, memory and storage.
RuntimeWindows Azure Virtual Machine allows operating system modifications.
QueueService Bus allows messages to be passed between processes and applications.
Database StorageSQL Azure Database provides a relational database based on SQL Server.
Object StorageBinary Large Object (BLOB) Service store text and binary data.
Block StorageWindows Azure Drive allows users to mount an NTFS volume.
NetworkingWindows Azure Virtual Network allows users to connect to their virtual machines from remote infrastructures.

Pricing

Amazon

Instance Types - Standard Instances

Micro Instances

High-Memory Instances

High-CPU Instances

Cluster Compute Instances

Cluster GPU Instances

Unit

Amazon Pricing

Amazon Elastic Compute Cloud On-Demand Instances

TypeOn-Demand Instances Linux/UNIX Usage Windows Usage
Standard Small (Default)$0.085 per hour $0.12 per hour
Standard Large $0.34 per hour $0.48 per hour
Standard Extra Large $0.68 per hour $0.96 per hour
Micro Micro $0.02 per hour $0.03 per hour
Hi-Memory Extra Large $0.50 per hour $0.62 per hour
Hi-Memory Double Extra Large $1.00 per hour $1.24 per hour
Hi-Memory Quadruple Extra Large $2.00 per hour $2.48 per hour
Hi-CPU Medium $0.17 per hour $0.29 per hour
Hi-CPU Extra Large $0.68 per hour $1.16 per hour
Cluster Compute Quadruple Extra Large $1.60 per hour $1.98 per hour
Cluster GPU Quadruple Extra Large $2.10 per hour $2.60 per hour

Amazon Elastic Compute Cloud Reserved Instances

Type Reserved Instances1 yr Term 3 yr Term Linux/UNIX Usage Windows Usage
Standard Small (Default) $227.50 $350 $0.03 per hour $0.05 per hour
Standard Large $910 $1400 $0.12 per hour $0.20 per hour
Standard Extra Large $1820 $2800 $0.24 per hour $0.40 per hour
Micro Micro $54 $82 $0.007 per hour $0.013 per hour
Hi-Memory Extra Large $1325 $2000 $0.17 per hour $0.24 per hour
Hi-Memory Double Extra Large $2650 $4000 $0.34 per hour $0.48 per hour
Hi-Memory Quadruple Extra Large $5300 $8000 $0.68 per hour $0.96 per hour
Hi-CPU Medium $455 $700 $0.06 per hour $0.125 per hour
Hi-CPU Extra Large $1820 $2800 $0.24 per hour $0.50 per hour
Cluster Compute Quadruple Extra Large $4290 $6590 $0.56 per hour $0.78 per hour
Cluster GPU Quadruple Extra Large $5630 $8650 $0.74 per hour $1.04 per hour

Amazon Relational Database Service (Amazon RDS) On-Demand DB Instances Standard Deployment

High-Memory DB Instance Class (On-Demand) Price Per Hour
Small DB Instance $0.11
Large DB Instance $0.44
Extra Large DB Instance $0.88
High-Memory Extra Large DB Instance $0.65
High-Memory Double Extra Large DB Instance $1.30
High-Memory Quadruple Extra Large DB Instance $2.60

Amazon Relational Database Service (Amazon RDS) Reserved DB Instances Standard Deployment

Standard Deployment (Reserved) One-time Fee - 1 yr Term One-time Fee - 3 yr Term Usage Rate
Small (Default)$227.50 $350 $0.046 per hour
Large $910 $1,400 $0.184 per hour
Extra Large $1,820 $2,800 $0.368 per hour
Extra Large (High Memory)$1,325 $2,000 $0.262 per hour
Double Extra Large (High Memory)$2,650 $4,000 $0.524 per hour
Quadruple Extra Large (High Memory)$5,300 $8,000 $1.048 per hour

Windows Pricing

Windows Azure Platform Consumption (Pay-As-You-Go) This offer is a "Pay As You Go" pricing plan that includes compute hours, storage, data transfers, SQL Azure databases, Access Control transactions and Service Bus connections.

Standard Rates: Windows Azure

Compute

Storage

Content Delivery Network (CDN)

Virtual Network

Access Control

Service Bus

Caching

Windows Azure Compute

Compute Instance Size CPU Memory Instance Storage I/O Performance Cost Per Hour
Extra Small 1.0 GHz 768 MB 20 GB Low $0.04
Small 1.6 GHz 1.75 GB 225 GB Moderate $0.12
Medium 2 x 1.6 GHz 3.5 GB 490 GB High $0.24
Large 4 x 1.6 GHz 7 GB 1,000 GB High $0.48
Extra Large 8 x 1.6 GHz 14 GB 2,040 GB High $0.96

SQL Azure Database

StorageRegularBusiness
Up to 1 GB relational database $9.99-
Up to 5 GB relational database $49.95-
Up to 10 GB relational database -$99.99
Up to 20 GB relational database -$199.98
Up to 30 GB relational database -$299.97
Up to 40 GB relational database -$399.96
Up to 50 GB relational database -$499.95
Get one compute base unit consisting of 750 hours of a small compute instance per month. $71.99*/ month
SQL Azure Core 20% off our standard prices. Get one database unit consisting of a 10GB SQL Azure database per month. $79.99*/ month

Free trial offers for the smallest package

Amazon 1 year
Microsoft 90 days

Additional Cloud Services

Additional Cloud Service Providers

Conclusion

Most of the web services offered by both companies are PaaS with the exception of the virtual machine which is IaaS. Amazon offers different operating systems such as Linux variants and Windows while Microsoft only offers Windows. For the smallest compute instance, Windows Azure seems to have the lowest price per hour while Amazon has the lowest prepaid cost. Both Amazon and Microsoft offer a wider variety of services with more options than most other cloud service providers. They are also ranked highly in online top 10 lists, et al. Overall, these web services appear to be a short term solution to local resource restrictions since the cost of the services could be less expensive over the long run by local services.

Sources

Cloud Computing
Amazon Web Services
Windows Azure