SlideShare a Scribd company logo
1 of 7
Download to read offline
MAKERERE UNIVERSITY
SCHOOL OF COMPUTING AND
INFORMATICS TECHNOLOGY
DEPARTMENT OF COMPUTER SCIENCE
MCS 7101: Cloud Technologies and Architectures
Assignment I
Name StudentNo RegNo
ATWIINE Simon Alex 1900725235 2019/HD05/25235U
NAMBAALE Raymond Bakule 1900725253 2019/HD05/25253U
RAJAB Ssemwogerere 190072991 2019/HD03/29911U
WAMWOYO Faruk 1900725248 2019/HD05/25248U
1 Virtualization
1.1 What Is Virtualization?
Virtualization is the act of isolating or unbinding one computing resource
from others.[9] Or-it can be defined as-a computer architecture technology
by which multiple virtual machines (VMs) are multiplexed in the same
hardware unit.
Virtualization has a long history in the software industry and the term
has been used in a variety of ways. The earliest type of virtual machine
dates back to IBM in the 1960s which aimed to maximize use of expensive
mainframe systems through multitasking.[5] However, during the course
of years, the hardware got cheaper and simultaneously multiprocessing
operating systems emerged.[3]
The goal of virtualization is usually one of the following: higher lev-
els of performance, scalability, reliability/availability, agility, or to create a
unified security and management domain.[9]
1.2 Virtual Machine
In the cloud context, a “virtual machine” is a software implementation of
a machine with a complete independent operating system, which executes
programs like a physical machine.[5]
The virtual machine may have a number of virtual components includ-
ing: processors, memory, hard disk, and network. All these virtual com-
ponents are offered as “slices” from the host machine.
1.3 Characteristics of Virtualized Environments
In a virtualized environment there are three major components: guest,
host, and virtualization layer.[2] The guest represents the system compo-
nent that interacts with the virtualization layer rather than with the host,
as would normally happen. The host represents the original environment
where the guest is supposed to be managed. The virtualization layer is
responsible for recreating the same or a different environment where the
guest will operate.
2 Application Virtualization
2.1 Description
Application virtualization is a software technology that encapsulates ap-
plication software from the underlying operating system on which it is
executed.[8]
Virtualization at the application level virtualizes an application as a
VM. On a traditional operating system (OS), an application often runs as
a process. Therefore, application-level virtualization is also known as
process-level virtualization.
In application-level virtualization, applications are not installed in the
expected runtime environment,[7] but are run as though they were. When
the application is loaded, the host OS provides it with a run-time environ-
ment, but virtualization layer replaces a part of this run-time environment
and gives a virtual environment to the virtualized application.
Figure 1: Illustration of an application running in a native environment
and virtualized environment
2.2 What Does Application Virtualization Do?
There are two different forms of application virtualization, client-side and
server-side.
The client-side form of application virtualization creates a protected en-
vironment that makes it possible for applications to be isolated from one
another and from the base operating system. This means that applications
that could not successfully reside on the same client system could be used
together.[4]
For instance an application designed for an earlier version of the oper-
ating system may continue to function on a newer version of that operating
system, even though it would be incompatible without being placed in a
virtual environment.[4]
Placing server-side applications in a virtual environment offers many of
the same benefits as client-side application virtualization. Server-side ap-
plication virtualization offers a few other valuable functions as well. Mul-
tiple instances of an application can be automatically started on other ma-
chines when the workload is no longer meeting service-level guidelines.[4]
2.3 Application Virtualization Deployment Methods
The most popular approach is to deploy high level language (HLL) VMs. In
this scenario, the virtualization layer sits as an application program on top
of the operating system, and the layer exports an abstraction of a VM that
can run programs written and compiled to a particular abstract machine
definition.[6] Any program written in the HLL and compiled for this VM
will be able to run on it. The Microsoft .NET CLR and Java Virtual Machine
(JVM) are two good examples of this class of VM.[6]
Other forms of application-level virtualization are known as applica-
tion isolation, application sandboxing, or application streaming.
Application sandboxing/isolation involves wrapping the application in
a layer that is isolated from the host OS and other applications. The result
is an application that is much easier to distribute and remove from user
workstations.[6]
Application streaming on the other hand, is a form of on-demand soft-
ware distribution. Only essential portions of an application’s code need to
be installed on the local system, and while the end user performs actions in
the application, the necessary code and files are delivered over the network
as and when they are required.[11]
2.4 Benefits of Application Virtualization
The power of application virtualization is the separation of the application
from the endpoint OS. This alleviates all the shortcomings that come with
the traditional approach of installing, tracking, and supporting an appli-
cation on individual machines, and provides a number of benefits.
1. Application installation simplified: Installing an application on hun-
dreds or thousands of computers is prone to error. Application vir-
tualization simplifies software deployment.[1]
2. Application retirement simplified: Getting rid of an application in
your whole network is much easier as well. Since virtual applications
just have to be deleted, uninstalling them is usually not required.
3. No more application conflicts: Sometimes installing an application
corrupts another application. Application virtualization helps reduce
the risks of application conflicts.
4. No registry and system bloat: The more applications you install on
a computer, the more bloated its registry and system folder will get.
This makes the computer slower and increases the risk of failures.
Application virtualization lets the registry and the system folder un-
touched.
5. Multiple run-time environments: You can deploy the run-time envi-
ronment together with the application. This enables you to run differ-
ent versions of a run-time environment on a computer. For example,
you can run different Java versions simultaneously without messing
around with environment variables.
6. Multiple versions of the same application: For instance, end users
can run Microsoft Word 2003 and Microsoft Word 2007 at the same
time.[10]
7. Application updates: You can update the virtualized application at
a central location on your servers. This means you have to update an
application only once and not on all of your clients’ machines.
8. Rollback: If an application no longer works properly on a user’s ma-
chine because he or she changed too many settings or installed in-
compatible add-ons, you can just reset the app to its original state.
2.5 Limitations of Application Virtualization
The attention points, or challenges, of implementing application virtual-
ization are:
• Not all applications can be virtualized. Some examples include ap-
plications that require a device driver.
• Integration between applications and the operating system can be
challenging.
• Performance penalty of application virtualization solution.
• Different way of application packaging which can have impact on
packaging tools and knowledge of packagers.
• Vendors that won’t support apps that have been virtualized, sequenced,
repackaged.
• Troubleshooting is different to deployed applications and can be chal-
lenging.
2.6 Players in the Application Virtualization World
Although there are many players in the application virtualization market,
a short summary of the most important suppliers follows:
Citrix offers virtualization technology in a number of different cate-
gories. The company’s XenApp is considered an application virtualization,
too. XenApp is a client-side application virtualization product.
Microsoft acquired Softricity in July 2006 and enhanced its product, re-
naming it SoftGrid. It is now called Microsoft Application Virtualization
or App-V. App-V provides both client- and server-side application virtual-
ization functions.
VMware acquired ThinApp from Thinstall in January 2008. ThinApp
is a client-side application virtualization function.
AppZero makes it possible for organizations to encapsulate applica-
tions into a virtual application environment (VAA). VAAs can be easily de-
livered to one or more servers.
References
[1] Pernar Domagoj (October 2009). Application Virtualization Down-
load repository, and how to make applications portable. [Virtualiza-
tion.com. Retrieved 11-September-2019].
[2] Buyya, Rajkumar and Vecchiola, Christian and Selvi, S Thamarai.
Mastering cloud computing: foundations and applications programming.
Newnes, 2013.
[3] Cafaro, Massimo and Aloisio, Giovanni. Grids, clouds, and virtual-
ization. In Grids, Clouds and Virtualization, page 27. Springer, 2011.
[4] Kusnetzky Dan. Virtualization: A Manager’s Guide. O’Reilly Media,
Inc., 2011.
[5] Richard Hill, Laurie Hirsch, Peter Lake, and Siavash Moshiri. Guide
to cloud computing: principles and practice. Springer Science & Business
Media, 2012.
[6] Hwang, Kai and Dongarra, Jack and Fox, Geoffrey C. Distributed and
cloud computing: from parallel processing to the internet of things. Morgan
Kaufmann, 2013.
[7] Microsoft. Microsoft Application Virtualization Technical Overview.
[8] Singh Balwinder Sodhi. Topics in Virtualization and Cloud Comput-
ing. 2017.
[9] Ruben Spruijt. Application virtualization smackdown. 2013.
[10] Credit Suisse. Desktop Virtualization Comes of Age.
[11] Wikipedia contributors. Application streaming, 2019. [Online; ac-
cessed 11-September-2019].

