You are on page 1of 35

CLOUD COMPUTING TECHNOLOGIES OVERVIEW AND

COMPARISON – “MICROSOFT AZURE VS AMAZON EC2”

_______________

A Thesis

Presented to the

Faculty of

San Diego State University

_______________

In Partial Fulfillment

of the Requirements for the Degree

Master of Science

in

Computer Science

_______________

by

Saurabh Gupta

Summer 2012
iii

Copyright © 2012
by
Saurabh Gupta
All Rights Reserved
iv

DEDICATION

I would like to dedicate this thesis work to my Guru Dr. Joseph Lewis and my family.
It would not have been possible without their boundless love, continuous motivation and
support.
v

ABSTRACT OF THE THESIS

Cloud Computing Technologies Overview and Comparison –


“Microsoft Azure vs Amazon EC2”
by
Saurabh Gupta
Master of Science in Computer Science
San Diego State University, 2012

Cloud Computing, that is offering computer assets and resources as a service rather
than a product, whereby shared resources like pictures, audio files, video files, data, software
s, and other information are provided to all of our devices, be it a smart phone, tablet, PC
over the web or internet and is a technology revolution providing flexible IT usage in a cost
efficient and pay-per-use way. More efficient ways of sharing information and collaborating
can offer real competitive advantage.
This thesis is to study, conceptualize, integrate and comparison of two cloud based
system i.e. Microsoft Azure and Amazon EC2 to store and retrieve files in a cloud.
In this paper I discuss the benefits, drawbacks and also make comparison of two
cloud based system i.e. Microsoft Azure and Amazon EC2 and also discuss how their cloud
computing strategies are being approached and how it effects the future of computing.
In the end, concluding that which Cloud Computing technology i.e. Microsoft Azure
and Amazon EC2 is better for start up companies in terms of scalability, manageability, cost
and load balancing requirement.
vi

TABLE OF CONTENTS

PAGE

ABSTRACT...............................................................................................................................v
LIST OF TABLES ................................................................................................................. viii
LIST OF FIGURES ................................................................................................................. ix
ACKNOWLEDGEMENTS .......................................................................................................x
CHAPTER
1 INTRODUCTION AND BACKGROUND ..................................................................1
1.1 Introduction ........................................................................................................1
1.2 Purpose of Research ...........................................................................................1
2 THEORITICAL BASELINES.......................................................................................2
2.1 Definition ...........................................................................................................2
2.2 Distributed Computing.......................................................................................3
2.2.1 Clusters .....................................................................................................3
2.2.2 Supercomputers.........................................................................................3
2.2.3 Grids ..........................................................................................................4
2.2.4 Cloud Deployment Models .......................................................................4
2.3 Cloud Service Models ........................................................................................4
2.4 Top 10 Cloud Computing Providers of 2012 Based on Cloud Service
Models......................................................................................................................5
2.5 Drivers for Adoption of Cloud Computing........................................................6
2.6 Barriers to the Adoption of Cloud Computing ..................................................7
2.7 Cloud Security Issues and Related Works .........................................................7
2.7.1 Soap Messages ..........................................................................................7
2.7.2 Multi-Core OS Systems ............................................................................8
2.7.3 Securing Code, Control Flow and Image Repositories .............................8
2.7.4 Accountability in Clouds ..........................................................................8
3 WINDOWS AZURE AND AMAZON EC2 COMPONENTS ...................................10
3.1 Understanding Windows Azure .......................................................................10
vii

3.2 Components of Windows Azure ......................................................................10


3.2.1 Cloud Applications .................................................................................10
3.2.2 Data Management ...................................................................................12
3.2.2.1 SQL Azure .....................................................................................12
3.2.2.2 Tables .............................................................................................13
3.2.2.3 Blobs ..............................................................................................13
3.2.3 Windows Azure Access Control Service (Authentication) ....................13
3.3 Understanding Amazon EC2 ...........................................................................14
3.4 Components of Amazon EC2 ..........................................................................15
3.4.1 Elastic Compute Units ............................................................................15
3.4.2 Amazon EC2 Instances Types ................................................................15
3.4.3 EC2 Storage Types .................................................................................16
3.4.4 Elastic IP Addresses ................................................................................17
3.4.5 Amazon CloudWatch ..............................................................................17
3.4.6 Automated Scaling ..................................................................................17
4 COMPARISON BETWEEN MICROSOFT AZURE VS AMAZON EC2 ................18
4.1 Similarities between MS Azure and Amazon EC2 ..........................................18
4.2 Differences between MS Azure and Amazon EC2..........................................18
4.3 Price Comparison between MS Azure and Amazon EC2 ...............................18
4.4 Security Features Comparison .........................................................................20
4.5 Advantages of Amazon EC2 ............................................................................20
4.6 Advantages of Microsoft Windows Azure ......................................................21
5 CONCLUSION ............................................................................................................22
REFERENCES ........................................................................................................................24
viii

LIST OF TABLES

PAGE

Table 4.1. Differences between MS Azure and Amazon EC2 ................................................19


Table 4.2. Price Comparison Table..........................................................................................20
Table 4.3. Security Feature Table ............................................................................................21
ix

LIST OF FIGURES

PAGE

Figure 2.1. Cloud computing. ....................................................................................................2


Figure 2.2. Cloud service models. .............................................................................................5
Figure 3.1. Components of Windows Azure screen. ...............................................................11
Figure 3.2. Windows Azure application. .................................................................................11
Figure 3.3. Data management. .................................................................................................12
Figure 3.4. ACS. ......................................................................................................................14
Figure 3.5. Components of Amazon EC2. ...............................................................................16
x

