Comparative Analysis Of Virtual Desktops In Cloud

Transcription

Thesis no: MEE-2015-10Comparative Analysis of Virtual Desktops in CloudPerformance of VMware Horizon View and OpenStack VDIAkash Reddy MalkannagariFaculty of ComputingBlekinge Institute of TechnologySE-371 79 Karlskrona Sweden

This thesis is submitted to the Faculty of Computing at Blekinge Institute of Technology inpartial fulfillment of the requirements for the degree of Master of Science in ElectricalEngineering. The thesis is equivalent to 20 weeks of full time studies.Contact Information:Author(s):Akash Reddy MalkannagariE-mail: akma14@student.bth.seExternal advisor:Mr Sujoy ChatterjeeGeneral Manager- IT Services [Managed Services],ITC Infotech India Ltd.E-mail: Sujoy.Chatterjee@itcinfotech.comUniversity advisor:Prof Adrian PopescuDepartment of Communication SystemsEmail: adrian.popescu@bth.seFaculty of ComputingBlekinge Institute of TechnologySE-371 79 Karlskrona, SwedenInternetPhoneFax: www.bth.se: 46 455 38 50 00: 46 455 38 50 57ii

ABSTRACTContext. With the evolvement of cloud computing in recent years many companies have statedproviding various services using it. Desktop as a Service, DaaS is one of services in the cloudcomputing in which the backend of Virtual Desktop Infrastructure, VDI is hosted by a cloud serviceprovider. Although in SaaS, Software as a Service Web applications are used, all kinds of applicationscan be used in DaaS. There are many companies which provide VDI for private cloud and they areVMware Horizon, XenDesktops by Citrix, OpenStack VDI solution and etc.Objectives. In this thesis two VDI solutions are analyzed based on the virtual desktop launch time andthe performance of the desktop in various test cases. The VDI solutions considered are VMwareHorizon view and OpenStack VDI.Methods. The method for this research consists of two stages. The first stage was a qualitativeanalysis in which literature study and a survey was conducted. In the next stage, experiment was setupwhere different performance metrics were calculated when the virtual desktop was put under severaltest cases.Results. Results collected include the virtual desktops launch time in two scenarios and severalperformance metrics such as CPU usage, memory usage, average IO size, average latency, throughput,IOPS and queue length at the processor.Conclusions. Performance of Virtual desktop running on OpenStack VDI was better in most of thetest cases. In the test scenario where disk was put under stress OpenStack VDI solution performancewas better than VMware Horizon View. Even considering the launch time for virtual desktops,OpenStack VDI performed better compared to VMware Horizon View.Keywords: DaaS, VDI, Performance, LaunchTimeIII

ACKNOWLEDGMENTSI would like to express my sincere gratitude to my supervisor, Prof. AdrianPopescu for his constant support and guidance for my thesis project.I sincerely thank Mr Sujoy Chatterjee and his team at ITC InfoTech for all theirguidance and support throughout the period of my thesis work. This thesis would nothave been possible without their valuable ideas which have guided me in rightdirection at every stage. I would also thank Mr Summit who has helped me a lot atvery crucial time of my research.I express my kind gratitude to my examiner, Prof. Kurt Tutschku for his helpduring the critical stages of my thesis.I would like to take this opportunity to express my heartfelt greeting to my friendsSindhura, Akash, Nitin, Pruthvi, Sankaran, Vimal and many more for all their supportand encouragement at every stage.Above all I am grateful to my parents and sister for their continuous love and forbelieving in me every time.Finally I thank each and every one at BTH, Sweden and JNTU Hyderabad.IV

LIST OF FIGURESFigure 1: Projects in OpenStack VDI/DaaS [8] . 5Figure 2: OpenStack VDI blue print[9] . 6Figure 3 OpenStack VDI Components . 7Figure 4: VMware Horizon View Components[15] . 8Figure 5: Setup for OpenStack VDI . 10Figure 6: Desktops launched serially . 16Figure 7: Desktops launched in parallel . 17Figure 9: Graphs for No load test case . 18Figure 10: Graphs for Full load CPU test case . 19Figure 11: Graphs for Full load CPU test case . 20Figure 12: Graphs for Full load Memory test case . 21Figure 13: Graphs for Full load Memory test case . 21Figure 14: Graphs for Write Temp file test case . 22Figure 15: Graphs for Average Throughput in Write Temp file test case . 23Figure 16: Graphs for Write Temp file test case . 23Figure 17: Graphs for Average Latency in Write Temp file test case . 24Figure 18: Graphs for Simulate Disc Access test case . 25Figure 19: Graphs for Average IO size in Simulate Disc Access test case . 25Figure 20: Graphs for Simulate Disc Access test case . 26V

