Cloud Computing Unit 1
Cloud Computing Unit 1
Cloud Computing Unit 1
1) Agility
3) High Scalability
Cloud computing enables the users to access systems using a web browser regardless of their
location or what device they use e.g. PC, mobile phone, etc. As infrastructure is off-
site (typically provided by a third-party) and accessed via the Internet, users
can connect from anywhere.
6) Maintenance
7) Low Cost
Once the data is stored in the cloud, it is easier to get back-up and
restore that data using the cloud.
2) Improved collaboration
3) Excellent accessibility
5) Mobility
Cloud computing allows us to easily access all cloud data via mobile.
1) Internet Connectivity
2) Vendor lock-in
3) Limited Control
4) Security
Then after, distributed computing came into picture, where all the
computers are networked together and share their resources when
needed.
But of course time has passed and the technology caught that idea
and after few years we mentioned that:
Of course, all the big players are present in the cloud computing
evolution, some were earlier, some were later. In
2009, Microsoft launched Windows Azure, and companies like
Oracle and HP have all joined the game. This proves that today,
cloud computing has become mainstream.
Some most common Security Risks of Cloud Computing are given below-
Data Loss
Data loss is the most common cloud security risks of cloud computing. It is
also known as data leakage. Data loss is the process in which data is being
deleted, corrupted, and unreadable by a user, software, or application. In a
cloud computing environment, data loss occurs when our sensitive data is
somebody else's hands, one or more data elements can not be utilized by
the data owner, hard disk is not working properly, and software is not
updated.
Vendor lock-in
Vendor lock-in is the of the biggest security risks in cloud computing.
Organizations may face problems when transferring their services from one
vendor to another. As different vendors provide different platforms, that can
cause difficulty moving one cloud to another.
Account hijacking
Account hijacking is a serious security risk in cloud computing. It is the
process in which individual user's or organization's cloud account (bank
account, e-mail account, and social media account) is stolen by hackers. The
hackers use the stolen account to perform unauthorized activities.
Types of Cloud
There are the following 4 types of cloud that you can deploy according to the
organization's needs-
o Public Cloud
o Private Cloud
o Hybrid Cloud
o Community Cloud
Public Cloud
Public cloud is open to all to store and access information via the Internet
using the pay-per-usage method.
o Public cloud is owned at a lower cost than the private and hybrid cloud.
o Public cloud is maintained by the cloud service provider, so do not need to
worry about the maintenance.
o Public cloud is easier to integrate. Hence it offers a better flexibility approach
to consumers.
o Public cloud is location independent because its services are delivered
through the internet.
o Public cloud is highly scalable as per the requirement of computing
resources.
o It is accessible by the general public, so there is no limit to the number of
users.
Private Cloud
Private cloud is also known as an internal cloud or corporate cloud. It is
used by organizations to build and manage their own data centers internally
or by the third party. It can be deployed using Opensource tools such as
Openstack and Eucalyptus.
Hybrid Cloud
Hybrid Cloud is a combination of the public cloud and the private cloud. we
can say:
Hybrid cloud is partially secure because the services which are running on
the public cloud can be accessed by anyone, while the services which are
running on a private cloud can be accessed only by the organization's users.
Example: Google Application Suite (Gmail, Google Apps, and Google Drive),
Office 365 (MS Office on the Web and One Drive), Amazon Web Services.
Advantages of Hybrid Cloud
There are the following advantages of Hybrid Cloud -
o Hybrid cloud is suitable for organizations that require more security than the
public cloud.
o Hybrid cloud helps you to deliver new products and services more quickly.
o Hybrid cloud provides an excellent way to reduce the risk.
o Hybrid cloud offers flexible resources because of the public cloud and secure
resources because of the private cloud.
Difference between public cloud, private cloud, hybrid cloud, and community
cloud -
The below table shows the difference between public cloud, private cloud,
hybrid cloud, and community cloud.
Though the answer to which cloud model is an ideal fit for a business
depends on your organization's computing and business needs. Choosing the
right one from the various types of cloud service deployment models is
essential. It would ensure your business is equipped with the performance,
scalability, privacy, security, compliance & cost-effectiveness it requires. It is
important to learn and explore what different deployment types can offer -
around what particular problems it can solve.
o Data Security and Privacy Concerns - Since it is accessible to all, it does not
fully protect against cyber-attacks and could lead to vulnerabilities.
o Reliability Issues - Since the same server network is open to a wide range of
users, it can lead to malfunction and outages
o Service/License Limitation - While there are many resources you can
exchange with tenants, there is a usage cap.
Private Cloud
Now that you understand what the public cloud could offer you, of course,
you are keen to know what a private cloud can do. Companies that look for
cost efficiency and greater control over data & resources will find the private
cloud a more suitable choice.
It means that it will be integrated with your data center and managed by
your IT team. Alternatively, you can also choose to host it externally. The
private cloud offers bigger opportunities that help meet specific
organizations' requirements when it comes to customization. It's also a wise
choice for mission-critical processes that may have frequently changing
requirements.
Benefits of Private Cloud
o Data Privacy - It is ideal for storing corporate data where only authorized
personnel gets access
o Security - Segmentation of resources within the same Infrastructure can help
with better access and higher levels of security.
o Supports Legacy Systems - This model supports legacy systems that cannot
access the public cloud.
o Higher Cost - With the benefits you get, the investment will also be larger
than the public cloud. Here, you will pay for software, hardware, and
resources for staff and training.
o Fixed Scalability - The hardware you choose will accordingly help you scale in
a certain direction
o High Maintenance - Since it is managed in-house, the maintenance costs also
increase.
Community Cloud
The community cloud operates in a way that is similar to the public cloud.
There's just one difference - it allows access to only a specific set of users
who share common objectives and use cases. This type of deployment model
of cloud computing is managed and hosted internally or by a third-party
vendor. However, you can also choose a combination of all three.
o Smaller Investment - A community cloud is much cheaper than the private &
public cloud and provides great performance
o Setup Benefits - The protocols and configuration of a community cloud must
align with industry standards, allowing customers to work much more
efficiently.
Hybrid Cloud
As the name suggests, a hybrid cloud is a combination of two or more cloud
architectures. While each model in the hybrid cloud functions differently, it is
all part of the same architecture. Further, as part of this deployment of the
cloud computing model, the internal or external providers can offer
resources.
Let's understand the hybrid model better. A company with critical data will
prefer storing on a private cloud, while less sensitive data can be stored on a
public cloud. The hybrid cloud is also frequently used for 'cloud bursting'. It
means, supposes an organization runs an application on-premises, but due
to heavy load, it can burst into the public cloud.
o Ease of Use - How savvy and trained are your resources? Do you have the
time and the money to put them through training?
o Cost - How much are you willing to spend on a deployment model? How much
can you pay upfront on subscription, maintenance, updates, and more?
o Scalability - What is your current activity status? Does your system run into
high demand?
o Compliance - Are there any specific laws or regulations in your country that
can impact the implementation? What are the industry standards that you
must adhere to?
o Privacy - Have you set strict privacy rules for the data you gather?
Each cloud deployment model has a unique offering and can immensely add
value to your business. For small to medium-sized businesses, a public cloud
is an ideal model to start with. And as your requirements change, you can
switch over to a different deployment model. An effective strategy can be
designed depending on your needs using the cloud mentioned above
deployment models.
Characteristics of PaaS
There are the following characteristics of PaaS -
In other words, Virtualization is a technique, which allows to share a single physical instance of
a resource or an application among multiple customers and organizations. It does by assigning a
logical name to a physical storage and providing a pointer to that physical resource when
demanded.
The machine on which the virtual machine is going to create is known as Host Machine and
that virtual machine is referred as a Guest Machine
Types of Virtualization:
1. Hardware Virtualization.
2. Operating system Virtualization.
3. Server Virtualization.
4. Storage Virtualization.
1) Hardware Virtualization:
When the virtual machine software or virtual machine manager (VMM) is
directly installed on the hardware system is known as hardware
virtualization.
Usage:
Usage:
3) Server Virtualization:
When the virtual machine software or virtual machine manager (VMM) is
directly installed on the Server system is known as server virtualization.
Usage:
4) Storage Virtualization:
Storage virtualization is the process of grouping the physical storage from
multiple network storage devices so that it looks like a single storage device.
Conclusion
Mainly Virtualization means, running multiple operating systems on a single
machine but sharing all the hardware resources. And it helps us to provide
the pool of IT resources so that we can share these IT resources in order get
benefits in the business.
Hardware Virtualization
Previously, there was "one to one relationship" between physical servers and
operating system. Low capacity of CPU, memory, and networking
requirements were available. So, by using this model, the costs of doing
business increased. The physical space, amount of power, and hardware
required meant that costs were adding up.
4) Increased IT Flexibility:
Software Virtualization
Managing applications and distribution becomes a typical task for IT departments. Installation
mechanism differs from application to application. Some programs require certain helper
applications or frameworks and these applications may have conflict with existing applications.
Software virtualization is just like a virtualization but able to abstract the software
installation procedure and create virtual software installations.
Virtualized software is an application that will be "installed" into its own self-contained
unit.
Example of software virtualization is VMware software, virtual box etc. In the next
pages, we are going to see how to install linux OS and windows OS on VMware
application.
2) Easy to manage:
What is hypervisor?
A hypervisor is a virtualization layer that enables multiple operating system
to share hardware host .Each operating system or VM is allocated physical
resources such as memory,CPU,storage etc.
OR
Types of Hypervisor
It runs directly on the hardware of the host and manage the hardware and
guest operating systems
multi-tenant cloud
A multi-tenant cloud is a cloud computing architecture that allows customers
to share computing resources in a public or private cloud. Each tenant's data
is isolated and remains invisible to other tenants.
In a multi-tenant cloud system, users have individualized space for storing
their projects and data. Each section of a cloud network with multi-tenant
architecture includes complex permissions with the intention of allowing each
user access to only their stored information along with security from other
cloud tenants. Within the cloud infrastructure, each tenant's data is
inaccessible to all other tenants, and can only be reached with the cloud
provider's permissions.
Example of multi-tenancy
Multi-tenant clouds can be compared to the structure of an apartment building. Each
resident has access to their own apartment within the agreement of the entire building
and only authorized individuals can enter the specific units. However, the entire
building shares resources such as water, electricity and common areas.
This is similar to a multi-tenant cloud in that the provider sets overarching quotas,
rules and performance expectations for customers but each individual customer has
private access to their information.
The Five Levels of Implementing
Virtualization
Virtualization is not that easy to implement. A computer runs an OS that is
configured to that particular hardware. Running a different OS on the same
hardware is not exactly feasible.
To tackle this, there exists a hypervisor. What hypervisor does is, it acts as a
bridge between virtual OS and hardware to enable its smooth functioning of
the instance.
There are five levels of virtualizations available that are most commonly
used in the industry. These are as follows:
A binary code that might need additional layers to run can now run on an
x86 machine or with some tweaking, even on x64 machines. ISA helps make
this a hardware-agnostic virtual machine.
This level helps form the virtual machine and manages the hardware through
virtualization.
This way multiple users can use the same hardware with numerous instances
of virtualization at the same time.
IBM had first implemented this on the IBM VM/370 back in 1960. It is more
usable for cloud-based infrastructure.
Thus, it is no surprise that currently, Xen hypervisors are using HAL to run
Linux and other OS on x86 based machines.
When the number of users is high, and no one is willing to share hardware,
this level of virtualization comes in handy.
Here, every user gets their own virtual environment with dedicated virtual
hardware resources. This way, no conflicts arise.
Library Level
OS system calls are lengthy and cumbersome. Which is why applications opt
for APIs from user-level libraries.
Most of the APIs provided by systems are rather well documented. Hence,
library level virtualization is preferred in such scenarios.
Some tools available today, such as vCUDA and WINE, have successfully
demonstrated this technique.
Application Level
I/O Virtualization
I/O virtualization involves managing the routing of I/O requests
between virtual devices and the shared physical hardware. At the
time of this writing, there are three ways to implement I/O
virtualization: full device emulation, para-virtualization, and direct
I/O. Full device emulation is the first approach for I/O
virtualization. Generally, this approach emulates well-known, real-
world devices.
All the functions of a device or bus infrastructure, such as device
enumeration, identification, interrupts, and DMA, are replicated in
software. This software is located in the VMM and acts as a virtual
device. The I/O access requests of the guest OS are trapped in the
VMM which interacts with the I/O devices. The full device
emulation approach is shown in Figure 3.14. A single hardware
device can be shared by multiple VMs that run concurrently.
However, software emulation runs much slower than the
hardware it emulates [10,15]. The para-virtualization method of
I/O virtualization is typically used in Xen. It is also known as the
split driver model consisting of a frontend driver and a backend
driver. The frontend driver is running in Domain U and the
backend driver is running in Domain 0. They interact with each
other via a block of shared memory. The frontend driver manages
the I/O requests of the guest OSes and the backend driver is
responsible for managing the real I/O devices and multiplexing
the I/O data of different VMs. Although para-I/O-virtualization
achieves better device performance than full device emulation, it
comes with a higher CPU overhead. Direct I/O virtualization lets
the VM access devices directly. It can achieve close-to-native
performance without high CPU costs. However, current direct I/O
virtualization implementations focus on networking for
mainframes. There are a lot of challenges for commodity
hardware devices. For example, when a physical device is
reclaimed (required by workload migration) for later
reassignment, it may have been set to an arbitrary state (e.g.,
DMA to some arbitrary memory locations) that can function
incorrectly or even crash the whole system. Since software-based
I/O virtualization requires a very high overhead of device
emulation, hardware-assisted I/O virtualization is critical. Intel VT-
d supports the remapping of I/O DMA transfers and device-
generated interrupts. The architecture of VT-d provides the
flexibility to support multiple usage models that may run
unmodified, special-purpose, or “virtualization-aware” guest OSes.
Another way to help I/O virtualization is via self-virtualized I/O
(SV-IO) [47]. The key idea of SV-IO is to harness the rich resources
of a multicore processor. All tasks associated with virtualizing an
I/O device are encapsulated in SV-IO. It provides virtual devices
and an associated access API to VMs and a management API to
the VMM. SV-IO defines one virtual interface (VIF) for every kind of
virtualized I/O device, such as virtual network interfaces, virtual
block devices (disk) and others. The guest OS interacts with the
VIFs via VIF device drivers. Each VIF consists of two message
queues. One is for outgoing messages to the devices and the
other is for incoming messages from the devices. In addition,
each VIF has a unique ID for identifying iVMware Workstation for
I/O Virtualization The VMware Workstation runs as an application.
It leverages the I/O device support in guest OSes, host OSes, and
VMM to implement I/O virtualization. The application portion
(VMApp) uses a driver loaded into the host operating system
(VMDriver) to establish the privileged VMM, which runs directly on
the hardware. A given physical processor is executed in either the
host world or the VMM world, with the VMDriver facilitating the
transfer of control between the two worlds. The VMware
Workstation employs full device emulation to implement I/O
virtualization. Figure 3.15 shows the functional blocks used in
sending and receiving packetst in SV-IO., virtual camera devices,