Unit 5

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 19

UNIT - 5

1. Increased Security – 
The ability to control the execution of a guest program in a completely
transparent manner opens new possibilities for delivering a secure, controlled
execution environment. All the operations of the guest programs are generally
performed against the virtual machine, which then translates and applies them
to the host programs. 
A virtual machine manager can control and filter the activity of the guest
programs, thus preventing some harmful operations from being performed.
Resources exposed by the host can then be hidden or simply protected from
the guest. Increased security is a requirement when dealing with untrusted
code. 
Example-1: Untrusted code can be analyzed in Cuckoo sandboxes
environment. 
The term sandbox identifies an isolated execution environment where
instructions can be filtered and blocked before being translated and executed in
the real execution environment. 
Example-2: The expression sandboxed version of the Java Virtual Machine
(JVM) refers to a particular configuration of the JVM where, by means of
security policy, instructions that are considered potentially harmful can be
blocked. 
2. Managed Execution – 
In particular, sharing, aggregation, emulation, and isolation are the most
relevant features. 
 
3. Sharing – 
Virtualization allows the creation of a separate computing environment within
the same host. This basic feature is used to reduce the number of active
servers and limit power consumption. 
4. Aggregation – 
It is possible to share physical resources among several guests, but
virtualization also allows aggregation, which is the opposite process. A group of
separate hosts can be tied together and represented to guests as a single
virtual host. This functionality is implemented with cluster management
software, which harnesses the physical resources of a homogeneous group of
machines and represents them as a single resource. 
5. Emulation – 
Guest programs are executed within an environment that is controlled by the
virtualization layer, which ultimately is a program. Also, a completely different
environment with respect to the host can be emulated, thus allowing the
execution of guest programs requiring specific characteristics that are not
present in the physical host. 
6. Isolation – 
Virtualization allows providing guests—whether they are operating systems,
applications, or other entities—with a completely separate environment, in
which they are executed. The guest program performs its activity by interacting
with an abstraction layer, which provides access to the underlying resources.
The virtual machine can filter the activity of the guest and prevent harmful
operations against the host. 
Besides these characteristics, another important capability enabled by
virtualization is performance tuning. This feature is a reality at present, given
the considerable advances in hardware and software supporting virtualization. It
becomes easier to control the performance of the guest by finely tuning the
properties of the resources exposed through the virtual environment. This
capability provides a means to effectively implement a quality-of-service (QoS)
infrastructure. 
7. Portability – 
The concept of portability applies in different ways according to the specific type
of virtualization considered.
In the case of a hardware virtualization solution, the guest is packaged into a
virtual image that, in most cases, can be safely moved and executed on top of
different virtual machines. 
In the case of programming-level virtualization, as implemented by the JVM or
the .NET runtime, the binary code representing application components (jars or
assemblies) can run without any recompilation on any implementation of the
corresponding virtual machine. 

8.Resource sharing:

 Virtualization allows multiple virtual machines to share the resources of a single


physical machine, such as CPU, memory, storage, and network bandwidth. This
improves hardware utilization and reduces the need for additional physical
servers.

9.Flexibility: 

Virtualization allows IT administrators to quickly and easily create, modify, or


delete virtual machines as needed, without the need to purchase and configure
additional physical hardware.
11.Hardware independence: 

Virtual machines are hardware-independent, which means they can run on


different types of physical hardware and can be easily moved between physical
servers without needing to reconfigure the virtual machine.

12.Scalability:

 Virtualization allows organizations to scale their computing resources up or


down as needed, depending on changing business requirements.

13.Management: 

Virtualization provides centralized management tools that allow IT


administrators to monitor and manage multiple virtual machines from a single
console, making it easier to troubleshoot and maintain the virtualized
environment.
virtualization provides a powerful and flexible technology that can help
organizations maximize their hardware utilization, improve their IT infrastructure
scalability, and simplify their IT management.

Types of Virtualization:

1. Application Virtualization: Application virtualization helps a user to have


