Years ago life was easy. Large-scale computing came from only one manufacturer and as people used to say, "no-one got sacked for buying IBM."
Since then the world has moved on. We now have technology from multiple vendors, each competing to persuade us to take their product, usually to the exclusion of all others. There's no doubt that managing equipment from a single vendor does make life easy, however it certainly doesn't keep the bean-counters happy. Maintaining multiple suppliers is definitely a good way to keep vendors on their toes and prices competitive, but what technical issues does it cause?
Are they compatible?
First, there's compatibility. As products from additional vendors are added to a configuration, the matrix of compatible products grows more complicated. Each disk vendor will certify with the HBA vendor and vice versa. All vendors will certify with specific switch vendors or their own re-branded OEM version of the manufacturer's product. All of this extra validation and testing takes time and effort to ensure products will interoperate with each other correctly.
The presence of different equipment also introduces conflicts. For example, if a Unix host uses disk storage from two manufacturers and they both certify a different HBA driver level, and make differing recommendations on parameter settings, then which do you choose? It's a certainty that neither disk vendor will accept responsibility for any problems on that host if the parameters are not set exactly as requested. In this instance the likely resolution will be to not share storage from multiple vendors on the same host. However, this creates restrictions as to what you can and can't do and that's not what SANs were supposed to be about. That highlights another compatibility issue, problem resolution. The more vendors' components in a configuration, the more difficulty there will be in determining the cause of a problem and persuading the vendor that they are the cause.
Meeting separate standards
Second, there are standards. Each manufacturer will have set standards for their product, HBAs that work at 1GBs or 2GBs for example, or disk sizes that are different. Take the existing setup in our organization. We have disk storage from two vendors. On one we use 13.56GB LUNs (guess who that might be) and on the other we use 8.1GB LUNs. Storage is allocated dependent on free space and the type of server or application. However, it is not uncommon for two servers that have similar requirements to have disks allocated at differing sizes. This can create confusion for the systems administrators who have to take the disks and create balanced file systems.
Got the right skills?
Third, there are skills. Undoubtedly one of the most difficult issues is ensuring everyone in a storage team is skilled in all hardware and software tools. As more products are introduced into an environment, so skills need to be updated and the requirement on team members to work cross-platform increases. This can be extremely difficult to manage, especially in a busy and fast changing environment.
So what can we do to minimize the impact of multi-vendor environments? Here are a few ideas:
1. Keep suppliers down to an absolute minimum. There are certain products where there's probably no substantial benefit in maintaining multi-supplier relationships, such as HBA manufacturers. In this instance, once product selection has been made, keep to that vendor (with regular review on the wider product marketplace) as the standard product.
2. Try where possible to segment your environment. For example, if you can choose to use one disk subsystem for a particular usage, say non-remote mirrored disk or for development, then maintain that as a standard. Segmenting your environment reduces the number of vendors' products that interact and potentially makes problem resolution easier. Reducing the environment complexity also relieves some of the pressure on the compatibility matrix.
3. Ensure standards are clearly documented You should make sure that your procedures and processes clearly define the standards that apply to different vendors, including the specific standards that apply in each instance.
With a little planning, multi-vendor environments needn't be a chore.