ACKNOWLEDGEMENTS

I take this opportunity to sincerely thank my thesis advisor, Dr. Joseph Lewis, for the
guidance, encouragement, and unrelenting support during every step of my research work.
Without his help it would not have been possible for me to accomplish this feat.
I would also like to thank Professor Carl Eckberg and Professor Rob Malouf for
providing valuable suggestions and taking their time to review my thesis, as part of the panel.
1

CHAPTER 1

INTRODUCTION AND BACKGROUND

1.1 INTRODUCTION
Cloud Computing has become one of the most talked about technologies in recent
times and has got lots of attention from media as well as analysts because of the opportunities
it is offering. Many companies have invested in Cloud Computing technology by building
their public clouds, which include Amazon, Google and Microsoft [1].
Cloud computing is shaping IT in a great way. The last few years have been difficult
for the world economy, and those working in IT haven’t escaped feeling some of the pain.
Innovation and investment in technology slows down just because the economy may be
facing problems and difficulties. It is fair to say that the pace of change in technology and the
holding back of investment has led to a situation when transformation is now very much on
the agenda for all companies.
This is likely to come about through the use of cost effective solutions. One such
platform in this direction is cloud computing technology, which is now driving demand in
both public and commercial space. More efficient ways of sharing information and
collaborating can offer real competitive advantage – real step change for the IT industry.
Cloud computing has totally changed the way IT professionals used to think and work [2].

1.2 PURPOSE OF RESEARCH


This thesis is to study, conceptualize, integrate and comparison of two cloud based
system i.e. Microsoft Azure and Amazon EC2 to store and retrieve files in a cloud.
In this paper I discuss the benefits, drawbacks and also make comparison of two
cloud based system i.e. Microsoft Azure and Amazon EC2 and also discuss how their cloud
computing strategies are being approached and how it effects the future of computing.
In the end, concluding that which Cloud Computing technology i.e. Microsoft Azure
and Amazon EC2 is better for start up companies in terms of scalability, manageability, cost
and load balancing requirements.
2

CHAPTER 2

THEORITICAL BASELINES

2.1 DEFINITION
Cloud computing is the delivery of computing as a service rather than a product ,
whereby shared resources like audio files, videos files, data access ,software applications
and storage resources are provided to PC , smart phones and tablets over the web or internet
without requiring cloud users to know the location and other details of the computing
infrastructure. Form of cost –efficient and flexible usage of IT services. The services are
offered just-in-time over the internet and are paid per usage. Cloud computing is broken
down into three segments: "application" "storage" and "connectivity." Each segment serves a
different purpose and offers different products for businesses and individuals around the
world (see Figure 2.1) [3].

Figure 2.1. Cloud computing. Source: WIKIPEDIA, Cloud


computing. Wikipedia, http://en.wikipedia.org/wiki/
Cloud_computing, accessed April 2012, n.d.
3

2.2 DISTRIBUTED COMPUTING


Distributed computing refers to the very idea of using distributed systems that are
generally multiple computers connected to each other via computer networks to
collaboratively process a common goal [4]. Those computers communication can be
homogeneous or heterogeneous, distributed globally or locally. According to the
characteristics of localization or equality, distributed systems have different subsets, such as
supercomputers, grids, clusters, web 2.0 and clouds.
As an example for distributed computing, the Search for Extra-Terrestrial
Intelligence, short SETI, is a prime example based on heterogeneous and globally located
computers.

2.2.1 Clusters
Characteristics of clusters are that the computers being linked to each other are
normally distributed locally, and have the same kind of hardware and operating system.
There- fore cluster work stations are connected together and can possibly be used as a super .
As an example, in the US Air Force hundreds of PlayStation 3 consoles are used to be
connected together into one cluster. This merged machine is then utilized for high
performance computing to calculate complex equations, which demand powerful computers.
The PlayStation 3 is used as it is not only a gaming machine or blue-ray player, but also a
high performance machine offered for a reasonable price compared to other high-
performance servers .

2.2.2 Supercomputers
Supercomputers can be easily compared to clusters, because it follows the same
concept, except the fact that it is merged into one box already and is not locally
interconnected with other machines
IBM is constructing those machines consisting with a lot of processors that are
merged into 1 machine with high performance capabilities. The only disadvantage is that
they are usually expensive and have the necessity of a huge amount of energy.
4

2.2.3 Grids
When defining grid computing it is necessary to differ it from clusters. While clusters
are distributed locally and obliged to use the same hardware and OS, grids involve
heterogeneous computers that are connected to each other and distributed globally. The OS
and hardware that run on those machines can also be different from each other .
The computers that are interconnected over the internet can come from anywhere
while there is usually no obligation to pay. For this reason already it is obvious that grids
being connected are not nearly as expensive as the supercomputers that are offered from IBM
and other technology companies.

2.2.4 Cloud Deployment Models


1. Public Cloud: The cloud infrastructure is available to the general public.
2. Private Cloud: The type of the cloud that is available solely for a single organization.
3. Community Cloud: In this type of cloud deployment model, the infrastructure of the
cloud is shared by several organizations and supports a specific community with
shared concerns.
4. Hybrid Cloud: This is a cloud infrastructure that is a composition of two or more
clouds i.e. private, community or public [3].

2.3 CLOUD SERVICE MODELS