More Related Content

What's hot

Cloud Adoption Framework - Overview_partner.pptx
Cloud Adoption Framework - Overview_partner.pptxCloud Adoption Framework - Overview_partner.pptx
Cloud Adoption Framework - Overview_partner.pptxabhishek22611
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Edureka!
 
Understanding Azure Disaster Recovery
Understanding Azure Disaster RecoveryUnderstanding Azure Disaster Recovery
Understanding Azure Disaster RecoveryNew Horizons Ireland
 
An Introduction to OpenStack
An Introduction to OpenStackAn Introduction to OpenStack
An Introduction to OpenStackScott Lowe
 
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...Edureka!
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesSlideTeam
 
The SQL Server 2022 Workshop.pptx
The SQL Server 2022 Workshop.pptxThe SQL Server 2022 Workshop.pptx
The SQL Server 2022 Workshop.pptxUmooraMinhaji
 
Cloud migration slides
Cloud migration slidesCloud migration slides
Cloud migration slidesErika Barron
 
Architect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft AzureArchitect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft AzureDavide Benvegnù
 
Windows Virtual Desktop Customer benefits
Windows Virtual Desktop Customer benefitsWindows Virtual Desktop Customer benefits
Windows Virtual Desktop Customer benefitsPrime Infoserv
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft AzureSoumya De
 
