Cloud Computing Assignment 1
Cloud Computing Assignment 1
Submitted By
Pavithra.S
2022MT93172
TABLE OF CONTENTS
Business Process Outsourcing (BPO) refers to the process in which a company outsources
standard business functions to a third-party provider. This is often done to save time and
money on removing that in-house administrative task. Since BPO is not a technology like the
other cloud layers, there is an ongoing debate whether BPO should be regarded as a cloud
layer at all. We believe that it should since it deals with vendor services, just like the other
layers do.
1
Infrastructure as a Service (Iaas)
The basic layer of cloud is the infrastructure –IaaS (Infrastructure as a service). This layer is
basically hardware and network. The IaaS model is about providing compute and storage
resources as a service. What distinguishes this from a regular server or hosting company are
mainly two things:
• Scalability
• Virtualization
The user of IaaS has single ownership of the hardware infrastructure allotted to him (may be
a virtual machine) and can use it as if it is his own machine on a remote network and he has
control over the operating system and software on it.
The IaaS provider has control over the actual hardware and the cloud user can request
allocation of virtual resources, which are then allocated by the IaaS provider on the
hardware (generally without any manual intervention).
Therefore, IaaS is well suited for users who want complete control over the software stack
that they run. For example, the user may be using heterogeneous software platforms from
different vendors, and they may not like to switch to a PaaS platform where only selected
middleware is available.
2
Well-known IaaS platforms includes,
• Amazon EC2
• Rackspace
• Rightscale.
Additionally, traditional vendors such as HP, IBM and Microsoft offer solutions that can be
used to build private IaaS.
The platform layer opens up for third parties to add their software (or integrations) to a
cloud service. An example of a well-known PaaS is Microsoft Azure. This platform provides
developers with swift access to a full development and deployment environment and even
let you host the application you are building.
The capability provided to the consumer is to deploy onto the cloud infrastructure
consumer-created or acquired applications created using programming languages
and tools supported by the provider. The consumer does not manage or control the
underlying cloud infrastructure including network, servers, operating systems, or
storage, but has control over the deployed applications and possibly application
hosting environment configurations.
The hardware, as well as any mapping of hardware to virtual resources, such as virtual
servers, is controlled by the PaaS provider. Additionally, the PaaS provider supports selected
middleware, such as a database, web application server, etc. The cloud user can configure
and build on top of this middleware, such as define a new database table in a database.
PaaS platforms are well suited to those cloud users who find that the middleware they are
using matches the middleware provided by one of the PaaS vendors. This enables them to
focus on the application.
3
Some well-known PaaS platforms are,
• Windows Azure
• Google App Engine
• Hadoop
As in the case of IaaS, traditional vendors such as HP, IBM and Microsoft offer solutions that
can be used to build private PaaS.
The capability provided to the consumer is to use the provider’s applications running
on a cloud infrastructure. The applications are accessible from various client devices
through a thin client interface such as a web browser (e.g., web-based email). The
consumer does not manage or control the underlying cloud infrastructure including
network, servers, operating systems, storage, or even individual application
capabilities, with the possible exception of limited user-specific application
configuration settings.
The SaaS provider controls all the layers apart from the application. Users who log in to the
SaaS service can both use the application as well as configure the application for their use.
For example, users can use Salesforce.com to store their customer data. They can also
configure the application, for example, requesting additional space for storage or adding
additional fields to the customer data that is already being used. When configuration
settings are changed, the SaaS infrastructure performs any management tasks needed (such
as allocation of additional storage) to support the changed configuration.
Prominent SaaS applications include Salesforce.com for CRM, Google Docs for document
sharing, and web email systems like Gmail, Hotmail, and Yahoo! Mail. IT vendors such as HP
and IBM also sell systems that can be configured to set up SaaS in a private cloud.
4
Question 2: What are the security aspects provided with the cloud?
Answer:
Security is one of the major aspects which come with any application and service used by the
user. Companies or organizations remain much more concerned with the security provided
with the cloud.
-- Every user must be completely isolated from each other. This is possible through use of
technology of virtualization with use of firewalls. The methods to detect intrusions and
methods for prevention also help in this.
-- The process of data communication between the provider of Cloud service and the user
must be kept absolutely secured. This is done through use of Virtual Private Network or VPN.
-- The users of Cloud computing have to use a process of authentication to authenticate their
identities. This process of authentication of the user's identity only will allow to get an access
to the data of the organization, that is stored on the Cloud. This authentication of identity
service is a federated service. This service provides integration of identity management of a
business organization and the provider of the Cloud service.
-- The security policies of the Cloud service provide is a very important subject. It is always
best for the user to first go through the security policies of the Cloud service provider
thoroughly.
5
Security Requirements and Best Practices
The security requirements and best practices for cloud can be divided into the requirements
for,
• Physical Security
• Virtual Security
Physical Security
Physical security implies that the data center the cloud is hosted in should be secure against
physical threats. This includes not only attempts at penetration by intruders, but also
protection against natural hazards and disasters such as floods, and human error such as
switching off the air conditioning.
This includes:
Virtual Security
The following best practices have been found to be very useful in ensuring cloud security.
If all systems in the datacenter are synchronized to the same clock, this is helpful both to
ensure correct operation of the systems, as well as to facilitate later analysis of system logs.
It is particularly important in correlating events occurring across geographically distributed
systems. A common way to do this is by use of the Network Time Protocol (NTP). NTP is a
protocol that synchronizes the clock on a computer to a reference source on the Internet.
2. Identity Management
6
ii. Due to possible heterogeneity in cloud systems, a federated identity management
system that allows establishing a single identity and single sign-on across multiple
different types of systems may be needed.
iii. The identity management system should satisfy applicable legal and policy
requirements (for example, allow deleting of users across the system within a
specified time period).
iv. Maintain historical records for possible future investigation.
3. Access Management
The core function of access management is to allow accesses to cloud facilities only to
authorized users.
4. Break-Glass Procedures
It is desirable for the access management system to allow alarmed break-glass procedures,
which bypass normal security controls in emergency situations. The analogy is with breaking
the glass to set off a fire alarm. Clearly, it is important to ensure that the break-glass
procedure can be executed only in emergencies under controlled situations, and that the
procedure triggers an alarm.
5. Key Management
In a cloud, with shared storage, encryption is a key technology to ensure isolation of access.
The cloud infrastructure needs to provide secure facilities for the generation, assignment,
revocation, and archiving of keys. It is also necessary to generate procedures for recovering
from compromised keys.
6. Auditing
Auditing is needed for all system and network components. The audit should capture all
security-related events, together with data needed to analyze the event such as the time,
system on which the event occurred, and user id that initiated the event. The audit log should
be centrally maintained and secure. It should be possible to sanitize or produce a stripped-
down version of the audit log for sharing with cloud customers, in case their assistance is
needed to analyze the logs.
7
7. Security Monitoring
This includes an infrastructure to generate alerts when a critical security event has occurred,
including a cloud-wide intrusion and anomaly detection system. The intrusion detection
systems may be installed both on the network as well as the host nodes. It may also be
necessary to allow cloud users to implement their own intrusion and anomaly detection
systems.
8. Security Testing
It is important to test all software for security before deployment in an isolated test bed.
Patches to software should also be tested in this environment before being released into
production. Additionally, security testing should be carried out on an ongoing basis to identify
vulnerabilities in the cloud system. Depending upon the risk assessment, some of these tests
may be carried out by third parties. There should also be a remediation process to fix
identified vulnerabilities.
8
Question 3: What is the requirement of virtualization platform in implementing cloud?
Answer:
Virtualization is the simulation of the software and/or hardware upon which other software
runs. This simulated environment is called virtual machine (VM). Each VM can run its own
operating systems and applications as if it were in a physical machine.
1. It enables the delivery of intricate cloud services that can be easily scaled in a cost-effective
manner. The cloud computing users can run virtual machines without investing and maintain
the hardware, bandwidth and other data center infrastructure.
2. Virtualization has enabled dealing with infrastructure that cannot be touched and is used
to deploy the three major components of cloud computing that include,
9
4. Virtualization has enabled the cloud to be sold as a commodity based on utility. Users can
choose any platform without being locked in to any one vendor and they pay only for what
they use.
5. Your server is not affected even if a neighbor machine is hacked or infected with a virus.
Being in an individually enclosed environment assures of enhanced security without being
intruded by the other machines being served in the environment.
6. Yet another feature of virtualization is its ability to share the hardware on the Linux and
Windows operating systems. Instead of purchasing and maintaining an entire computer for
one application, each application can be given its own operating system, and all those
operating systems can reside on a single piece of hardware. It also enables shifting of
operating systems over different hardware when multiple applications are running.
7. Virtualization allows an operator to control a guest operating system’s use of CPU, memory,
storage, and other resources, so each guest receives only the resources that it needs.
8. Certain features of a cloud are essential to enable services that truly represent the cloud
computing model and satisfy expectations of consumers, and cloud offerings must be,
i. Self-service,
ii. Per-usage metered and billed,
iii. Elastic, and
iv. Customizable.
The feature “per-usage metered and billed” is practical only in presence of flexibility and
efficiency in the back end. This efficiency is readily available in Virtualized and Machines.
10
Question 4: Explain what are the different modes of software as a service (SaaS)?
Answer:
Software as a service (SaaS) is a cloud computing model where a third-party provider offers
software applications to consumers over the internet. The services are scalable and can be
modified by the users as they find necessary for their business. The SaaS applications can be
accessed and used by multiple consumers simultaneously.
The users are reduced of the infrastructure costs and the expenses are shared among the
multiple users. The main purpose is to share the data resources between multiple users while
maintaining data isolation between the users.
It is a hosted service model where the users have their own resources that are independent
of other users. It is not instantly scalable and users have to be content with low margins due
to high competition. The advantage is it is simple and does not require any code
modifications.
This again involves sharing of the same database among multiple users. The data is kept
separate although the computing resources are shared. It is easily scalable and offers
efficiency in services.
11
Question 5: Before going for cloud computing platform what are the essential things to be
taken in concern by users?
Answer:
Before moving to cloud computing platform, the following essential things should be taken
into consideration.
1. Integrity of data
Data integrity in cloud storage is most critical concern of cloud clients. Assurance of data
integrity means data remain as it is on server for long time. Client cannot physically access
the data from the cloud server directly. Without client's knowledge, Cloud Service Provider
(CSP) can alter or delete data which are either unused by client from a long a time or takes
large memory space. Hence, there is need of reconciliation of data periodically, for its
integrity.
2. Continuity of business
For continual business, you need to ensure that the provider's plans fit your requirements for
availability and return to service - so look at the service level agreements. Also, Check the
provider's indemnity and check support availability because some SaaS providers may only
run support services during US working hours and you'll want a heavy UK focus.
3. Uptime
A growing challenge for applications is obtaining optimal availability at all times. Today, cloud-
based infrastructures are often built with a large number of systems geared for elastic
scalability while hardware costs should be kept to a minimum. These flexible scenarios mean
that certain components are geared to fail. Availability in this context is how much time the
service provider guarantees that your data and services are available. This is typically
documented as a percent of time per year, e.g. 99.999% (or five nines) uptime means you will
be unable to access resources for no more than about five minutes per year
Basic types of data loss include data destruction, data corruption and unauthorized data
access. The reason for these types of loss a varied and include infrastructure malfunctions,
software errors and security breaches. Due to the complexities around data center and cloud
security, this article will deal destruction and corruption of data only.
5. Data storage
Cloud storage is a model of computer data storage in which the digital data is stored in logical
pools. Data storage issues may lead to data breaches, data theft, and unavailability of cloud
data. This thing demands an urgency to figure out our requirement. More people are sourcing
there data storage to cloud providers because of the cost savings and ease of use, as well as
12
makes accounting, payroll and employee management simpler. There are three basic types
of data storage. It can be:
So based on the level of security we want we can decide which storage type we can go for.
Cloud compliance is an issue for anyone using cloud storage or backup services. The first thing
that organizations need to do is to be fully aware of the type of cloud services that they use.
Once they have done that, they can look at the data that they are going to move to the cloud.
It's important to understand that for security and compliance reasons, organizations may
decide that some highly confidential data will always remain on an internal network and will
not move to the cloud. Or, if they move it to a cloud infrastructure it will be a private cloud
that will be hosted on the premises. The second thing to look at once you know which data
you are going to put on the cloud is to look at the contracts with your cloud provider. So, if it
is an internal cloud, are you going to have internal SLAs and internal compliance checklists? If
it's external, you have to clearly identify with the provider what type of data should reside on
their cloud services, how they're going to protect it, how they're going to back it up and how
you may reserve the right to audit the security and compliance framework that they build
around your data. Also, check whether they have an incident response plan for alerting you if
something goes wrong with your data on the cloud.
7. Ensuring Access
Because cloud applications are always connected, they can easily be targeted, which makes
the timely identification and elimination of vulnerabilities critical. To keep ahead of threats,
companies should deploy a vulnerability management process that identifies and triages
vulnerabilities and can rapidly automate remediation with a web application firewall (WAF).
A WAF is a critical web security control that can buy a company time by blocking an attack
while the development team works to fix the code.
8. Security
Service providers promise that they can be more secure than physical data centers. Protection
of expertise and assets is a key requirement. Cloud applications need to protect data being
transferred over the net. This includes not only encryption of transmission data, but also
encryption of stored data. Certificates, such as SAS 70 or ISO 27001, can be good indicators
for good security measures. Customers should be aware of the physical location of their data
and the available security features. This awareness facilitates a holistic security view of your
cloud service provider.
13
9. Adaptability
10. Integration
Typical applications rely on data from other applications. The worst case would be to have
separate data pools with unsynchronized content, which can lead to redundancy and
inconsistency across applications. Data from other applications can enrich cloud services and
provide comprehensive insight. In general, most services offer web services interfaces. Some
do also provide a REST interface. Complex interfaces require a tool to handle connectivity and
transformation, and manage future challenges. The use of XML as a data format offers the
best possibilities to make data handling comfortable.
11. Migration
The aspect of integration leads us to the next point: migration. What do you do, if your cloud
provider goes out of business? Are you able to migrate your valuable business data to another
platform or have you locked-in a particular vendor? These questions should be asked before
the decision for a particular provider is made. The longer a cloud service is being used, the
more important and valuable are the assets that have been developed. Common standards
can help to make your resources reusable. A (potential) migration strategy sustains your
possibilities to react on market changes and future innovations.
12. Scalability
It is not very common that providers offer information about the scalability of their solution.
SaaS and PaaS offerings promise to scale automatically. IaaS offerings might provide
additional tools to control scalability. In hybrid cloud environments, scalability becomes very
important because the decision to provision new instances must be based on reliable data.
Multi-tenancy is essential for most cloud applications to provide reasonable scalability.
14
Question 6: State the list of a need of virtualization platform in implementing cloud?
Virtualization software allows multiple operating systems and applications to run on the same
server at the same time, and, as a result, lowers costs and increases efficiency of a company's
existing hardware. It's a fundamental technology that powers cloud computing.
Virtualization is needed in the implementation of the cloud due to the following reasons:
The three Important Attributes of Virtualization that Signify its Role in Cloud Computing are:
Virtualization can be used for almost any component including applications, operating
systems, hardware, networks, memory, and storage to name a few. Virtualization is important
for cloud computing because of its ability of decoupling hardware from software.
1. Hardware/Server Virtualization
• Full virtualization
• Para Virtualization
15
• Partial Virtualization
2. Network Virtualization
3. Storage Virtualization
This is another important virtualization type in cloud computing. Here, multiple network
storage resources are present as a single storage device for easier and more efficient
management of these resources. The benefits of this type of virtualization includes improved
storage management, better availability of resources, reduced downtime and better storage
utilization.
4. Memory Virtualization
This is a way to dissociate memory from the server. The disintegration is done to provide a
shared, distributed or networked function. It eventually accelerates performance by
providing greater memory capacity without any addition to the main memory. This is why a
portion of the disk drive serves as an extension of the main memory. The integration is
categorized in two ways: application-level integration and operating system level integration.
5. Software Virtualization
It enables main computer to run and create one or more virtual environments. This type of
virtualization primarily used to enable a complete computer running as a guest OS. For
instance, letting Linux to run as a guest that is natively running a Microsoft Windows OS (or
vice versa, running Windows as a guest on Linux). The virtualization is of different kind
including operating system virtualization, application virtualization and service virtualization.
16
6. Desktop Virtualization
Desktop virtualization for cloud provides businesses the work convenience and security they
need. As the arrangement allows access remotely, administrators can access resources and
work from any location and on any PC. This virtualization offers complete flexibility for
employees to work from home or on the go and protects confidential data from being lost or
stolen.
17