Here in this section, we will in short introduce the three cloud service models (IaaS,
PaaS, SaaS) which can serve as a foundation for further developing and understanding of
cloud computing and its capabilities (see Figure 2.2) [5]. Cloud computing providers offer
their services according to these three fundamental models where IaaS is the most basic and
each higher model abstracts from the details of the lower models.
These services are made possible by virtualization, the ubiquity of high-speed
networks and the capabilities of today's browsers. With these things in place, it becomes less
necessary to own your own infrastructure, or even to own your own software.
1. Cloud Software as Service (SaaS): This is a capability in which the consumer can
use the provider’s applications running on the cloud. For e.g. Salesforce, Gmail.
2. Cloud Platform as Service (PaaS): In this type of service, the consumer can deploy,
the consumer created or acquired applications created by using programming
languages or tools provided by provider, on the cloud infrastructure. For e.g. Google
AppEngine (Python, Java), Windows Azure (.Net)
5

Figure 2.2. Cloud service models. Source: RESEARCHER’S BLOG, Cost


benefits of cloud computing. Researcher’s Blog, http://clean-
clouds.com/2011/03/30/cloud-computing-cost-benefits/, accessed April
2012, March 2011.

3. Cloud Infrastructure as Service (IaaS): This is a capability provided to the


consumer by which, it can provision processing, storage, networks and other
fundamental computing resources where the consumers can deploy and run the
software (i.e. operating systems, applications). For e.g. – Amazon EC2, GoGrid,
Eucalyptus [1].

2.4 TOP 10 CLOUD COMPUTING PROVIDERS OF 2012


BASED ON CLOUD SERVICE MODELS
Examples of SaaS providers:
1. Google Apps: provides web-based office tools such as e-mail, calendar, and
document management
2. Salesforce.com: provides a full customer relationship management (CRM)6
application
3. Zoho.com: provides a large suite of web-based applications, mostly for enterprise use
[6]
Examples of IaaS providers:
1. Amazon Elastic Compute Cloud (EC2): provides users with a special virtual
machine (AMI) that can be deployed and run on the EC2 infra- structure
2. Amazon Simple Storage Solution (S3): provides users with access to dynamically
scalable storage resources
6

3. GoGrid: provides users with access to dynamically scalable computing and storage
resources, as well as dedicated servers
4. IBM Computing on Demand (CoD): provides users with access to highly
configurable servers plus value-added services such as data storage
5. Microsoft Live Mesh: provides users with access to a distributed file system;
targeted at individual use
6. Rackspace Cloud: provides users with access to dynamically scalable computing and
storage resources, as well as third-party cloud applications and tools [6]
PaaS examples providers:
1. Akamai EdgePlatform: provides a large distributed computing platform on which
organizations can deploy their web applications; has a large focus on analysis and
monitoring
2. Force.com: from salesforce.com (an SaaS provider), provides users with a platform
to build and run applications and components bought from AppExchange6 or custom
applications
3. Google App Engine: provides users with a complete development stack and allows
them to run their applications on Google’s infrastructure
4. Microsoft Azure Services Platform: provides users with on-demand compute and
storage services as well as a development platform based on Windows Azure
5. Yahoo! Open Strategy (Y!OS): provides users with a means of develop- ing web
applications on top of the existing Yahoo! platform and in doing so leveraging a
significant portion of the Yahoo! resources [6]

2.5 DRIVERS FOR ADOPTION OF CLOUD COMPUTING


1. Availability: Users have the ability to access their resources at any time through a
standard Internet connection.
2. Collaboration: Users begin to see the cloud as a way to work simultaneously on
common data and information.
3. Elasticity: The provider transparently manages a user’s resource utilization based on
dynamically changing needs.
4. Lower Infrastructure Costs: The pay-per-usage model allows an organization to
only pay for the resources they need with basically no investment in the physical
resources available in the cloud. There are no infra- structure maintenance or upgrade
costs.
5. Mobility: Users have the ability to access data and applications from around the
globe.
6. Risk Reduction: Organizations can use the cloud to test ideas and concepts before
making major investments in technology.
7

7. Scalability: Users have access to a large amount of resources that scale based on their
demand.
8. Virtualization: Each user has a single view of the available resources, independently
of how they are arranged in terms of physical devices. Therefore, there is potential
from a provider perspective to serve a greater number of users with fewer physical
resources [6].

2.6 BARRIERS TO THE ADOPTION OF CLOUD


COMPUTING
1. Interoperability: A universal set of standards and/or interfaces has not yet been
defined, resulting in a significant risk of vendor lock-in.
2. Latency: All access to the cloud is done via the internet, introducing latency into
every communication between the user and the provider.
3. Platform or Language Constraints: Some cloud providers support specific
platforms and languages only.
4. Regulations: There are concerns in the cloud computing community over
jurisdiction, data protection, fair information practices, and international data
transfer—mainly for organizations that manage sensitive data.
5. Reliability: Many existing cloud infrastructures leverage commodity hard- ware that
is known to fail unexpectedly.
6. Resource Control: The amount of control that the user has over the cloud provider
and its resources varies greatly between providers.
7. Security: The main concern is data privacy: users do not have control or knowledge
of where their data is being stored [6].

2.7 CLOUD SECURITY ISSUES AND RELATED WORKS


Cloud computing is currently emerging as a mechanism for high level computation,
as well as serving as a storage system for resources. Cloud security is a complex issue,
involving the different levels of the cloud, external and internal threats, and responsibilities
that are divided between the user, the provider and even a third party. The focus of this
section is to identify and describe prime security attacks on clouds. In this section we depict
some prominent security issues in cloud computing today, along with the techniques applied
by adversaries to intrude in the cloud.