Azure virtual network
Azure virtual networkAzure virtual network
Azure virtual networkLalit Rawat
 
App Modernisation with Microsoft Azure
App Modernisation with Microsoft AzureApp Modernisation with Microsoft Azure
App Modernisation with Microsoft AzureAdam Stephensen
 
Deployment model Blue Green deployment
Deployment model Blue Green deploymentDeployment model Blue Green deployment
Deployment model Blue Green deploymentjeetendra mandal
 

What's hot (20)

Why to Cloud Native
Why to Cloud NativeWhy to Cloud Native
Why to Cloud Native
 
Cloud Adoption Framework - Overview_partner.pptx
Cloud Adoption Framework - Overview_partner.pptxCloud Adoption Framework - Overview_partner.pptx
Cloud Adoption Framework - Overview_partner.pptx
 
App Modernization with Microsoft Azure
App Modernization with Microsoft AzureApp Modernization with Microsoft Azure
App Modernization with Microsoft Azure
 
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
Kubernetes Architecture | Understanding Kubernetes Components | Kubernetes Tu...
 
Understanding Azure Disaster Recovery
Understanding Azure Disaster RecoveryUnderstanding Azure Disaster Recovery
Understanding Azure Disaster Recovery
 
An Introduction to OpenStack
An Introduction to OpenStackAn Introduction to OpenStack
An Introduction to OpenStack
 
Virtualization vs. Cloud Computing: What's the Difference?
Virtualization vs. Cloud Computing: What's the Difference?Virtualization vs. Cloud Computing: What's the Difference?
Virtualization vs. Cloud Computing: What's the Difference?
 
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
What Is Kubernetes | Kubernetes Introduction | Kubernetes Tutorial For Beginn...
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 
The SQL Server 2022 Workshop.pptx
The SQL Server 2022 Workshop.pptxThe SQL Server 2022 Workshop.pptx
The SQL Server 2022 Workshop.pptx
 
VMware Presentation
VMware PresentationVMware Presentation
VMware Presentation
 
Cloud migration slides
Cloud migration slidesCloud migration slides
Cloud migration slides
 
