ACCT

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

ACCT Assignment 1

Levels of Virtualization

Implementation Levels of Virtualization In Cloud Computing


Today professionals look to test their software and program across various platforms.
However, there are challenges here because of varied constraints. This gives rise to the
concept of virtualization. Virtualization lets the users create several platform instances, which
could be various applications and operating systems.

Virtualization is not a new concept. It has existed since 1960; however, it is only now, thanks
to the cloud-based systems, that there has been a lot of attention given to the implementation
of virtualization in Cloud Computing. It is the capacity that lets you run many computer
system instances using the same hardware set. How you use the hardware can be varied,
which is based on how the virtual machine is configured.

A very amazing yet simple example of virtualization is your PC or your laptop. You run
Windows on your laptop, but thanks to virtualization, you can also run Ubuntu on our laptop
today.

It is not simple to set up virtualization. Your computer runs on an operating system that gets
configured on some particular hardware. It is not feasible or easy to run a different operating
system using the same hardware.

To do this, you will need a hypervisor. Now, what is the role of the hypervisor? It is a bridge
between the hardware and the virtual operating system, which allows smooth functioning.

Talking of the Implementation levels of virtualization in Cloud Computing., there are a total
of five levels that are commonly used. Let us now look closely at each of these levels of
virtualization implementation in Cloud Computing.

1) Instruction Set Architecture Level (ISA)


ISA virtualization can work through ISA emulation. This is used to run many legacy codes
written for a different hardware configuration. These codes run on any virtual machine using
the ISA. With this, a binary code that originally needed some additional layers to run is now
capable of running on the x86 machines. It can also be tweaked to run on the x64 machine.
With ISA, it is possible to make the virtual machine hardware agnostic.

For the basic emulation, an interpreter is needed, which interprets the source code and then
converts it into a hardware format that can be read. This then allows processing. This is one
of the five implementation levels of virtualization in Cloud Computing..

2) Hardware Abstraction Level (HAL)


True to its name HAL lets the virtualization perform at the level of the hardware. This makes
use of a hypervisor which is used for functioning. The virtual machine is formed at this level,
which manages the hardware using the virtualization process. It allows the virtualization of
each of the hardware components, which could be the input-output device, the memory, the
processor, etc.
 Full Virtualization: Uses a hypervisor to create a virtual machine that emulates the
complete hardware, allowing unmodified guest operating systems to run as if they were on
physical hardware. Examples include VMware ESXi, Microsoft Hyper-V, and Oracle VM
VirtualBox.
 Paravirtualization: The guest operating system is modified to work in a virtual
environment, which improves performance by reducing the overhead of emulating hardware.
Xen is a well-known example.
 Hardware-Assisted Virtualization: Modern CPUs include virtualization extensions (e.g.,
Intel VT-x, AMD-V) that assist in running virtual machines more efficiently by reducing the
need for extensive software emulation.

Multiple users will not be able to use the same hardware and also use multiple virtualization
instances at the very same time. This is mostly used in the cloud-based infrastructure.

3) Operating System Level


At the level of the operating system, the virtualization model is capable of creating a layer
that is abstract between the operating system and the application. This is an isolated container
on the operating system and the physical server, which uses the software and hardware. Each
of these then functions in the form of a server.

When there are several users and no one wants to share the hardware, then this is where the
virtualization level is used. Every user will get his virtual environment using a dedicated
virtual hardware resource. In this way, there is no question of any conflict.

4) Library Level
The operating system is cumbersome, and this is when the applications use the API from the
libraries at a user level. These APIs are documented well, and this is why the library
virtualization level is preferred in these scenarios. API hooks make it possible as it controls
the link of communication from the application to the system.

This involves creating a virtual environment at the library level, enabling applications to run
in isolation by providing virtualized libraries. It allows multiple versions of libraries to
coexist on the same system, preventing conflicts between applications that require different
library versions. This can be achieved through tools like LD_PRELOAD in Linux.

5) Application Level
The application-level virtualization is used when there is a desire to virtualize only one
application and is the last of the implementation levels of virtualization in Cloud Computing.
One does not need to virtualize the entire environment of the platform.

This is generally used when you run virtual machines that use high-level languages. The
application will sit above the virtualization layer, which in turn sits on the application
program.

It lets the high-level language programs compiled to be used at the application level of the
virtual machine run seamlessly.
Conclusion

There are in total of five implementation levels of virtualization in Cloud Computing.


However, every enterprise may not use each one of the different levels of virtualization
implementation in Cloud Computing. The level used is based on the working of the company
and also on its preference for the level of virtualization. The company will use the virtual
machine to develop and test across multiple platforms. Cloud-based applications are on the
rise, making virtualization a must-have thing for enterprises worldwide.
ACCT Assignment 2
Cloud deployment models refer to the ways in which cloud services are deployed and made
available to users. There are four primary cloud deployment models, each offering different
levels of control, security, and scalability:

1. Public Cloud:
o Description: Public clouds are owned and operated by third-party cloud
service providers, and resources such as servers and storage are delivered over
the internet. Users share the same infrastructure with other organizations
(multi-tenancy).
Examples:
 Amazon Web Services (AWS): Offers a wide range of cloud services
including EC2 (compute), S3 (storage), RDS (databases), and more.
 Microsoft Azure: Provides services like Azure VMs, Azure Blob Storage,
Azure SQL Database, and various AI/ML services.
 Google Cloud Platform (GCP): Includes services such as Compute Engine,
Cloud Storage, BigQuery, and Kubernetes Engine.
 Advantages: Cost-effective, scalable, no maintenance (managed by the
provider), easy to deploy.
 Disadvantages: Less control over the infrastructure, potential security and
privacy concerns.

2. Private Cloud:
o Description: Private clouds are dedicated to a single organization and can be
hosted either on-premises or by a third-party provider. They provide more
control and security over the infrastructure.
o Example
 P Morgan Chase utilizes a private cloud to meet stringent security and
regulatory requirements in the banking sector.
o  NASA uses a private cloud for its computing needs to maintain control
over sensitive data and research.
o Advantages: Greater control and customization, enhanced security and
privacy, compliance with regulations.
o Disadvantages: Higher costs, requires maintenance and management, less
scalable compared to public cloud.
(a) On-site Private Cloud (b) Out-sourced Private Cloud

3. Hybrid Cloud:
o Description: Hybrid clouds combine public and private clouds, allowing data
and applications to be shared between them. This provides greater flexibility
and optimized workload management.
o Examples:
o General Electric (GE) uses a hybrid cloud strategy to manage its vast
industrial IoT data, combining public and private clouds for optimal
performance and security.
o Adobe integrates its private data centers with public cloud services to balance
load and ensure high availability.
o Advantages: Flexibility, optimized cost, enhanced security and compliance,
seamless integration of on-premises and cloud resources.
o Disadvantages: Complex to manage, potential security risks due to data
transfer between environments.

4. Community Cloud:
o Description: Community clouds are shared among several organizations with
similar requirements and concerns, such as security, compliance, or
jurisdiction. The infrastructure is jointly owned and operated by the
community.
Examples
The European Union's Cloud Initiative provides a community cloud for
member states to share resources and data securely.
Healthcare consortia use community clouds to share patient data securely while
complying with regulations like HIPAA.
Advantages: Cost sharing, enhanced security and compliance for specific
needs, collaborative development.
o Disadvantages: Limited scalability compared to public clouds, potential
complexity in management and governance.
o Use Cases:
o Government agencies sharing data and resources for better coordination.
o Healthcare organizations collaborating on research and sharing medical
records.
o Educational institutions sharing resources for research and development.

Each deployment model offers different benefits and trade-offs, making them suitable for
various types of organizations and use cases. The choice of a deployment model depends on
factors such as cost, security, compliance, control, and specific business needs.
ACCT Assignment 3
Open Stack
t is a free open standard cloud computing platform that first came into
existence on July 21′ 2010. It was a joint project of Rackspace Hosting
and NASA to make cloud computing more ubiquitous in nature. It is
deployed as Infrastructure-as-a-service(IaaS) in both public and private
clouds where virtual resources are made available to the users. The
software platform contains interrelated components that control multi-
vendor hardware pools of processing, storage, networking resources
through a data center. In OpenStack, the tools which are used to build this
platform are referred to as “projects”. These projects handle a large
number of services including computing, networking, and storage
services. Unlike virtualization, in which resources such as RAM, CPU, etc
are abstracted from the hardware using hypervisors, OpenStack uses a
number of APIs to abstract those resources so that users and the
administrators are able to directly interact with the cloud services.

OpenStack components

Apart from various projects which constitute the OpenStack platform,


