In: Computer Science
Research Amazon EC2, Google App Engine, and Microsoft Azure.
Write a detailed comparison. Focus on the following 9 comparative points:
Hi there!
Please up vote if you find this solution helpful.
AWS
Clearly the cloud platform that has gotten the most attention is Amazon Web Services, which is a collection of a variety of tools, mostly at a very low level. The one that gets the most attention is called the Amazon Elastic Computer Cloud (EC2), a web service that lets you assign your application to as many "compute units" as you would like, whenever you need them. To give you an idea, a single default instance includes 1 "virtual core," 1.7 GB of memory, and 160 GB of instance storage (which is storage that is used only for that session) for 10 cents an hour. On top of this, you might want to use the company's "simple storage solution" (S3), which costs 15 cents per GB per month for the first 50 terabytes of data, and goes down from there, plus charges for certain transactions. You might also want to use the company's "Simple DB" database, or its queue for storing messages, which have additional charges.
The Amazon platform's basic advantage is simple: you can just use the amount of storage you want, when you want it.
Google's App Engine
Google's App Engine is newer. It is still in a free beta stage, and the tools so far are a bit more restrictive. As I understand it, where Amazon gives you a virtual machine you can install pretty much any software on, Google pretty much gives you a fixed environment, based around the Python language, the Django development framework, Google's BigTable database/storage system and Google File System (GFS). For now, developers get 500 MB of storage and compute power for up to about 5 million pageviews per month for free, and the company has announced pricing for more active sites. For instance, the company says developers should expect to pay 10 to 12 cents per CPU core-hour.
Because this has been built so closely around Google's own operating environment, it should be relatively easy for developers who know those frameworks to get started. But some developers have shied away from it because it seems more restrictive than Amazon's solutions.
Microsoft's Azure
Like Amazon Web Services, Azure actually consists of a variety of different services on top of a common platform. The .NET services are the ones getting the most attention now, because that is how developers would write for the platform initially. Indeed, from the sessions I attended, it looks like taking applications written for the .NET framework and developed in Visual Studio can be moved to "the cloud" relatively easily.
One big difference with Azure is that while Microsoft intends to offer its own hosted Azure services, the platform is designed to be able to run on local computers or corporate servers as well. This should make it easier to test the application, but also to allow corporate applications to be run within a company's network as well as outside.
ABSTRACT
In today Internet has grown to be persistent in daily livelihood furthermore Cloud computing is a rising model where computing resources offered over the Internet as scalable, on-demand (Web) services. An association deploy internet service needs to use enormous amounts of money on infrastructure needs to serve feasible users which is not a problem for large venture but when it comes to Small and Medium Enterprises or Enterprises affordability becomes a huge factor with the huge infrastructure come problems like machines failure, hard drive noises, software bugs, etc. Here might be a big problem for such a community. Cloud Computing is the ultimate solution to this problem. Rather than buying, installing and operating its own systems, an organization can rely on a cloud provider to do this for them. Cloud Computing key market leaders like Google, Amazon and Microsoft etc, these providers introduce new operating and business models that allow customers to pay for the resources they completely use, instead of making tremendous upfront investments. The purpose of this paper is to analyze most popular platforms, The Google App Engine, Amazon Web Services, and Windows Azure Platform.
INTRODUCTION TO CLOUD SERVICE PROVIDERS
The world of cloud computing [1] is constantly developing, with new concepts and technologies being created at a rapid pace. Established and new service providers each offer different cloud solutions intended for different categories of customers, i.e. SaaS applications for individual users or IaaS services for enterprises. Diversity creates competition. The multitude of available cloud solutions and cloud services providers accelerates the rate at which cloud computing services are evolving, feature wise. Furthermore, increased competition causes the services to become less expensive, leading to increased benefits for the customers. Despite targeting different customer types and utilizing different technologies, cloud service providers have one common goal: to offer stable, secure and scalable cloud computing that facilitate application development and reduce the costs of managing a local environment. Examples of major cloud computing service providers include Amazon, Google and Microsoft.
GOOGLE APP ENGINE
Google App Engine [7] is a Platform as a Service (PaaS) and it is Google’s internal infrastructure exposed as a cloud platform. It stands quite different from the rest of the cloud platforms, with many unique attributes it allows hosting of web applications in Google managed data centers applications are executed virtually across multiple servers and data centers the architecture of GAE is very complex; it spawns over a million of servers which are distributed geographically across the globe. Google App Engine is a way to write your web applications and host them on Google's servers. This allows developers to create their web applications on the same scalable system that powers Google apps [8]. It focuses on two things, for example, easy to start (a good idea to run it live on the web) and easy to format (once the traffic is significant, for example, millions of users, your infrastructure can support this more massive load). App creation and maintenance using App Engine is simple. It is also scalable when traffic and data storage requirements increase. With App Engine app, there are not even servers to manage, you have to load the application, and Google provides the rest. You can use the app from your domain name using Google Apps or by using a free title on the appspot.com domain. The Google app offers several security features to keep your data secure and controlled by the developer. Scanning applications can be shared with the world or restricted to members of an organization. It also serves its users with exceptionally secure data centers. With App Engine, developers only have to pay for what they use. For starters, there are no installation costs or recurring costs. Sources used by applications such as storage space, bandwidth, etc. They measured from gigabytes and billing is done at competitive rates. Because the developer is the one who organizes the maximum resources that an application can consume remains within budget. In other words, App Engine does not cost anything to start. The goal of App Engine creation is to improve web presence by enabling some new developers to create Web applications for the Web. As a result of opening the application engine to the public, some brilliant developers will be able to monitor, test, search, troubleshoot, suggest corrections, and improvements. And even if other companies enter the cloud application market, they will play higher.
Services offered by Google App Engine
*GOOGLE DOCS: One can create, edit or view awesome presentations, documents and spreadsheets. It also allows team members to work on the same document simultaneously. CALENDAR: Calendar sharing provides an easy way to find time with the people you are working with, it also has a smart scheduling feature which suggests meeting times that suits everyone
*GOOGLE DRIVE: Using this application, you have an access to the up to date version of your files from anywhere. E.g. PC’s, Mac, Phones. There are many more Google apps such as Google Voice, Google Now, Google Reader, Ad Sense, Ad Words, Google Maps, and You Tube etc
AMAZON WEB SERVICES
Amazon’s cloud computing known as Amazon Web Services (AWS) [3] is a pioneer in cloud computing. AWS is a full-featured cloud platform with web services which span the IT infrastructure for example, servers, storage, databases, messaging, load balancing, content distribution, and distributed computing. The Amazon Web Services benefits of low costs, elasticity, and reliability can help organizations of all sizes – from the smallest startup to the largest enterprise. The Architecture of the Amazon web service is mainly composed of four components namely Amazon Elastic Compute Cloud (EC2), Amazon Simple Storage Service (S3), Amazon Simple DB and Amazon Simple Queue Service (SQS). Some other value added service components also available that perform plugins enhancing attribute and functions. Amazon EC2 [3] introduces a new paradigm for web hosting. By allowing developers to scale their number of machines up or down within minutes, it offers the capability to create distributed and scalable applications that run in the cloud. EC2 is flexible, reliable, secure, and most importantly cheap! By only paying for the resources that you actually use, you can bring your multi-server application to market much cheaper than ever before, and maintain an extremely high level of quality and availability. Amazon S3 [4] is storage for the Internet. It is designed to make web-scale computing easier for developers. Amazon S3 provides a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. It gives any developer access to the same highly scalable, reliable, fast, inexpensive data storage infrastructure that Amazon uses to run its own global network of web sites. The service aims to maximize benefits of scale and to pass those benefits on to developers.
Services offered by Amazon AWS
*Amazon Simple Queue Service (SQS) It provides highly scalable and available message passing channel between cloud computing components. For example if the application is divided into 2 processes running in two Amazon EC2 instances and the second process needs a result from the first process, the Amazon SQS can receive the message from the first, store it until the second ready to receive and forward the message to the second reliably. Using this queue offers higher scalability and availability then passing the message directly [6]. This is because the first does not have to wait for the second to retrieve the message and the second can still receive the message through the first may be unavailable.
WINDOWS AZURE
MWA [4] represents Microsoft’s solution for cloud computing services. Launched in 2010, it is a platform which essentially provides the resources for running applications and storing data. However, through the MWA platform, Microsoft provides more than compute and storage services to customers. Unlike the solutions provided by Microsoft’s competitors that offer either raw resources or very limited development tools, the MWA platform provides a more managed experience. The services and tools provided by MWA are designed to assist developers in developing easily scalable and easily manageable applications. The services and support offered by MWA are suitable for developing a wide range of applications, including SaaS or enterprise applications. MWA adopts both IaaS and PaaS models. It is a collection of cloud services that provide for developers means for building highly scalable applications. It consists of five main parts: Compute, Storage, Content Delivery Network (CDN), SQL Azure and the base fabric to hold everything together across a heterogeneous network.
*Compute Service : The compute part of the Windows Azure platform [5] is responsible for providing CPU cycles for executing applications. Applications are hosted inside virtualized environments to prevent any physical dependencies on the underlying operating system and hardware. Loose coupling of applications is accomplished through virtualized resources, which include local files, persistent storage (structured and unstructured, and diagnostic and instrumentation resources. The hosting environment is implemented as a virtual machine, thus any application failures won’t impact other applications running on the same physical hardware.
SQL Azure |: SQL Azure [6] is a cloud-based service from Microsoft offering data storage capabilities similar to Amazon S3.Unlike similar cloud-based databases, SQL Azure allows relational queries to be made against stored data, which can either be structured or semi-structured, or even unstructured documents, user can connect to SQL Azure in a variety of ways, such as ADO.NET, PHP, and Open Database Connectivity (ODBC). SQL Azure features querying data, search, data analysis and data synchronization. SQL Azure uses Microsoft SQL Server as a backend, but it exposes only a subset of the data types — including string, numeric, date and Boolean. It uses an XML-based format for data transfer. Like Microsoft SQL Server, SQL Azure uses T-SQL as the query language and Tabular Data Stream (TDS) as the protocol to access the service over internet. It does not provide a REST based API to access the service over HTTP. SQL Azure is available in three database sizes: 1 GB, 10 GB, and 50 GB. Your bill is based on the size of the database, not on the amount of information you actually store Windows Azure Fabric Controller.
*THE AZURE FABRIC CONTROLLER (FC) : FC is the part of the Windows Azure platform that monitors and manages servers and coordinates resources for software applications. The Azure Fabric Controller functions as the kernel of the Azure operating system. It provisions, stores, delivers, monitors and commands the virtual machines (VMs) and physical servers that make up Azure. The generic term fabric is a synonym for framework. Microsoft uses it in a proprietary manner to describe the servers, high-speed connections, load balancers and switches that make up the Azure cloud computing platform. The term fabric controller can generally be applied to any component that manages complex connections, but such components are often called by proprietary names.
COMPARISON OF CLOUD SERVICE PROVIDERS
Different cloud service providers have different features in order to understand key features below table describes key features among Google App Engine, Amazon AWS and Windows Azure.
CONCLUSION
In this paper discussed different cloud service provider’s components and comparisons between these providers, each cloud provider has distinct features like platform support, language support, DB support, Auto scaling, load balance and Fault tolerance, due to the feasibility in this paper explained with few components and to this paper extension practical implementation of Microsoft windows azure.
So looking at these three players, you see each of them playing to their strengths. Amazon was early in the market, and has leveraged Internet standards and open source platforms to create a very flexible platform. Google is leveraging the work it has done with big databases and its internal development methods to create a powerful but more restrictive environment. And Microsoft is leveraging its traditional strength with developers and the breadth of its tools to create perhaps the largest array of services. Over time, my guess is that we'll see all of them start to converge - presaged perhaps by Amazon's introduction of Windows Server instances.
Thank you!
Please vote for this solution.