Architect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft AzureArchitect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft Azure
 
Windows Virtual Desktop Customer benefits
Windows Virtual Desktop Customer benefitsWindows Virtual Desktop Customer benefits
Windows Virtual Desktop Customer benefits
 
Microsoft Azure Overview
Microsoft Azure OverviewMicrosoft Azure Overview
Microsoft Azure Overview
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Azure 101
Azure 101Azure 101
Azure 101
 
Azure virtual network
Azure virtual networkAzure virtual network
Azure virtual network
 
App Modernisation with Microsoft Azure
App Modernisation with Microsoft AzureApp Modernisation with Microsoft Azure
App Modernisation with Microsoft Azure
 
Deployment model Blue Green deployment
Deployment model Blue Green deploymentDeployment model Blue Green deployment
Deployment model Blue Green deployment
 

Similar to Application virtualization

Application Virtualization presentation
Application Virtualization presentationApplication Virtualization presentation
Application Virtualization presentationATWIINE Simon Alex
 
What is Application & Server Virtualisation
What is Application & Server VirtualisationWhat is Application & Server Virtualisation
What is Application & Server VirtualisationDAYWATCHER.COM
 
International Conference on Advances in Computing, Communicati.docx
International Conference on Advances in Computing, Communicati.docxInternational Conference on Advances in Computing, Communicati.docx
International Conference on Advances in Computing, Communicati.docxvrickens
 
Study of SaaS and its Application in Cloud
Study of SaaS and its Application in CloudStudy of SaaS and its Application in Cloud
Study of SaaS and its Application in CloudIOSR Journals
 
Cloud computing challenges with emphasis on amazon ec2 and windows azure
Cloud computing challenges with emphasis on amazon ec2 and windows azureCloud computing challenges with emphasis on amazon ec2 and windows azure
Cloud computing challenges with emphasis on amazon ec2 and windows azureIJCNCJournal
 
Virtualization In Software Testing
Virtualization In Software TestingVirtualization In Software Testing
Virtualization In Software TestingColloquium
 
Virtualized Web Desktop Towards A Faster Web Cloud Operating System
Virtualized Web Desktop Towards A Faster Web Cloud Operating SystemVirtualized Web Desktop Towards A Faster Web Cloud Operating System
Virtualized Web Desktop Towards A Faster Web Cloud Operating Systemijbuiiir1
 
Isolation of vm
Isolation of vmIsolation of vm
Isolation of vmHome
 
Load Balancing Tactics in Cloud Computing: A Systematic Study
Load Balancing Tactics in Cloud Computing: A Systematic Study    Load Balancing Tactics in Cloud Computing: A Systematic Study
Load Balancing Tactics in Cloud Computing: A Systematic Study Raman Gill
 
Microsoft India – Virtualization for Windows Whitepaper
Microsoft India – Virtualization for Windows WhitepaperMicrosoft India – Virtualization for Windows Whitepaper
Microsoft India – Virtualization for Windows WhitepaperMicrosoft Private Cloud
 
Pivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystemPivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystemKarthikeyanSambandam2
 
A proposal for implementing cloud computing in newspaper company
A proposal for implementing cloud computing in newspaper companyA proposal for implementing cloud computing in newspaper company
A proposal for implementing cloud computing in newspaper companyKingsley Mensah
 
The Pros and Cons of Desktop Virtualization
The Pros and Cons of Desktop VirtualizationThe Pros and Cons of Desktop Virtualization
The Pros and Cons of Desktop VirtualizationHTS Hosting
 
Private Cloud With System Center Project
Private Cloud With System Center ProjectPrivate Cloud With System Center Project
Private Cloud With System Center ProjectAbhijit Kundu
 

Similar to Application virtualization (20)

Application Virtualization presentation
Application Virtualization presentationApplication Virtualization presentation
Application Virtualization presentation
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Presentation on Top Cloud Computing Technologies
Presentation on Top Cloud Computing TechnologiesPresentation on Top Cloud Computing Technologies
Presentation on Top Cloud Computing Technologies
 