remote access to an application from a server. The server stores all personal
information and other characteristics of the application but can still run on a
local workstation through the internet. Example of this would be a user who
needs to run two different versions of the same software. Technologies that use
application virtualization are hosted applications and packaged applications. 
2. Network Virtualization: The ability to run multiple virtual networks with each
has a separate control and data plan. It co-exists together on top of one
physical network. It can be managed by individual parties that potentially
confidential to each other. 
Network virtualization provides a facility to create and provision virtual networks
—logical switches, routers, firewalls, load balancer, Virtual Private Network
(VPN), and workload security within days or even in weeks. 
3. Desktop Virtualization: Desktop virtualization allows the users’ OS to be
remotely stored on a server in the data centre. It allows the user to access their
desktop virtually, from any location by a different machine. Users who want
specific operating systems other than Windows Server will need to have a
virtual desktop. Main benefits of desktop virtualization are user mobility,
portability, easy management of software installation, updates, and patches. 
4. Storage Virtualization: Storage virtualization is an array of servers that are
managed by a virtual storage system. The servers aren’t aware of exactly
where their data is stored, and instead function more like worker bees in a hive.
It makes managing storage from multiple sources to be managed and utilized
as a single repository. storage virtualization software maintains smooth
operations, consistent performance, and a continuous suite of advanced
functions despite changes, break down and differences in the underlying
equipment. 
5. Server Virtualization: This is a kind of virtualization in which the masking of
server resources takes place. Here, the central server (physical server) is
divided into multiple different virtual servers by changing the identity number,
processors. So, each system can operate its own operating systems in an
isolated manner. Where each sub-server knows the identity of the central
server. It causes an increase in performance and reduces the operating cost by
the deployment of main server resources into a sub-server resource. It’s
beneficial in virtual migration, reducing energy consumption, reduce
infrastructural cost, etc.
6. Data virtualization: This is the kind of virtualization in which the data is
collected from various sources and managed that at a single place without
knowing more about the technical information like how data is collected, stored
& formatted then arranged that data logically so that its virtual view can be
accessed by its interested people and stakeholders, and users through the
various cloud services remotely. Many big giant companies are providing their
services like Oracle, IBM, At scale, Cdata, etc.
2 QUESTION

CLOUD COMPUTING ARCHITECTURE

Cloud Computing architecture comprises of many cloud components, which are


loosely coupled.

We can broadly divide the cloud architecture into two parts:

 Front End
BackEnd

1. Frontend :
Frontend of the cloud architecture refers to the client side of cloud computing
system. Means it contains all the user interfaces and applications which are
used by the client to access the cloud computing services/resources. For
example, use of a web browser to access the cloud platform.
 Client Infrastructure – Client Infrastructure is a part of the frontend
component. It contains the applications and user interfaces which are
required to access the cloud platform.
 In other words, it provides a GUI( Graphical User Interface ) to interact
with the cloud.
2. Backend : 
Backend refers to the cloud itself which is used by the service provider. It
contains the resources as well as manages the resources and provides security
mechanisms. Along with this, it includes huge storage, virtual applications,
virtual machines, traffic control mechanisms, deployment models, etc.
1. Application –
Application in backend refers to a software or platform to which client
accesses. Means it provides the service in backend as per the client
requirement.
2. Service –
Service in backend refers to the major three types of cloud based
services like SaaS, PaaS and IaaS. Also manages which type of
service the user accesses.
3.  Runtime Cloud-
Runtime cloud in backend provides the execution and Runtime
platform/environment to the Virtual machine.
4. Storage –
Storage in backend provides flexible and scalable storage service and
management of stored data.
5. Infrastructure –
Cloud Infrastructure in backend refers to the hardware and software
components of cloud like it includes servers, storage, network devices,
virtualization software etc.
6. Management –
Management in backend refers to management of backend
components like application, service, runtime cloud, storage,
infrastructure, and other security mechanisms etc.
7. Security –
Security in backend refers to implementation of different security
mechanisms in the backend for secure cloud resources, systems, files,
and infrastructure to end-users.
8. Internet –
Internet connection acts as the medium or a bridge between frontend
and backend and establishes the interaction and communication
between frontend and backend.
9. Database– Database in backend refers to provide database for storing
structured data, such as SQL and NOSQL databases. Example of
Databses services include Amazon RDS, Microsoft Azure SQL
database and Google CLoud SQL.  
10. Networking– Networking in backend services that provide
networking infrastructure for application in the cloud, such as load
balancing, DNS and virtual private networks. 
11. Analytics– Analytics in backend service that provides analytics
capabillities for data in the cloud, such as warehousing, bussness
intellegence and machine learning.
Cloud computing is Internet-based computing in which a shared pool of
resources is available over broad network access, these resources can be
provisioned or released with minimum management efforts and service-provider
interaction. 
Types of Cloud
1. Public cloud
2. Private cloud
3. Hybrid cloud
4. Community cloud
5. Multicloud
Public Cloud
Public clouds are managed by third parties which provide cloud services over
the internet to the public, these services are available as pay-as-you-go billing
models. 
They offer solutions for minimizing IT infrastructure costs and become a good
option for handling peak loads on the local infrastructure. Public clouds are the
go-to option for small enterprises, which can start their businesses without large
upfront investments by completely relying on public infrastructure for their IT
needs. 
The fundamental characteristics of public clouds are multitenancy. A public
cloud is meant to serve multiple users, not a single customer. A user requires a
virtual computing environment that is separated, and most likely isolated, from
other users. 

