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



Similar documents
International Journal of Advanced Networking Applications (IJANA) ISSN No. :

Cloud Computing and Amazon Web Services

Amazon EC2 Product Details Page 1 of 5

Cloud Computing. Adam Barker

Architectural Implications of Cloud Computing

Assignment # 1 (Cloud Computing Security)

Cloud Models and Platforms

CUMULUX WHICH CLOUD PLATFORM IS RIGHT FOR YOU? COMPARING CLOUD PLATFORMS. Review Business and Technology Series

Cloud Computing: Making the right choices

An Esri White Paper January 2011 Estimating the Cost of a GIS in the Amazon Cloud

Estimating the Cost of a GIS in the Amazon Cloud. An Esri White Paper August 2012

Scaling in the Cloud with AWS. By: Eli White (CTO & mojolive) eliw.com - mojolive.com

Research Paper Available online at: A COMPARATIVE STUDY OF CLOUD COMPUTING SERVICE PROVIDERS

Last time. Today. IaaS Providers. Amazon Web Services, overview

Platforms in the Cloud

White Paper on CLOUD COMPUTING

High Performance Computing Cloud Computing. Dr. Rami YARED

Demystifying the Cloud Computing

Cloud Platforms in the Enterprise

Amazon Web Services Primer. William Strickland COP 6938 Fall 2012 University of Central Florida

E-Business Technology

WINDOWS AZURE EXECUTION MODELS

What is Cloud Computing? Why call it Cloud Computing?

Emerging Technology for the Next Decade

Relocating Windows Server 2003 Workloads

Introduction to Cloud Computing

DISTRIBUTED SYSTEMS [COMP9243] Lecture 9a: Cloud Computing WHAT IS CLOUD COMPUTING? 2

DISTRIBUTED SYSTEMS AND CLOUD COMPUTING. A Comparative Study

Outline. What is cloud computing? History Cloud service models Cloud deployment forms Advantages/disadvantages

Amazon Cloud Storage Options

Oracle Applications and Cloud Computing - Future Direction

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity

How AWS Pricing Works

Shadi Khalifa Database Systems Laboratory (DSL)

ADOPTING MICROSOFT AZURE

Using Cloud Services for Test Environments A case study of the use of Amazon EC2

The Cloud at Crawford. Evaluating the pros and cons of cloud computing and its use in claims management

Cloud computing - Architecting in the cloud

Chapter 19 Cloud Computing for Multimedia Services

Storing and Processing Sensor Networks Data in Public Clouds

WINDOWS AZURE AND ISVS

An Introduction to Cloud Computing Concepts

Data Centers and Cloud Computing

DLT Solutions and Amazon Web Services

How AWS Pricing Works May 2015

A Web Base Information System Using Cloud Computing

Cloud Computing For Bioinformatics

How To Understand Cloud Computing

Datacenters and Cloud Computing. Jia Rao Assistant Professor in CS


GIS IN THE CLOUD THE ESRI EXAMPLE DAVID CHAPPELL SEPTEMBER 2010 SPONSORED BY ESRI

Cloud Computing Service Models, Types of Clouds and their Architectures, Challenges.

Part V Applications. What is cloud computing? SaaS has been around for awhile. Cloud Computing: General concepts

Cloud Computing Trends

INTRODUCTION TO CLOUD COMPUTING CEN483 PARALLEL AND DISTRIBUTED SYSTEMS

How To Use Arcgis For Free On A Gdb (For A Gis Server) For A Small Business

Public Clouds. Krishnan Subramanian Analyst & Researcher Krishworld.com. A whitepaper sponsored by Trend Micro Inc.

Technical Writing - Definition of Cloud A Rational Perspective

Public Cloud Offerings and Private Cloud Options. Week 2 Lecture 4. M. Ali Babar

Windows Azure Platform

HIGH-SPEED BRIDGE TO CLOUD STORAGE

Lecture 02a Cloud Computing I

WINDOWS AZURE DATA MANAGEMENT AND BUSINESS ANALYTICS

WINDOWS AZURE DATA MANAGEMENT

High Performance Applications over the Cloud: Gains and Losses

Cloud Computing and Amazon Web Services. CJUG March, 2009 Tom Malaher

SURFsara HPC Cloud Workshop

Cloud Service Model. Selecting a cloud service model. Different cloud service models within the enterprise

T-Check in System-of-Systems Technologies: Cloud Computing

SURFsara HPC Cloud Workshop

Cloud Computing Is In Your Future

Cloud Computing. Technologies and Types

Cloud computing an insight

Harnessing the Power of the Microsoft Cloud for Deep Data Analytics

Web Application Hosting Cloud Architecture

OTM in the Cloud. Ryan Haney

Amazon Web Services Yu Xiao

CHAPTER 8 CLOUD COMPUTING

Amazon AWS in.net. Presented by: Scott Reed

IBM Platform Computing Cloud Service Ready to use Platform LSF & Symphony clusters in the SoftLayer cloud

Cloud Computing an introduction

Cloud Computing. Alex Crawford Ben Johnstone

APP DEVELOPMENT ON THE CLOUD MADE EASY WITH PAAS

Mark Bennett. Search and the Virtual Machine

Overview. The Cloud. Characteristics and usage of the cloud Realities and risks of the cloud

Sistemi Operativi e Reti. Cloud Computing

CLOUD COMPUTING An Overview

Security Issues In Cloud Computing And Their Solutions

Tamanna Roy Rayat & Bahra Institute of Engineering & Technology, Punjab, India talk2tamanna@gmail.com

Data Centers and Cloud Computing. Data Centers

Using ArcGIS for Server in the Amazon Cloud

Cloud computing: the state of the art and challenges. Jānis Kampars Riga Technical University

Cloud Computing: A Brief Summary. Lucid Communications Limited Prepared by Neil Turner September 2009

Where Will Your Next Application Run? Abel B. Cruz WA Technology Strategist Microsoft Corporation

Développement logiciel pour le Cloud (TLC)

Companies are moving more and more IT services and

Cloud Computing. Chapter 1 Introducing Cloud Computing

WINDOWS AZURE AND WINDOWS HPC SERVER

Transcription:

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 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. 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) 4

5 Figure 2.2. Cloud service models. Source: RESEARCHER S BLOG, Cost benefits of cloud computing. Researcher s Blog, http://cleanclouds.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

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

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

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/enus/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/enus/develop/net/fundamentals/intro-to-windowsazure/#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/enus/develop/net/fundamentals/intro-to-windowsazure/#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).

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

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

16 Figure 3.5. Components of Amazon EC2. Source: S. ANAND, Understanding Amazon Web Services (AWS). OracleApps Epicenter, http://www.oracleappshub.com/emerging-technologies/understandingamazon-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].

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

Table 4.1. Differences between MS Azure and Amazon EC2 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. 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. 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. 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://cloudcomputing.findthebest.com/saved_co mpare/azure-vs-ec2, accessed April 28, 2012 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. 19 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-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 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://cloudcomputing.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://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-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 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 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.divaportal.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-windowsazure/#cloud, accessed April 2012, n.d. [9] MICROSOFT, SQL Azure. Microsoft, https://www.windowsazure.com/enus/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-toguides/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-webservices-aws/, accessed April 2012, December 2010.

[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-amazonec2, accessed April 2012, n.d. [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] LEARNING TREE, Amazon EC2 or Microsoft Windows Azure. Learning Tree, http://cloud-computing.learningtree.com/2011/03/30/amazon-ec2-or-microsoftwindows-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 costeffective 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. 25