What is Application & Server Virtualisation
What is Application & Server VirtualisationWhat is Application & Server Virtualisation
What is Application & Server Virtualisation
 
International Conference on Advances in Computing, Communicati.docx
International Conference on Advances in Computing, Communicati.docxInternational Conference on Advances in Computing, Communicati.docx
International Conference on Advances in Computing, Communicati.docx
 
Dz25764770
Dz25764770Dz25764770
Dz25764770
 
Dz25764770
Dz25764770Dz25764770
Dz25764770
 
Study of SaaS and its Application in Cloud
Study of SaaS and its Application in CloudStudy of SaaS and its Application in Cloud
Study of SaaS and its Application in Cloud
 
Cloud computing challenges with emphasis on amazon ec2 and windows azure
Cloud computing challenges with emphasis on amazon ec2 and windows azureCloud computing challenges with emphasis on amazon ec2 and windows azure
Cloud computing challenges with emphasis on amazon ec2 and windows azure
 
App V
App VApp V
App V
 
Virtualization In Software Testing
Virtualization In Software TestingVirtualization In Software Testing
Virtualization In Software Testing
 
Virtualized Web Desktop Towards A Faster Web Cloud Operating System
Virtualized Web Desktop Towards A Faster Web Cloud Operating SystemVirtualized Web Desktop Towards A Faster Web Cloud Operating System
Virtualized Web Desktop Towards A Faster Web Cloud Operating System
 
Isolation of vm
Isolation of vmIsolation of vm
Isolation of vm
 
Load Balancing Tactics in Cloud Computing: A Systematic Study
Load Balancing Tactics in Cloud Computing: A Systematic Study    Load Balancing Tactics in Cloud Computing: A Systematic Study
Load Balancing Tactics in Cloud Computing: A Systematic Study
 
Microsoft India – Virtualization for Windows Whitepaper
Microsoft India – Virtualization for Windows WhitepaperMicrosoft India – Virtualization for Windows Whitepaper
Microsoft India – Virtualization for Windows Whitepaper
 
Pivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystemPivotal Cloud Foundry and its usage in ecosystem
Pivotal Cloud Foundry and its usage in ecosystem
 
A proposal for implementing cloud computing in newspaper company
A proposal for implementing cloud computing in newspaper companyA proposal for implementing cloud computing in newspaper company
A proposal for implementing cloud computing in newspaper company
 
The Pros and Cons of Desktop Virtualization
The Pros and Cons of Desktop VirtualizationThe Pros and Cons of Desktop Virtualization
The Pros and Cons of Desktop Virtualization
 
Virtualization 101
Virtualization 101Virtualization 101
Virtualization 101
 
Private Cloud With System Center Project
Private Cloud With System Center ProjectPrivate Cloud With System Center Project
Private Cloud With System Center Project
 

More from rajab ssemwogerere

Define cancer treatment using knn and naive bayes algorithms
Define cancer treatment using knn and naive bayes algorithmsDefine cancer treatment using knn and naive bayes algorithms
Define cancer treatment using knn and naive bayes algorithmsrajab ssemwogerere
 

More from rajab ssemwogerere (6)

Presentation machine learning
Presentation machine learningPresentation machine learning
Presentation machine learning
 
Define cancer treatment using knn and naive bayes algorithms
Define cancer treatment using knn and naive bayes algorithmsDefine cancer treatment using knn and naive bayes algorithms
Define cancer treatment using knn and naive bayes algorithms
 
Data security and privacy
Data security and privacyData security and privacy
Data security and privacy
 
Evaluate procedures
Evaluate proceduresEvaluate procedures
Evaluate procedures
 
Access control data security
Access control data securityAccess control data security
Access control data security
 
Map reduce presentation
Map reduce presentationMap reduce presentation
Map reduce presentation
 

Recently uploaded

Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 

Recently uploaded (20)

Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 

