Interoperability is one of the hot IT buzzwords, along with "consolidation" and "virtualization." According to IDC, Windows Server, Linux and Unix now account for approximately 96% of worldwide servers units. So, what can we do to help foster interoperability between 96% of the world's servers and why is interoperability important?
First we'll define interoperability, as the term itself is oftentimes misinterpreted. Interoperability is defined as getting heterogeneous systems, networks and organizations to work together. It enhances the ability of a system or a product to work well together with other systems or products without any special effort on the part of the customer. Because a typical IT department comprises a mix of Unix, Linux and Windows, interoperability is more important than ever.
Here we'll answer these questions: What are some of the tools that we can use to help ensure Interoperability? How can we get the most interoperability between Unix, Linux and Windows?
Tools to enable interoperability with Windows, Unix and Linux
When we discuss interoperability, it is important to use tools that are available in different environments. While there is no lack of tools available for a given operating system, the trick is finding one that you can develop on multiple platforms. This is important because different shops have their own standards, and within those shops different departmental standards may also exist. If you can standardize to one tool, how much easier will it be for your environment? Let's look at some of the tools.
MKS Toolkit. This software allows you to port Unix/Linux applications to a Windows environment. By using their specialized tools, it allows you to maintain a single source base across your environments – both 32 and 64-bit. One of the products, MKS Toolkit for Interoperability, adds to the developer toolkit by adding an X Server for displaying X Window System-based graphical applications on Windows. If you want to port from Windows to Unix/Linux instead of the reverse? Look at Wine. Wine is an Open Source implementation of the Windows API that runs on top of X, OpenGL, and/or Unix. It provides for a development toolkit for porting code from Windows to Unix. As an added feature, it also functions as a program loader which allows one to run Windows applications On Linux and Solaris x86.
Web services management tools
Web Services for Management (WS-Management) system defines a specification for managing computer systems using standards based on Web services. The project itself is an open source implementation of WS-Management, which allows management of all types of platforms. The folks at Novell are currently developing an open source implementation of the WS-MAN specification for a mixed-IT environment. When the work is complete, you will be able to use a combination of the Microsoft System Center and Novell ZENworks to manage both Windows and Linux environments. This is based on the controversial agreement that Novell and Microsoft signed in 2006. Both Novell and Microsoft have actually agreed to implement the WS-Management protocol on SUSE Linux Enterprise and Windows Server 2008.
Recently, EMC, IBM and Microsoft jointly announced a new initiative that will use Web services and Web 2.0. This will allow the development of interfaces for applications that will support full interoperability with multiple enterprise content management (ECM) repositories, supported by different vendors. The interfaces should be designed to accomplish the following goals:
- Work over existing repositories to enable customers to build applications against multiple repositories.
- Decouple Web servers and their content from repositories that would allow clients to manage content on their own.
- Provide comment Web interfaces in order to simplify application development.
Identity and access management
Managing users and their identities is one of the most challenging IT tasks. This is especially true in a heterogeneous environment containing Windows, Unix and Linux servers. LDAP usually works very well for Linux and Unix environments while Active Directory is usually the choice for Windows. So, you might be asking, "What is a good interoperability solution?"
Centrify allows you to centralize identity management for your UNIX and Linux environments within Microsoft Active Directory – making it a solution that works for all environments. How does it work? Their product, DirectControl, uses an all-in-one agent that provides granular access control and administration through its proprietary Zone technology. It essentially turns a non-Microsoft system into an Active Directory client, allowing you to secure your system using the same authentication and group policy services that you currently use for your Windows systems. Recently featured in Linux Magazine, as the only security software company focused on delivering Windows and Linux interoperability solutions, it claims that 38% of the Fortune 50 and over 600 enterprise customers use their software to integrate their UNIX and Linux systems into Active Directory.
Planning for and supporting a mixed server environment
So what about practical issues? How do you generally support your mixed environment? I like to use vendors that have the ability to support all environments. I've gotten in trouble in previous lives by trying to deploy solutions that only a select population would enjoy for the purposes of appeasing my customer base. While in the short term this may help you get some brownie points, I have found that as a long-term solution you will still be stuck with products that you will have a hard time supporting and servicing. Furthermore, when you choose products that do not integrate well in other environments, you usually will have to jerry-rig a way of integrating them. Again, speaking from practical experience, this also does not usually work very well.
When choosing software to run in your environment, it's extremely important to be cognizant of the big picture. What are you trying to accomplish? For example, if you're looking at network management tools, before you standardize on a particular tool, make sure that the tool fits into all your corporate objectives.
I've seen companies standardize on popular network management software without thinking about whether or not the tool would be capable of supporting upcoming server migrations/consolidations. For example, do not choose server or network monitoring solutions without a full understanding of what your server farm will look like in two years. If you fall into the trap of only looking at where you are today, what will happen when you find out that a department has moved to AIX from Solaris and that new product you brought in does not support AIX? That may actually leave you on the unemployment line. This is where the project management office may help you. You should have a full understanding of corporate goals and projects.
I'll reiterate the importance of interoperability. The bottom line is that your disparate systems need to talk to one another. The more planning you will do to ensure interoperability, and the less time you will spend in the future reengineering products that just do not relate well to one another.
ABOUT THE AUTHOR: Ken Milberg is a systems consultant with two decades of experience working with Unix and Linux systems. He is a SearchEnterpriseLinux.com Ask the Experts advisor and columnist.