Public cloud

Advantages of using a Public  cloud are: 

1. High Scalability
2. Cost Reduction
3. Reliability and flexibility
4. Disaster Recovery
Disadvantages of using a Public  cloud are: 
1. Loss of control over data
2. Data security and privacy
3. Limited Visibility
4. Unpredictable cost
Private cloud
Private clouds are distributed systems that work on private infrastructure and
provide the users with dynamic provisioning of computing resources. Instead of
a pay-as-you-go model in private clouds, there could be other schemes that
manage the usage of the cloud and proportionally billing of the different
departments or sections of an enterprise. Private cloud providers are HP Data
Centers, Ubuntu, Elastic-Private cloud, Microsoft, etc.

Private Cloud

The advantages of using a private cloud are as follows: 

1. Customer information protection: In the private cloud security


concerns are less since customer data and other sensitive information
do not flow out of private infrastructure.
2. Infrastructure ensuring SLAs: Private cloud provides specific
operations such as appropriate clustering, data replication, system
monitoring, and maintenance, disaster recovery, and other uptime
services.
3. Compliance with standard procedures and operations: Specific
procedures have to be put in place when deploying and executing
applications according to third-party compliance standards. This is not
possible in the case of the public cloud.
Disadvantages of using a private cloud are: 
1. The restricted area of operations: Private cloud is accessible within
a particular area. So the area of accessibility is restricted.
2. Expertise requires:  In the private cloud security concerns are less
since customer data and other sensitive information do not flow out of
private infrastructure. Hence skilled people are required to manage &
operate cloud services.
Hybrid cloud: 
A hybrid cloud is a heterogeneous distributed system formed by combining
facilities of the public cloud and private cloud. For this reason, they are also
called heterogeneous clouds. 
A major drawback of private deployments is the inability to scale on-demand
and efficiently address peak loads. Here public clouds are needed. Hence, a
hybrid cloud takes advantage of both public and private clouds. 

Hybrid Cloud

Advantages of using a Hybrid cloud are: 

1) Cost: Available at a cheap cost than other clouds because it is formed by a


distributed system.
2) Speed: It is efficiently fast with lower cost, It reduces the latency of the data
transfer process.
3) Security: Most important thing is security. A hybrid cloud is totally safe and
secure because it works on the distributed system network.
Disadvantages of using a Hybrid cloud are: 
1. It’s possible that businesses lack the internal knowledge necessary to
create such a hybrid environment. Managing security may also be
more challenging. Different access levels and security considerations
may apply in each environment.
2. Managing a hybrid cloud may be more difficult. With all of the
alternatives and choices available today, not to mention the new PaaS
components and technologies that will be released every day going
forward, public cloud and migration to public cloud are already
complicated enough. It could just feel like a step too far to include
hybrid.
Community cloud: 
Community clouds are distributed systems created by integrating the services
of different clouds to address the specific needs of an industry, a community, or
a business sector. But sharing responsibilities among the organizations is
difficult.
In the community cloud, the infrastructure is shared between organizations that
have shared concerns or tasks. An organization or a third party may manage
the cloud. 