2.7.1 Soap Messages


As web service (WS) technology is the mostly used technology in the field of SOA in
the Cloud, the WS-security system should be rigid enough to optimize the security attacks
8

from different adversaries. Security attacks can involve SOAP messages. SOAP is an XML
based messaging framework, used to exchange encoded information (e.g. web service request
and response) over a variety of protocols (e.g. HTTP, SMTP, MIME). It allows a program
running in one system to call a program running in another system and it is independent of
any programming model.
As of now, two common attacks with SOAP messages are the Denial of Service and
Wrapping attack [7].

2.7.2 Multi-Core OS Systems


Factored operating systems (fos) are designed to address the challenges found in
systems, such as cloud computing and many core systems, and can provide a framework
from which to consider cloud security.. In reality there are several classes of systems having
similarities to fos: traditional microkernels, distributed OS’s and cloud computing
infrastructure. The main motive of fos was to compel the scalability, elasticity of demand,
fault tolerance and resolve difficulties in programming a large system [7].

2.7.3 Securing Code, Control Flow and Image


Repositories
Each user in the cloud is provided with an instance of a Virtual Machine (VM): an
OS, application, etc. Virtual Machine Introspection (VMI) was proposed in to monitor VMs
together with Livewire, a prototype IDS that uses VMI to monitor VMs. A monitoring library
named Xen Access is for a guest OS running on top of Xen that applies the VMI and virtual
disk monitoring capabilities to access the memory state and disk activity of a target OS.
These approaches require that the system must be clean when monitoring is started, which is
a flaw and needs further investigation in VMI [7].

2.7.4 Accountability in Clouds


Making the cloud accountable means that the cloud will be trustable, reliable and
customers will be satisfied with their monthly or yearly charge for using the provider’s cloud.
Trusted computing is an approach to achieve some of the characteristics mentioned above to
make a cloud accountable. Typically, it requires trusting the correctness of large and complex
codebases.
9

A simple yet remarkably powerful tool of selfish and malicious participants in a


distributed system is "equivocation": making conflicting statements to others. A small,
trusted component is TrInc which combats equivocation in large, distributed systems. TrInc
provides a new primitive: unique, once-in-a-lifetime attestations. It is practical, versatile, and
easily applicable to a wide range of distributed systems. Evaluation shows that TrInc
eliminates most of the trusted storage needed to implement append-only memory and
significantly reduces communication overhead in Peer Review. Small and simple primitives
comparable to TrInc will be sufficient to make clouds more accountable [7].
10

CHAPTER 3

WINDOWS AZURE AND AMAZON EC2


COMPONENTS

3.1 UNDERSTANDING WINDOWS AZURE


This section explains the fundamentals of Windows Azure. The goal is to give an
insight for understanding and using the Microsoft cloud platform.
Windows Azure is Microsoft's application platform for the public cloud. Your
applications can use this platform in many different ways. For instance, you can use
Windows Azure to build a web application that runs and stores its data in Microsoft
datacenters. You can use Windows Azure only to store data, with the applications that use
that data running on-premises (that is, outside the public cloud). You can use Windows
Azure to help on-premises applications connect with each other or to map between different
sets of identity information or in other ways. Because the platform offers a wide range of
services, all of these things—and more—are possible [8].

3.2 COMPONENTS OF WINDOWS AZURE


To understand what Windows Azure offers, it's useful to group its services into
distinct categories and you need to know what its components do. Figure 3.1 [8] shows one
way to do this.

3.2.1 Cloud Applications


Windows Azure provides two types of roles [8]:
1. Web roles: A web role is designed for code that talks directly with web browsers or
other HTTP clients i.e. it depends on IIS, Microsoft's web server. For example,
ASP.NET or PHP application.
2. Worker roles: A worker role is more general, designed to run a variety or different
type of code. For example, application that processes lots of data in parallel.
3. Each role instance is really just a virtual machine (VM) running a flavor of Windows
Server and each one executes in a Windows Azure datacenter (see Figure 3.2) [8].
11

Figure 3.1. Components of Windows Azure screen. Source: MICROSOFT,


Understanding Windows Azure. Microsoft, https://www.windowsazure.com/en-
us/develop/net/fundamentals/intro-to-windows-azure/#cloud, accessed April 2012,
n.d.

Figure 3.2. Windows Azure application. Source:


MICROSOFT, Understanding Windows Azure. Microsoft,
https://www.windowsazure.com/en-
us/develop/net/fundamentals/intro-to-windows-
azure/#cloud, accessed April 2012, n.d.

4. Load Balancing on a Windows Azure application:


• If the load increases, maybe you've acquired a large number of new users all at
once.
• If the load decreases, another request can shrink the number of instances. And
because Windows Azure charges you by the hour for each instance, you pay only
for the capacity you need.
12

3.2.2 Data Management


Every Windows Azure application runs in one or more VMs. Each VM has local
storage, which an application is free to use.
Windows Azure provides three data management options (see Figure 3.3) [8].
1. SQL Azure
2. Tables
3. Windows Azure Blobs Storage Service

Figure 3.3. Data management. Source: MICROSOFT,


Understanding Windows Azure. Microsoft,
https://www.windowsazure.com/en-
us/develop/net/fundamentals/intro-to-windows-
azure/#cloud, accessed April 2012, n.d.

3.2.2.1 SQL AZURE


