Professional Documents
Culture Documents
_______________
A Thesis
Presented to the
Faculty of
_______________
In Partial Fulfillment
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
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
LIST OF TABLES
PAGE
LIST OF FIGURES
PAGE
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
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].
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 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.
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]
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].
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].
CHAPTER 3
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].
• 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
• 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.
CHAPTER 4
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].
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.
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].
CHAPTER 5
CONCLUSION
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