0% found this document useful (0 votes)
24 views

W13 - CLO4 - Portability and Interoperability

This document discusses portability and interoperability in cloud computing. It defines portability as the ability to move systems between cloud services with minimal disruption, and interoperability as the ability of different cloud systems to communicate and exchange information. The document outlines challenges to portability and interoperability at different cloud layers, and proposes solutions like standard data formats, common APIs, and machine imaging formats to improve portability and allow systems in different clouds to interoperate.

Uploaded by

maryam saeed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

W13 - CLO4 - Portability and Interoperability

This document discusses portability and interoperability in cloud computing. It defines portability as the ability to move systems between cloud services with minimal disruption, and interoperability as the ability of different cloud systems to communicate and exchange information. The document outlines challenges to portability and interoperability at different cloud layers, and proposes solutions like standard data formats, common APIs, and machine imaging formats to improve portability and allow systems in different clouds to interoperate.

Uploaded by

maryam saeed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

The Campus of Tomorrow

CIS 4403: Cloud Computing


Week 13: LO4 – Portability and Interoperability

Thursday, November 17, 2022


Delivery Outline
• W1: CLO1 - Introduction to Cloud Computing
• W2: CLO1 - Cloud Computing Models and Services
• W3-4: CLO2 - Resource Virtualization and Pooling
• W5: CLO2 - Scaling and Capacity Planning
• W6: CLO2 - Load Balancing
• W7: CLO2 - File System and Storage
• W8: CLO3 - Database Technology
• W9-10: CLO3 - Cloud Computing Security
• W11: CLO3 - Privacy and Compliance
• W12: CLO4 - Content Delivery Network
• W13: CLO4 - Portability and Interoperability
• W14: CLO4 - Cloud Management
• W15: CLO all - Hot Research Topics

2
Objectives

• Upon completing this chapter the learner should be able to:


• Explore Portability and Interoperability Scenarios (Chapter 18 of Tex t Book)
• Understand Machine Imaging (Chapter 18 of Tex t Book)
• Differentiate Virtual Machine and Virtual Appliance (Chapter 18 of Tex t Book)
Portability and Interoperability in Cloud Computing

• Cloud computing is all about using services provided by cloud vendors.


• Two questions arise:
1. Can systems once built over one cloud service be moved to another cloud service, if necessary,
with minimal disruption and effort?
• Such possibility brings forth the issue of portability.
• Vendor-lock-in, is a situation where a consumer using one cloud service cannot easily
move to a similar service delivered by a competitor company or service provider.
• All investments by a consumer may be in stake if computing setup created on one provider’s
service cannot be moved to other provider’s service in future.
2. Can applications of two different cloud environments be linked together or, when it is required to
link some on-premises non-cloud or cloud computing setup with a public cloud service?
• Such linking brings forth the issue of interoperability.

• Apart from the issue of security, cloud adoption also depends on how a cloud environment
can address users’ concerns regarding portability and interoperability.

4
Portability

• Portability is the ability to move an entity from one system to another without
compromising its usability.
• In computing, portability can be described as the ability of moving one component from
one technological or architectural platform to another.
• The ported component should remain operational at its full ability.
• In cloud computing, portability is the ability to move some computing constituent (like
virtual machine, development environment or application) from one environment to
another.
• Portability concerns are highest when these two environments are from two different
vendors.
• Portability is therefore the ability to run components or systems developed for one cloud
provider’s environment on some other cloud provider’s environment.
• Portability issues at different layers of cloud services are not similar.

5
Interoperability

• Interoperability is a measure of the degree to which dissimilar systems or components can work
together successfully.
• In computing, interoperability is the ability of two or more systems or applications to communicate by
exchanging information and deliver expected outcomes by processing those exchanged information.
• In cloud computing, interoperability is communicating between multiple clouds.
• Clouds can be of different deployments (public, private and hybrid) and/or from different vendors.
• Interoperability is the ability to seamlessly exchange data or information between systems running
in different cloud environments.
• Diverse systems should be able to understand one another in terms of application, data formats,
configurations, service interfaces etc. Only then they will be able to cooperate and interoperate with
each other.
• Like portability, in interoperability too, issues related to different layers of cloud services are not
similar.
• Interoperability is an enabler for portability.

6
Addressing Portability - Data

• Data is generally structured to fit some particular application, platform or storage.


• Data portability issue remains present at all levels of cloud services (SaaS, PaaS and IaaS).
• Portability of data must be addressed separately at each level.
• At SaaS level no application portability issue arises, data associated with those applications bring
portability concerns. Data portability arises from three aspects of data including: Format, Extent,
and Semantic.
• At PaaS level, concern is about operating system and the application development environment. The
application development environment may consist of a substantial stack of software with many APIs
which are used by the application code.
• At IaaS level, the question is whether the new provider supports the same virtual machines and if
the virtual machine architectures are similar. A portable machine image format like Open
Virtualization Format (OVF) resolves the machine porting problem from one provider to another.
• Consumer has to be careful while moving data from one cloud service to another.
• Use of standard data formats can resolve the problem of data portability.
• Data portability enables re-usage of data components across different applications and platforms.