• SQL Azure is a highly available and scalable cloud database service built on SQL
Server technologies. With SQL Azure, developers do not have to install, setup or
manage any database. High availability and fault tolerance is built-in and no physical
administration is required. SQL Azure is a managed service that is operated by
Microsoft and has a 99.9% monthly SLA.
• SQL Azure provides a full featured relational database and enables many different
types of applications. Some common scenarios include: Business Intelligence, Hybrid
Applications and Business applications.
• Capabilities and Benefits of SQL Azure:
1. No Physical administration required
2. Scale on Demand
13

3. Innovate faster
• Capabilities and Benefits of SQL Azure Data Sync:
1. Managed Service
2. Control Synchronization
3. On-Premises and Cloud
4. Cloud-to-cloud synchronization [9]

3.2.2.2 TABLES
• Tables don't provide relational storage. Instead, they let an application store
properties of various types, such as strings, integers, and dates. An application can
then retrieve a group of properties by providing a unique key for that group.
• Tables offer fast access to typed data.
• They're also very scalable, with a single table containing as much as a terabyte of
data.
• Tables are usually less expensive to use than SQL Azure's relational storage [8].

3.2.2.3 BLOBS
• Windows Azure Blob storage is a service for storing large amounts of unstructured
data that can be accessed from anywhere in the world via HTTP or HTTPS.
• Like Tables, Blobs are cheap, and a single blob can be as large as one terabyte.
• Serving images or documents directly to a browser
• Storing files for distributed access
• Streaming video and audio
• Performing secure backup and disaster recovery
• Storing data for analysis by an on-premise or Windows Azure-hosted service
• A single blob can be hundreds of gigabytes in size, and a single storage account can
contain up to 100TB of blobs [10].

3.2.3 Windows Azure Access Control Service


(Authentication)
ACS is a Windows Azure service that provides an easy way of authenticating users
who need to access your web applications and services without having to factor complex
authentication logic into your code [11].
The following features are available in ACS:
• Integration with Windows Identity Foundation (WIF).
14

• Support for popular web identity providers (IPs) including Windows Live ID,
Google, Yahoo, and Facebook.
• Support for Active Directory Federation Services (AD FS) 2.0.
• An Open Data Protocol (OData)-based management service that provides
programmatic access to ACS settings.
• A Management Portal that allows administrative access to the ACS settings.
Figure 3.4 [11] shows how ACS authentication works with a web application.
1. The client (in this case a browser) requests a page from the RP.
2. Since the request is not yet authenticated, the RP redirects the user to the authority
that it trusts, which is ACS. The ACS presents the user with the choice of IPs that
were specified for this RP. The user selects the appropriate IP.
3. The client browses to the IP's authentication page, and prompts the user to log on.
4. After the client is authenticated (for example, the identity credentials are entered), the
IP issues a security token.
5. After issuing a security token, the IP redirects the client to ACS and the client sends
the security token issued by the IP to ACS.
6. ACS validates the security token issued by the IP, inputs the identity claims in this
token into the ACS rules engine, calculates the output identity claims, and issues a
new security token that contains these output claims.
7. ACS redirects the client to the RP. The client sends the new security token issued by
ACS to the RP. The RP validates the signature on the security token issued by ACS,
validates the claims in this token, and returns the page that was originally requested.

Figure 3.4. ACS. Source: MICROSOFT, How to authenticate web users with Windows
Azure access control service. Microsoft, https://www.windowsazure.com/en-
us/develop/net/how-to-guides/access-control/, accessed April 2012, n.d.
15

3.3 UNDERSTANDING AMAZON EC2


Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides
resizable compute capacity in the cloud. It is designed to make web-scale computing easier
for developers. Amazon EC2’s simple web service interface allows you to obtain and
configure capacity with minimal friction. It provides you with complete control of your
computing resources and lets you run on Amazon’s proven computing environment. Amazon
EC2 reduces the time required to obtain and boot new server instances to minutes, allowing
you to quickly scale capacity, both up and down, as your computing requirements change.
Amazon EC2 changes the economics of computing by allowing you to pay only for capacity
that you actually use. Amazon EC2 provides developers the tools to build failure resilient
applications and isolate themselves from common failure scenarios [12].

3.4 COMPONENTS OF AMAZON EC2


Figure 3.5 [13] shows you can easily find the high level overview and details for there
core components.

3.4.1 Elastic Compute Units


The Elastic Compute Unit (ECU) was introduced by Amazon EC2 as an abstraction
of computer resources. Amazon’s Definition of ECU notes “We use several benchmarks and
tests to manage the consistency and predictability of the performance of an EC2 Compute
Unit. One EC2 Compute Unit provides the equivalent CPU capacity of a 1.0-1.2 GHz 2007
Opteron or 2007 Xeon processor. This is also the equivalent to an early-2006 1.7 GHz Xeon
processor referenced in our original documentation” [14].

3.4.2 Amazon EC2 Instances Types


Amazon EC2 instances types are grouped into six families [15]:
• Standard: have memory to CPU ratios suitable for most general-purpose applications
• Micro: provide a small amount of consistent CPU resources and allow you to burst
CPU capacity when additional cycles are available.
16

Figure 3.5. Components of Amazon EC2. Source: S. ANAND, Understanding


Amazon Web Services (AWS). OracleApps Epicenter,
http://www.oracleappshub.com/emerging-technologies/understanding-
amazon-web-services-aws/, accessed April 2012, December 2010.

