Azure Vs Amazon EC2
Azure Vs Amazon EC2
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.
vi
TABLE OF CONTENTS
PAGE
ABSTRACT...............................................................................................................................v
LIST OF TABLES ................................................................................................................. viii
LIST OF FIGURES ................................................................................................................. ix
ACKNOWLEDGEMENTS .......................................................................................................x
CHAPTER
1
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
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
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
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.
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 havent 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].
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].
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 highperformance 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.
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.
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 Googles 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]
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].
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].
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 thingsand moreare possible [8].
11
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
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.
13
3. Innovate faster
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.
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.
A single blob can be hundreds of gigabytes in size, and a single storage account can
contain up to 100TB of blobs [10].
14
Support for popular web identity providers (IPs) including Windows Live ID,
Google, Yahoo, and Facebook.
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/enus/develop/net/how-to-guides/access-control/, accessed April 2012, n.d.
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
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.
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
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].
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
Amazon EC2 and Azure are both marketers of applications through independent
software vendors or ISVs [17].
19
Table 4.1. Differences between MS Azure and Amazon EC2
S.No.
1.
2.
3.
4.
Microsoft Azure
Microsoft Azure cloud based
computing offers a virtual server for
loading software. It may be managed
by accessing it through a Web
browser. This form of cloud based
computing is known as platform as a
service.
Microsoft Azure is considered more
accessible to developers who are
familiar with .NET and Visual
Studio. Although this is simpler for
Windows developers to use, the
applications they can port to are
limited.
Azure uses a pay-as-you-go system
for the number of virtual machines
needed for the application allowing
the number to be changed using a
management console.
Base Plan Details: - 1.6 GHz CPU,
1.75 GB RAM, 225 GB Instance
Storage, Moderate I/O Performance.
This data is abstracted from
http://cloudcomputing.findthebest.com/saved_co
mpare/Azure-vs-EC2, accessed April
28, 2012
Amazon EC2
Unlike Microsoft Azure cloud computing,
Amazon EC2 uses infrastructure as a
service. This provides clusters, grids or
virtual servers as well as storage, systems,
software, and networks that take the place
of data centers.
Amazon EC2 offers Windows, Mac OS X
and Linux. However, they have
requirements for storage and developers
must consider the computing time and
bandwidth the applications will
necessitate.
EC2 uses Elastic Compute Units (ECUs),
which include storage or elastic block
stores and Amazon Machine Images. The
performance is equivalent to 32- or 64-bit
processors.
Base Plan Details:- 1.7GB RAM, 160 GB
locat storage , 1 EC2 Compute Unit.
This data is abstracted from http://cloudcomputing.findthebest.com/saved_compar
e/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-vsEC2, 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.
1.
2.
3.
Microsoft Azure
Microsoft Azure offers only a per
database pricing.
Azure does offer a package available
for a monthly fee, resulting in a 50%
savings off the regular prices.
Microsoft Windows Azure Cloud
Computing Provider has a Proprietary
license with a $12 per hour base
price. It guarantees 99.9% uptime and
1.6 GHz CPU, 1.75 GB RAM, 225
GB Instance Storage, Moderate I/O
Performance.
This information is taken from
http://cloudcomputing.findthebest.com/saved_co
mpare/Azure-vs-EC2, accessed April
28, 2011
Amazon EC2
EC2 provides MySQL, a full database,
which is not as expensive as the SQL
Instances purchased from one to three are
available from EC2, which can save 37% to
50% if used for the entire period purchased.
Amazon EC2 Cloud Computing Provider
has a Proprietary license with a $8.50 per
hour base price. It guarantees 99.95%
uptime and 1.7GB RAM, 160GB local
storage, 1 EC2 Compute Unit.
This information is taken from http://cloudcomputing.findthebest.com/saved_compare
/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-vsEC2, accessed April 2012, n.d.
21
Table 4.3. Security Feature Table
FEATURES
Advanced Firewall
Critical Data Privacy
Customer/Secure
Permissions
Data Protection
Persistenc
MS Azure
Amazon EC2
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. EC2s biggest strength: its conceptually simple. Anyone whos ever used any VM
software is going to be able to grasp what it does immediately. Theres no learning
curve, just instant gratification [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 loadbalancing 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 costssavings, 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 halfsavings that they can pass on to customers [21].
24
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
MICROSOFT, How to authenticate web users with Windows Azure access control
service. Microsoft, https://www.windowsazure.com/en-us/develop/net/how-toguides/access-control/, accessed April 2012, n.d.
[12]
[13]
25
[14]
[15]
[16]
[17]
[18]
FIND THE BEST, Base plan details. Find the Best, http://cloudcomputing.findthebest.com/saved_compare/Azure-vs-EC2, accessed April 2012, n.d.
[19]
[20]
[21]
MICROSOFT, Video publisher chooses Windows Azure over Amazon EC2 for costeffective scalability. Microsoft, http://www.microsoft.com/casestudies/WindowsAzure/Sagastream/Video-Publisher-Chooses-Windows-Azure-over-Amazon-EC2for-Cost-Effective-Scalability/4000008030, accessed April 2012, August 2010.