LIST OF TABLESTable 1: Server Hardware Specification . 11Table 2: Virtual Desktop Hardware and Software Specification . 12Table 3: Virtual Desktops Specifications . 12Table 4: OpenStack flavors created . 13Table 5: VM Launch time with image creation . 17VI

PRGSIOPSDesktop as a ServiceVirtual Desktop InfrastructureSoftware as a servicePlatform as a serviceInfrastructure as a ServicePersonal ComputerOperating SystemVirtual MachineUser InterfaceKernel-based Virtual MachineRemote Desktop ProtocolPC over IPRemote Software GraphicsInput Output Operations per SecondVII

CONTENTSABSTRACT . IIIACKNOWLEDGMENTS . IV1INTRODUCTION . 11.11.21.31.42PROBLEM STATEMENT . 3AIMS AND OBJECTIVES . 3RESEARCH QUESTIONS . 3THESIS OUTLINE . 4BACKGROUND . 52.1DAAS, DESKTOP AS A SERVICE . 52.2OPENSTACK VDI AND DAAS . 52.3VMWARE HORIZON VIEW . 72.3.1 Horizon View Components . 83METHODOLOGY . 103.1OPENSTACK VDI AND VMWARE HORIZON VIEW . 103.2SURVEY . 113.3EXPERIMENTAL SETUP . 113.3.1 Hardware and Software Specifications. 113.3.2 Performance Monitoring . 123.4TEST BED SETUP . 133.4.1 Experiment 1 . 133.4.2 Experiment 2 . 144RESULTS AND ANALYSIS. 164.1PART 1 . 164.1.1 Virtual Desktops Launch Time. 164.2PART 2 . 174.2.1 No Load . 174.2.2 Full load on CPU. 184.2.3 Full Memory Load . 204.2.4 Write Temp File . 224.2.5 Simulation of Disk Access . 245CONCLUSION AND FUTURE WORK . 275.15.2LINKING TO RESEARCH QUESTIONS . 27FUTURE WORK . 28REFERENCES . 29APPENDIX A. 30 VIII

1INTRODUCTIONCloud computing is a model for enabling on demand access to a shared pool ofconfigurable computing resources that can be swiftly delivered over a network usuallythe internet with minimum management overhead or service provider interaction[1].The main characteristics of cloud computing are: Scalability - It is the ability of the system to increase the workload on itshardware resources. Clouds are designed in such a way to deliver as muchcompute the user requires. The cloud resources are projected in such a way toease the dependence on the hardware. Rapid Elasticity - The customers can scale in and scale out the cloudresources according to their needs. On-demand self-service - It is a cloud service which enables the users theability to self-provision resources on demand from a cloud dashboard or portal.Here the customer need not rely on the service provider to provision the cloudresources. Resource Pooling - In cloud, large IT resources are pooled together to servemultiple cloud services. This is to make the customers use multi tenancy orvirtualization model. Measured Services - This service gives the usage of pooled resources,providing the customers with transparency in resource consumption and costs. Cost Effectiveness - Customer pays for only the need in infrastructure whilekeeping the option to scale up the resources and services as needed in future. Insuch a way there is a greater flexibility of hardware usage.Cloud has categorized its services into three different types: Software as a service, SaaS - In SaaS, already created running applications incloud infrastructure are provided by the cloud offerings. SaaS delivers theservices over internet, removing the need to install and run applications onlocal computers. Platform as a service, PaaS - PaaS provides a platform where the user usesthe programming languages and tools supported by the service provider tobuild and deploy applications. PaaS enables the customer to have completecontrol over the applications and its configurations. Infrastructure as a Service, IaaS - IaaS is a service where the computinginfrastructure are provided to the customer by a third party service providersover the internet. Here the customer does not manage the computinginfrastructure but has full control over the operating systems and theapplications.Cloud computing has three deployment models which are private cloud, publiccloud and hybrid cloud. Private cloud - In a private cloud model the cloud infrastructure is solelyoperated for an organization. Here the cloud deployment is done on companiesown data centres which are managed internally or by a third party and mayexist on premise or off premise. Public cloud - In a public cloud, the cloud infrastructure and services areprovided in a virtualized environment from a shared pool of computingresources, which are accessible over a network generally through internet. Herethe organization owning the cloud services makes its cloud infrastructureavailable to the general public or the enterprises. In this model there is a high1