• High-Memory: offer larger memory sizes for high throughput applications, including
database and memory caching applications
• High-CPU: have proportionally more CPU resources than memory (RAM) and are
well suited for compute-intensive applications.
• Cluster Compute: Cluster Compute instances provide a very large amount of CPU
coupled with increased network performance making them well suited for High
Performance Compute (HPC) applications and other demanding network-bound
applications.
• Cluster GPU: Cluster GPU instances provide general-purpose graphics processing
units (GPUs) with proportionally high CPU and increased network performance
making them well suited for applications benefitting from highly parallelized
processing, including HPC, rendering and media processing applications.

3.4.3 EC2 Storage Types


• Elastic Block Storage (EBS): This is persistent, network-based storage called Elastic
Block Store(EBS), which can be attached to running instances or also used as a
persistent boot medium.
• Instance Storage: This is local storage, which is non-persistent and data will be lost
after an instance terminates [16].
17

3.4.4 Elastic IP Addresses


Amazon's Elastic IP Address feature is similar to static IP address in traditional data
centers, with one key difference. A user can programmatically map an Elastic IP Address to
any virtual machine instance without a network administrator's help and without having to
wait for DNS to propagate the new binding. In this sense an Elastic IP Address belongs to the
account and not to a virtual machine instance. It exists until it is explicitly removed. It
remains associated with the account, even while it is associated with no instance.
Partial IPv6 is provided in the US East (Northern Virginia), EU (Ireland) and Asia Pacific
(Tokyo & Singapore) regions [14].

3.4.5 Amazon CloudWatch


Amazon CloudWatch is a web service that provides monitoring for AWS cloud
resources and applications, starting with Amazon EC2. It provides you with visibility into
resource utilization, operational performance, and overall demand patterns—including
metrics such as CPU utilization, disk reads and writes, and network traffic. You can get
statistics, view graphs, and set alarms for your metric data. To use Amazon CloudWatch,
simply select the Amazon EC2 instances that you’d like to monitor. You can also supply
your own business or application metric data. Amazon CloudWatch will begin aggregating
and storing monitoring data that can be accessed using web service APIs or Command Line
Tools [15].

3.4.6 Automated Scaling


Auto Scaling allows you to automatically scale your Amazon EC2 capacity up or
down according to conditions you define. With Auto Scaling, you can ensure that the number
of Amazon EC2 instances you’re using scales up seamlessly during demand spikes to
maintain performance, and scales down automatically during demand lulls to minimize costs.
Auto Scaling is particularly well suited for applications that experience hourly, daily, or
weekly variability in usage. Auto Scaling is enabled by Amazon CloudWatch and available
at no additional charge beyond Amazon CloudWatch fees [15].
18

CHAPTER 4

COMPARISON BETWEEN MICROSOFT AZURE


VS AMAZON EC2

In order to assess the quality of proposed design, we here compare costs on Microsoft
Azure Vs. Amazon EC2 platform. Amazon EC2 and Azure are both marketers of
applications through independent software vendors or “ISVs.” The major difference is that
EC2 features enterprise applications and Azure features work-group sized user groups.
Nonetheless, with the differences explained here, users interested in this technology should
be able to make the choice between EC2 and Microsoft Azure [17].

4.1 SIMILARITIES BETWEEN MS AZURE AND AMAZON


EC2
• As many companies have large amounts of information stored on computers, the need
for memory is essential. Cloud computing removes the need to install dedicated
software to the computer, thereby reducing the amount of memory needed. . Azure
and EC2 conceptually do the same thing.
• Both EC2 and Microsoft Azure cloud computing technologies allow the expansion of
the virtual machines or VMs used for applications – both in number and power
• Both services work on the basis of the Virtual Machine model.
• Amazon EC2 and Azure are both marketers of applications through independent
software vendors or “ISVs” [17].

4.2 DIFFERENCES BETWEEN MS AZURE AND AMAZON


EC2
Table 4.1 [17, 18] will provide with easy comparison between the Windows Azure
and Amazon EC2 Web Services cloud terminologies.

4.3 PRICE COMPARISON BETWEEN MS AZURE AND


AMAZON EC2
The costs are actually similar with a few exceptions. Some users say the EC2 is more
costly, although it can be economically worthwhile for small projects. However, there have
19

Table 4.1. Differences between MS Azure and Amazon EC2


S.No. Microsoft Azure Amazon EC2
1. Microsoft Azure cloud based Unlike Microsoft Azure cloud computing,
computing offers a virtual server for Amazon EC2 uses infrastructure as a
loading software. It may be managed service. This provides clusters, grids or
by accessing it through a Web virtual servers as well as storage, systems,
browser. This form of cloud based software, and networks that take the place
computing is known as platform as a of data centers.
service.
2. Microsoft Azure is considered more Amazon EC2 offers Windows, Mac OS X
accessible to developers who are and Linux. However, they have
familiar with .NET and Visual requirements for storage and developers
Studio. Although this is simpler for must consider the computing time and
Windows developers to use, the bandwidth the applications will
applications they can port to are necessitate.
limited.
3. Azure uses a pay-as-you-go system EC2 uses Elastic Compute Units (ECUs),
for the number of virtual machines which include storage or elastic block
needed for the application allowing stores and Amazon Machine Images. The
the number to be changed using a performance is equivalent to 32- or 64-bit
management console. processors.
4. Base Plan Details: - 1.6 GHz CPU, Base Plan Details:- 1.7GB RAM, 160 GB
1.75 GB RAM, 225 GB Instance locat storage , 1 EC2 Compute Unit.
Storage, Moderate I/O Performance. This data is abstracted from http://cloud-
This data is abstracted from computing.findthebest.com/saved_compar
http://cloud- e/Azure-vs-EC2, accessed April 28, 2012
computing.findthebest.com/saved_co
mpare/Azure-vs-EC2, accessed April
28, 2012
Sources: WHAT IS CLOUD COMPUTING, Microsoft Azure vs Amazon EC2. What is Cloud Computing,
http://www.whatisthecloudcomputing.com/ microsoft-azure-vs-amazon-ec2, accessed April 2012, n.d.; FIND
THE BEST, Base plan details. Find the Best, http://cloud-computing.findthebest.com/saved_compare/Azure-vs-
EC2, accessed April 2012, n.d.
20