there are nine major services namely Nova, Neutron, Swift, Cinder,
Keystone, Horizon, Ceilometer, and Heat. Here is the basic definition of all
the components which will give us a basic idea about these components.
1. Nova (compute service): It manages the compute resources like
creating, deleting, and handling the scheduling. It can be seen as a
program dedicated to the automation of resources that are responsible
for the virtualization of services and high-performance computing.
2. Neutron (networking service): It is responsible for connecting all the
networks across OpenStack. It is an API driven service that manages
all networks and IP addresses.
3. Swift (object storage): It is an object storage service with high fault
tolerance capabilities and it used to retrieve unstructured data objects
with the help of Restful API. Being a distributed platform, it is also used
to provide redundant storage within servers that are clustered together.
It is able to successfully manage petabytes of data.
4. Cinder (block storage): It is responsible for providing persistent block
storage that is made accessible using an API (self- service).
Consequently, it allows users to define and manage the amount of
cloud storage required.
5. Keystone (identity service provider): It is responsible for all types of
authentications and authorizations in the OpenStack services. It is a
directory-based service that uses a central repository to map the
correct services with the correct user.
6. Glance (image service provider): It is responsible for registering,
storing, and retrieving virtual disk images from the complete network.
These images are stored in a wide range of back-end systems.
7. Horizon (dashboard): It is responsible for providing a web-based
interface for OpenStack services. It is used to manage, provision, and
monitor cloud resources.
8. Ceilometer (telemetry): It is responsible for metering and billing of
services used. Also, it is used to generate alarms when a certain
threshold is exceeded.
9. Heat (orchestration): It is used for on-demand service provisioning
with auto-scaling of cloud resources. It works in coordination with the
ceilometer.
These are the services around which this platform revolves around. These
services individually handle storage, compute, networking, identity, etc.
These services are the base on which the rest of the projects rely on and
are able to orchestrate services, allow bare-metal provisioning, handle
dashboards, etc.

Features of OpenStack

 Modular architecture: OpenStack is designed with a modular


architecture that enables users to deploy only the components they
need. This makes it easier to customize and scale the platform to meet
specific business requirements.
 Multi-tenancy support: OpenStack provides multi-tenancy support,
which enables multiple users to access the same cloud infrastructure
while maintaining security and isolation between them. This is
particularly important for cloud service providers who need to offer
services to multiple customers.
 Open-source software: OpenStack is an open-source software
platform that is free to use and modify. This enables users to customize
the platform to meet their specific requirements, without the need for
expensive proprietary software licenses.
 Distributed architecture: OpenStack is designed with a distributed
architecture that enables users to scale their cloud infrastructure
horizontally across multiple physical servers. This makes it easier to
handle large workloads and improve system performance.
 API-driven: OpenStack is API-driven, which means that all
components can be accessed and controlled through a set of APIs.
This makes it easier to automate and integrate with other tools and
services.
 Comprehensive dashboard: OpenStack provides a comprehensive
dashboard that enables users to manage their cloud infrastructure and
resources through a user-friendly web interface. This makes it easier to
monitor and manage cloud resources without the need for specialized
technical skills.
 Resource pooling: OpenStack enables users to pool computing,
storage, and networking resources, which can be dynamically allocated
and de-allocated based on demand. This enables users to optimize
resource utilization and reduce waste.

Advantages of using OpenStack

 It boosts rapid provisioning of resources due to which orchestration


and scaling up and down of resources becomes easy.
 Deployment of applications using OpenStack does not consume a
large amount of time.
 Since resources are scalable therefore they are used more wisely and
efficiently.
 The regulatory compliances associated with its usage are manageable.

Disadvantages of using OpenStack

 OpenStack is not very robust when orchestration is considered.


 Even today, the APIs provided and supported by OpenStack are not
compatible with many of the hybrid cloud providers, thus integrating
solutions becomes difficult.
 Like all cloud service providers OpenStack services also come with the
risk of security breaches.

Use Cases

 Public Cloud Providers: Companies like Rackspace use OpenStack


to offer public cloud services.
 Private Clouds: Enterprises deploy OpenStack internally to provide
scalable and flexible cloud services.
 Hybrid Clouds: Organizations use OpenStack to integrate private and
public cloud environments for a hybrid approach.
 Telecommunications: Telcos use OpenStack to manage network
functions virtualization (NFV) and other cloud-native functions.

You might also like