level of efficiency in shared resources but there is a greater level of riskassociated in terms of security. Hybrid cloud - Hybrid cloud model is a composition of both the private andpublic cloud models. In a hybrid cloud environment, enterprises control andmanage their private cloud but rely on the public cloud services when thedemand for the cloud services is high. In this model various clouds are boundtogether by a set of standardized technologies which enables applicationportability among various clouds[2].The most widely used deployment models of cloud computing are public andprivate clouds. Public cloud services to enterprises are very prominent. Generally,public cloud comes with a standard Service level agreements, SLAs. But there aremany risks associated with public cloud offerings such as security, performance,privacy, interoperability with different cloud environments etc. Public cloud are notflexible enough to use its services according to the specific requirements of theenterprises and as public cloud is proprietary, enterprises cannot customize the cloudaccording to their needs. Apart from this, enterprises have their own infrastructure setup at their premise and are more interested in building their own private cloudenvironment to avail the benefits of cloud.A private cloud is a secure cloud environment in which the cloud is accessibleonly by a single organization, providing high level of control and privacy[3]. The goalof a private cloud is not to sell its computing resources "as a service" but instead usethe advantages of a cloud architecture without giving its control over organizationsown data centers. There are many private cloud providers such as vCloud Director,Microsoft System Center, etc. but the main disadvantage of using them is that they areproprietary software’s [4]. These are often very expensive as one has to pay forlicensing, pay for hardware, pay for software to be customized and pay for regularmaintenance and support[5]. Here is where the focus shifts in using open sourceplatform, which is easy to use, maintain and modify.Open source has become the foundation for deploying a cloud. With open sourcethere is a high level of support and freedom to modify the source code and one hascomplete control over the underlining software. Open source cloud environment makesthe enterprises greatly reduce the maintenance and operational costs as open sourcesoftware’s comes with less cost[6]. It can be extensible with other clouds andpluggable open APIs are present in it. With open source there is no vendor lock-insand a high level community support is present. OpenStack is one of the largest opensource cloud computing middleware development communities[7].The main disadvantages of using open source is that they require high initial costsand managing the cloud environment becomes difficult as there is less support. Withopen source there is a need for more skilled persons to perform jobs.The increasing popularization of centralized computing centres caused theenterprises to build their own private clouds, not only to support their internalprocesses, but also to provide the organisations with the virtualized workstation modelDaaS.[8]. The concept of DaaS is to use a VDI environment to offer customers apersistent, highly available desktop that can be accessed from anywhere. This issignificant because right now there are no services available which offer thesesolutions. The idea is to take the burden off of the customer by removing the tediousupkeep that the facilities must regularly go through. DaaS is used in enterprises for asimilar reason. The employees no longer have to worry about maintaining a PC,Personal Computer, since the OS, Operating System would be centrally managed. The2

idea is to reduce complexity by centralizing management, which leads to a moreproductive and efficient IT organization [5].This is significant because as the times change consumers are looking for different,innovative solutions to their problems. One problem that consumers have is that theyhave to regularly maintain their data and hardware. DaaS would provide a turnkeysolution for consumers looking for a simpler computer experience.1.1Problem StatementDaaS is a cloud offering which provides a VDI solutions. Large number ofenterprises are adopting DaaS for their in house desktops hosting using various VDIsolutions presented by different technologies. With the evolvement of open source thefocus has now shifted to OpenStack. At the same time there are traditionaltechnologies which offer these services. While there are many features present in VDIsolutions, virtual desktops launch times are essential to improve the service offerings.Also, there has been no significant work done in calculating the performance of virtualdesktops in multiple scenarios which involves optimizing memory, compute powerand disk. The need for such work to be done is to resolve the issues arising due torunning of CPU, memory and disk intensive applications.1.2Aims and ObjectivesThe main aim of this thesis is to evaluate the performance and launch time ofvirtual desktops in a private cloud VDI/DaaS solution. With the evolvement of opensource, a comparative study will be performed for OpenStack with largely usedtraditional setup in setting up a VDI/DaaS in enterprises.The main objectives of this thesis will accommodate: Conducting a survey to find largely used private cloud provider in enterprisesalong with figuring the challenges and associated with the current cloudtechnologies. Performing a literature study on private cloud service providers along withOpenStack VDI/DaaS solutions Collecting various performance metrics to be analysed. Setting up the experiment to collect these metrics such as CPU and memoryutilization, average disk latency, VM launch time, etc. Analyzing these data points and present the results.1.3Research Questions1. How does VMware Horizon View and OpenStack VDI solution perform interms of virtual desktop launch time, when the desktops are launched in serial,one after the other and in parallel, all are launched simultaneously?2. How do DaaS, Desktop as a Service VDI’s offering on VMware Horizon Viewand OpenStack perform in multiple test cases in terms of CPU utilization,memory utilization, processor queue length and disk performance metrics likeaverage IO size, average latency, throughput and IOPS?3