been some complaints about the cost of Azure as well [17]. Table 4.2 [17, 18] shows the
price comparison between the MS Azure and Amazon EC2.

Table 4.2. Price Comparison Table


S.No. Microsoft Azure Amazon EC2
1. Microsoft Azure offers only a per EC2 provides MySQL, a full database,
database pricing. which is not as expensive as the SQL
2. Azure does offer a package available Instances purchased from one to three are
for a monthly fee, resulting in a 50% available from EC2, which can save 37% to
savings off the regular prices. 50% if used for the entire period purchased.
3. Microsoft Windows Azure Cloud Amazon EC2 Cloud Computing Provider
Computing Provider has a Proprietary has a Proprietary license with a $8.50¢ per
license with a $12¢ per hour base hour base price. It guarantees 99.95%
price. It guarantees 99.9% uptime and uptime and 1.7GB RAM, 160GB local
1.6 GHz CPU, 1.75 GB RAM, 225 storage, 1 EC2 Compute Unit.
GB Instance Storage, Moderate I/O This information is taken from http://cloud-
Performance. computing.findthebest.com/saved_compare
This information is taken from /Azure-vs-EC2, accessed April 28, 2011
http://cloud-
computing.findthebest.com/saved_co
mpare/Azure-vs-EC2, accessed April
28, 2011
Source: WHAT IS CLOUD COMPUTING, Microsoft Azure vs Amazon EC2. What is Cloud Computing,
http://www.whatisthecloudcomputing.com/ microsoft-azure-vs-amazon-ec2, accessed April 2012, n.d.; FIND
THE BEST, Base plan details. Find the Best, http://cloud-computing.findthebest.com/saved_compare/Azure-vs-
EC2, accessed April 2012, n.d.

4.4 SECURITY FEATURES COMPARISON


Cloud computing is currently emerging as a mechanism for high level computation,
as well as serving as a storage system for resources. Cloud security is a complex issue,
involving the different levels of the cloud, external and internal threats, and responsibilities
that are divided between the user, the provider and even a third party [17].
Table 4.3 [18] shows the security features between MS Azure and Amazon EC2.

4.5 ADVANTAGES OF AMAZON EC2


1. EC2 is cheaper, at least to start. I can get an EC2 Windows 2008 R2 Server instance
up and running for about $40 per month.
2. EC2 is familiar. The nice thing about EC2 is it’s like having your own Windows
Server without buying the hardware [19].
21

Table 4.3. Security Feature Table


FEATURES MS Azure Amazon EC2
Advanced Firewall ✖ √
Critical Data Privacy √ ✖
Customer/Secure ✖ √
Permissions
Data Protection √ ✖
Persistenc √ ✖
Source: FIND THE BEST, Base plan details. Find the Best, http://cloud-computing.findthebest.com/
saved_compare/Azure-vs-EC2, accessed April 2012, n.d.

3. EC2’s biggest strength: it’s conceptually simple. Anyone who’s ever used any VM
software is going to be able to grasp what it does immediately. There’s no learning
curve, just instant gratification [20].

4.6 ADVANTAGES OF MICROSOFT WINDOWS AZURE


1. Azure may be cheaper than EC2 in the long run. Azure is a zero maintenance
solution. You just deploy your application and Microsoft takes care of the software,
patches and backups. There’s a cost to maintenance which has to be taken into
account when using EC2 compared to Azure. The problem is that cost is a bit hard to
calculate.
2. Scalability with Windows Azure is seamless. There’s a good chance this application
will grow to have many users and consume a massive amount of data. If it does,
adding additional machines with Windows Azure is as simple as changing a value in
the configuration file.
3. It’s completely integrated with Visual Studio. Once set up, deploying changes from
Visual Studio to Windows Azure is just a couple clicks [19].
4. Azure does more for you than EC2 does for the same price – management of the
underlying OS and application server are included in addition to management of the
hardware.
This is actually quite nice. You can deploy an application to Azure, and it will be load
balanced, patched, and have maintenance performed on it without you having to lift a finger
[20].
22

CHAPTER 5

CONCLUSION

In my research work, I studied major components of two giant Cloud Computing


