This week I have been working towards obtaining a virtual server/virtual machine on which we can develop our tools. The aim is to have an infrastructure which will be technically and financially sustainable following the completion of the project and provide an Open Source technical infrastructure that could also be utilised in future as part of the GIS curriculum in the Geography department (extending the impact and benefits of the project) and could be expanded by future research projects.
Ideally, we needed to find a solution that matches our requirements together with the costs of different configurations and the sustainability trade-offs for keeping things going for 5 years. So we needed to balance the pressures of fixed term funding with the medium term sustainability requirements of funding bodies. This blog post charts my increased understanding of Virtual Machines and University Information Systems Infrastructure and the correct procedures and considers the impact on project sustainability. I hope it is useful to any new non-technical Principal Investigators who need to get their heads round this topic and the associated University processes. Whilst some details will be most relevant to staff at the University of Portsmouth (UoP) other details are more generic and will apply to other institutions.
There are a number of decisions that you need to work through – this blog post discusses them. At the end of the post I summarise my learning experiences by developing a small process that will act a guide for anyone at UoP trying to do something similar. What is a virtual machine?For the uninitiated a virtual machine (VM) emulates a physical computing environment that utilises a virtualisation layer to translate requests for CPU, memory, hard disk, network and other hardware resources to the underlying physical hardware. They are useful because:
- Applications and services that run within a VM cannot interfere with the host OS or other VM
- They can be moved, copied, and reassigned between host servers to optimise hardware resource utilisation.
- Administrators can also take advantage of virtual environments to simply backups, disaster recovery, new deployments and basic system administration tasks.
(Adapted from original source for this text: http://searchvmware.techtarget.com/definition/virtual-machine-configuration )
University Private Cloud verses Amazon Web Services
Currently, the project has 2 options for obtaining a virtual machine, Amazon Web Services (AWS) or the University of Portsmouth ‘Private Cloud‘. At first sight, there are a number of advantages of the AWS cloud over the University Private Cloud: more cost effective, can set up any OS you want, very flexible in terms of storage space, amount of RAM and number of cores which can be selected but of course this also implies extensible costs. The project did apply for an Amazon education grant but whilst we were short listed, unfortunately we were not successful. The difficultly of AWS is that the service is paid for monthly – so if you want to develop a sustainable solution with respect to the JISC funding guideline – this proves awkward.
The University Private Cloud necessarily has less flexibility with respect to the supported operating systems, RAM, Storage and processor but it comes with a set of standard fixed costings – which are useful for managing the future sustainability of a short project with finite financial resources. The advantage of the University’s Private Cloud means I can purchase my virtual machine and pay upfront the annual cost of running the machine for 5 years following the completion of the project. (The money for this was accounted for in my grant proposal under the heading technical infrastructure). This method is more compliant with University procedures and will prove the path of least resistance. Which Operating System to Install on the Virtual Machine?
Back in March we set up an AWS service and began development on a html prototype of the application using the wireframes as a template. On the AWS service we are currently running Ubuntu Linux OS with PostGIS, Geoserver and GeoDjango: See my blog post on the technical infrastructure. We chose Ubuntu OS as there is a good deal of supporting documentation for running geoserver etc on this operating system. When we installed Ubutu I was not aware it would prove awkward for the University’s IS department. At the University of Portsmouth a virtual machine can currently be set up with the following standard operating systems:
If you are requesting a VM that is part of the University Private Cloud, you must be mindful of these options otherwise to install a non-standard Operating Systemhas the following repercussions:
- Greater impact on information services time to assist with a non-standard install (note in summer IS are always really busy preparing for the forthcoming teaching year). You need to account for this time in your project plan. To set up a VM with a standard supported OS is straightforward and has less impact on IS staff resources – and can be done within a matter of days.
- The OS is outside the managed offering so any future support is on a best endeavours basis – this impacts the sustainability of the project in the future, particularly if your technical developer is linked to your project and not a member of staff in the University. If you choose a non-supported OS – how will you support it in the future?
Based on these issues we are going to run an install of the SLES operating system and see what the impact of changing the base installation would be. The benefit of this will enable a smoother transition to a production server on the University Cloud – or on a University maintained physical server – ensures the machine is managed. This is beneficial for project sustainability
Matching project server requirements to University VM facilities
Ideally, the University Private Cloud would provide as much flexibility as the AWS but this is not possible as it is working on an institution specific scale with finite budgetary constraints. The University’s Private Cloud has mainly been designed for a large number of smaller configurations and on request IS will provide you with a number of VM options. The entry level configuration starts with 1 processor core, 1 GB memory and 50GB of NetApps Storage. (The physical hardware components of the Private Cloud run high-end enterprise-class multi-core chips). Information Systems have a guide for costing virtual infrastructure so it is important to access to this and discuss your requirements with IS to weigh up the advantages of VM versus physical servers.
As a starting configuration our development VM will have 2 cores, 6 GB RAM (which will be monitored to either up or down scale) and upwards of 50 GB of high performance fibre-channel storage.
My hints and tips for new non-technical PI’s:
- Know the sustainability requirements of your funders – and then incorporate costs (if allowed) into budget.
- Recruit to your project advisory board a member of staff from your department/faculty who can mentor you through the process and provide valuable insights. For this project, Prof. Richard Healey has been supporting me through the process, providing invaluable experience.
- When recruiting a technical developer remember to make sure they can support the server infrastructure development side of the grant -and if they are a sub -contractor include this in their scope of work, I have this set this up as a work package within the developer’s work schedule.
- Identify the standard OS available on the Private Cloud
- Design your technical infrastructure base it on University standard operating systems – to make this easier – this can be done with the project technical lead.
- Obtain the costs breakdowns of virtual machines from information services
- Write the server spec for supporting the technical infrastructure – work with both your technical developer and the relevant person from University Information Services Infrastructure – to make sure requirements fit with technical capabilities that can be provided.
- Liaise with Information Services Infrastructure personnel to finalise the spec of the VM and ensure they approve its set up and feasibility.
- Once you have agreed on a suitable VM set up – at the University of Portsmouth you then need to raise a service desk request that details your requirements and provides a cost code for billing.