1.4Thesis OutlineThis paper is organized as mentioned below:Chapter 2 gives a brief introduction about the previous work which is essential tounderstand this thesis. This chapter explicitly describes the architecture of OpenStackVDI and VMware Horizon View.Chapter 3 gives an insight to the methodology used to conduct this research work.First a cloud survey was conducted to understand the various challenges faced in usingcurrent cloud technologies. Next, experiment was setup to find out the variousperformance metrics and launch times for virtual desktops running on OpenStack VDIsolution and VMware Horizon View.Chapter 4 presents the results obtained from the experiments conducted. In thefirst part of this chapter results and a brief analysis is given for the virtual desktopslaunch time in two scenarios. While in the next part results obtained for virtual desktopperformance are presented. Analysis for these results is mentioned simultaneously.Chapter 5 gives a conclusion to the thesis results and briefly mentions the scopefor future work in this field of study. Along with this research questions are explicitlyanswered in this chapter.4

2BACKGROUND2.1DaaS, Desktop as a ServiceIn DaaS the services are provide to the users remotely where the desktop isprovided as an instance running in cloud. All the user tasks are executed in the serverside of the cloud. DaaS is a form of VDI where desktops are hosted in the cloud andare delivered to remote user’s on-demand. It is also referred to as hosted desktopsservices. Here the backend of VDI are hosted in the cloud environment and thesedesktops are delivered by a third party provider. VDI runs on a multi-tenantarchitecture. The complexity of VDI is eliminated in DaaS, as the service providedhandles data storage, security, backup and upgrades. End users can access the virtualdesktops from anywhere since customer data is saved during login and logoff sessions[9].Benefits of DaaS/Hosted Desktops. Can be easily deployed and managed. Lowers operating expenditure along with hardware costs. DaaS/VDI are easily scalable and the performance is high. Networks are more flexible and secure. Helpdesk becomes more efficient.2.2OpenStack VDI and DaaSThe OpenStack software consists of several different projects, each focus ondifferent aspects of the datacentre. The projects required for DaaS/VDI, include: Nova handles compute. Nova is the project that runs the desktops. Nova runson a hypervisor, typically KVM, Kernel-based Virtual Machine.Figure 1: Projects in OpenStack VDI/DaaS [8]5

Cinder and Swift projects handle the storage. Cinders block storage is usedfor desktop workloads. Each desktop has a persistent volume that can beattached to a running instance. The Glance project handles imaging in OpenStack. Here the master image of acustomer’s desktop is created. And with this one can quickly provision new ondemand instances from that image.[10]. Neutron is a network service for OpenStack. It provides tools that can buildper-tenant private networks, which is useful for multi-tenant environments[10]. Lastly, Horizon, which is the dashboard project. Horizon provides a UI, UserInterface on top of your OpenStack cloud, where you can create images,instances, networks, and more. The Horizon UI will not be used to manageVDI or DaaS. A connection broker is needed to manage the virtualdesktops[11].The process of building an OpenStack VDI/DaaS is shown in Figure 2. Build the OpenStack cloud: Here the architecture of the OpenStack cloud isdecided and then the cloud is build[12]. Creating an OpenStack project for each tenant: Here, the project and thenetwork is defined separately for each tenant, assigning them their ownOpenStack project.Figure 2: OpenStack VDI blue print[9] Build images for each tenant: Next stage is building a master desktop andimage that can be used to provision desktops for the users. After this a displayprotocol is selected. Leverage a connection broker to ease management: The last step is toconfigure the connection broker to manage the desktops.For OpenStack VDI/DaaS a Hypervisor, Display Protocol and Connection Brokerare needed.Hypervisor: OpenStack supports a wide range of hypervisors. Most of theOpenStack deployments use KVM, as KVM being an open source management stack. Inmany of the OpenStack documentation KVM is noted as the highly tested and supportedhypervisor. Other hypervisors like VMware ESXi, Xen, etc. can also be used. Forsuccessfully managing VDI/DaaS any of the hypervisor is adequate. [13].6

