In-Depth: Application Virtualization and 1:1 Program Cost

On February 14th, the ICCSD Board approved a purchase of hardware and software that will provide, among other things, application virtualization services.  Now, on the face of it this might not sound like an interesting development, but I’m really excited about the opportunities that this will afford our students – and staff – to embrace the concept of anywhere, anytime learning.  

At a base level, application virtualization allows users to effectively stream software to a device.  Here is an example: 

Without application virtualization: Let’s say that I’m an 11th grader enrolled in an advanced video editing course.  While I’m in my classroom, I can use one of the district’s computers to run Adobe Premiere to work on a project.  Since Premiere is demanding and consumes a great deal of storage, it is only available in a video publishing lab and a handful of computers in the library.  If I need to work on a project outside of class time, I can either work on it with a less powerful application, or I can try to find a time to come in separately to work with Premiere.  If I wanted to have access to it at home, my family would need to purchase it at a subscription cost of $19.99 per month (with academic discount).  

With application virtualization: Using the same scenario, I still have access to the application within the video publishing lab.  Now, however, I can log in to the district’s Citrix XenApp service and launch Premiere from within the web browser on my school-issued Chromebook, or on any other device I own.  As long as I have an internet connection – at school, at home, at a restaurant – I can access Premiere.  The software launches from within my web browser, but then appears as a full-screen application, just as if it was installed on my computer.  

How does it work? 

We will be using software called Citrix XenApp – this is a long-established product, and is the platform that the University of Iowa has long used to provide virtualized applications and desktops – to deliver virtualized applications.  Basically, we install XenApp on a handful of virtual servers (more on those in a later blog post), and then install the software that we want to virtualize on those servers as well.  When a user launches an application – like Premiere – the application runs on the server, but is streamed – in much the same way that you stream a video from Netflix – to the user’s device.  Interactions from the user’s input devices – keyboard, mouse, trackpad, stylus – are sent to the server, allowing the user to interact with the software as it is being streamed.  Since the software is running on the server, it doesn’t matter how powerful the user’s device is, or even what operating system it is running.  

What can be virtualized? 

Just about any software that can run on Windows can be virtualized.  In many cases, in fact, the software that we uses is specifically certified as compatible with XenApp, as is the case with Autodesk, Microsoft Office, ArcGIS, and various Adobe products, to name a few.  In fact, we will even have the ability to virtualize web browsers that support Flash and Java, Vernier software for science labs, and even games such as Minecraft (education version).  

The most substantial barrier to application virtualization is not technical, actually, but licensing.  In order to address potential licensing issues relating to virtualization, we’ve been working with various software vendors to update our licensing terms and ensure that we can deliver applications as needed.  Beyond licensing, the technical details that we must work through generally involve ensuring compatibility for software that makes use of uncommon USB-connected peripherals, such as MIDI keyboards for music classes.  We’ll be testing these devices on a case-by-case basis and working through compatibility problems, though in many cases the impact is lessened by the fact that these devices are generally deployed in environments where we will also have computers running Windows on which we can install software as needed. 

So students with district issued Chromebooks will be able to run just about any software? 

Yes, elementary and secondary students will be able to use district-issued Chromebooks to run any virtualized software.  Secondary students who are part of the 1:1 initiative – beginning with grades 9-12 in 2017 and extending to grades 7-8 in 2019 – will have access to the software whether they’re on or off-campus.  Further, students will be able to use their district logins to access virtualized software from any device, including home computers, the public library, iPads, Android tablets, or even a smartphone.  

Running Adobe Premiere or Autodesk on a Chromebook seems ridiculous.  How well will graphics-intensive applications work? 

It can be tough to conceptualize that with virtualized applications, the user’s device is really immaterial to the performance expectations of the application.  The servers that we’re installing XenApp on include NVIDIA GRID graphics processors specifically designed for virtualization of graphics-intensive software, such as Photoshop or Autodesk Inventor.  Further, these server machines are very well-specced, including hundreds of gigabytes (GB) of memory (RAM) and powerful processors.  In terms of rendering and processing performance, the virtualized versions of these applications should run circles around non-virtualized versions of the same applications running on any devices we, as a school district, could actually afford.

Wait, I feel like I’ve heard of this before.  Is this like a computer terminal from the 70s and 80s?

