But, Mr. Greg, I Don't Want to Start from Scratch
One of the definitions for "practical" is "capable of being put into effect," and I would add "...without much effort and without losing the work already done."
One of the first things we heard when we brought customers into IBM to review our early prototypes of the Virtualization Engine is that they didn't want us to build a YAT (Yet Another Tool). We needed to be sure that as soon as customers received the Virtualization Engine, it would be put into effect. Now, I'll bet none of you are saying to yourselves, "Hmmm, I think I shall start a business today and purchase 50 business computers and run four operating systems, and I shall use the Virtualization Engine to manage it all." You are all running tools of some sort to manage your IT shop. We didn't want to be so arrogant as to switch to another set of tools that had nothing to do with each other. That's why the popular tools you are most likely using today integrate very tightly with the Virtualization Engine. Assuming you are running i5/OS (or OS/400 on older machines) you are most likely using iSeries Navigator. If you have some Windows or Linux machines in your shop, you are probably using IBM Director. If you have AIX running, you probably have Web SM running. For years, these tools have helped you manage these operating systems, and by now you have grouped systems, created monitors, run tasks, and created custom commands and programs to keep things running smoothly.
Can you use these items in the Virtualization Engine? No problem. With the Virtualization Engine console, you can view and manage a merged list of resources from these consoles (and more), maintain their health, react to monitoring that has triggered, scan tasks you have running to see how they're doing, and run custom tasks (commands and programs) that you have set up to help you troubleshoot.
Manage from One Browser Using the Virtualization Engine Console
The Virtualization Engine console is the key to tying all your existing management information together. The Virtualization Engine console is a Web-based application that receives health and troubleshooting information from many sources (we call them "management sources") and converges the information into one view (Figure 1).
Figure 1: The Virtualization Engine console lets you monitor and manage your systems from a browser. (Click images to enlarge.)
As you can see, from one place you can view a health summary of everything in your IT shop you care about (across multiple platforms and operating systems). You can drill down into a workspace to view detailed problems, view a watch list to keep an eye on particular lists of interest, and view a graphical dashboard so you can focus on particular metrics of interest. In the figure, you can see storage levels from Windows systems, CPU from Linux systems, more CPU from i5/OS systems, and memory from an AIX system.
The best part is that since you already have your tools set up the way you like, all you have to do is point the Virtualization Engine console to the "management sources" you manage from (the central systems and managing servers of your world), and you will then have access to all that information along with the ability to troubleshoot problems from a browser, regardless of which platform or operating system those problems are on. There are even actions available for particular operating systems so that once you drill down into a particular system, troubleshooting actions will be available that are optimized for that operating system.
As you can see, knowing the health of any resource in your IT environment is extremely useful and practical. In addition, you can add your boss or your CIO to the list of folks who use the Virtualization Engine console so that they can see the systems and resources they care about.
Add Cross-Platform Monitoring and Tasks to Your Tool List
Now that you have your enterprise's health flowing from your various management sources, you may want to extend your cross-platform management tasks and start monitoring and managing inventory, files, or processes across platforms. This practical step can be taken with IBM Director Multiplatform. This tool, another integral part of the Virtualization Engine, comes in three parts: the client, the server, and the agent. The client is a Java application that can run on either Windows or Linux, and the server can run on i5/OS, Intel Linux, and Windows. The agent can run on almost every eServer operating system, with other platforms available for purchase.
Since you're reading an iSeries magazine, you may be new to IBM Director Multiplatform. Here is a list of functions available (and remember, these can be run across multiple operating systems): monitoring, inventory, file transfer, events (and actions based on those events), dynamic group management, process management (or job management in i5/OS), and much more (SNMP browsers, remote sessions, etc.). If you have integrated xSeries servers, you can also remotely control the desktops of those servers.
Monitoring is certainly one of the highlights of IBM Director Multiplatform. But if you've been using iSeries Navigator to monitor your systems, you'll find that this works a tad differently. Unlike iSeries Navigator, where the many facets of monitoring are all wrapped into one object called a "monitor," IBM Director Multiplatform separates the facets of monitoring into different steps, and you must do something at each step. First, you can select from many different metrics. When you choose to monitor them, you get a window that allows you to look at the metric values. But that's all it does. In order to take the second step, you must set a threshold on that metric. Figure 2 shows the warning and error levels you can set.
Figure 2: Set warning and error levels with IBM Director Multiplatform.
Notice that the top checkbox is checked to generate an event if this threshold is met or exceeded. That's the second step. If you want to automatically do something if CPU gets above 85%, then you have to generate an event. Third, you have to create a threshold filter to "catch" the event that is sent. Fourth, the threshold filter is mapped to one or more of the many available actions, including notifying a human via pager or email. It takes a little bit of time to set this up, but it's very flexible, so once it's all done, you will see all the thresholds you care about, all the events that are generated, and all the event filters that "catch" the ones you really care about. Then, you can see which actions are taken when the event is generated. Finally, since you have your IBM Director Multiplatform server added as a Virtualization Engine console management source (the source of health for the Web app mentioned earlier), then all of these monitored metrics and thresholds can be viewed from there as well.
Managing Cross-Platform Applications
In today's environment, an application or a set of applications may work across multiple systems and platforms to get a common set of work done. Take your Web site, for example. You have an HTTP server, a Web application server, and probably a database app all running together to help your customers order from the Web (or get information about your business). It is extremely difficult to manage those applications as a unit or make changes without knowing how changes will affect the other applications. Here is where Enterprise Workload Manager (EWLM) can give you a practical advantage. EWLM assigns an ID to each transaction that is initiated by your customer starting a transaction on your Web site. It then tracks that transaction across those multiple applications to see how it performs. The user doesn't know or care how many applications are being used to help him; he just cares that he gets results quickly. EWLM can help you by mapping out where the transaction went (which instances of the applications on which servers) and showing you where the response time was or was not slow. Through EWLM, you can group users or types of work together and assign goals (For example, a goal you want to achieve for important Web users is to get a response time of less than three seconds for purchase transactions so that you can track the work based on those groups and determine whether the goals for those groups are being met (see Figure 3). If the goals are not being met, you can view graphs to help troubleshoot. And if you have workload balancers in your environment, EWLM can even give them suggestions about how to balance the workload based on the goals you have assigned.
Figure 3: View a topology of the applications used by a transaction and see where that transaction flows from.
At first glance, you may not think this is very practical (meaning it has a lot of install/configure overhead), but if you are in the position of trying to manage this kind of application environment, it is probably clear that the benefits outweigh any initial startup time.
Virtualizing Resources: Practical?
There are two more areas of the Virtualization Engine to cover, but both would be a stretch to fit into my earlier definition of practical. (I'm sure I'll get in trouble with marketing for that comment, but this is a technical article, not a marketing article.)
Let me be clear: These functions are extremely powerful. If you deploy them, you can experience that rare sense that approaches viewing magic when they are running. If you have many partitions or integrated xSeries servers and you need the ability to install different operating systems and applications onto these servers or partitions and to move them to workgroups, then these functions are perfect for you, but both require fairly elaborate configuration, so they are not something you can just add to your environment and get instant benefits like you can with the earlier items. These two areas are Systems Provisioning and Grid Computing.
Imagine you have 16 integrated xSeries servers on your eServer i5. You also have a Web site running on Linux and an inventory application running on Windows. The problem is that, depending on the day's workload, your Web site may need more dedicated servers than your inventory application does or vice versa. Using Systems Provisioning, which is a part of the Virtualization Engine, if you see your Web site usage is maxed out, you can take an xSeries server, install Linux, install your Web application, and add it to your Web site workload. That's provisioning resources on demand, and it's pretty cool.
The Grid Toolbox is the last item in the Virtualization Engine. It lets you create a grid in your own shop and helps you develop your own grid applications. In a nutshell, grid computing means dividing an application's work among many individual servers and PCs. If you have a computing-intensive application that needs to crunch a lot of numbers, you have a perfect candidate for a grid application. Or if you have an application that is already optimized to run on multiple processors at once, then this is a good candidate as well. A grid has a management application that manages the little pieces of work being divided among the servers, and it has a donor application that runs on each server. When portions of that server are not being used, the donor application tells the management application it is ready for work. The management application then sends a piece of work for the donor system to work on. When the work is done, the results are returned. Grid computing is certainly a promising area to look into, and there are resources available online.
It's Practical, It's Virtual...
So there you have it. Practical virtualization is available today with the IBM Virtualization Engine. There are several practical steps you can take to start getting the benefits. First, because you use iSeries Navigator, IBM Director, or Web SM, you have already been virtualizing your multiple systems because those tools make managing many systems as easy as managing one system. Now, you can virtualize these existing consoles into one Web-based console and merge their health using the Virtualization Engine console. From the Virtualization Engine console, you can find problems and troubleshoot them. The next step would be to virtualize your management tasks by using IBM Director Multiplatform to monitor multiple platforms and manage inventory, processes, files, and more--all from one console. When you need to virtualize your multiple applications that run across operating systems, use EWLM. This will let you track customer transactions across these applications and then update how the applications perform. When you need to step into advanced virtualization, the Virtualization Engine is ready, with Systems Provisioning and the Grid Toolbox.
For more information on virtualization and the Virtualization Engine, take a look at the following resources:
• Virtualization Engine Technical Information
• IBM Information Center
Greg Hintermeister is a user interface designer at IBM. He has extensive experience designing user interfaces for iSeries Navigator, the IBM Virtualization Engine, wireless applications, and numerous Web applications. Greg is a regular speaker at user groups and technical conferences. You can email him at
LATEST COMMENTS
MC Press Online