Display Protocol: A display protocol provides end users with a graphical interfaceto view a desktop that resides in the datacentre or cloud. Some of the popular optionsinclude Teradici PCoIP, PC over IP, HP RGS, Remote Software Graphics, or MicrosoftRDP, Remote Desktop Protocol. Choosing a protocol is important and can make orbreak the end user experience. Complex workloads often require complex visualizationand rendering graphics.Figure 3 OpenStack VDI ComponentsConnection Broker: The job of connection broker is to spin up desktops in cloudand to get the user connected to that desktop. The key is to find a broker that handles allthe use cases, which includes both Windows or Linux desktops and a mixture ofdifferent display protocols or different types of client devices. Enumerating thebrokering needs before starting to build the design will help in choosing a broker whichfuture-proofs the deployment. A connection broker focuses on desktop provisioning andconnection management. It also provides the interface that the end users will use to login.2.3VMware Horizon ViewVMware Horizon View provides virtual desktops to the users with VMware’svirtualization technologies. Virtual desktops are run in datacentres and are provided tousers through VMware View.With Horizon View managing the virtual desktops, there are many benefits whichinclude increased reliability, security, hardware independence, and convenience.[14]Reliability and SecurityVirtual desktops can be centralized by integrating with VMware vSphere and byvirtualizing server, storage, and networking resources. Placing desktop OS, OperatingSystem and applications on the server in datacentres provides the following advantages: Access to data can easily be restricted. Sensitive data can be prevented frombeing copied onto a remote employee's home computer. Integration with Horizon Workspace means that end users have on-demandaccess to View desktops through the same Web-based application catalog theyuse to access SaaS, Web, and Windows applications. Data backups can be scheduled without considering when end user systemsmight be turned off.ConvenienceFrom a single View Manager interface even large number of Horizon Viewdeployments can be managed. The management console is built on Adobe Flex and it is7

done to provide the feature of scalability. The dashboards enhance the workflow andfacilitate drilling down to see details and to change settings.Hardware IndependenceVirtual machines are hardware-independent as the View desktop runs on the serverin datacentre and is accessed from client device.2.3.1Horizon View ComponentsEnd users start View Client to log in to View Connection Server. This serverintegrates with Windows Active Directory which provides access to a virtual desktophosted in a VMware vSphere environment.Figure 4 shows the relationship between the major components of a Horizon ViewdeploymentFigure 4: VMware Horizon View Components[15]2.3.1.1Client DevicesIn Horizon View users can access the virtual desktops directly by opening theView Client to display the desktop. End user can access the desktops regardless ofdevice or location.Using HTML feature, the desktops can be directly accessed from the web browserwithout installing View Client.8

2.3.1.2View Connection ServerView Connection server is a broker for client connections. View ConnectionServer authenticates users through Windows Active Directory. It directs the request tothe appropriate virtual machine in vCenter Server.View Connection Server provides various management capabilities. It includesentitling users to specific desktop pools, establishing secure connections,authenticating users and managing local and remote desktop sessions.2.3.1.3View ClientThe client software is for accessing the View desktops. The user logins to thevirtual desktops using authorization. It is done through using View Client.An administrator configures View Client to allow end users to select a displayprotocol which are PCoIP and Microsoft RDP.2.3.1.4View AdministratorThis Web-based application allows administrators to configure View ConnectionServer, deploy and manage View desktops, control user authentication, andtroubleshoot end user issues.2.3.1.5View ComposerThis software service is installed on a vCenter Server instance. This componentmanages virtual machines. It creates a pool of linked clones from a specified parentvirtual machine in vCenter server. Here, each linked clone acts like an independentdesktop, with a unique host name and IP address. Even then the linked clone requiresless disk storage as it uses the storage with the parent base image.By updating the parent cloned image the linked

VMware Horizon, XenDesktops by Citrix, OpenStack VDI solution and etc. Objectives. In this thesis two VDI solutions are analyzed based on the virtual desktop launch time and the performance of the desktop in various test cases. The VDI solutions considered are VMware Horizon view and OpenStack VDI. Methods. The method for this research consists .