W13 - CLO4 - Portability and Interoperability
W13 - CLO4 - Portability and Interoperability
2
Objectives
• 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
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
9
Addressing Interoperability
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
13
Virtual Appliance
14
Benefits of using Virtual Appliance
• 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
• 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