Application of Infrastructure as a Service in IT Education
This paper considers cloud service development to support hands-on practice in IT education. For IT education, cloud services can be used to reduce cost, enhance security, and provide flexibility. This paper presents a case study to illustrate how cloud services can be used to support hands-on practice for IT courses. It also provides a five-step development strategy to develop cloud based computer labs for various types of IT courses.
At a glance: Figures
Keywords: cloud, infrastructure as a service, software as a service, platform as a service
American Journal of Information Systems, 2014 2 (2),
Received March 09, 2014; Revised April 08, 2014; Accepted April 13, 2014Copyright © 2014 Science and Education Publishing. All Rights Reserved.
Cite this article:
- Chao, Li. "Application of Infrastructure as a Service in IT Education." American Journal of Information Systems 2.2 (2014): 42-48.
- Chao, L. (2014). Application of Infrastructure as a Service in IT Education. American Journal of Information Systems, 2(2), 42-48.
- Chao, Li. "Application of Infrastructure as a Service in IT Education." American Journal of Information Systems 2, no. 2 (2014): 42-48.
|Import into BibTeX||Import into EndNote||Import into RefMan||Import into RefWorks|
In IT education, students improve their problem solving skills through hands-on practice. For hands-on practice, computer labs are the key component in the teaching and learning of information technology. For IT education programs to be accredited, the Board for Engineering and Technology (ABET) requires that computer labs must be implemented (ABET, 2010). On the other hand, it is always a challenging task to develop and manage computer labs to meet different hands-on requirements for various types of IT courses (Chao, 2008). There are three major challenges: lab upgrade and reconstruction, meeting the lab requirements by different IT courses, and lab security. The IT curriculum changes rapidly to catch up with the IT industry. The changes in the IT curriculum require the computer labs to be upgraded accordingly. For many education institutions, the frequent upgrade of computer labs is a real burden due to lack of funding, manpower, and IT skills. The IT education curriculum consists of various subjects which require different technologies. Often, the computer lab designed for one IT course may not be used by other IT courses. For example, the computer lab configured for teaching networking is not suitable for teaching database development. The students in the networking class may alter the network set up so that the front-end applications cannot access the database server. Therefore, it is a challenge to meet the requirements from different types of IT courses. Lab security creates another challenge. To learn the skills for managing computer systems and networks, the students should be allowed to reconfigure the network in the lab for hands-on practice. They must be given the administrator’s privilege. The IT service department at an education institution has great concern about giving students the administrator’s privilege. Therefore, additional security measures need to be enforced to protect the institution’s internal network from the students with the administrator’s privilege.
The newly developed cloud computing technology may provide a better solution in dealing with the challenges in IT education. Cloud computing is a computation platform from which users can subscribe computing resources such as networks, servers, storage, applications, and services provided by a cloud provider. By subscribing computing resources, it is not necessary for users to develop their own IT infrastructure for IT services. Cloud providers make computing resources available to subscribers. Cloud computing users only pay for what they have subscribed. By using computing resources provided by a cloud provider, subscribers do not have to develop their own IT infrastructure. Without developing their own IT infrastructure, the subscribers are able to lower the cost and speed up the development of their own projects.
Education institutions can greatly benefit by cloud computing. Some of the IT courses may require a large number of servers to support hands-on practice. For example, a Software Project course may require 10 servers to support a project developed by a group students. If there are 10 groups of students in a Software Project class, the class will need 100 servers to support the hands-on practice. On the other hands, these 100 server do have to be on all the time. As soon as the students complete the assignments. These servers can be turned off. The is very common scenario in IT education. Therefore the nature of cloud computing fits the needs of IT education very well. At UC Berkeley, the Amazon Web Service (AWS) cloud has been used to support the IT infrastructure for the Software Project course (Fox, 2009). Each class subscripts a large number of servers at the beginning of the hands-on practice. The subscription will be released as soon as the submission deadline is passed.
More studies have been done to investigate the application of cloud computing in education. Cloud computing can play a significant role in student-centered practices (Chang and Guetl, 2010). The experimental can greatly benefit from the features of cloud computing. Cloud computing provides an leaning environment that particularly suitable for the leaning learning behavior, habits and styles of Generation Y. Berenfeld and Yazijian (2010) demonstrate, in their report, how the cloud computing technology was used in constructing a global lab for teaching and learning of environmental science. Cloud computing is gradually replacing the traditional way of providing software for higher education (Nicholson, 2009). Once a higher education institution is cloud powered, the cost on developing and managing the IT infrastructure can be significantly reduced. In addition, the cloud based IT infrastructure is highly flexible and agile. The features of cloud computing provide a new way to implement online teaching and learning in IT education. The cloud computing technology has the potential to meet various lab requirements of different IT courses (Chao, 2011).
This paper focuses on a case study to illustrate how the cloud computing supports the hands-on practice in IT education. Based on the requirements of IT education, this paper identify the cloud computing technology that best fits each type of IT courses.
2. Cloud Services for IT Education
As described by Velte, Velte, and Elsenpeter (2009), cloud computing runs under two different platforms, public cloud and private cloud. In a public cloud, the cloud provider is a third party company such as Amazon's Elastic Compute Cloud (EC2) or Microsoft Windows Azure. As a subscriber of the public cloud, the subscriber pays for the usage of computing resources provided by the cloud provider. As a contrast to the public cloud, a private cloud is built into an educational institution’s existing IT infrastructure. The IT department of the educational institution serves as the cloud provider. The subscribers may include instructors and students. Both the provider and subscribers are working within the educational institution. Public as well as private cloud computing can provide three types of cloud services (Cloud Weeks, 2010).
Software as a Service (SaaS): This cloud service allows educational institutions to subscribe to online software hosted by a cloud provider. If proprietary software is used, educational institutions need to pay for the usage of the software. Some of the well known software packages provided by SaaS are Google Apps and Microsoft Office 365. IT courses that require hands-on practice on certain computer software, such as programming or multimedia development software, SaaS is adequate to get the job done. If the required software is available from a public cloud provider, education institutions do not have to do much. If it is not available, we can subscribe to a server from a cloud provider and install the required software. In most cases, the cost of subscribing to one server is affordable. Another option is to develop a private cloud to provide such a service.
Platform as a Service (PaaS): This service provides a Web-based application development platform. It can be used by an IT course to design, develop, test, deploy, upgrade, and host Web-based applications. It allows application developers to form a community to carry out collaborative work on a project. Server operating systems, databases, middleware, Web servers, and application development environments are provided remotely by PaaS providers. Microsoft Windows Azure is this type of service. IT courses that require hands-on practice on a client-server structure, such as database systems or application development courses, PaaS is the one to use. The PaaS service provided by Windows Azure is suitable for the database systems and application development courses. In addition, Microsoft provides a free solution development kit for developing database applications. Education institutions can also provide PaaS through a private cloud. PaaS provides an ideal platform for group projects. It enhances interaction among students and instructors.
Infrastructure as a Service (IaaS): This cloud service provides an IT infrastructure that consists of servers, networks, data storage and other necessary tools properly configured to form a virtual computing environment that fulfills the hands-on practice requirements of an IT course. Microsoft Windows Azure and Amazon Web Service (AWS) provide this type of service. It is a great challenge to support the courses that require hands-on practice on the server side, such as system administration and network management courses. These IT courses require the reconfiguration of operating systems and networks. There are many such courses in the IT curriculum. IaaS provided by a public cloud may not be the solution. A networking class may need to subscribe virtual servers for a semester. Each student may need to have 3 or more servers to create a local network environment. For many small education institutions, the subscription cost is too high. IaaS provided by a public cloud has another drawback. It is not easy for students to reconfigure the server’s IP address, which will disconnect the students’ access to the cloud. For IT courses such as networking or system administration, we should consider supporting IaaS with a private cloud or hybrid cloud.
The advantage of cloud service is particularly useful for supporting lab activities in the teaching and learning process. To catch the trend of the fast changing IT industry, computer labs are upgraded frequently and it takes a great deal of effort and resources to implement the changes. Cloud based computer labs can greatly benefit from the flexibility and agility offered by the cloud computing technology. By teaming up with IBM, cloud architecture to support learning and research has been developed at North Carolina State University (NCSU) (Stein, Ware, Laboy, & Scha_er, 2013). The strong support from the industry leader IBM and from NCSU IT service has made NCSU’s cloud project very successful. However, many education institutions may lack the support from the IT industry. Due to the shortage of funding, skilled technicians, and “know-how”, frequent updates of research infrastructure and computer labs can become a burden to these education institutions. Even with the above difficulties, these higher education institutions can still find a way to implement cloud services as shown in the case study. To support education, major cloud vendors provide education price for their products. For example, the VMware Academic Program (VMAP) package provided by VMware includes vSphere, Workstation, vCloud Suite, and other software for an annual subscription fee of $250 for education institutions. DreamSpark provided by Microsoft is a program that supports technical education. It provides Microsoft software for learning, teaching and research purposes. Amazon also provides Education Grants Program which allows instructors and students to apply for free usage credits. With the free usage credits, instructors and students can use Amazon Cloud to teach IT courses, conduct research, and experiment with new projects. In addition to the support from these well-known IT companies, education institutions can also consider using open source products such as Open Stack.
With these education programs, even a small education institution is able to implement its cloud services. The intention of this paper is to facilitate small education institutions in establishing their own cloud services with the resources provided by an education program mentioned above. This paper will first investigate the requirements by IT education. Then, it will identify the cloud technology that can be applied to IT education. The emphasis will be given to the cloud solution for the IT infrastructure which is used to support cloud based computer labs.
3. Case Study
For IT education, the development of cloud services can be done through a five-step solution model which includes requirement analysis, design, development, implementation, and evaluation. The following is the sample requirements for computer labs by different IT courses.
Gaming Network Architecture: It requires the SaaS service which provides the open source software such as Python and Unreal. It is desired that the software are available anytime and can be access from anywhere.
Internet Computing: It requires the SaaS service which provides open source application software such as Apache, MySQL, Perl, and Firefox as application software.
Object-Oriented Programming: It requires the SaaS service which provides programming software such as Java Development Kit (JDK).
Networking: It requires the IaaS service which provides IT infrastructure including multiple subnets, gateways, server operating systems, and software such as Web server, email server, and software for routing and directory service.
Security Management: It requires the IaaS service which provides IT infrastructure including subnets, proxy servers, firewalls, DMZ architecture, server operating systems, as well as security management software.
Software Engineering: It requires the PaaS service which provides a collaboration platform including server operating system, database management software, application development software.
In the design phase, the virtual lab is represented with a logical model which can be used to verify if the hands-on practice requirements have been met. Figure 1 is a sample logical design representing an hybrid cloud service which can be used to support all types of courses in IT education.
IT education can benefit from all these services. For teaching courses using application software such as Web application development, the SaaS service should be subscribed. Courses such as Software Engineering can benefit from the PaaS service. IaaS is necessary for the development of virtual computer labs. The IaaS service allows students to create and manage their own networks.
The designer has several choices of public clouds. Among them, Amazon (2010) is a pioneer that popularized the cloud computing platform. As early as the year 2006, the beta version of Amazon Elastic Compute Cloud (EC2) was made available to the public by Amazon (Barr, 2006). Amazon designed the AWS in Education program to help the academic community get a quick start on leveraging Amazon Web Services (AWS). The AWS in Education program provides educational institutions with teaching grants, research grants, and project grants.
Since then, cloud computing has begun to change the way of online computing. Many other public clouds became available on the market such as:
1. Blue Cloud by IBM which assists educational institutions in moving from traditional IT infrastructure to cloud based IT infrastructure by offering the IBM Cloud Academy (IBM, 2009),
2. App Engine by Google which supports educational institutions with the Google Apps for Education program (Google, 2010), and
3. Microsoft Windows Azure which offers a cloud solution to educational institutions (Microsoft, 2011). The educational institutions can subscribe services including IaaS, PaaS, and SaaS.
There are also several packages for developing private cloud. To name a few, consider the following commonly used cloud management software:
1. Cloud Director is a cloud management suite provided by VMware. It can be used to build hybrid clouds by integrating a public cloud with a private cloud built with VMware products. VMware provides Cloud Connector for migrating virtual machines between private and public clouds.
2. Microsoft System Center 2012 can be used to develop private clouds hosted by System Center Virtual Machine Manager (SCVMM). It provides App Controller for configuring, deploying, and managing virtual machines and services across private and public clouds.
3. Another popular cloud management platform is Eucalyptus. With Eucalyptus, users can manage multiple cloud providers. Eucalyptus provides an API which is fully compatible with the Amazon API.
4. Open Stack is an open-source cloud management platform for deploying clouds. Open Stack is built to support various public clouds such as Amazon Web Services and Windows Azure. Open Stack supports commonly used hypervisors such as KVM and Xen for developing the virtualized IT infrastructure.
As described in the design phase, the SaaS and PaaS provided by a public cloud provider are ideal for handling courses such as web development or database system development. For courses such as networking or system administration, the IaaS provided by a private is an ideal choice. In the process of developing virtual labs, the cloud services can be used for creating virtual machines with virtual images designed for different IT courses. Figure 2 shows virtual machines provided by the IaaS of a private cloud.
In the implementation phase, the instructors tested the virtual lab to make sure that all the lab activities can be performed in the lab which can be accessed anytime and anywhere as long as the Internet is available. Figure 3 illustrates the Windows Azure Management Portal for remotely accessing the virtual machines designed for a mobile application development class. Through the Internet connection, students can access the mobile service anytime and anywhere.
Instructors can also develop their own application interface for mobile devices. Figure 4 illustrates the interface for students' social network.
To remotely access the cloud services, the access mechanism can be created either through the Web browser as shown in Figure 5, or through the open source graphic desktop sharing software such as Virtual Network Computing (VNC) as shown in Figure 6.
One of the main tasks in the implementation phase is to provide tutoring service. To help students remotely access the cloud service, detailed instruction is necessary. Figure 7 illustrates lab logon instructions for the students.
In this case study, the cloud-based learning environment was successfully implemented for the IT courses such as networking, database system development and web application development. As for the evaluation of the cloud-based learning environment, brief surveys were conducted for the students and instructors who had participated in the cloud-based teaching and learning. As an example, when the students in the cloud database development class were asked if they liked or disliked the cloud-based learning environment, 100% of the students liked the convenience, flexibility, scalability, and availability of the cloud-based learning environment. When asked if it took less time to complete their assignments in the cloud-based learning environment, 82% of the students said yes. 18% of the students preferred the traditional lab environment where they could easily get help from their instructors. 100% of the students were engaged in the collaboration during the project development. When asked if they would be able to use cloud computing for their work or learning, 97% of the students said yes. The reactions from the instructors were also very positive. They liked to use the cloud-based environment for developing course materials and doing research. 87% of the instructors also liked the cloud-based environment where they could conveniently help the students. It shows that it cost the university’s IT service department almost nothing for class support. During the entire semester, the learning environment was available to the students 100% of the time.
As another example, a brief post class survey was conducted for a network management class. The result shows that 100% of students liked the convenience of the online virtual lab. 15% of the students stated that the hands-on practice in the virtual lab took more time due to lack of the face-to-face help from the instructors. 93% of the students considered the hands-on skills important for their career. 85 % of the students had worked with other students collaboratively. These students may also have contacted the technical support of the public cloud provider or contacted the instructor for help. The instructors agreed that lab preparation time had been reduced and it was easier to manage the online virtual lab.
This paper discusses the development of a cloud-based learning environment in IT education. With resources provided by the academic support programs or open source products, even a small education institution can develop their own cloud services. It is possible to replace some of the physical computer labs on campus with the cloud-based learning environment. The cloud based virtual computer lab has great usability, flexibility, as well as affordability.
|||ABET, “Criteria for accrediting engineering programs,” Available: http://www.abet.org/Linked%20Documents-UPDATE/Criteria%20and%20PP/05-06-EAC%20Criteria.pdf. [Accessed June 26, 2010.]|
|||Chang, V., and Guetl, C., “Generation Y learning in the 21st century: Integration of virtual worlds and cloud computing services.” In Z. Abas et al. (Eds.), Proceedings of Global Learn Asia Pacific 2010 (pp. 1888-1897). Chesapeake, VA: AACE. 2010.|
|||Chao, L, Strategies and technologies for developing online computer labs for technology-based courses. Hershey, PA: IGI Global, 2008.|
|||Fox, A, “Cloud computing in education,” Available: http://inews.berkeley.edu/articles/Spring2009/cloud-computing. [Accessed July 26, 2010.]|
|||Nicholson, J. L, “Cloud computing: Top issues for higher education,” Available: http://www.universitybusiness.com/viewarticle.aspx?articleid=1342 [Accessed July 26, 2010.]|
|||Stein, S., Ware, J., Laboy, J., & Schaffer, H. E, “Improving K-12 pedagogy via a Cloud designed for education,” International Journal of Information Management, 33 (1), 235-241. 2013.|
|||Chao, L, Cloud technology and its application in IT education. In M. Koehler & P. Mishra (Eds.), Proceedings of Society for Information Technology & Teacher Education International Conference 2011 (pp. 3053-3056). Chesapeake, VA: AACE. 2011.|
|||Cloud Weeks, “Cloud computing – demystifying SaaS, PaaS and IaaS,” Available: http://www.cloudtweaks.com/2010/05/cloud-computing-demystifying-saas-paas-and-iaas. [Accessed September 16, 2010.]|
|||Velte, T., Velte, A., & Elsenpeter, R., Cloud computing, a practical approach. New York: McGraw-Hill Osborne Media. 2009.|
|||Amazon, “AWS in Education,” Available: http://aws.amazon.com/education [Accessed July 15, 2011.]|
|||Barr, J., “Amazon EC2 Beta.” http://aws.typepad.com/aws/2006/08/amazon_ec2_beta.html [Accessed July 16, 2009.]|
|||Microsoft, “Cloud computing for education,” Available: http://www.microsoft.com/education/solutions/cloudcomputing.aspx. [Accessed July 15, 2011.]|
|||IBM, “Introducing the IBM Cloud Academy,” Available: http://www.ibm.com/solutions/education/cloudacademy/us/en. [Accessed September 16, 2010.]|
|||Google, “Gmail, Calendar, Docs and more,” Available: http://www.google.com/a/help/intl/en/edu/index.html [Accessed September 16, 2010.]|