Application virtualization

  • 1. MAKERERE UNIVERSITY SCHOOL OF COMPUTING AND INFORMATICS TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE MCS 7101: Cloud Technologies and Architectures Assignment I Name StudentNo RegNo ATWIINE Simon Alex 1900725235 2019/HD05/25235U NAMBAALE Raymond Bakule 1900725253 2019/HD05/25253U RAJAB Ssemwogerere 190072991 2019/HD03/29911U WAMWOYO Faruk 1900725248 2019/HD05/25248U
  • 2. 1 Virtualization 1.1 What Is Virtualization? Virtualization is the act of isolating or unbinding one computing resource from others.[9] Or-it can be defined as-a computer architecture technology by which multiple virtual machines (VMs) are multiplexed in the same hardware unit. Virtualization has a long history in the software industry and the term has been used in a variety of ways. The earliest type of virtual machine dates back to IBM in the 1960s which aimed to maximize use of expensive mainframe systems through multitasking.[5] However, during the course of years, the hardware got cheaper and simultaneously multiprocessing operating systems emerged.[3] The goal of virtualization is usually one of the following: higher lev- els of performance, scalability, reliability/availability, agility, or to create a unified security and management domain.[9] 1.2 Virtual Machine In the cloud context, a “virtual machine” is a software implementation of a machine with a complete independent operating system, which executes programs like a physical machine.[5] The virtual machine may have a number of virtual components includ- ing: processors, memory, hard disk, and network. All these virtual com- ponents are offered as “slices” from the host machine. 1.3 Characteristics of Virtualized Environments In a virtualized environment there are three major components: guest, host, and virtualization layer.[2] The guest represents the system compo- nent that interacts with the virtualization layer rather than with the host, as would normally happen. The host represents the original environment where the guest is supposed to be managed. The virtualization layer is responsible for recreating the same or a different environment where the guest will operate.
  • 3. 2 Application Virtualization 2.1 Description Application virtualization is a software technology that encapsulates ap- plication software from the underlying operating system on which it is executed.[8] Virtualization at the application level virtualizes an application as a VM. On a traditional operating system (OS), an application often runs as a process. Therefore, application-level virtualization is also known as process-level virtualization. In application-level virtualization, applications are not installed in the expected runtime environment,[7] but are run as though they were. When the application is loaded, the host OS provides it with a run-time environ- ment, but virtualization layer replaces a part of this run-time environment and gives a virtual environment to the virtualized application. Figure 1: Illustration of an application running in a native environment and virtualized environment 2.2 What Does Application Virtualization Do? There are two different forms of application virtualization, client-side and server-side.
  • 4. The client-side form of application virtualization creates a protected en- vironment that makes it possible for applications to be isolated from one another and from the base operating system. This means that applications that could not successfully reside on the same client system could be used together.[4] For instance an application designed for an earlier version of the oper- ating system may continue to function on a newer version of that operating system, even though it would be incompatible without being placed in a virtual environment.[4] Placing server-side applications in a virtual environment offers many of the same benefits as client-side application virtualization. Server-side ap- plication virtualization offers a few other valuable functions as well. Mul- tiple instances of an application can be automatically started on other ma- chines when the workload is no longer meeting service-level guidelines.[4] 2.3 Application Virtualization Deployment Methods The most popular approach is to deploy high level language (HLL) VMs. In this scenario, the virtualization layer sits as an application program on top of the operating system, and the layer exports an abstraction of a VM that can run programs written and compiled to a particular abstract machine definition.[6] Any program written in the HLL and compiled for this VM will be able to run on it. The Microsoft .NET CLR and Java Virtual Machine (JVM) are two good examples of this class of VM.[6] Other forms of application-level virtualization are known as applica- tion isolation, application sandboxing, or application streaming. Application sandboxing/isolation involves wrapping the application in a layer that is isolated from the host OS and other applications. The result is an application that is much easier to distribute and remove from user workstations.[6] Application streaming on the other hand, is a form of on-demand soft- ware distribution. Only essential portions of an application’s code need to be installed on the local system, and while the end user performs actions in the application, the necessary code and files are delivered over the network as and when they are required.[11]
  • 5. 2.4 Benefits of Application Virtualization The power of application virtualization is the separation of the application from the endpoint OS. This alleviates all the shortcomings that come with the traditional approach of installing, tracking, and supporting an appli- cation on individual machines, and provides a number of benefits. 1. Application installation simplified: Installing an application on hun- dreds or thousands of computers is prone to error. Application vir- tualization simplifies software deployment.[1] 2. Application retirement simplified: Getting rid of an application in your whole network is much easier as well. Since virtual applications just have to be deleted, uninstalling them is usually not required. 3. No more application conflicts: Sometimes installing an application corrupts another application. Application virtualization helps reduce the risks of application conflicts. 4. No registry and system bloat: The more applications you install on a computer, the more bloated its registry and system folder will get. This makes the computer slower and increases the risk of failures. Application virtualization lets the registry and the system folder un- touched. 5. Multiple run-time environments: You can deploy the run-time envi- ronment together with the application. This enables you to run differ- ent versions of a run-time environment on a computer. For example, you can run different Java versions simultaneously without messing around with environment variables. 6. Multiple versions of the same application: For instance, end users can run Microsoft Word 2003 and Microsoft Word 2007 at the same time.[10] 7. Application updates: You can update the virtualized application at a central location on your servers. This means you have to update an application only once and not on all of your clients’ machines. 8. Rollback: If an application no longer works properly on a user’s ma- chine because he or she changed too many settings or installed in- compatible add-ons, you can just reset the app to its original state.
  • 6. 2.5 Limitations of Application Virtualization The attention points, or challenges, of implementing application virtual- ization are: • Not all applications can be virtualized. Some examples include ap- plications that require a device driver. • Integration between applications and the operating system can be challenging. • Performance penalty of application virtualization solution. • Different way of application packaging which can have impact on packaging tools and knowledge of packagers. • Vendors that won’t support apps that have been virtualized, sequenced, repackaged. • Troubleshooting is different to deployed applications and can be chal- lenging. 2.6 Players in the Application Virtualization World Although there are many players in the application virtualization market, a short summary of the most important suppliers follows: Citrix offers virtualization technology in a number of different cate- gories. The company’s XenApp is considered an application virtualization, too. XenApp is a client-side application virtualization product. Microsoft acquired Softricity in July 2006 and enhanced its product, re- naming it SoftGrid. It is now called Microsoft Application Virtualization or App-V. App-V provides both client- and server-side application virtual- ization functions. VMware acquired ThinApp from Thinstall in January 2008. ThinApp is a client-side application virtualization function. AppZero makes it possible for organizations to encapsulate applica- tions into a virtual application environment (VAA). VAAs can be easily de- livered to one or more servers.
  • 7. References [1] Pernar Domagoj (October 2009). Application Virtualization Down- load repository, and how to make applications portable. [Virtualiza- tion.com. Retrieved 11-September-2019]. [2] Buyya, Rajkumar and Vecchiola, Christian and Selvi, S Thamarai. Mastering cloud computing: foundations and applications programming. Newnes, 2013. [3] Cafaro, Massimo and Aloisio, Giovanni. Grids, clouds, and virtual- ization. In Grids, Clouds and Virtualization, page 27. Springer, 2011. [4] Kusnetzky Dan. Virtualization: A Manager’s Guide. O’Reilly Media, Inc., 2011. [5] Richard Hill, Laurie Hirsch, Peter Lake, and Siavash Moshiri. Guide to cloud computing: principles and practice. Springer Science & Business Media, 2012. [6] Hwang, Kai and Dongarra, Jack and Fox, Geoffrey C. Distributed and cloud computing: from parallel processing to the internet of things. Morgan Kaufmann, 2013. [7] Microsoft. Microsoft Application Virtualization Technical Overview. [8] Singh Balwinder Sodhi. Topics in Virtualization and Cloud Comput- ing. 2017. [9] Ruben Spruijt. Application virtualization smackdown. 2013. [10] Credit Suisse. Desktop Virtualization Comes of Age. [11] Wikipedia contributors. Application streaming, 2019. [Online; ac- cessed 11-September-2019].