• No results found

CLOUD COMPUTING TECHNOLOGIES OVERVIEW AND COMPARISON MICROSOFT AZURE VS AMAZON EC2. A Thesis. Presented to the. Faculty of. San Diego State University

N/A
N/A
Protected

Academic year: 2021

Share "CLOUD COMPUTING TECHNOLOGIES OVERVIEW AND COMPARISON MICROSOFT AZURE VS AMAZON EC2. A Thesis. Presented to the. Faculty of. San Diego State University"

Copied!
35
0
0

Loading.... (view fulltext now)

Full text

(1)

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

(2)
(3)

Copyright © 2012 by

Saurabh Gupta All Rights Reserved

(4)

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.

(5)

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.

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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.

(11)

CHAPTER 1

INTRODUCTION AND BACKGROUND

1.1

I

NTRODUCTION

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

P

URPOSE OF

R

ESEARCH

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.

(12)

2

CHAPTER 2

THEORITICAL BASELINES

2.1

D

EFINITION

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.

(13)

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.

(14)

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

C

LOUD

S

ERVICE

M

ODELS

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)

(15)

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

T

OP

10

C

LOUD

C

OMPUTING

P

ROVIDERS OF

2012

B

ASED ON

C

LOUD

S

ERVICE

M

ODELS 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

(16)

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

D

RIVERS FOR

A

DOPTION OF

C

LOUD

C

OMPUTING

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.

(17)

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

B

ARRIERS TO THE

A

DOPTION OF

C

LOUD

C

OMPUTING

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

C

LOUD

S

ECURITY

I

SSUES AND

R

ELATED

W

ORKS

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

(18)

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.

(19)

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].

(20)

10

CHAPTER 3

WINDOWS AZURE AND AMAZON EC2

COMPONENTS

3.1

U

NDERSTANDING

W

INDOWS

A

ZURE

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

C

OMPONENTS OF

W

INDOWS

A

ZURE

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].

(21)

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.

(22)

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

A

ZURE

• 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

(23)

• 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

T

ABLES

• 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

B

LOBS

• 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:

(24)

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,

(25)

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

C

OMPONENTS OF

A

MAZON

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

(26)

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].

(27)

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].

(28)

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

S

IMILARITIES BETWEEN

MS

A

ZURE AND

A

MAZON

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

D

IFFERENCES BETWEEN

MS

A

ZURE AND

A

MAZON

EC2

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

4.3

P

RICE

C

OMPARISON BETWEEN

MS

A

ZURE AND

A

MAZON

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

(29)

S.No. Microsoft Azure Amazon EC2 1. 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.

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.

2. 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.

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.

3. 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.

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.

4. 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://cloud-computing.findthebest.com/saved_co mpare/Azure-vs-EC2, accessed April 28, 2012

Base Plan Details:- 1.7GB RAM, 160 GB locat storage , 1 EC2 Compute Unit. This data is abstracted from http://cloud-computing.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-vs-EC2, accessed April 2012, n.d.

(30)

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 database pricing.

EC2 provides MySQL, a full database, which is not as expensive as the SQL 2. Azure does offer a package available

for a monthly fee, resulting in a 50% savings off the regular prices.

Instances purchased from one to three are available from EC2, which can save 37% to 50% if used for the entire period purchased. 3. 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://cloud-computing.findthebest.com/saved_co mpare/Azure-vs-EC2, accessed April 28, 2011

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://cloud-computing.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-vs-EC2, accessed April 2012, n.d.

4.4

S

ECURITY

F

EATURES

C

OMPARISON

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

A

DVANTAGES OF

A

MAZON

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].

(31)

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

A

DVANTAGES OF

M

ICROSOFT

W

INDOWS

A

ZURE

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].

(32)

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.

(33)

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].

(34)

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.

(35)

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.

References

Related documents