In a way, yes.  The terminals of the 60s, 70s, and 80s were obviously much less advanced in terms of the software that was being pushed, and differed primarily in that the terminals themselves were not running a separate, full operating system (whereas the devices we’re discussing are, themselves, running Windows, OS X, iOS, Android, or Chrome OS).  

A more apt analogy may be to the cloud.  Everyone reading this blog is likely to be a consumer of cloud services – services delivered on-demand via the internet – and we’re essentially just turning the district’s software offerings into cloud-accessible resources. 

What’s the cost of offering virtual applications? 

True cost is a bit difficult to quantify (details below), but the short answer is that we’ll end up paying very little at this point.  Our XenApp purchase amounts to just over $158,000, though all of that will be refunded to the district as a qualified purchase under the terms of the lawsuit settled between the State of Iowa and Microsoft in 2007.  Purchase of the server hardware is in addition to that amount, though XenApp will run on the server hardware that we’d already be purchasing to host the rest of the district’s virtual servers.  While it’s impossible to tease out the specific cost of the additional server resources required for XenApp, I’d estimate that the demands of hosting virtualized applications adds about $25,000 to our server hardware costs over a six-year period, based upon the cost of additional memory and graphics processing components required. 

I said above, though, that’s it’s difficult to quantify the true cost, and that’s due to this really important point: (I believe underlined, bold, and italics are warranted)

Virtual applications allow us to dramatically reduce the number of other computers we need to deploy beyond 1:1. 

As previously mentioned, and documented here, the district is launching a 1:1 Chromebook initiative in 2017 (at the high school level) and 2018 (at the junior high level).  One of the advantages of Chromebooks – though not the only advantage – is cost; Chromebooks cost about $200 per device, while a reasonably-equipped Windows or Mac laptop will cost between $700 and $1000.  A drawback to Chromebook 1:1 programs, though, is that schools typically need to continue to allocate lab computers throughout the building, since Chromebooks can’t run Autodesk, Premiere, Geometer’s Sketchpad, Logger Pro, Boardmaker, Excel, Publisher, Photoshop, etc.  

Implementation of virtual applications largely solves this problem.  While we will not do away with all lab computers right away – we’ll keep specialty labs in place for a couple of years to learn how necessary each lab is – we will be able to immediately reduce the number of general purpose lab computers and mobile device carts we support in our buildings.  

So how can we calculate the true cost of application virtualization and 1:1? 

There’s no perfect method, but I’ll give it my best shot.  In the table below, I’ve included the cost of application virtualization and – critically – the cost of the 1:1 program.  I’ve included the 1:1 program due to the fact that application virtualization would not be an ideal solution on its own, but the true efficiency can be seen when coupled with the 1:1-related costs.  Specifically, the table below reflects non-replacement of general purpose labs and flexible-allocation computers to our high school and junior high buildings over the next six years.  I do want to be clear that this plan does not reflect removal of any specialty computer labs; the costs for those devices are included in the table, though it’s possible that we’ll find that they’re not necessary after we’ve implemented 1:1.  

All costs are projected over a 6-year period (the lifespan of the servers), and are based upon our actual costs (where available) and projections for future purchases.  

Item Cost
1:1 Device Cost (over 6 years) $2,190,000
Citrix XenApp Licenses (Initial) $70,092
3-year License Cost (XenApp) (over 6 years) $106,538
Additional Server Cost $25,000
HS Specialty Lab Purchases (over 6 years) $210,000
HS General Purpose Lab Reductions (over 6 years) -$540,000
HS Flexible Use Computer Reductions (over 6 years) -$1,224,000
MS Specialty Lab Purchases (over 6 years) $180,000
MS General Purpose Lab Reductions (over 6 years) -$315,000
MS Flexible Use Computer Reductions (over 6 years) -$655,500
Microsoft Settlement Refund for XenApp (one-time) -$166,564
Change in Program Cost (current to 1:1/app virtualization) -$119,434

While these estimates will not be perfect, these projections are based upon historical purchase costs and the costs – of both the 1:1 solution as well as the would-have-been costs for the current deployment – are likely to fall over the coming years as technology prices decrease.

On the whole, though, app virtualization allows us to offer a 1:1 device program that provides greater software access and flexibility than our current deployment, while saving an estimated $20,000 per year compared to our current model.