7
Addressing Portability - Application

• Applications often use characteristic-specific to the platform it is built on. Thus it becomes
difficult to move an application from its native platform to other.
• Applications generally communicate with platform through interfaces (APIs) provided by
the platform. Hence nonstandard platform APIs may make an application rigid or non-
portable.
• For application portability over cloud, all of the vendors need to agree on a common
Application Program Interface (API) that will allow applications to be portable across
multiple cloud environments.
• When an application uses features that are specific to a platform and the platform
interface is non-standard, then the portability hampers.
• Application portability enables the re-use of application components across computing
platforms.

8
Addressing Portability - Platform

• Platform porting is more critical than data or application porting.


• Porting a platform may mean two different things and they are done in two different ways:
• Porting platform environm ent : This means reusing platform components over the IaaS facilities
of different vendors.
• Deals with platform elements like operating system, web server or database management system.
• Such portability can be achieved by recompiling the source codes of platform components on every non-cloud
infrastructure or IaaS services.
• This may require rewriting of the hardware-dependent sections of the codes.
• Porting m achine im age : In this case, applications running over the platform are bundled together
with platform components. This bundled entity is known as machine image.
• This is the moving of virtual machine instance from one provider’s infrastructure to another provider’s
infrastructure service.
• It is an archiving technique that requires a standard representation of the machine images that can be deployed
in different IaaS environments.
• Technologists such as Open Virtualization Format (OVF) is a major development towards this aim (to be
discussed later).

9
Addressing Interoperability

• Implementation of interoperability needs standardization as well as collaboration among


cloud computing vendors.
• Concerns are divided in the following categories:
• Application Interoperability and
• Platform Interoperability
• Platform or application components of two environments interact through interfaces or
APIs using communication protocols.
• Applications can interoperate only when they share common process and data models.
• Solution: to standardize the APIs.
• Data format standardization is another requirement in the making of portable application
or platform.
• Additionally, platform interoperability requires standard protocols for service discovery.

10
Machine Image versus Machine Instance

• Machine image is like an inactive entity holding a template, and all of the associated files,
of a virtual machine from which instances of that machine can be created.
• A machine instance virtual server is launched from a machine image file. Whenever an
instance is launched the exact image of the machine (of the moment when the image was
created) gets installed onto that new instance’s virtual drive and then boots up the
instance.
• Any number of machine instances can be launched from one machine image.
• Vendors enable consumers the opportunity of launching virtual server or machine from
pre-configured set of machine images.
• Consumers can know the specifications and also the cost of running instances from those
images. On selection, the deployment is nothing more than the process of starting up a
new virtual instance.
• Machine imaging technique is very effective in disaster recovery also.
• If state of a server is stored as an image, then it becomes easier and faster to bring up a
server from that backup than to install the stack of software all over again and taking
care of all critical configuration issues.

11
Amazon Machine Image

• Amazon Machine Image (AMI) is a utility provided by Amazon Web Services to create and
store copies of a virtual machine in cloud computing.
• An AMI is a file system image that contains images of the operating system, all of
appropriate device drivers and any applications and state information that a working virtual
machine would have.
• An Amazon Machine Image (AMI) can be used to instantiate (create) any number of virtual
machines within the Amazon Elastic Compute Cloud (EC2).
• Subscribers of AWS can choose to use from the available list of AMIs provided by Amazon
or they can build their own.
• Many AMIs are available in AWS marketplace too.
• During creation of an Amazon machine image, it gets encrypted and is stored in Amazon
S3.

12
Azure Virtual Machine Image

• Virtual machine image in Microsoft Azure cloud is called as VM image.


• A VM image includes the image of operating system as well as the images of all of the
disks attached to a virtual machine while creating the image.
• Azure also offers a gallery of images which can be used to instantiate new virtual
machines.
• Azure provides an option called as ‘Capture’ to create new VM image from any machine
instance. Clone image of any virtual machine can be created by this ‘Capture’ option.
• On creation, the image file is stored as a VHD (Virtual Hard Disk) in user’s storage account
by default which can later be used to launch new machine instances.

13
Virtual Appliance

• A virtual appliance (VA) is a pre-integrated, self-contained system consisting of a


preconfigured Just enough Operating System (JeOS) environment and a single application.
• It is actually a container generally for a single application and all of its dependencies, like
operating system, runtime, third-party libraries, databases, configuration etc.
• The virtual appliance container is a type of VM image (VMI).
• Virtual Appliance falls under the Software-as-a-Service (SaaS) category.
• There are two types of virtual appliances: Closed and open.
• A closed virtual appliance (closed VA) is packaged as a sealed unit.
• An open virtual appliance (open VA) provides the scope of modifications to customers.
• The purpose of a virtual appliance is to simplify the delivery and deployment of an
application.
• Virtual software appliance eliminates the trouble of installing and configuring complex
stack of software to run an application.

