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.
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.
| Monitoring | Amazon Cloud Watch provides monitoring of other Amazon web services such as Elastic Compute Cloud (EC2). | |
| Business | Amazon Flexible Payment Services allows users to receive payment transactions from clients. | |
| Identity | Amazon AWS Authentication authenticates users of Amazon Web Services. | |
| Computing | Amazon Elastic Compute Cloud allows data processing through compute units. | |
| Runtime | Amazon Elastic MapReduce provides distributed computing ability. | |
| Queue | Amazon Simple Queue Service allows queues for different applications and processes. | |
| Database Storage | Amazon SimpleDB or Amazon Relational Database Service. | |
| Object Storage | Amazon Simple Storage Service allows object instances to be stored in data containers called buckets. | |
| Block Storage | Amazon Elastic Block Store provides data storage in one or more volumes with a specified file system. | |
| Networking | Amazon Virtual Private Cloud allows Amazon Elastic Compute Cloud to connect to other networks. |
| Business | Windows Azure Marketplace provides applications and billing services while Microsoft SQL Azure Reporting provides reports and statistics in different file formats. | |
| Identity | Access Control provides identity management and authorization control. | |
| Computing | Windows 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. | |
| Runtime | Windows Azure Virtual Machine allows operating system modifications. | |
| Queue | Service Bus allows messages to be passed between processes and applications. | |
| Database Storage | SQL Azure Database provides a relational database based on SQL Server. | |
| Object Storage | Binary Large Object (BLOB) Service store text and binary data. | |
| Block Storage | Windows Azure Drive allows users to mount an NTFS volume. | |
| Networking | Windows Azure Virtual Network allows users to connect to their virtual machines from remote infrastructures. |
Amazon Elastic Compute Cloud On-Demand Instances
| Type | On-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 Instances | 1 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 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.
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
| Storage | Regular | Business | ||
|---|---|---|---|---|
| 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 |
| Amazon | 1 year | |
| Microsoft | 90 days |
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.