# INTRODUCTION II. # Virtualization Ensample Virtualisation is basically one physical computer pretending to be many computing environments Virtualization is the creation of a virtual (rather than actual) version of something, such as an operating system, a server, a storage device or network resource. Virtualization is a computing technology that enables a single user to access multiple physical devices. This paradigm manifests itself as a single computer controlling multiple machines, or one operating system utilizing multiple computers to analyze a database. Authors ? ? : Department of Computer Engineering, University College of Engineering Punjabi University, Patiala, India. E-mails : kirandeepgogna@gmail.com, gurjit.bhathal@gmail.com Virtualization is about creating an information technology infrastructure that leverages networking and shared physical IT assets to reduce or eliminate the need for physical computing devices dedicated to specialized tasks or systems. Virtualization is seen in a central computer hosting an application to multiple users, preventing the need for that software to be repeatedly installed on each terminal. Data from different hard drives, USB drives, and databases can be amalgamated into a central location, both increasing accessibility and security. Physical computer networks can be split into multiple virtual networks, allowing a company's central IT resources to service every department with individual local area networks. Virtualization is a collection of technologies that allow simulated computing resources to be substituted for more costly physical resources. # III. # Application Virtualization Application virtualization is an umbrella term that describes software technologies that improve portability, manageability and compatibility of applications by capsulizing them from the underlying operating system on which they are executed. A fully virtualized application is not installed in the traditional sense, although it is still executed as if it were. The application is fooled at runtime into believing that it is directly interfacing with the original operating system and all the resources managed by it, however in reality it is not. V i e w pplication Abstract -As the variety of applications increases so does the complexity of delivering and managing those applications also increases, many organizations tried to manage that complexity by standardizing on a fixed portfolio of applications in a locked-down configuration. This approach reduces the IT labour costs, but the restrictions involved lead to a frustrating user experience and constraints on flexibility and business agility. Thus This paper presents a better solution that would enable IT to deliver and manage applications at reduced cost while enabling flexibility and agility. Here the concept of application virtualization which is a part of virtualization and how application virtualization is used by cloud computing to deliver application with fast speed, reliability and flexibility shall be discussed. computing device dedicated to individual members of staff or allocated to one specialized software application is surpassingly inefficient and expensive. As we know one water wheel could run multiple textile looms, so can today's high-powered computers run multiple processes. Virtualization is an approach to amalgamate technology resources for improved efficiency and the elimination of redundancy by leveraging every opportunity to utilize idle resources and find places where multiple processes can be run at one time. Application virtualization is one of the many virtualization techniques used in top layer of cloud computing. This layer is called Software as a Service, which is to be discussed in detail in this paper, to understand the need of application virtualization in cloud computing. # A Application virtualization is a way of running an application in isolation from other applications. The application runs within a bubble rather than having to be physically installed on a PC. The end results are that the underlying file system and registry settings are never changed, applications no longer fracas and the base operating system remains intact (as shown in figure 1 & 2). The ability to dynamically stream applications to a user provides flexibility, faster deployment, and significantly reduced IT labor required to deploy and update applications. There are several other advantages of virtualised applications. Traditional application installations penetrate the operating system and change its configuration. Eventually, managed or unmanaged systems become completely transformed and unrecognizable. For this reason, many organizations continually reimage their desktops over time to reset them to a known configuration. Instead, application virtualization protects the operating system from any modifications and supports completely secure environments. Once an application has been virtualized, it no longer needs to be repackaged each time you need to change the OS. For this reason alone, Application Virtualization is one of the most powerful new technologies IT is fast adopting. # IV. # Cloud Computing Clouds are large pools of easily usable and accessible virtualized resources. These resources can be dynamically configured in real time to adjust to a variable load, allowing optimal resource utilization. It's a pay-per-use model in which the Infrastructure Provider by means of customized Service Level Agreements (SLAs) offers and guarantees a pool of resources. Organizations and individuals can benefit from mass computing and storage centres, provided by large companies with stable and strong cloud architectures. In cloud computing environment the client can access his data using database server which is located physically in a highly-secure, remote location. This arrangement eliminates the need for a costly in-house IT department and hardware and the associated capital expense. Instead, a cloud computing provider owns the hardware while providing hosted, managed services to its clients on a usage basis. Cloud computing generally utilizes virtualized IT resources such as networks, servers, and computing devices. As in the organization, a typical IT department is created to service the peak usage needs. However, during majority of the time, that potential sits idle. Most servers are not operational outside of business hours and when they are in use, they rarely operate at 100% of their capabilities. The data center services provided by a third party are in dynamic use. Powerful computing resources and robust hosted, managed services become available 24x7x365. This fluid scaling of computing resources allows each client to utilize those resources at a competitive price. 4] the different levels provide their services to different types of users from network engineers to end users. 1. IaaS (Infrastructure as a Service): IaaS service provides the users of the cloud greater flexibility to lower level than other services. It gives even CPU clocks with OS level control to the developers. E.g. Amazon EC2, Google Compute Engine etc. 2. PaaS (Platform as a service): Delivers development environment as a service. One can build his/her own applications that run on the provider's infrastructure that support transactions, uniform authentication, robust scalability and availability. The applications built using PaaS are offered as SaaS and consumed directly from the end users' web browsers. This gives the ability to integrate or consume third-party web-services from other service platforms. E.g. -Google App Engine, Appscale. 3. SaaS (Software as a service): Delivers a single application through the web browser to thousands of customers using a multitenant architecture. On the customer side, it means no upfront investment in servers or software licensing; on the provider side, with just one application to maintain, cost is low compared to conventional hosting. Under SaaS, the software publisher (seller) runs and maintains all necessary hardware and software. The customer of SaaS accesses the applications through Internet. A key advantage of Virtualization and Cloud Computing is a significant improvement in security, availability, and data protection in addition to efficient processing and reduced IT labor cost. A decentralized IT infrastructure managed by an IT service provider that is wholly dedicated to its resilience and availability is immune to physical or data disasters. Replication over multiple systems ensures data backups. A dedicated data center service provider is better able to keep up with the latest security methods and technology upgrades. Through the provision of managed IT services, all of these benefits are embedded in the cloud computing model. A community cloud is a bit like a private cloud however the cloud is shared among a community of organizations. This is done to divide the costs and risks of running a own cloud. These clouds can be found in shared service centers which service multiple organizations. # iv. Hybrid A hybrid cloud is a cloud computing environment in which an organization provides and manages some resources in-house and has others provided externally. For example, an organization might use a public cloud service, such as Amazon's Elastic Compute Cloud (EC2) for general computing but store customer data within its own data center. V. # Need of Application Virtualization in Software as a Service Application virtualization allows you to run applications on client computers as if they were installed locally [figure -5]. There are two different types of application service providers -those who offer the use of an application and the associated infrastructure as a single subscription service, and those who provide the infrastructure as well as the management, and may or may not supply the application licenses. This second type of ASP is frequently also referred to as a managed services provider or an application hosting provider. When an ASP offers you both the application and the infrastructure together, it usually means that the application software licensing is being provided as part of the service. In most cases, the application itself is the service. This fits into the "Software as a Service" category (SaaS), where the cost of the software is part of the use fee for the service. This model is typically available for web-based applications: applications which have been developed specifically to run in a web server environment and are usually accessed using the browser. An example of such a service is: -instead of selling you a copy of Microsoft Word for $300, a cloud computing model would "rent" word processing software to you through the Internet for perhaps 5 dollars a month. You would not install any special software, nor would you be confined to your home machine to use this rented online product. You simply use your modern web browser to login from any web-enabled computer, and you can access your word processing documents in the same way that you would access your Gmail. SaaS represents a revolutionary change in the way applications are deployed. Rather than installing software directly on each PC, SaaS enables the IT organization to deliver applications "virtually", to users. With SaaS, applications are not installed on a machine; therefore, many of the challenges associated with application conflicts are avoided. Because software and user access are managed centrally, applications can be deployed and updated more quickly and effectively, with least IT effort required. Features of virtualized application are: -1. Lockdown enabled 2. Available on any PC 3. Centrally Managed 4. Image reducing 5. Test minimizing 6. Never conflicting 7. Never Installed 8. Demand and supply basis SaaS helps reduce complexity in the application portfolio which, in turn, reduces application-related calls to the service desk, and helps support staff resolve calls more quickly. And because applications are not installed on a specific machine, users can move more freely within their environment, knowing that "their" applications will be available wherever they are. V i e w with applic USB, CDROM or Local Disk. The applications can also be deployed using a management tools. # ii. Streaming Applications are encapsulated in a single file and are located on the network. When starting the application only the blocks needed to run the application are copied to a local drive (cache). When the more features of the application are used, more blocks are copied to the local cache. Streaming can be available for standalone virtualized applications accessed from the network or when the virtualized applications are presented with a locally installed agent. iii. Centrally Controlled Access Virtualized applications are "distributed" through a central deployment tool. A locally installed agent is required. The applications can be deployed (executables are copied locally) or shortcuts to the applications (located on a network-share) can be presented. When using shortcuts, streaming is used to cache files locally. # b) Methods of Application Virtualization i. Agent-less Agent less application virtualization involves the use of an embedded virtual OS that is deployed as part of the virtualized application. These virtualized applications are fully encapsulated and are able to run as a standalone executable from multiple locations such as a network drive, local drive, or USB drive. Vendor and their Products in market as solution: a. VMware ThinApp encapsulates applications from the OS and each other, eliminating costly regression testing and conflicts from badly behaving applications. Just plug in an executable (.msi or .exe for MS windows) file to deploy a virtual system environment, including registry keys, Dynamic Link Libraries (DLLs), third-party libraries, and frameworks, without requiring any installation of agents or applications on the underlying operating system. b. InstallFree Bridge provides a clientless platform that creates a transparent "bridge" between virtual applications and the OS, protecting the OS from any application changes. ii. Agent-based Agent based application virtualization utilizes a combination of a profiled or packaged application, a centralized delivery server, and a locally installed agent on the endpoint. The agents themselves utilize a kernelmode driver or service. Some agent-based methods do not require the centralized delivery server and allow for shortcuts to be presented from a network share. Agent-based application virtualization means that the agent must be available before the virtualized applications can run. This means that the agent must be deployed through a standard electronic software distribution tool, installed with the core OS, or, in some cases, deployed through the streaming engine. Agentbased application is a protection mechanism because the applications you virtualize will not run unless the agent is available. As an application that is virtualized will run on any version of Operating System (Windows, Linux etc), if your application virtualization engine is agent-based, your applications are protected, since a malicious user wanting to walk away with your applications would somehow also need to obtain and have the ability to install the agent before being able to use them. # ii. Microsoft Office 365 It is a subscription-based online office and software plus services suite which offers access to various services and software built around the Microsoft Office platform. It provides hosted e-mail, social networking and collaboration, and cloud storage to teams and businesses. # iii. Petrosoft It has a C-store office which is a Back-office software for gas stations, service stations and convenience stores designed to manage inventory, facilitate automatic ordering and maintain complete price book control. Also it has a Fuel-Central -Jobber software designed to schedule hundreds of runs weeks in advance and in real time. It is a fuel distribution system for petroleum marketers created to fully automate the fuel distribution process including driver and truck scheduling, and communication across the distribution channel. of the virtualized application. These virtualized of the virtualized application. These virtualized of the virtualized application. These virtualized of the virtualized application. These virtualized of the virtualized application. These virtualized of the virtualized application. These virtualized of the virtualized application. These virtualized of the virtualized application. These virtualized of the virtualized application. These virtualized of the virtualized application. These virtualized of the virtualized application. These virtualized E a r l y V i e w E a r l y V i e w E a r l y V i e w E a r l y V i e w E a r l y V i e w of the virtualized application. These virtualized capsulated and are able to run capsulated and are able to run capsulated and are able to run capsulated and are able to run capsulated and are able to run capsulated and are able to run capsulated and are able to run capsulated and are able to run capsulated and are able to run capsulated and are able to run capsulated and are able to run E a r l y V i e w E a r l y V i e w E a r l y V i e w E a r l y V i e w E a r l y V i e w as a standalone executable from multiple locations such as a standalone executable from multiple locations such as a standalone executable from multiple locations such as a standalone executable from multiple locations such as a standalone executable from multiple locations such as a standalone executable from multiple locations such as a standalone executable from multiple locations such as a standalone executable from multiple locations such as a standalone executable from multiple locations such as a standalone executable from multiple locations such as a standalone executable from multiple locations such E a r l y V i e w E a r l y V i e w E a r l y V i e w E a r l y V i e w E a r l y V i e w -----------E a r l y V i e w E a r l y V i e w E a r l y V i e w E a r l y V i e w E a r l y V i e w Cloud users need not to take care about the hardware and software they use and also they don't have to be worried about maintenance. The users are no longer tied to one or two traditional systems. Virtualization technology gives the illusion to the users that they are having all the resources available. Cloud users can use the resources on demand basis and pay as much as they use. So the users can plan well for reducing their usage to minimize their expenditure (in terms of infrastructure and software costs). Scalability is one of the major advantages to cloud users. Scalability is provided dynamically to the users. Users get as much resources as they need. Thus this model perfectly fits in the management of rare spikes in the demand. e) Characteristics of SaaS i. Self Reviving Multiple backup/restore copies of the application are present on the cloud so as to tackle the accidences of copy getting corrupted. ii. Multi-user Multiple subscribers of the application can use the application at the same time notwithstanding the fact that the same application is being shared by them. iii. Software Level Agreement (SLA) Driven Scalability and availability issues are catered to by using SaaS as the system adjust itself in accordance to the peak demand & thus all SLA with the clients are fulfilled. # iv. Virtualized The services provided by the SaaS are independent of the hardware and OS, thus the services can cater to abide client base. # v. Flexible The SaaS services can be used to serve a large variety of workload types -varying from small loads of a small consumer application to very heavy of a commercial application. # VI. # Conclusion This paper focuses on SaaS which uses the technique of Application Virtualization which is not without its pitfalls, the facility to deliver the tools users need quickly and reliably is core to the concept of delivering a flexible, cost-effective and robust workspace. Application virtualization gives facility to deliver applications to devices which do not support those applications. The Agent-based and Agent less both have their pros and cons. In a way, agent-based Application Virtualization is a protection mechanism because the applications virtualized by you will not run unless the agent is available. Also, an application that is virtualized will run on any version and on any system. If your Application Virtualization engine is agent-based, your applications are protected, since a malicious user wanting to walk away with your applications would somehow also need to obtain and have the ability to install the agent before being able to use them. V i e w # REFERENCES RÉFÉRENCES REFERENCIAS Most of the data centres today are underutilized. They are at most 15% utilized. These data centres need spare capacity just to cope with the huge spikes that are sometimes incurred in the server usage. Virtualization can help those large companies having those data centres to easily rent those computing power to other organizations and get profit out of it. ![from different hard drives, USB drives, and databases can be amalgamated in pplication](image-2.png "") 1![Figure 1 : Before emergence of virtualization](image-3.png "Figure 1 :") ![this reason, many organizations Cloud computing includes virtualization, ondemand deployment, Internet delivery of services, and open source software. Cloud computing changes how we invent, develop, deploy, scale, update, maintain, and pay for applications and the infrastructure on which they run. Cloud computing is a technology that uses the internet and central remote servers to maintain data and applications. Cloud computing allows consumers and businesses to use applications without installation and access their personal files at any computer through internet access. This technology allows for much more efficient computing by centralizing and decentralizing storage, memory, processing and bandwidth according to usage.Cloud computing is an archetype of distributed computing to provide the customers on-demand, utility based computing services. Cloud itself consists of physical machines in the data centres of cloud providers. Virtualization is provided on top of these physical machines. These virtual machines are provided to the cloud users. Different cloud provider provides cloud services of different abstraction level. E.g. Amazon EC2 enables the users to handle very low level details where Google App-Engine provides a development platform for the developers to develop their applications. So the cloud services are divided into many types like Software as a Service, Platform as a Service and Infrastructure as a Service. These services are available over the Internet in the whole world where the cloud acts as the single point of access for serving all customers. Cloud computing architecture addresses difficulties of large scale data processing.a) Cloud StakeholdersThere are three types of stakeholders cloud providers, cloud users and the end users [Figure3]. Cloud providers provide cloud services to the cloud users. These cloud services are of the form of utility computing i.e. the cloud users use these services payas-you-go model. The cloud users develop their product using these services and deliver the product to the end users.](image-4.png "") 3![Figure 3 : Interconnection between cloud stakeholders b) Service Models There are three different levels of services models. It starts from the lowest service model which is called Infrastructure as a Service (IAAS) and builds up via Platform As A Service (PAAS) to Software As A Service (SAAS). Each level adds extra functionality and abstraction of the technical details of the services which are offered.](image-5.png "Figure 3 :") 4![Figure 4 : Cloud computing stack](image-6.png "Figure 4 :") ![E.g. -Google Apps, Microsoft Office 365, Petrosoft, Onlive, GT Nexus, Marketo, Casengo, Trade Card, Salesforce and Callidus Cloud. c) Deployment The three different service models can be deployed for a customer in many ways varying from the public internet to a private data centre. The [Figure 4] shows the different deployment strategies which are detailed in the following paragraphs: i. Public Public is a deployment strategy which uses the publicly available internet to deliver the services to the users. A great advantage of this deployment type is that the services are available from any internet connection; a down side however is the security. The cloud services like Gmail and Azure are services provided trough the public cloud.ii. Private This deployment strategy can be compared with the traditional in-house hosting of a service, however it uses the technologies on which cloud computing is based such as virtualization to provide advantages to the organization.](image-7.png "") ![Trend and Need of Application Virtualization in Cloud Computing services from other service platforms. E.g. services from other service platforms. E.g. via Platform As A Service (PAAS) to Software As A Google Apps, Microsoft Office 365, Petrosoft, ive, GT Nexus, Marketo, Casengo, Trade](image-8.png "B") ![Figure 4 : Deployment Models iii. Community](image-9.png "Figure") 5![Figure 5 : Difference between non-virtualized and virtualized applications](image-10.png "Figure 5 :") ![a) Approaches to Virtualize Application in SaaS i. Standalone Applications are encapsulated in a single executable. These executables can run instantly from Global Journal of Computer Science and Technology Volume XIII Issue IV Version](image-11.png "") © 2013 Global Journals Inc. (US) Year © 2013 Global Journals Inc. (US) Year © 2013 Global Journals Inc. (US) Year