December 2, 2013
Working for the College of Computer and Information Science is definitely a challenge in certain ways. The people that I deal with are almost universally computer-literate and very skilled and knowledgeable about what they're doing, and they're all doing different and interesting things.
While I do provide a virtualization environment for general purpose classes (under VMware), I'm seeing more and more interest in spinning up instances of student VMs in Amazon (not to mention the classes that are doing things like running Hadoop in the cloud so that they don't need to micromanage their MapReduce infrastructures). Right now is probably the most flexible time for computing I've ever seen. You can just about run whatever you want wherever you want, if you have the funding.
But that's kind of an interesting problem in and of itself. Suppose that we, the college, did have the funding, centrally, and not per-project, or per-class, or per-instructor. Or, even, suppose we have it per program. How do you equitably divide that up among the researchers, instructors, classes, and students so that it gets to the people who need it most?
This is the meta problem that I'm considering right now, and I know I'm not alone in being concerned that the amount of money that we're using and the amount of money that we've got budgeted might not line up in any meaningful way. If you have an environment where several people can spin up instances at a whim, how do you ensure costs don't go insane? Or, alternatively, how do you control the resources that someone can instantiate?
That's what I'm asking. Are you using an external cloud provider? How do you control your scaling? How do you make sure that you don't suffer a Pyrrhic victory in terms of traffic and usage? What are you doing to manage this kind of thing?
Please comment below!