A Virtual Guide to Virtual Technologies By Clayton Donley, CTO and Founder, OctetString One of the things that makes the English language so difficult to learn for non-native speakers is the way one word can mean so many different things. Not just homonyms such as “their” and “there,” but even the exact same word with the same pronunciation and inflection. For example, the word “leader” could refer to a captain of industry, the President of the United States, or something you attach to your fishing line to make it easier to change lures in the hope that when some wayward fish wanders away from that spot a half mile away where all the other fish apparently are it will find your hook. The technology world is particularly adept at taking a word and pounding it, stretching it, molding it, and shaping it to mean whatever we want it to mean. No wonder things can get so confusing. One of those words is “virtual,” and its cousin “virtualization.” A quick online search of either of those terms turns up a wide variety of definitions. All are correct, taken in context. Yet all have very different meanings, affecting different parts of the IT world. And that doesn’t even count virtual reality, which is still more the stuff of games and movies than serious corporate IT. The following guide will bring some clarity to the chaos, and help you make sure you’re using taking full advantage of all the virtues of virtual. Virtual Directories This is the flavor of virtual that’s closest to my heart, obviously. A virtual directory is middleware that pulls identity data from native repositories scattered around the enterprise and presents it in a single view, as though it were all in one directory. This provides a single contextual view for individual enterprise applications to view data that is normally dispersed. The difference is that there is no duplication of data, no additional permanent repository, no need to create more data stores that need to be synchronized and maintained. By not duplicating and copying information, virtual directories also help solve data ownership concerns by making sure the data is always under the control of the original data owner. Virtual directories are ideally suited for enterprise applications such as portals that need to bring in data from multiple sources. They are also good in situations where an application’s design dictates that it can only interface with a single directory when corporate infrastructure is often more complex. And, they help speed the deployment of commerce-oriented extranets by simplifying identity management (and therefore data exchange) between trading partners. Storage Virtualization Like the saying about “being too thin or too rich”, you can’t have enough storage. Virtualization in this sense provides a way to increase storage by reallocating capacity on multiple existing devices rather than adding new capacity. Essentially, storage virtualization makes the hard drives on multiple devices appear to be sectors of one huge hard drive. The net effect is using the organization’s total storage space more efficiently. For example, if one PC user needs a great deal of storage for graphics files, and several others need minimal storage because they only use their PCs for word processing, files from the first user can be allocated directly and automatically to the others from the first PC. This same principle can be applied for server storage, placing non-core files on PCs with plenty of excess capacity in order to free up server space.
Storage virtualization can be used in a wide variety of industries and organizations, but it makes the most sense when there is an imbalance in the total storage capacity of the organization. It is also good as a cost-saving measure since it allows the organization to take advantage of existing capacity rather than having to upgrade PCs or add servers. One caveat: make sure users whose excess capacity is being leveraged are aware of it so they don’t delete unfamiliar files. Virtualization and Grid Computing Grid computing is similar in principle to storage virtualization in that you’re taking advantage of unused capacity on one or more devices to help improve the performance of another. The difference is that grid computing is sharing untapped processing power rather than disk space, essentially creating a “super computer” without the huge expense. In a grid computing situation, unused computing cycles are aggregated and made available on-demand to devices in the grid as determined by the organization. This method of sharing resources allows computing power to be directed where it’s needed as it’s needed, providing a temporary but substantial boost for processor-intensive operations. Perhaps the best-known example of grid computing is that which is being done as part of the Search for Extra-Terrestrial Intelligence (SETI) project. True believers and the merely curious sign up to donate their unused processor capacity over the Internet through the SETI @ Home project. This capacity is then used to process incoming radio waves to help them try to determine if, to coin a phrase, there’s anyone out there. The kind of processing power they’ve accumulated through this cooperative project since 1996 is far beyond what they could afford otherwise. Currently there are more than three million computers participating over the Internet. Virtual Networks While the Internet has been a great boon to creating a “universal network” that potentially connects all computers to each other, it has also been a limiting factor in developing new networking technologies. Virtual network technology provides a potential cure for this sluggishness in development. Virtual networks co-exist on top of a shared substrate. Their protocols and technologies for delivering packets may differ, but they are interconnected by virtual links provided by virtual routers. By connecting these individual networks together through virtual routers rather than typical IP connections, larger amounts of data and information can be shared faster, freeing users of the restrictions of the Internet. Most of this is still theoretical at this point. The National Science Foundation, however, is making a concerted effort to build a dialog and spur development of virtual network technologies. Virtual Machines If grid computing is multiple machines sharing their processing power as one, virtual machine technology is its counterpart. Here, a single machine is made to appear as several separate units through partitioning, time sharing, emulation, partial or complete machine simulation, or other methods. The primary advantage is the ability to run multiple operating systems simultaneously in a secure mode. Virtual machines are helpful when there are several under-used servers. They let you consolidate the workload on fewer machines, reducing maintenance and administration costs, and in some cases allowing you to eliminate or re-deploy resources. They’re also good for providing secure, isolated environments for untrusted applications. And, they allow you to run multiple versions of the same software simultaneously, simplifying migration in mission-critical situations.
One particular advantage to a virtual machine is its ability to run legacy applications that may not work (or work well) with newer operating systems. For example, if you have a DOSbased legacy application and your network is running Microsoft® Windows® XP, you can continue to run the specific application in DOS if that will yield the best performance rather than spending time trying to get the same performance XP. They also make it easier to debug operating systems without losing productivity. And, because they provide isolation from other systems, they’re great for research and academic experiments. Objects In Mirror… Essentially, a virtual technology is one that is in fact different than what it appears to be. In some cases, the term “virtual” applies equally to two opposite outcomes. By understanding the context, as well as the various meanings, you will be in a much better position to take advantage of the virtually unlimited possibilities offered by all the different virtual technologies. Clayton Donley is Founder and Chief Technical Officer of OctetString, whose Virtual Directory Engine(VDE) Suite and other products allow organizations to manage user identification quickly and seamlessly. He is an internationally recognized authority on identity management, and has served as a consultant on numerous high visibility projects and as an author on the topic. He can be reached at clayton.donley@octetstring.com.