Computers are brittle machines. If a single CPU or hard drive dies the entire system dies and productivity grinds to a halt. This can be caused by anything from an electrical surge, a mechanical failure, a virus attack, or any number of issues. This is especially true for many home computers.
While a lot of people think that this can be a minor setback or inconvenience, they often don’t realize the full impact until an event like this occurs to them. Then, they realize they can’t get to their files! They can’t access their programs, documents, music, movies, and pictures. If the data cannot be salvaged, they lose everything! That is an expensive price to pay for a broken machine.
In the enterprise, data centers have numerous and redundant machines handling requested tasks. When a machine finishes a request it asks another machine for more tasks. But what happens when one machine dies (CPU, hard drive, etc.) in the middle of a task? Large systems, handle this by way of self-healing — which is transparent recovery for computing and storage units. Usually, this mean there are redundant units [and hot swapping] in place, so when one unit fails another takes over, leaving where the other left off. Often, there are even redundant, remote locations, so that if an entire region has an outage the system can continue functioning elsewhere. Data centers can maintain very little downtime and remain productive even when fairly, large issues arise.
What happens if a website makes it on the front page of a popular news website, such as Digg or Slashdot? Often, the website will be overloaded and the web servers will crash.
Usually, this is because the website does not have enough dedicated servers to handle the load. Large enterprises usually have enough computing power to handle this problem.
However, instead of dealing with this problem in a cost-efficient way a lot of companies end up purchasing large, expensive machines to handle worst-case scenarios. Instead of purchasing many, inexpensive machines. The problem is, that the worst-case scenarios rarely happen, most of the available computing resources remain idle. Multi-million dollar machines are purchased but only 5% of their capacity are utilized!
This is purely a software issue and can be minimized or solved using computing virtualization. This helps to maximize all the available resources and using the compute cycles as efficiently as possible. This also enables a data center to virtualize resources so that virtual machines can be moved from physical machine to machine. Which allows for flexible hot swapping while the entire system is running.
Additionally, grid computing is a solution for processing on-demand tasks that can be used along with computing virtualization.
- Apple xGrid
- Blitz JavaSpaces
- Google MapReduce
- GXS Trading Grid
- Hadoop MapReduce
- Oracle Tangosol Coherence
What happens when your hard drive fills up? How do you move all your running applications to another hard drive? Why can’t you just add another hard drive to your computer and let it handle the details? Well, there are some RAID and SAN solutions for the home user to handle these issues. Though, most solutions are fairly expensive.
In the enterprise, both RAID and SAN are used, along with storage virtualization. Which is analagous to computing virtualization.
- Apple OS X HFS+
- Google File System
- Hadoop File System
- Linux File System ext4
- Sun Microsystems ZFS
- Veritas File System
- Windows File System (WinFS)
- Berkley DB
- Google BigTable
- Hadoop HBase
- IBM DB2
Software as a Service (SaaS)
The Internet and web browsers have transformed websites into services and the web browser into the thin client.
Google, Yahoo, Microsoft, Amazon and a host of other companies already offer computing and storage as a service. For example, all your web-based applications are SaaS, such as:
- Google Apps
- Google Maps
- Microsoft Hotmail
- Yahoo Mail
Now for the home user, schools, and small businesses, SaaS are becoming more and more attractive. Why deal with brittleness and high costs of setting up and administering your own computing and storage solutions when you can rent from a data center for a lower cost? You pay only for what you use. Instead of buying a giant server and disks that are used only a fraction of the time, small companies are finding that it is much more cost-efficient to buy on-demand. Computing and storage are becoming commodities like electricity and water. This is why these computing services are called on-demand or utility computing.
Computing as a service
- 3tera AppLogic
- Amazon Elastic Compute Cloud (EC2)
- Sun Grid
Storage as a service
- 3tera AppLogic
- Amazon Simple Storage Service (S3)
- Google GDrive / Platypus
- Nirvanix Storage Delivery Service (SDS)
While some technology has moved from the enterprise to the home, such as RAID, there is still a lot of work in the future to make computers less brittle and more solid. For the consumer, there are limited options available for CPU hot swap. Usually this is because it is either expensive or the technology is unavailable to consumers.
I would gladly pay a few hundred more dollars to have a standby CPU in my machine in addition to a standby hard drive. Productivity is more important to me than a slight cost increase for the machine. However, the cost of such features are currently out of reach for most consumers. These technologies need to be more accessible and available to the consumer.
If you lose your data you lose everything. As more data becomes digital, backups become more important. Instead of being an inconvenience it needs to be automated and easy-to-use. An Apple Mac OS X-feature, called Time Machine, should make backing up files easier for the home user.
As SaaS becomes more commonplace, the brittleness of machines will be minimized. Cloud computing is the direction the market is slowly moving towards. Google Apps is competing fiercely with Microsoft Office. Adobe Photoshop Express is the web app version of PhotoShop. Microsoft is also moving their Office Suite online. Data is moving from the desktop to data centers, where there is automatic backup and management.
With these changes, the vision of Sun Microsystems “The Network is the Computer” is finally becoming a reality.