Community Cloud

Advantages of using Community cloud are:

1. Because the entire cloud is shared by numerous enterprises or a


community, community clouds are cost-effective.
2. Because it works with every user, the community cloud is adaptable
and scalable. Users can alter the documents according to their needs
and requirements.
3. Public cloud is less secure than the community cloud, which is more
secure than private cloud.
4. Thanks to community clouds, we may share cloud resources,
infrastructure, and other capabilities between different enterprises.
Disadvantages of using Community cloud are:
1. Not all businesses should choose community cloud.
2. gradual adoption of data
3. It’s challenging for corporations to share duties.

Sectors that use community clouds are: 

1. Media industry: Media companies are looking for quick, simple, low-cost


ways for increasing the efficiency of content generation. Most media
productions involve an extended ecosystem of partners. In particular, the
creation of digital content is the outcome of a collaborative process that
includes the movement of large data, massive compute-intensive rendering
tasks, and complex workflow executions.
2. Healthcare industry: In the healthcare industry community clouds are used
to share information and knowledge on the global level with sensitive data in the
private infrastructure.
3. Energy and core industry: In these sectors, the community cloud is used to
cluster a set of solution which collectively addresses the management,
deployment, and orchestration of services and operations.
4. Scientific research: In this organization with common interests in science
share a large distributed infrastructure for scientific computing.

Multicloud

Multicloud is the use of multiple cloud computing services from different


providers, which allows organizations to use the best-suited services for their
specific needs and avoid vendor lock-in.
This allows organizations to take advantage of the different features and
capabilities offered by different cloud providers.
Advantages of using multi-cloud:
1. Flexibility: Using multiple cloud providers allows organizations to
choose the best-suited services for their specific needs, and avoid
vendor lock-in.
2. Cost-effectiveness: Organizations can take advantage of the cost
savings and pricing benefits offered by different cloud providers for
different services.
3. Improved performance: By distributing workloads across multiple cloud
providers, organizations can improve the performance and availability
of their applications and services.
4. Increased security: Organizations can increase the security of their
data and applications by spreading them across multiple cloud
providers and implementing different security strategies for each.

Disadvantages of using multi-cloud:

1. Complexity: Managing multiple cloud providers and services can be


complex and require specialized knowledge and expertise.
2. Increased costs: The cost of managing multiple cloud providers and
services can be higher than using a single provider.
3. Compatibility issues: Different cloud providers may use different
technologies and standards, which can cause compatibility issues and
require additional resources to resolve.
4. Limited interoperability: Different cloud providers may not be able to
interoperate seamlessly, which can limit the ability to move data and
applications between them.

Types of service in Cloud Computing


Most cloud computing services fall into five broad categories: 
1. Software as a service (SaaS)
2. Platform as a service (PaaS)
3. Infrastructure as a service (IaaS)
4. Anything/Everything as a service (XaaS)
5. Function as a Service (FaaS)
These are sometimes called the cloud computing stack because they are built
on top of one another. Knowing what they are and how they are different,
makes it easier to accomplish your goals. These abstraction layers can also be
viewed as a layered architecture where services of a higher layer can be
composed of services of the underlying layer i.e, SaaS can provide
Infrastructure. 

Software as a Service(SaaS)

Software-as-a-Service (SaaS)  is a way of delivering services and applications