14
Benefits of using Virtual Appliance

• Packaged solutions as virtual appliance are very useful as it provides ready-to-use


applications.
• The benefits of virtual appliances are:
• Simplified deployment: A virtual appliance encapsulates an application’s dependencies in a pre-
integrated and self-contained unit. This simplifies application deployment by reducing the issues
associated with resolving complex compatibility issues.
• Less volume: Compared to the total volume of software required to install to run any general
application in a virtualized environment, the virtual appliance is smaller in size.
• More security: Each virtual appliance is typically used to run a single application in isolation.
• This makes it more secured than running multiple applications under a full general-purpose OS, due to less
possibility of undesirable interactions with other applications.

• Virtual appliance is smaller in size, simple to deploy and more secured to use than
installing and configuring the same application separately in a fully-configured virtual
server.

15
Difference between Virtual Machine Image and Virtual Appliance

• Virtual machine image contains the entire


image of a virtual system at an instance.
• It contains the total image of the machine’s
operating system and integrates images of
any other software installed over it.
• A virtual appliance, is a pre-configured
virtual machine image, ready to run on a
hypervisor.
• Its primary goal is to run a software
application on a virtual environment.

• It is not a complete virtual machine image; rather it contains the minimal required parts of the
OS (known as JeOS) and other associated software, along with the application itself so that
the application can be executed when the appliance is installed on an empty virtual machine
space.
• Both virtual machine image and virtual appliance are installed over empty16virtual machine.
Issue of Cross-Platform Compatibility

• The virtual appliance marketplace can be compared with the apps that mobile stores
supply for cell phones. Many mobile apps are available in on-line marketplaces which allow
the exchange of ready-made applications. Such marketplace is also there for virtual
appliances.
• A compatibility issue arises for virtual appliances due to dissimilar formats of the
hypervisors.
• However, the problem exists as the virtual appliance (or any archived virtual machine
instances) which is built on one type of hypervisor will not run on other types of
hypervisors.
• Hence, the virtual appliances are not interoperable in general.
• To solve this problem, all of the hypervisors (or rather the owners of hypervisors) agreed
upon a common format for archiving virtual systems that is Open Virtualization Format
(OVF).
• This enables one vendor’s appliance to operate on any hypervisors.
• OVF promotes virtual appliances’ portability. It is not tied to any particular hypervisor and
is recognized by ISO as common format for archiving virtual appliances.

17
Open Virtualisation Format (OVF)

• Open Virtualization Format (OVF) is an open standard which provides standard packaging
format for software solutions based on virtual systems.
• OVF is designed to resolve the portability issue of packaged virtual systems (like virtual
machine images or virtual appliances).
• Its common packaging format enables cross-platform portability of such systems.
• Virtual machine images or virtual appliances can be deployed easily with pre-built
configuration using OVF meta-data and can be customized during installation. Sometimes,
the multiple virtual machines’ images are packaged as one virtual appliance for easy
deployment.
• With the maturity of cloud computing, clients and consumers have started to prefer to
interact with services from different providers. So, OVF has fueled the delivery of
applications over cloud computing. OVF standard is now used for packaging applications
for cloud platform.
• The power behind virtual appliances lies in the ability to freely share them among different
hypervisors.

18
Summary

• Unlike traditional computing, cloud computing shows great promises towards addressing the issues
of portability and interoperability.
• The pay-per-use model of cloud computing opens up the option of moving from one cloud service
to another without worries about previous capital investments. The only effort that is required for
such movement is the portability of components which have been developed and used over the
period.
• Interoperability issues come next as components of two different cloud environments must
recognize and operate with each other to get the benefit of cloud services of different providers.
• Portability and interoperability needs are not similar at different layers of cloud services. Hence
they have to be addressed separately.
• Porting of one vendor’s software system or data to some other vendor’s cloud environment is a
critical issue that vendors are working upon to resolve. Use of some common and standard set of
APIs and data formats across various cloud platforms may resolve this problem.

19
Summary

• Machine imaging is a technique to capture a virtual machine’s current state, with all applications
and data, which is used to create a replica of that machine later.
• Machine imaging techniques help in allowing quicker deployment of virtual systems. The biggest
benefit of machine imaging techniques becomes evident during disaster recovery.
• A virtual appliance is a kind of machine image normally created for a single application. It is a self-
sufficient system that contains all the dependencies to run an application including minimal
required components of the operating system.
• A virtual appliance does not need any pre-configured virtual machine, rather it can be directly
installed on any virtualized environment (that is hypervisor) just like an application.
• While virtual appliances are a remarkable idea, its portability over different cloud services has been
a matter of concern.
• Major software companies have agreed upon a common packaging standard called Open
Virtualization Format (OVF), which is used to distribute virtual appliances across different
virtualized platforms to overcome the portability issue.

20
Thank You

800 MyHCT (800 69428) www.hct.ac.ae

You might also like