So last night just before I went to bed I saw a posting on Slashdot about how Sun plans on getting rid of it’s in-house data centers by using Software as a Service (SaaS) instead (link). One of the reasons that they gave for doing this is to reduce their energy usage and that must have sparked something in my mind because I started think about getting rid of servers to reduce energy as I tried (and failed) to fall asleep.

They have a two step plan for getting rid of their data center. Their first step is to upgrade their servers to more energy efficient models. This will definitely work but then they have to discard their old servers (hopefully they will be able to recycle/reuse them) which could contribute to more eWaste. The second step of the plan is to move to SasS. I think this is to reduce the amount of labor that they need to maintain those services but this stage of the move doesn’t seem like it will reduce the amount of energy that is used. It will just move the energy usage into someone else’s data center. I think this might actually increase the amount of energy used because the SaaS data center will have to increase the number of servers they have to deal with the increase load, increase their HVAC to handle the increase heat, and increase the amount of network electronics to handle the increased traffic.

I wonder if instead of moving to SaaS we start looking at better ways to distribute the services to individual user computers on the network (Data as a Cloud?). For a lot of services (Database comes to mind) this won’t work because of how resource intensive a database can be but what about the services that aren’t as resource intensive? We already know from projects like SETI@home and Folding@home we CAN distribute some types of work onto a distributed network. In the places I have worked we usually purchased workstations that were overpowered for the functions that they were performing with large hard drives that mostly went to waste. There should be some way to use that “spare” processing power and hard drive space to move this information out of the data centers.

I started to thing about how we could distribute loads across standard user’s workstations while still allowing them to work. File servers seem easy because we can just distribute multiple copies of a file across several workstations which will allow for backups but has the downside of quickly replicating a virus infected file to several workstations. There would need to be a master server or a master workstation that kept tracks of where the files are located and handles request about where the files are located. Because file serving isn’t very resource intensive this should be easy to accommodate. Webservers already do this in some cases and websites could be written to work this way. Another thing that could be pushed out is directory services. I think some software would need to be written to get all this working correctly but could be very cool if it doesn’t cause too many headaches.

I don’t know if someone has already had this idea or not but I thought it would be useful to write it down.