MINISTRY OF EDUCATION AND TRAINING
DUY TAN UNIVERSITY
NGO DINH CUONG
PRIVATE CLOUD COMPUTING AND
AMAZON WEB SERVICES
MASTER THESIS OF COMPUTER SCIENCE
Danang, 2019
1
MINISTRY OF EDUCATION AND TRAINING
DUY TAN UNIVERSITY
NGO DINH CUONG
PRIVATE CLOUD COMPUTING AND
AMAZON WEB SERVICES
Major: Computer science
Major Code: 8480101
MASTER THESIS OF COMPUTER SCIENCE
Supervisor: Dr. ANAND NAYYAR
Danang, 2019
ACKNOWLEDGEMENT
I would like to express my special thanks of gratitude to my mentor, Dr Anand
Nayyar as well as Computer Science Faculty, gave me the golden opportunity to do this
wonderful project on the topic ”Private Cloud Computing and Amazon Web Services”,
which also helped me in doing a lot of Research and i came to know about so many new
things I am really thankful to them.
Ngo Dinh Cuong
1
Table of Contents
INTRODUCTION
12
CHAPTER 1: INTRODUCTION TO CLOUD COMPUTING AND STORAGE AS
A SERVICE (STaaS)
16
1.1 Definition of Cloud Computing
16
1.1.1 Evolution and History of Cloud Computing
16
1.1.2 Essential Characteristics of Cloud Computing
18
1.1.3 Requirements for Cloud Services
19
1.1.4 Pros and Cons of Cloud Computing
21
1.1.5 Cloud Ecosystem
23
1.1.6 Cloud Service Providers
23
1.2 Deployment Models
27
1.2.1 Public Cloud
27
1.2.2 Private Cloud
28
1.2.3 Hybrid Cloud
29
1.2.4 Community Cloud
30
1.3 Service Models
30
1.3.1 Software as a Service (SaaS)
30
1.3.2 Platform as a Service (PaaS)
32
1.3.3 Infrastructure as a Service (IaaS)
34
1.3.4 Data as a Service (DaaS)
36
1.4 Introduction to Storage as a Service
38
1.4.1 Storage cloud
38
1.4.2 Storage as a Service
39
1.4.3 Forms of STaaS
40
1.4.4 Benefits of Storage as a Service
41
CHAPTER 2: AMAZON WEB SERVICES
43
2.1 Introduction to Amazon Web Services
43
2.1.1 AWS Infrastructure
43
2.1.2 Exploring AWS services
45
2.1.3 AWS Ecosystem
46
2.1.4 Benefits of AWS
47
2.2 Technologies surrounding Amazon Web Services
48
2.2.1 Amazon Elastic Cloud Compute (EC2)
48
2.2.2 Amazon Simple Storage Service (S3)
51
2.2.3 AWS Lambda (Serverless Compute)
54
2.2.4 AWS DynamoDB
55
2.2.5 AWS API Gateway
56
CHAPTER 3: IMPLEMENTATION AND ANALYSIS
59
3.1 Building a Private Cloud as Storage Cloud with ownCloud
59
3.1.1 AZWebPlus Case Study
59
3.1.2 ownCloud Architecture
59
3.2 Implementing a Serverless Web Application on AWS
64
3.2.1 Overview
64
3.2.2 Application Architecture
64
3.2.3 Setting up static web hosting
65
3.2.4 Managing user with Amazon Cognito
67
3.2.5 Serverless Service Backend with AWS Lambda
69
3.2.6 RESTful APIs
70
3.3 Results and Analysis
71
3.3.1 Total cost of owning private cloud
71
3.3.2 AWS Serverless without considering about servers
74
CONCLUSION
85
Research summary
85
Limitation
86
Future work
86
REFERENCES
87
A. Books
87
B. Research Papers
87
C. Online Websites
88
List of Figures
Figur
Name
Page
e
1.1
Software as a Service
31
1.2
PaaS Architecture
33
1.3
Summary of Key differences
35
1.4
Benefits of DaaS
37
1.5
Storage as a Service
38
1.6
Cloud Storage
39
2.1
Popular AWS services
45
2.2
AWS Gateway Architecture
56
3.1
Storage Cloud
60
3.2
ownCloud has a single interface from which users can access,
62
sync and share files on any device, anytime, from anywhere
3.3
ownCloud home page
63
3.4
Uploading file to ownCloud
63
3.5
Managing users and group
64
3.6
Serverless Application Architecture
65
3.7
Setting static website hosting by S3
66
3.8
Accessing website by S3 endpoint
67
3.9
Cognito user pool stores user’s info
67
3.10
Verification code is sent by Amazon
68
3.11
Auth Token Key is generated by Amazon Cognito
68
3.12
Demo Application
69
3.13
Data is stored in DynamoDB
70
3.14
RESTful API is set by API Gateway
71
3.15
Cost Comparison of Commercial Cloud providers and ownCloud
73
3.16
Lambda Configuration
75
3.17
Lambda Online editor
75
3.18
Setting test event in Lambda
76
3.19
Lambda combining CloudWatch stores logs
76
3.20
Storing source code in Amazon S3
77
3.21
Amazon S3 Properties
77
3.22
Setting server access logging in S3
78
3.23
Logging directory in S3
78
3.24
Logging detail by Json format
79
3.25
Monitoring Read/Write Capacity
80
3.26
DynamoDB metrics
80
3.27
API Gateway integrated with Lambda function
81
3.28
Published URL by API Gateway
81
3.29
API Gateway controls access by Amazon Cognito
82
3.30
Managing users and groups
82
3.31
General setting
83
3.32
Password policy by Cognito
83
3.33
Setting app client
84
List of Tables
Figur
Name
Page
e
1.1
Software as a Service
79
1.2
PaaS Architecture
79
GLOSSARY
Amazon Web Services
A subsidiary of Amazon that
(AWS)
computing platforms to
provides on-demand cloud
individuals,
companies
and
governments, on a metered pay-as-you-go basis.
Application
A set of subroutine definitions, communication protocols,
Programming
and tools for building software. In general terms, it is a set
Interface (API)
of clearly defined methods of communication among
various components.
Community Cloud
A collaborative effort in which infrastructure is shared
between several organizations from a specific community
whether managed internally or by a third-party and hosted
internally or externally
Cloud Computing
The demand availability of computer system resources,
especially data storage and computing power, without
direct active management by the user.
Cloud Storage
A model of computer data storage in which the digital
data is stored in logical pools.
Data as a Service (DaaS)
An information provision and distribution model in which
data files (including text, images, sounds, and videos) are
made available to customers over a network, typically the
Internet.
Hybrid Cloud
Refers to the cloud infrastructure environment that is a mix
of public and private cloud solutions.
Infrastructure as a
Online
Service (IaaS)
to dereference various low-level details of underlying
services
that
provide
high-level APIs used
network infrastructure like physical computing resources,
location, data partitioning, scaling, security, backup etc.
NoSQL
Provides a mechanism for storage and retrieval of data
that is modeled in means other than the tabular relations
used in relational databases.
Platform as a
Provides a platform allowing customers to develop, run,
Service (PaaS)
and manage applications without the complexity of
building and maintaining the infrastructure typically
associated with developing and launching an app.
Private Cloud
Refers to the cloud solution dedicated for use by a single
organization.
Public Cloud
Refers to the cloud computing model with which the IT
services are delivered across the Internet.
RESTful API
An
application
program
interface
(API)
that
uses HTTP requests to GET, PUT, POST and DELETE
data.
Serverless Compute
A misnomer referring
to
a cloud-computing execution
model in which the cloud provider runs the server, and
dynamically manages the allocation of machine resources.
Software as a
A
Service (SaaS)
which software is licensed on a subscription basis and is
software licensing and delivery model
centrally hosted.
in
Structured Query
Domain-specific language used in programming and
Language
designed for managing data held in a relational database
management system, or for stream processing in
a relational data stream management system.
Virtualization
Refers to the act of creating a virtual (rather than actual)
version
of
something,
hardware platforms, storage
network resources
including
devices,
virtual computer
and computer
INTRODUCTION
1. RESEARCH BACKGROUND INFORMATION
Cloud computing has become one of the most vivid technologies in recent times and
has been attractive lots of attention from media as well as analysts because of the
opportunities it is offering. In fact, cloud computing is transforming the computing
landscape, will change the way to deploy technology and how it affects on the economics
of computing.
Cloud computing is more than a service sitting in some remote data center. It’s a set
of approaches that can help organizations quickly, effectively add and subtract resources
in almost real time. Unlike other approaches, the cloud is as much about the business model
as it is about technology. Companies clearly understand that technology is at the heart of
how they operate their businesses. Business executives have long been frustrated with the
complexities of getting their computing needs met quickly and cost effectively. In a sense,
cloud computing has started to become mainstream because these business executives have
forced the issue into the forefront.
It is a term used to describe both a platform and type of application. Many
companies have invested in Cloud computing technology by building their public clouds,
which include Amazon, Google and Microsoft. Amazon is a pioneer in cloud zone that
provides Amazon Web Services (AWS) is a secure cloud services platform, offering
compute power, database storage, content delivery and other functionality to help
businesses scale and grow (Golden, 2013). Explore how millions of customers are currently
leveraging AWS cloud products and solutions to build sophisticated applications with
increased flexibility, scalability and reliability. Amazon Elastic Compute Cloud (Amazon
EC2) is one of AWS products, being a web service that provides secure, resizable compute
capacity in the cloud. It is designed to make web-scale cloud computing easier for
developers.
As many software companies are running private cloud computing and Amazon
Serverless Compute in the progress of software development as implementing application
testing and product demo. This trend leads this paper aims to analyze the affect and effect
of Private cloud computing and Amazon Web Services
2. OBJECTIVES
The main research objective of this thesis is to “researching, implementing and
managing an application on private cloud and Amazon Web Services”. The private cloud
support organizations set up testing environment before the products are deployed on
Amazon Web Services. In order to meet this research objective, the thesis focuses on
discussing the follow specifications:
● In-depth analysis with regard to Pros and Cons of Cloud Computing and
highlighting and researching the technologies associated with trends.
● Analysis of existing SaaS technology such as ownCloud and other private server
technologies.
● Study and Analysis with regard to Storage cloud solutions based on private cloud
addressing the financial problems of organizations.
● Implementing a novel SaaS private cloud solution by utilizing and implementing
Amazon Serverless Compute technology.
The following research questions are formulated to set the boundaries and guide the
research towards the achievement of the research objective.
Research Question 1: What is the importance of private cloud?
Research Question 2: What exactly is Amazon Web Services based products?
Research Question 3: How to implement software application on private cloud and
Amazon Web Services?
Research Question 4: What are the associated benefits and drawbacks with regard
to utilization of Amazon Web Services based Amazon Web Compute product?
3. RESEARCH OBJECTS AND SCOPE
a. Research Objects
The thesis will concentrate on these main points in examing and analyzing that
prove the role of cloud computing has impacted on information and communication
industry:
● Evolution and history of Cloud Computing;
● Private Cloud Computing;
● Storage Cloud based on STaaS Technology;
● Amazon Web Services products: Amazon Lambda, Amazon Simple Storage
Service (S3) and Amazon DynamoDB.
b. Scope
Regarding the research objects, author conducts applications using below technologies:
● Implementing Storage Cloud on Virtual Machines
● Applying RESTful API by using AWS API Gateway, Cognito, Lambda
● Setting SQL and NoSQL Database corresponds to Private Cloud and Serverless
Compute
4. RESEARCH METHODOLOGY
With the purpose of supporting information science researches, The Design Science
Research Methodology (DSRM) is one of the most widely adopted methodologies. DSRM
covers 6 activities including:
Identify problem and motivate: The research problem is defined together with
the proposed solution. In the current project the problem identification and motivation is
given in Chapter 1 and 3.
Define objectives for a solution: The research objectives can be defined based
on the problem definition. In order to define the research objectives, it is necessary to be
knowledgeable on the current state of the field and the proposed solutions. The research
objective can be considered as quantitative since we aim to develop a new architectural
approach to accelerate the adoption of Cloud based solutions. Chapter 1 provides
background information about Cloud Computing and describing the essentials of Amazon
Web Services and its ecosystem.
Design and development: this activity is developed, by determining the
functionality and the structure of it. The design and development activity can be mapped
with Chapters 1 & 3 where the theoretical framework is applied in the design of Storage
Cloud and AWS serverless.
Demonstration: The case study is presented together with the design and
development of the artifact. These two activities are reported together to improve the
understanding of the artifact and facilitate the structuring of the document.
Evaluation: The proposed approach evaluated qualitatively for its suitability.
This requires comparison between the objectives of the research and with the resulting
approach from the demonstration activities.
Contribution: In this activity the identified problem and the proposed solution
in the form of a research publication, such as this master thesis. The project result will be
shared to Danang IT communities and IT groups on social networks.
5. THESIS STRUCTURE
This thesis covers these parts including:
● Chapter 1 - Introduction to Cloud computing: in-depth analysis of Cloud Computing
technology with regard to real-time implementation for smart solution.
● Chapter 2 - Amazon Web Services: analysis towards technologies in AWS
ecosystem.
● Chapter 3 - Implementation and Analysis: implementing Serverless Compute based
on Amazon Web Services and Private Cloud bases STaaS Solution.
CHAPTER 1: INTRODUCTION TO CLOUD COMPUTING AND
STORAGE AS A SERVICE (STaaS)
1.1 Definition of Cloud Computing
1.1.1 Evolution and History of Cloud Computing
Multiple users were capable of accessing a central computer through dumb
terminals, whose only function was to provide access to the mainframe. Because of the
costs to buy and maintain mainframe computers, it was not practical for an organization to
buy and maintain one for every employee. Nor did the typical user need the large (at the
time) storage capacity and processing power that a mainframe provided. Providing shared
access to a single resource was the solution that made economical sense for this
sophisticated piece of technology.
Using virtualization software like VMware, it became possible to execute one or
more operating systems simultaneously in an isolated environment. Complete computers
(virtual) could be executed inside one physical hardware which in turn can run a completely
different operating system. The VM operating system took the 1950s’ shared access
mainframe to the next level, permitting multiple distinct computing environments to reside
on one physical environment. Virtualization came to drive the technology, and was an
important catalyst in the communication and information evolution.
In the 1990s, telecommunications companies started offering virtualized private
network connections. Historically, telecommunications companies only offered single
dedicated point–to-point data connections (Hayes, 2008). The newly offered virtualized
private network connections had the same service quality as their dedicated services at a
reduced cost. Instead of building out physical infrastructure to allow for more users to have
their own connections, telecommunications companies were now able to provide users with
shared access to the same physical infrastructure.
The following list briefly explains the evolution of cloud computing:
● Grid computing: Solving large problems with parallel computing;
● Utility computing: Offering computing resources as a metered service;
● SaaS: Network-based subscriptions to applications;
● Cloud computing: Anytime, anywhere access to IT resources delivered
dynamically as a service.
Cloud computing is the next stage in evolution of the Internet (B Furht & A Escalante,
2010). The cloud in cloud computing provides the means through which everything from
computing power to computing infrastructure, applications, business processes to personal
collaboration that can be delivered as a service wherever and whenever users need. In the
traditional data center, it has always been possible to add and release resources. However,
this process could not be done in an automated or self-service manner. This evolution to
cloud computing can completely change the way companies use technology to service
customers, partners, and suppliers. Some businesses already have IT resources almost
entirely in the cloud. They feel that the cloud model provides a more efficient, costeffective IT service delivery.
The cloud itself is a set of hardware, networks, storage, services, and interfaces that
enable the delivery of computing as a service. Cloud services include the delivery of
software, infrastructure, and storage over the Internet (either as separate components or a
complete platform) based on user demand. Companies are finding some important new
value in cloud services. The cloud can eliminate many of the complex constraints from the
traditional computing environment, including space, time, power, and cost. Cloud services
like social networks (such as Facebook or LinkedIn) and collaboration tools (like video
conferencing, document management, and webinars) are changing the way people in
businesses access, deliver, and understand information. Cloud computing infrastructures
make it easier for companies to treat their computing systems as a pool of resources rather
than a set of independent environments that each has to be managed.
1.1.2 Essential Characteristics of Cloud Computing
The following basic characteristics explain that why cloud computing is becoming
highly important
Elasticity and scalability
The service provider cannot anticipate how customers will use the service. One
customer might use the service three times a year during peak selling seasons, whereas
another might use it as a primary development platform for all of its applications.
Therefore, the service needs to be available all the time (7 days a week, 24 hours a day)
and it has to be designed to scale upward for high periods of demand and downward for
lighter ones. Scalability also means that an application can scale when additional users are
added and when the application requirements change (Chandrasekaran ,2014).
Self-service provisioning
Customers can easily get cloud services without going through a lengthy process.
The customer simply requests an amount of computing, storage, software, process, or other
resources from the service provider [1]. While the on-demand provisioning capabilities of
cloud services eliminates many time delays, an organization still needs to do its homework.
Resource pooling
The provider’s computing resources are pooled to serve multiple consumers using
a multi-tenant model, with different physical and virtual resources dynamically assigned
and reassigned according to consumer demand [2]. There is a sense of location
independence in that the customer generally has no control or knowledge over the exact
location of the provided resources but may be able to specify location at a higher level of
abstraction (e.g., country, state, or datacenter). Examples of resources include storage,
processing, memory, and network bandwidth.
Application programming interfaces (APIs)
Cloud services need to have standardized APIs [4]. These interfaces provide the
instructions on how two application or data sources can communicate with each other. A
standardized interface lets the customer more easily link a cloud service, such as a customer
relationship management system with a financial accounts management system, without
having to resort to custom programming.
Performance monitoring and measuring
A cloud service provider includes a service management environment which is an
integrated approach for managing physical environments and IT systems (Rehman, 2018).
This environment must be able to maintain the required service level for that organization.
In other words, service management has to monitor and optimize the service or sets of
services. Service management has to consider key issues, such as performance of the
overall system, including security and performance. For example, an organization using an
internal or external email cloud service would require 99.999 percent uptime with
maximum security. The organization would expect the cloud provider to prove that it has
met its obligations. Many cloud service providers give customers a dashboard so they can
monitor the level of service they’re getting from their provider. In addition, many
customers use their own monitoring tools to determine whether their service level
requirements are being met.
1.1.3 Requirements for Cloud Services
The following are the basic requirements for anything that can be considered as a
service by the actors of the cloud computing ecosystem, which can be offered or
provisioned through the cloud:
● Multitenancy: Multitenancy is an essential characteristic of cloud systems
aiming to provide isolation of the different users of the cloud system (tenants) while
maximizing resource sharing (Buyya & Broberg & Goscinski, 2010). It is expected that
multitenancy be supported at various levels of a cloud infrastructure. As an example, at the
application level, multitenancy is a feature that allows a single instance of an application
(say, database system) and leverages the economy of scale to satisfy several users at the
same time.
● Service life cycle management: Cloud services are paid as per usage and can
be started and ended at any time. Therefore, it is required that a cloud service support
automatic service provisioning. In addition, metering and charging or billing settlement
needs to be provided for services that are dynamically created, modified, and then released
in virtual environments.
● Security: The security of each individual service needs to be protected in the
multitenant cloud environment; the users (tenants) also support the needed secured
services, meaning that a cloud provides strict control for tenants’ service access to different
resources to avoid the abuse of cloud resources and to facilitate the management of CSUs
by CSPs.
● Responsiveness: The cloud ecosystem is expected to enable early detection,
diagnosis, and fixing of service-related problems in order to help the customers use the
services faithfully.
● Intelligent service deployment: It is expected that the cloud enables efficient
use of resources in service deployment, that is, maximizing the number of deployed
services while minimizing the usage of resources and still respecting the SLAs [7]. For
example, the specific application characteristics (e.g., central processing unit [CPU]intensive, input/ output [IO]-intensive) that can be provided by developers or via
application monitoring may help CSPs in making efficient use of resources.
● Portability: It is expected that a cloud service supports the portability of its
features over various underlying resources and that CSPs should be able to accommodate
cloud workload portability (e.g., VM portability) with limited service disruption.
● Interoperability: It is expected to have available well-documented and well-
tested specifications that allow heterogeneous systems in cloud environments to work
together.
● Regulatory aspects: All applicable regulations shall be respected, including
privacy protection.
● Environmental sustainability: A key characteristic of cloud computing is the
capability to access, through a broad network and thin clients, on-demand shared pools of
configurable resources that can be rapidly provisioned and released. Cloud computing can
then be considered in its essence as an ICT energy consumption consolidation model,
supporting mainstream technologies aiming to optimize energy consumption (e.g., in data
centers) and application performance. Examples of such technologies include virtualization
and multitenancy.
● Service reliability, service availability, and quality assurance: CSUs demand
for their services end-to-end quality of service (QoS) assurance, high levels of reliability,
and continued availability to their CSPs.
● Service access: A cloud infrastructure is expected to provide CSUs with access
to cloud services from any user device. It is expected that CSUs have a consistent
experience when accessing cloud services.
● Flexibility: It is expected that the cloud service be capable of supporting
multiple cloud deployment models and cloud service categories.
● Accounting and charging: Its expected that a cloud service be capable to
support various accounting and charging models and policies.
1.1.4 Pros and Cons of Cloud Computing
Advantages
According to Mukherji and Srivastava, one of the attractions of cloud computing is
accessibility. If user’s applications and documents are in the cloud and are not saved on an
office server, then they can access and use it at anytime, anywhere. A consolidated set of
points briefing the benefits of cloud computing can be as follows:
● Achieve economies of scale: user can increase the volume output or
productivity with fewer systems and thereby reduce the cost per unit of a project or product.
● Reduce spending on technology infrastructure
● Globalize the workforce: People worldwide can access the cloud with Internet
connection.
● Streamline business processes: It is possible to get more work done in less time
with less resource.
● Reduce capital costs: There is no need to spend huge money on hardware,
software, or licensing fees.
● Pervasive accessibility: Data and applications can be accessed anytime,
anywhere, using any smart computing device, making our life so much easier.
● Monitor projects more effectively: It is possible to confine within budgetary
allocations and can be ahead of completion cycle times.
● Less personnel training is needed: It takes fewer people to do more work on a
cloud, with a minimal learning curve on hardware and soft-ware issues.
● Minimize maintenance and licensing software: As there is no too much of on-
premise computing resources, maintenance becomes simple and updates and renewals of
software systems rely on the cloud vendor or provider.
● Improved flexibility: It is possible to make fast changes in the work
environment without serious issues at stake.
Disadvantages
● Security and Privacy: There is a possibility that the data could be stolen or
viewed by unauthorized people. If the customer does not have full control, the risk
increases. After the client makes sure that a vendor takes security measures, they are to
consider the data transfer by using encryption technologies.
● Bandwidth limitations: If bandwidth is not as fast as the customer need, the
solution would be not suitable.
● Limited control and flexibility: To varying degrees (depending on the
particular service), cloud users may find they have less control over the function and
execution of services within cloud-hosted infrastructure. A cloud provider’s end-user
license agreement (EULA) and management policies might impose limits on what
customers can do with their deployments. Customers retain control of their applications,
data, and services, but may not have the same level of control over their backend
infrastructure.
● Vendor Lock-In: Differences between vendor platforms may create difficulties
in migrating from one cloud platform to another, which could equate to additional costs
and configuration complexities. Gaps or compromises made during a migration could also
expose data to additional security and privacy vulnerabilities.
1.1.5 Cloud Ecosystem
Cloud ecosystem is a term used to describe the complete environment or system of
interdependent components or entities that work together to enable and support the cloud
services. The cloud ecosystem of interacting components and organizations with
individuals, together known as the actors who could be responsible for either providing or
consuming cloud services, can be categorized in the following manner:
● Cloud service users (CSUs): A consumer (an individual/person), enterprise
(including enterprise administrator), and/or government/public institution or organization
that consumes delivered cloud services; a CSU can include intermediate users that will
deliver cloud services provided by a cloud service provider (CSP) to actual users of the
cloud service, that is, end users. End users can be persons, machines, or applications.
● CSPs: An organization that provides or delivers and maintains or manages cloud
services, that is, provider of SaaS, PaaS, IaaS, or any allied computing infrastructure.
Cloud service partners (CSNs): A person or organization (e.g., application developer;
content, software, hardware, and/or equipment provider; system integrator; and/or auditor)
that provides support to the building of a service offered by a CSP (e.g., service
integration).
1.1.6 Cloud Service Providers
There are three big commercial providers:
Google Cloud Platform enables developers to build, test, and deploy applications
on Google’s highly scalable and reliable infrastructure. Google has one of the largest and
most advanced networks across the globe. Software infrastructures such as MapReduce,
BigTable, and Dremel are the innovations for industrial development. Google Cloud
Platform includes virtual machines, block storage, NoSQL datastore, and big data
analytics. It provides a range of storage services that allow easy maintenance and quick
access of user’s data. The cloud platform offers a fully managed platform as well as flexible
virtual machines allowing the user to choose as per the requirements. Google also provides
easy integration of user’s application within the cloud platform.
Google Cloud Storage is a RESTful online file storage web service for storing and
accessing one’s data on Google’s infrastructure. Representational state transfer (REST) is
an architectural style consisting of a coordinated set of architectural constraints applied to
components, connectors, and data elements within a distributed system. The service
combines the performance and scalability of Google’s cloud with advanced security and
sharing capabilities. Google Cloud Storage is safe and secure. Data are protected through
redundant storage at multiple physical locations.
Amazon Web Services (AWS) is a collection of remote computing services (also
called web services) that together make up a cloud computing platform, offered over the
Internet by Amazon.com. Amazon EC2 is an IaaS offered by AWS and is the leading
provider of IaaS in the current market. Powered by a huge infrastructure that the company
has built to run its retail business, Amazon EC2 provides a true virtual computing
environment. By providing a variety of virtual machine or instance types, operating
systems, and software packages to choose from, Amazon EC2 enables the user to
instantiate virtual machines of his choice through a web service interface. The user can
change the capacity and characteristics of the virtual machine by using the web service
interfaces, hence named elastic.
Amazon Simple Storage Service known as Amazon S3, is the storage for the
Internet. It is designed to make web-scale computing easier for developers. Amazon S3