Utilizing Open Source Cloud Computing Environments to Provide Cost Effective Support for University Education and Research

Utilizing Open Source Cloud Computing Environments to Provide Cost Effective Support for University Education and Research

Patrick Dreher (North Carolina State University, USA & Massachusetts Institute of Technology, USA) and Mladen Vouk (North Carolina State University, USA)
DOI: 10.4018/978-1-4666-0957-0.ch003


This chapter describes an economical and scalable open source cloud computing technology suitable for a university environment where the need is to simultaneously serve a diverse spectrum of educational and research missions. In particular, this chapter reviews a cloud computing technology called Virtual Computing Lab (VCL, http://vcl.ncsu.edu). This open source technology was originally designed and built at North Carolina State University (NCSU), and its seamlessly supports both the electronic teaching and learning needs of the university as well as a robust environment for faculty high performance computing research needs. Extensive data from the NCSU VCL production system show the economic scalability of the solutions. The authors discuss economic viability of the solution and the trade-off analysis that needs to be done to understand how much of the equipment, virtualization, and workload balancing among on-demand and background workloads need to happen.
Chapter Preview


The concept of cloud computing has become quite popular over the past several years with many commercial and non-profit institutions now seriously considering the implementation of “clouds” within their organizations. While this rapid growth in popularity has created a strong demand for this technology it has also created a gap between the expected capabilities of such systems and the actual capabilities available to satisfy user technical, operational and cost requirements.

Cloud computing has been labeled as a disruptive paradigm both from a technology and business perspective. From a technology perspective, cloud computing can be defined as a computational paradigm that, at the requested and appropriate level, on-demand and over the network seamlessly and securely provisions a wide range of customizable information technology services. The economic appeal of such a system is rooted in its ability to very efficiently convert capital expenses to operating expenses. Commercial implementations of such a system might be characterized as a “pay-as-you-go” model. The latter arrangement also delivers flexibility for an organization to immediately reap the economic benefits of reduced pricing plans and/or access to new and more efficient technologies without incurring the associated capital expenses. Such an absence of up-front capital expenses allows an organization to deploy resources to other business and economic priorities.

A cloud architecture can be configured to provide device independence from any particular hardware vendor, and possibly hypervisor brand, and offer mobile resource and cost sharing from among a large pool of users. Within this resource sharing concept, specific implementations help to enhance these general gains in service delivery, with potential follow-on economic savings. For example, technical efficiency and scalability are enhanced through relative centralization of infrastructure, with location, device and if so desired platform independence, and with efficiency in utilization through management of user demand via implementation of software that controls simultaneous multi-user or project access. It should be noted here that some cloud configurations that have recently been offered are designed in a more restrictive manner, thereby constraining the user to select from a limited range of options. A recent paper (Ambrust, et al., 2009) summarizes some of these issues.

As cloud computing has grown, various terms and definitions have begun to emerge in this field and appear in the literature. For example, the notion of private and public cloud, and the range of services a cloud offers. Specifically:

  • Hardware as a Service (HaaS) is concerned with on demand access to an explicit (specific) computational, storage and networking product/hardware and/or equipment configuration possibly at a particular site (Location as a Service - LaaS);

  • Infrastructure as a service (IaaS) operates at the level of demand access to user specified hardware, interconnects, and storage capabilities, performance and services which may run on a variety of products (e.g., I need a 3 Ghz processors with 4 GB of memory per core, and 200 GB of local disk storage);

  • Platform as a Service (PaaS) operates in the domain of on-demand access to user specified combination of hypervisors, operating systems, and middleware that enables user required applications and services running on either explicit or implicit HaaS and/or IaaS services;

  • Application as a Service (AaaS) - on-demand access to user specified application(s)

  • Software as a Service (SaaS) - may encompass anything from PaaS through AaaS, but is probably more concerned with the ability of the end-user to install own software and save images to extend cloud services.

  • Higher-level services can be quite diverse. Examples are

    • o

      Cloud as a Service,

    • o

      Security as a Service

    • o

      Portability-as-a –Service (e.g., I can take my service images and move to another cloud)

    • o

      Storage & Location as a Service, (e.g., where are my data stored?

Complete Chapter List

Search this Book: