We set forth a couple of months ago to try our hand at setting up a private cloud here at UWO, for educational use. Our goal was to determine the feasibility of using a cloud to support student coursework, exposing them to a wider array of environments and giving them unprecedented control and authority over them. We chose Eucalyptus as our cloud management software, and acquired a few spare machines to construct our prototype cloud. After a long series of struggles (chronicled throughout this blog), we have come to a few conclusions, and a few more questions.
First, let's address some of the key points of our original plan.
1. Registration of users (checking permission against a database of students)
Users in Eucalyptus are registered in the system by an administrator through the web interface. A user can request an account, but an administrator must authorize the request. There is no way to import a user list from a student database or list, but we do not see this as a hurdle to adoption, as user creation is straightforward and quick.
2. VMs should be accessible through SSH, Remote Desktop, HTTP, etc.
This presented a bit of an issue for us, as we were forced to put our cloud nodes on a separate network in order to provide IP addresses for our VMs. To address this, we set up a VPN server on our cloud controller (Homer), which has two NICs connecting it to both the separate cloud network and the outside world. By connecting to the VPN, access to the VMs through any means required is possible. Thus, this requirement is met.
3. There should be a timeout mechanism to suspend running VMs (as well, it should be possible to turn off the timeout mechanism for individual VMs)
Eucalyptus provides no such mechanism, and as such, this would require an administrator to manually check for old VMs that should be shut down.
4. Relatively simple creation of images tailored to course needs
As is painfully apparent from the last several blog entries, this turned out to be extremely non-trivial. Pre-packaged images run without issue, but provide very little in terms of useful applications and environments. Our options for custom image creation are at best limited and always painful. It may be the case that using KVM instead of Xen for virtualization may alleviate this problem, but since KVM was not an option for us, we have no way to test this possibility at present.
Only the first two points are adequately addressed, and the last two represent significant hurdles in the deployment and use of an educational cloud. These issues stunted our progress, and as such we were unable to truly explore the educational cloud concept. We had intended on looking at methods of managing a relationship between students, courses, professors, and VM images. If we assume that we can solve the issues with VM image creation, we believe that development of a management application or a set of management scripts to handle this relationship would be feasible. Unfortunately, we have been unable to reach a point where this can be evaluated, due mostly to our image creation issues.
So what is our conclusion? Can we deploy a private cloud for educational purposes using Eucalyptus? At the moment, the answer stands as "no", but optimistically it could be upgraded to "maybe" with some more work. Given our current set of hardware, which lacks hardware virtualization support, we are forced to use Xen's paravirtualization. It could be the case that this is the root of many of our issues. With proper hardware, we may be able to overcome our problems and continue to progress towards an educational cloud. As future work, we intend to build a small test cloud with the one machine we have that has hardware virtualization support, build our cloud using KVM, and evaluate this theory. If we are successful, we can proceed to evaluate and possibly develop management interfaces to allow easy management of an educational cloud.
It should be noted that all of this work applies only to the Eucalyptus cloud management software. Other such software exists, such as OpenQRM and OpenNebula. These alternatives should be evaluated against Eucalyptus, especially if Eucalyptus turns out to be inadequate for our purposes.
This represents the end of the opening chapter on our work on a private cloud for education. While we have encountered many road blocks, we have in fact made progress and learned a great deal in the process. We believe the concept is valuable and worth continued effort, and we hold out hope for the near future.
No comments:
Post a Comment