platforms i.e. Microsoft Azure and Amazon EC2 and also made comparisons between them
on the basis of security, cost, scalability, manageability and load balancing requirement.
Many start-up companies are interested in cloud computing but they are facing a real
dilemma as they hear different (positive and negative) views from different sources. This is
understandable as this technology is in its infant stage. Most of the start up companies,
which are in the process of making a decision to adopt some Cloud Computing technology,
e.g. Microsoft Azure or Amazon EC2, find this to be a difficult decision.
The first characteristic that start up companies to think about Cloud Computing is the
cost.
There are many other factors or characteristics, which affect the cost of Cloud
Computing for start up companies. These factors include elasticity, flexibility, data center
cost, pricing models and administrative costs. The scalability, manageability and load-
balancing are the biggest factors to make Cloud Computing cost effective for small scale or
start up companies and most of them move to cloud because of these characteristics of Cloud
Computing.
I have concluded that if a small scale or start up company uses Amazon Elastic Cloud
Compute (EC2) as its cloud services provider, this initially helps to reduce some of its
potential infrastructure costs but it does so at the expense of scalability and manageability,
and the company spends considerable time managing scaling logic and load-balancing
requirements. But with Windows Azure platform, start up company has already benefited
from quick development, improved scalability, simplified IT management and also reduced
its costs—savings, which it will pass along to customers.
As a result of using the Windows Azure platform, instead of Amazon EC2, start up
companies no longer have to worry about managing their scaling logic and load balancing,
and can scale up quickly to handle the massive amount of data required for online database.
23

It also simplifies maintenance of its infrastructure and can focus on its own business logic by
relying on Microsoft data centers. At the same time, the start up companies reduced their
hosting costs by half—savings that they can pass on to customers [21].
24

REFERENCES

[1] R. SALEEM, Cloud computing’s effect on enterprises. Lund University,


http://lup.lub.lu.se/luur/download?func=downloadFile&recordOId=1764306&fileOId
=1764311, accessed April 2012, January 2011.
[2] M. SEAGRAVE, How cloud computing is shaping the IT job market. Guardian,
http://careers.guardian.co.uk/careers-blog/it-job-market-cloud-computing, accessed
April 2012, August 2011.
[3] WIKIPEDIA, Cloud computing. Wikipedia,
http://en.wikipedia.org/wiki/Cloud_computing, accessed April 2012, n.d.
[4] D. DI GIACOMO AND T. BRUNZEL, Cloud computing evaluation-How it differs to
traditional IT outsourcing. Jönköping University, http://www.diva-
portal.org/smash/get/diva2:328402/FULLTEXT01, accessed April 2012, May 2010.
[5] RESEARCHER’S BLOG, Cost benefits of cloud computing. Researcher’s Blog,
http://clean-clouds.com/2011/03/30/cloud-computing-cost-benefits/, accessed April
2012, March 2011.
[6] G. LEWIS, Basics about cloud computing. Software Engineering Institute,
http://www.sei.cmu.edu/library/assets/whitepapers/Cloudcomputingbasics.pdf,
accessed April 2012, September 2010.
[7] K. ZUNNURHAIN AND S. V. VRBSKY, Security in cloud computing. University of
Alabama, http://cerc.wvu.edu/download/WORLDCOMP'11/2011%20CD%20papers/
SAM3725.pdf, accessed April 2012, n.d.
[8] MICROSOFT, Understanding Windows Azure. Microsoft,
https://www.windowsazure.com/en-us/develop/net/fundamentals/intro-to-windows-
azure/#cloud, accessed April 2012, n.d.
[9] MICROSOFT, SQL Azure. Microsoft, https://www.windowsazure.com/en-
us/home/features/sql-azure/, accessed April 2012, n.d.
[10] MICROSOFT, How to use the blob storage service. Microsoft,
https://www.windowsazure.com/en-us/develop/net/how-to-guides/blob-storage/,
accessed April 2012, n.d.
[11] MICROSOFT, How to authenticate web users with Windows Azure access control
service. Microsoft, https://www.windowsazure.com/en-us/develop/net/how-to-
guides/access-control/, accessed April 2012, n.d.
[12] AMAZON, Understanding Amazon EC2. Amazon, http://aws.amazon.com/ec2/,
accessed April 2012, n.d.
[13] S. ANAND, Understanding Amazon Web Services (AWS). OracleApps Epicenter,
http://www.oracleappshub.com/emerging-technologies/understanding-amazon-web-
services-aws/, accessed April 2012, December 2010.
25

[14] WIKIPEDIA, Amazon elastic compute cloud. Wikipedia,


http://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud, accessed April 2012,
n.d.
[15] AMAZON, Instances types. Amazon, http://aws.amazon.com/ec2/#instance, accessed
April 2012, n.d.
[16] S. BLEIKERTZ, EC2 storage types. Openfoo, http://openfoo.org/blog/amazon_
ec2_underlying_architecture.html, accessed April 2012, n.d.
[17] WHAT IS CLOUD COMPUTING, Microsoft Azure vs Amazon EC2. What is Cloud
Computing, http://www.whatisthecloudcomputing.com/ microsoft-azure-vs-amazon-
ec2, accessed April 2012, n.d.
[18] FIND THE BEST, Base plan details. Find the Best, http://cloud-
computing.findthebest.com/saved_compare/Azure-vs-EC2, accessed April 2012, n.d.
[19] LEARNING TREE, Amazon EC2 or Microsoft Windows Azure. Learning Tree,
http://cloud-computing.learningtree.com/2011/03/30/amazon-ec2-or-microsoft-
windows-azure/, accessed April 2012, n.d.
[20] B. O’NEAL, Initial thoughts on Windows Azure, and a comparison to EC2.
Winwrench, http://winwrench.com/blog/?p=21, accessed April 2012, May 2011.
[21] MICROSOFT, Video publisher chooses Windows Azure over Amazon EC2 for cost-
effective scalability. Microsoft, http://www.microsoft.com/casestudies/Windows-
Azure/Sagastream/Video-Publisher-Chooses-Windows-Azure-over-Amazon-EC2-
for-Cost-Effective-Scalability/4000008030, accessed April 2012, August 2010.

You might also like