over the Internet. Instead of installing and maintaining software, we simply
access it via the Internet, freeing ourselves from the complex software and
hardware management. It removes the need to install and run applications on
our own computers or in the data centers eliminating the expenses of hardware
as well as software maintenance. 
SaaS provides a complete software solution that you purchase on a pay-as-
you-go basis from a cloud service provider. Most SaaS applications can be run
directly from a web browser without any downloads or installations required.
The SaaS applications are sometimes called Web-based software, on-
demand software, or hosted software.
Advantages of SaaS 
1. Cost-Effective: Pay only for what you use.
2. Reduced time: Users can run most SaaS apps directly from their web
browser without needing to download and install any software. This
reduces the time spent in installation and configuration and can reduce
the issues that can get in the way of the software deployment.
3. Accessibility: We can Access app data from anywhere.
4. Automatic updates: Rather than purchasing new software, customers
rely on a SaaS provider to automatically perform the updates.
5. Scalability: It allows the users to access the services and features on-
demand.
The various companies providing Software as a service are Cloud9 Analytics,
Salesforce.com, Cloud Switch, Microsoft Office 365, Big Commerce, Eloqua,
dropBox, and Cloud Tran. 
Disadvantages of Saas :
1. Limited customization: SaaS solutions are typically not as
customizable as on-premises software, meaning that users may have
to work within the constraints of the SaaS provider’s platform and may
not be able to tailor the software to their specific needs.
2. Dependence on internet connectivity: SaaS solutions are typically
cloud-based, which means that they require a stable internet
connection to function properly. This can be problematic for users in
areas with poor connectivity or for those who need to access the
software in offline environments.
3. Security concerns: SaaS providers are responsible for maintaining
the security of the data stored on their servers, but there is still a risk
of data breaches or other security incidents.
4. Limited control over data: SaaS providers may have access to a
user’s data, which can be a concern for organizations that need to
maintain strict control over their data for regulatory or other reasons.

Platform as a Service

PaaS is a category of cloud computing that provides a platform and environment


to allow developers to build applications and services over the internet. PaaS
services are hosted in the cloud and accessed by users simply via their web
browser. 
A PaaS provider hosts the hardware and software on its own infrastructure. As
a result, PaaS frees users from having to install in-house hardware and
software to develop or run a new application. Thus, the development and
deployment of the application take place independent of the hardware. 
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 configuration settings for the application-
hosting environment. To make it simple, take the example of an annual day
function, you will have two options either to create a venue or to rent a venue
but the function is the same.
Advantages of PaaS: 
1. Simple and convenient for users: It provides much of the
infrastructure and other IT services, which users can access anywhere
via a web browser.
2. Cost-Effective: It charges for the services provided on a per-use
basis thus eliminating the expenses one may have for on-premises
hardware and software.
3. Efficiently managing the lifecycle: It is designed to support the
complete web application lifecycle: building, testing, deploying,
managing, and updating.
4. Efficiency: It allows for higher-level programming with reduced
complexity thus, the overall development of the application can be
more effective.
The various companies providing Platform as a service are Amazon Web
services Elastic Beanstalk, Salesforce, Windows Azure, Google App Engine,
cloud Bees and IBM smart cloud. 
Disadvantages of Paas:
1. Limited control over infrastructure: PaaS providers typically
manage the underlying infrastructure and take care of maintenance
and updates, but this can also mean that users have less control over
the environment and may not be able to make certain customizations.
2. Dependence on the provider: Users are dependent on the PaaS
provider for the availability, scalability, and reliability of the platform,
which can be a risk if the provider experiences outages or other
issues.
3. Limited flexibility: PaaS solutions may not be able to accommodate
certain types of workloads or applications, which can limit the value of
the solution for certain organizations.

Infrastructure as a Service

Infrastructure as a service (IaaS) is a service model that delivers computer


