Hi and welcomeExcited to be hereTalk about my work with Virtual computer labsToday we will exploring the idea of VCLs in general before looking at a prototype VCL application that I developed this summer and am using this fallInterested in getting your feedback on design and use scenarios
In prepping for this talk, decided to focus on three rather large questionsWhat is a VCL?How can they improve learning or research?Can the cloud help either in learning or in extending adoption or IT integration?To answer this last question, we will explore a cloud-based vcl toolGrounded in my own experience as a teacher and researcherInitial development was centered around solving problems I encountered trying to integrate technology into the curriculum
Libraries have increasingly adopted computer lab support rolesIn some cases, such as Geographic Information Services, Libraries see the lab as a tightly coupled tool for using information resources.In other cases, labs are placed in libraries for space, support and general information need.Regardless of use, labshave increasingly taken space, resources and staff timeLibraries report challenges with access, availability, management and costSome libraries turn to scheduling software while others turn to forms of virtualizationFor example, a public library in Loveland, Colorado employed private cloud technology to decouple “applications” from individual machines – making it possible for a library patron to access and utilize their personalized desktop from any machine in the libraryIn this talk I don’t explore the uses and impact of these labs but rather focus on the question “how can infrastructure-based public cloud computing transform our deployment of labs?” My case study is grounded in LIS education but I believe that the key points related to access, efficiency and cost are applicable across library and other information resource domains.
Lets try to understand it from its boundariesIt is something more exciting than a row of computers in a roomBut also slightly less exciting than driving heavy machinery in an an immersive 3d environmentVCLs are common in education environmentsReduce costs (licensing, IT management, infrastructure), fit with distance education, better fit with enterprise ITFeature some user-facing management service, typically are tied to a domain or specific use, Saw early adoption in CS but are increasingly used in other fields
This VCL model is from the Apache VCL project pageIn this tool – which is an open source, VCL platform that uses a mix of different virtualization approaches to serve remote desktop sessions to usersThere is Scheduling/Management application set, A firewall / access function, an IT backbone and then various means for deploying and accessing lab machinesIt is fair to consider these three broad areas: Management functions, Access functions and actual lab machine functionsIn order to understand what a VCL is, lets look at a few examples
I mention django because it fits the theme of cloud-based development and rapid prototypingImportant to use lightweight tools to minimize developmentUses MVC approachWorks well in cloud deploymentsIn fact, one next step is moving the management platform to a PaaS cloud environment – better robustness, durability
Just two more detailed diagramsOne way in which the public cloud really helps is doing the heavy lifting on security, backups and accessAmazon provides datacenter certifications – responsibility of developer to meet web security measuresI am using five key aspects of aws:Security groups (firewall)MonitoringAMI – machine imagesAPI/Web consoleBackups/snapshotsBy using the public cloud – we avoid many of the costly elements of the enterprise virtualization model
As I said – There is a ‘eat your own dog-food ‘ moment for this projectAnd a real opportunity to help extend the impact of open source projects like thisBy designing them to be deployable in PaaS cloud environmentsThis raises some new issues that we are just now considering – security, access, scalability, design, Also risk of tool fragmentation
Why don’t I give a quick tour of the platform and then, time permitting we can look at some of the infrastructure and design elementsOpen browser:libcc.orgLoginCreate serverWhile launching – switch to adminGive quick tour of admin, say – registration and admin were “free”Talk about djangodev environment / Swap back to user interfaceLaunch machineConnectGive quick tour of ubuntuSwap over to AWS console: Show stopped and running machinesTalk about customization elemetns outside of yoru programming: machine configuration, security groups, Shutdown script, backup scriptAnalysisFirst big challenge: Avoid large-scale development. Django is a great framework for that – admin/registration freeSecond big challenge: AWS boto library – secure connetion to AWS to manage resourcesThird big challenge: Address persistence – not the best solution
So, with an understanding of what a VCL is – lets talk quickly about how they help facilitate learning?We have already seen some compelling ways:The engineering site provides access to expensive applications in a very transparent mannerThe Apache VCL project allows schools and departments to setup their own individualized lab t- some level of computational scalabilityFor context, let me also just focus on my own experience although there is a considerable amount of literature that explores how VCLs impact learning/researchThe class that is at the center of this work is called LBSC670 / Information organizationIt is a core MLS class, includes a mix of theoretical and hands-on contentIncluding working with cataloging and classification concepts as well as broader skills for analyzing and processing metadata and metadata uses in information systemsI have always taught this class with a bit of an IT bias – I really want students to come away with concrete skills and examples of how IO happens
Because 670 is a core class, and because it contains a considerable amount of theory it is also very busyAnd, it doesn't’t help that 95% of all librarians come from a humanities background.In fact this is a recurring idea in some of the literature – VCLs scaffold learning in trans-disciplinary settings. Consider our population: First semester, probably one of multiple classes and no, for lack of a better word “advanced” It skillsIn this diagram of learning objectives and outcomes the theoretical elements are in blue, technical elements in Orange. I have taught this class three times, each using a slightly different version of a VCL – lets consider each for a moment
Although my current deployment is rather simple (client access) the cloud makes some new labs possible that would be difficult/expensive to deploy otherwiseIn network design / security courses students need to be able to configure and try to breach computers – At a simple level the cVCL enables them to launchmultiple machinesA interesting design problem is how you build in more API access to the user access interface (e.g. assign static IP addresses, take backups, etc).Another interesting feature of public clouds is their ability to host different types of IT resources – cloud-based databases, archival-quality digital object storage – There is a need to provide some infrastructure to help students access and work with these tools without being thrown in the deep end of AWS API/Web consolesFinally – A key feature of cloud providers – allow scaling of individual machines -
So, I said I wanted to know whether or not the cVCL was having a positive or negative impactSo what have my informal case studies told me?We were able to sidestepsome pretty complex IT skills (including installing a windows app on a mac/linux platform)And students who do not have laptops have a level playing field and consistent environment for their work outside of classBut the cloud at this point is more a means to further integration in the absence of large institutional support.From this initial exploration of the use of cloud infrastructure – we can see some new opportunities for tool use and the development of VCL networks (Imagine a student dev environment but also a hardened publishing environment)And – A properly abstracted cVCL application could run on private clouds as wellBut. . .Technology disruptions are disruptive to class (tell story of 40 machine limit on amazon)And while technical scalability isn't an issue, organizational scalability is – While a few hundred $$ is not much for a class – increased use may hit a tipping point where local IT is more cost effective
So I would be interestedin hearing your thoughts on design, usability, “lab applications”Clearly the initial development of this tool focused on replicating common VCL tools – There are some interesting opportunities to both improve tool function and expand use cases, Some interesting issues to deal with regarding “cleanup” need automatic de-provisioning toolsAlthough this talk has focused on education – Cloud vcls open a new avenue for citizen science research by giving a community access to rich tools and datasets in a closed or complete environmentPerhaps even more important, these citizen-vcls can be deployed by an organization but run by the user – avoiding the runtime cost and liability that, while a non-issue in an educational setting would be a big issue in a public setting.So – those are the questions I came away with from building and use the lab, I would be interested in hearing your own thoughts / questions
2013 mitchell ical_021213
Computing Labs in the Cloud: A case study analysis of virtual computing in education #ICAL2013, #cloudvcl Erik Mitchell Assistant Professor College of Information Studies University of Maryland, College Park MD, USA
Scope What is a “Virtual Computer Lab”? What roles do VCLs play in education and are they important for libraries? How does the cloud transform VCL uses?
http://www.evc.edu/llr/open_lab.htm, http://thinkingthai.blogspot.com Library support of computing
Computing labs in the cloud. . . Computing lab types: Classrooms, Design studios, Meeting rooms / lounges, General purpose, Technology suites (Herrick, 2012) VCL approaches: Client VCL, Web-based specialized tools, Enterprise VCLs, Cloud VCLs (Mitchell, 2013) Key considerations: Network bandwidth Digital fluency Local vs. institutional infrastructure Up-front vs. ongoing costs Technology-fatigue and scaffolded learning (Locatis, Vega, Bhagwat, Liu, & Conde, 2008)
A broad VCL model - Apache VCLPatron access and use Scheduling / management IT infrastructure Security, authentication https://cwiki.apache.org/VCL/
Web-based tools Cloud-based VCL Student infrastructure Server/school infrastructure High IT fluency Lower IT fluencyClient VCL Private cloud VCL
Lightweight cVCL managementDjango framework Boto library
Admin VCLmanagement platform interfaceVirtual computing lab Student VCL interface VCL to AWS tools cVCL infrastructure AWS web- based tools Amazon Web Service EC2 cloud Security groups Platform monitoring / configuration Micro Micro Micro Micro Micro Micro Micro server server server server server server server “Gold” machine API / Web console Backups / Snapshots images
cVCL – “clouds all the way down”Administer Access Connect PaaS Lab management platform Platform-as-a-Service deployment container Google Apps Engine environment Datastore
How can VCLs facilitate learning?Case study: LBSC670: Organization ofinformation “Understand representation and classification of information through cataloging, metadata creation, indexing and organization. .” “Develop skills for analyzing and processing structured data” “Create new information structures and services”
Course objectives and outcomesRemember Understand Apply Analyze Evaluate Create Concepts / Cataloging Metadata Metadata Metadata New metadata standards process standards content quality records New Schemas / Metadata System Activities System design information classifications functions suitability systems New Tools Tool use Tool functions Tool output Tool utility information services
Case studiesFall 2011 Client install: “What is java?” Cost: Student laptop costsSpring 2012 One cloud server System scale, security Cost: ~$260 US / 7 students = $37Fall 2012 cVCL, 63 servers Scalability, privacy Cost: ~$450 US / 52 students = $8.66
cVCLs use casescVCLs broaden access to server technology and serve as contained experimentalenvironments in Computer SciencecVCLs can pull on cloud-based data storage an other services to create a courseinfrastructure for cultural heritage resource sharing and computation Datastore
How can we assess the impact ofcVCLS?Remote client using domain-specific tools savesinstructional time / avoids “Tech-fatigue”cVCLs created a level playing field forstudents, with a common and persistentenvironmentTechnology is only an issue when it doesn’twork, satisfaction measures are insufficient
cVCL Unanswered questionsWhat are the regulatory and policy issues withusing cloud-based VCLs?Are there technical / financial models that helpthis type of lab scale?How can this platform support research ordissemination of ‘actionable data’?
Thank You!Computing Labs in the Cloud: A case study analysis of virtual computing in education #ICAL2013, #cloudvcl https://github.com/mitcheet Erik Mitchell Assistant Professor College of Information Studies University of Maryland, College Park MD, USA firstname.lastname@example.org
A particular slide catching your eye?
Clipping is a handy way to collect important slides you want to go back to later.