infrastructure on an outsourced basis to support various operations. Typically
IaaS is a service where infrastructure is provided as outsourcing to enterprises
such as networking equipment, devices, database, and web servers. 
It is also known as Hardware as a Service (HaaS). IaaS customers pay on a
per-user basis, typically by the hour, week, or month. Some providers also
charge customers based on the amount of virtual machine space they use. 
It simply provides the underlying operating systems, security, networking, and
servers for developing such applications, and services, and deploying
development tools, databases, etc. 
Advantages of IaaS: 
1. Cost-Effective: Eliminates capital expense and reduces ongoing cost
and IaaS customers pay on a per-user basis, typically by the hour,
week, or month.
2. Website hosting: Running websites using IaaS can be less
expensive than traditional web hosting.
3. Security: The IaaS Cloud Provider may provide better security than
your existing software.
4. Maintenance: There is no need to manage the underlying data center
or the introduction of new releases of the development or underlying
software. This is all handled by the IaaS Cloud Provider.
The various companies providing Infrastructure as a service are Amazon web
services, Bluestack, IBM, Openstack, Rackspace, and Vmware. 
Disadvantages of laaS :
1. Limited control over infrastructure: IaaS providers typically manage
the underlying infrastructure and take care of maintenance and
updates, but this can also mean that users have less control over the
environment and may not be able to make certain customizations.
2. Security concerns: Users are responsible for securing their own data
and applications, which can be a significant undertaking.
3. Limited access: Cloud computing may not be accessible in certain
regions and countries due to legal policies.

Anything as a Service

It is also known as Everything as a Service. Most of the cloud service providers


nowadays offer anything as a service that is a compilation of all of the above
services including some additional services. 
Advantages of XaaS:  
1. Scalability: XaaS solutions can be easily scaled up or down to meet
the changing needs of an organization.
2. Flexibility: XaaS solutions can be used to provide a wide range of
services, such as storage, databases, networking, and software, which
can be customized to meet the specific needs of an organization.
3. Cost-effectiveness: XaaS solutions can be more cost-effective than
traditional on-premises solutions, as organizations only pay for the
services.
Disadvantages of XaaS:
1. Dependence on the provider: Users are dependent on the XaaS
provider for the availability, scalability, and reliability of the service,
which can be a risk if the provider experiences outages or other
issues.
2. Limited flexibility: XaaS solutions may not be able to accommodate
certain types of workloads or applications, which can limit the value of
the solution for certain organizations.
3. Limited integration: XaaS solutions may not be able to integrate with
existing systems and data sources, which can limit the value of the
solution for certain organizations.
Function as a Service :
FaaS is a type of cloud computing service. It provides a platform for its users or
customers to develop, compute, run and deploy the code or entire application
as functions. It allows the user to entirely develop the code and update it at any
time without worrying about the maintenance of the underlying infrastructure.
The developed code can be executed with response to the specific event. It is
also as same as PaaS.
FaaS is an event-driven execution model. It is implemented in the serverless
container. When the application is developed completely, the user will now
trigger the event to execute the code. Now, the triggered event makes response
and activates the servers to execute it. The servers are nothing but the Linux
servers or any other servers which is managed by the vendor completely.
Customer does not have clue about any servers which is why they do not need
to maintain the server hence it is serverless architecture.
Both PaaS and FaaS are providing the same functionality but there is still some
differentiation in terms of Scalability and Cost. 

FaaS, provides auto-scaling up and scaling down depending upon the demand.
PaaS also provides scalability but here users have to configure the scaling
parameter depending upon the demand.
In FaaS, users only have to pay for the number of execution time happened. In
PaaS, users have to pay for the amount based on pay-as-you-go price
regardless of how much or less they use.
Advantages of FaaS :
 Highly Scalable: Auto scaling is done by the provider depending upon
the demand.
 Cost-Effective: Pay only for the number of events executed.
 Code Simplification: FaaS allows the users to upload the entire
application all at once. It allows you to write code for independent
functions or similar to those functions.
 Maintenance of code is enough and no need to worry about the
servers.
 Functions can be written in any programming language.
 Less control over the system.
The various companies providing Function as a Service are Amazon Web
Services – Firecracker, Google – Kubernetes, Oracle – Fn, Apache OpenWhisk
– IBM, OpenFaaS, 
Disadvantages of FaaS :
1. Cold start latency: Since FaaS functions are event-triggered, the first
request to a new function may experience increased latency as the
function container is created and initialized.
2. Limited control over infrastructure: FaaS providers typically
manage the underlying infrastructure and take care of maintenance
and updates, but this can also mean that users have less control over
the environment and may not be able to make certain customizations.
3. Security concerns: Users are responsible for securing their own data
and applications, which can be a significant undertaking.
4. Limited scalability: FaaS functions may not be able to handle high
traffic or large number of requests.

You might also like