Open Source Tools in Network Management - Time for a fresh look?

Your rating: None Average: 3 (2 votes)

An outline of the pros and cons of using open source tools for network management.

Open Source Tools in Network Management

Have you ever met a Network Manager or Systems Administrator who has enough tools to manage everything on their network? Everyone would manage things better, run more efficient networks, keep tighter control of their network resources, and generally have an easier life, if only the tools were better and cost less.

Efficient networks are the basis of much that makes business run. Imagine a world where your competitors run their networks as efficiently as yours, but at a fraction of the cost. Open source network management tools have the potential to deliver top class management at all levels of network, and at a significantly lower cost than commercial tools. If you don’t take a careful look at what open source solutions have to offer you could find yourself at a serious disadvantage. The cost issue is often mentioned as the main reason why network management is less than perfect. Even apparently cheap tools become prohibitively expensive when deployed all around even a medium sized network. The bigger framework tools are often too costly in the first place, even more expensive to keep up to date, require elaborate training, and take too much time to set up. In any case network management tools need to address such a wide variety of problems it is very unlikely that any one tool, no matter how big, will be suitable for everything.

Since there are great number of excellent tools available completely free from the open source community why aren’t Network Managers queuing up to get the whole lot for nothing? There are clearly going to be almost as many reasons as there are Network Managers, but what are the main stumbling blocks?

This document takes a look at what open source network management has to offer. It points out some of the potential benefits, and attempts to explain why open source has not yet achieved the level of acceptance that it deserves in the corporate world.

At this point I should make it clear that here at OPENXTRA we are converts to the merits of open source as a useful way forward. However we are not slavish adherents to it, believing it to be suitable in all circumstances, or the answer to all our prayers. Where a commercial product offers a better solution or better value, we will champion its use. If two equally good solutions are available we would tend towards the open source one for the reasons outlined in this document, but we firmly believe it is up to the end user to decide.

The fact remains that many network managers are entirely unconconvinced and feel uneasy about using open source tools for managing their systems. Let’s begin by taking a look at the major objections to open source and follow up with some of the reasons why you should consider using open source solutions.

Why you DON’T use open source tools

Let’s begin by outlining some of the (we believe incorrect) perceptions network managers have of open source solutions and network management tools in general.

I don’t need network management tools, my network is just fine

In the commercial world this is the major stumbling block to making a sale. It really is hard to convince people that they should spend, what often amounts to a significant amount of money, on doing something that may or may not give them some immediate benefit. Can the sales guy guarantee that if I spend this money I will get a more efficient network? Well, this is a promise that cannot be made with any degree of certainty. With budgets tight it is often perceived that the cost of management tools can be put off until later (or forever!). Unless there is a pressing network problem it’s easy to assume that things are OK and will remain so. A dangerous assumption of course, but a very commonly observed one.

With open source there should be no such objection. The budget is safe since the software is free. Just download it and try some of the basic tools first to see if there are any problems lurking. If you don’t find the tools useful or if the network is fine, then that’s good, all it has cost you is a bit of time and effort. If you spot problems you can begin taking measures to address them. That’s good too because now you have made your network better and averted potential problems. If you need more advanced tools download them too, they are freely available as well.

In any case you are proactively managing your network, which is universally accepted to be good practice.

They are just toys

There is ample evidence to show that this simply isn’t true. We all depend on open source code every day of our working lives, whether we are aware of it or not. For example, BIND and Apache server, key components at the heart of the Internet, are open source projects. It’s hard to imagine a harsher environment for a piece of software to operate in, but operate they certainly do. Sendmail, one of the most popular email programs in the world is open source. Linux, rapidly becoming a major player in the server market is another open source project. Our webserver runs Linux, we haven’t had to reboot it once. None of these projects could seriously be described as toys.

In addition many open source projects, as they become successful, become available in commercial variants. A great number of commercial products can trace their roots to open source, even if they do not often admit it.

They are unreliable and buggy

Open source has a unfair reputation for being buggy. Yes of course there are projects that are flaky, but it is in the nature of open source to fix problems. Many projects are in the early stages of development and it would perhaps be foolish for a commercial organization to base its whole network management strategy on such a project.

But many projects are very stable and reliable. The trick is always to choose the best tool for the job whether it be open source or proprietary.

Open source projects are at least as reliable as commercial software. Some would argue that they are more reliable since problems are always out in the open and cannot be easily hidden by a manufacturer with a commercial position to protect. The openness of the code means that peer review is a constantly ongoing process. A poor piece of programming will be quickly identified and improved, all redesigns are openly discussed and reviewed. Rarely does commercial software become open to such scrutiny.

Commercial software vendors hardly ever admit the presence of problems unless pressured to do so. Open source is demonstrably more honest in this respect.

Remember also that there are often a great number of individuals working on projects, so known bugs have a tendency to get fixed very fast. In fact most studies have shown that the fix rate is faster than for proprietary solutions (because people are motivated and they can fix bugs immediately without asking anyone). There’s nowhere to go if it all crashes.

Proprietary vendors make much of their warranty and backup services should something go wrong. But how many of us really have any comeback if a piece of software does not work or does not do what we expected it would? Just read the small print in a vendor’s warranty and see what is covered. A typical warranty is limited to replacing the CD that the software came on and very often there is even a time limit on that, 60 or 90 days being the norm.

If a piece of software crashes your PC, or brings your network down, you will find that that too has been excluded. Nobody accepts liability for consequential losses. You have technical support to fall back on of course. I’m sure we’ve all had varying degrees of success with product support, some is very good and some is just plain awful. Often it costs more money just to post your problem with them. Open source has, to date, been less than comprehensive in terms of support, but this is changing with more companies now offering professional levels of support and service. When it comes to getting help after a crash there is very little to choose between open source and proprietary solutions, but at least in open source everyone is honest about it. The likelihood with open source is that some individual will feel personally affronted if their code is to blame and will work quickly to repair it. It’s that peer pressure and review process again. Don’t underestimate how powerful that can be.

They are thrown together by hackers

I suppose you could believe that commercial products are put together by dedicated, highly motivated teams of experts, who only have their company’s interests at heart. More likely there will be a range of abilities and skills and varying degrees of motivation. Some parts of the code will be well designed and written and some won’t. The end result is always likely to be a bit of curate’s egg. With commercial software you just do not know if the code is good, bad, or indifferent, and there is no way for you to find out.

Open source may also be the same in many respects, but with one major difference. There is a huge amount of peer pressure involved (most open source developers get no money directly for their efforts, but do get a tremendous amount of kudos from their peers if they do a good piece of work). The incentive to do things well is immensely strong. Take a look at the quality of the tools and you will see that these guys are seriously talented and very motivated. Not only that, but successful projects attract others and get worked on by loads of people at the same time. Even mega-corporations cannot devote that amount of effort to their products.

They don’t scale to a serious network like mine

The adoption of Apache and Linux has shown that open source can scale to large systems just as well (or better) than commercial offerings. How’s about a mapping project that can plot the millions of devices, and their interconnections, in the core of the Internet? CAIDA have a poster showing the map.

One huge advantage of open source is the freedom from licensing issues. The cost does not scale anything like the same as with commercial products.

Most large networks are, in fact, made up of groups of smaller ones, regional offices, shops, and so on. To use commercial products on multiple sites will usually involve buying multiple copies of the software or a group license. The cost quickly becomes prohibitive and tracking licenses is a major administrative headache. Are you really sure that all your Microsoft licenses are up to date? There is no such problem with open source, just use the software wherever you need it, there’s no need to track licenses.

They can’t handle the mix of devices on my network

One of the great driving forces behind open source is in solving real problems. If there’s a device out there, no matter how obscure, there is a good chance that someone will need to manage it. Since nobody is tied to one manufacturer the solutions have a tendency to be universal (or as nearly so as possible). It’s unlikely that you have a mix of devices that isn’t covered by some project or other. The big players, Cisco, Extreme, Foundry, Juniper, are well represented of course, but so too are smaller manufacturers, and older equipment considered obsolete.

They can’t handle the number of devices on my network

What about discovery agents that have been shown to work with 10000+ devices? There are numerous examples of projects where large networks have been discovered and managed successfully. The performance is poor. The pressure to produce efficient code is the same for commercial and open source. The software tools used to build applications are the same. There is no reason to suppose that open source code is any less efficient than commercial code.

They don’t address my problems

You name it and there’s at least one project to address it, often there are several. If by some miracle there isn’t then ask the community and you can bet SOMEONE will be able to help. Remember, you are not alone.

They don’t work

If a tool proves not to be useful for whatever reason then abandon it and try another. You have nothing to lose by trying something out. Even projects that didn’t work for you in the past may have been improved since you last looked. Give it another go.

Imagine, or perhaps more likely, remember, that sinking feeling you get when you’ve just BOUGHT a product which proves not to do what you want. You don’t run that risk with open source.

They are really awful to install

Installation and setup can be less than perfect with some open source projects, but increasingly ready-to-use packages that employ the same installs as commercial products are being offered.

I need a load of compilers and utilities, Java etc

Sometimes true, but not usually as bad as it sounds. Again ready-to-use packages contain all the tools you need. You get the benefits of commercial software with the freedom of open source.

Even when they work they are awful to use

It is true that some projects are not nice to use. But with open source you choose the software solutions that you can live with. If you want something changed you have the option to do it yourself (if you have the necessary skills), or pay a programmer to do it, or ask the community to help. A greater range of options than you get with commercial software where your only recourse is to ask the manufacturer. How far do you think you will get if you ask Microsoft to change that feature that annoys you so much in Windows?

They only work on Linux/Unix (and I use Windows)

There is undoubtedly a bias towards Linux/UNIX in open source. however many projects are deliberately platform independent, and many have been ported to Windows and other environments. As ever, if there is a requirement to do it someone is likely to port the software.

They are all Beta versions, nothing is fully tested

Some projects are more mature than others. Some release versions very often, some don’t. The better projects release versions in a controlled way. It will always be clear if you are using a Beta version.

Commercial offerings make great claims that their products are fully tested. Anyone who has ever worked in testing knows that testing anything fully is a practical impossibility. The decision to release any product is always a compromise between completeness of testing and commercial pressures (amongst other things).

By choosing to trial Beta versions you are doing your bit towards helping the development of the project. Your feedback is always appreciated (not always so welcome in commercial circles though). The reality is that open source projects are likely to be tested more than commercial solutions, by hundreds of real users in real situations.

Everything is up front and honest so if problems are found you will be told about them. No one has anything to hide.

They are a security risk

You will certainly hear this view expressed by the likes of Microsoft or those with a vested interest in selling Microsoft products. Microsoft is famously, and very publicly, opposed to open source, it flies in the face of their business model. Most surveys report that Windows is more likely to be a security risk than any other piece of software. Partly this is due to it being so commonly used, partly due to the design of Windows, and no doubt, partly due to personal vendettas against the corporation. But there have also been many serious security breaches too, not all of them requiring much effort to exploit either. Windows security has been shown over and over again to be very easy to crack. Linux is probably less attacked but may well be vulnerable, but it has the advantage of being open so when security weaknesses are found they can also be quickly repaired. Nobody except Microsoft can fix problems in Windows.

Open Source is a con trick, it isn’t really free

We’ve all seen free offers that are a thinly disguised attempt to get us to commit to something more expensive. The free software on offer is a cut down, limited functionality, time out, restricted version. Open source must be the same? Well no. The software you download is the real thing. Not a cut down version of anything, all the functions are present and complete, there are no time limits on its use.

And it’s not only free in the sense of no cost for the software, but free in the sense that the code is open and can be freely amended, redistributed, etc. There are no catches, no attempt to tie you in, no hidden costs that will bite you later.

A bit of time looking at what’s available should make it clear to anyone that open source products will solve your problems and can offer significant benefits. It just takes a while for people to get the idea.

My manager(s) don’t think open source is a good idea

Some managers do have this view. They may have heard scare stories about problems (usually unspecified) with open source software. It is very difficult to alter this opinion. Your managers need to be educated, and you have to accept that it can be an uphill struggle.

Bear in mind the point made at the start of this document, if others are paying less for equivalent network management you are at a competitive disadvantage and your company can’t afford that for long.

The best proof is being able to demonstrate open source in action.

I use proprietary tools already

Many open source projects can work happily alongside proprietary packages. You may actually find you get better value from your investment in commercial tools by combining them with open source ones. You may, for example, be able to graph that data collected by a commercial tool, using an open source package.

Proprietary tools always do what the sales rep claims

I very much doubt that this is the case. It’s too late to find out that a product is not up to the job once you’ve paid. You’ve got that warranty to fall back on of course, but guess what, it doesn’t cover you for things like this. Remember, it’s buyer beware!

With open source you have more options. First you have made no financial commitment so you are under no pressure to persist with something that isn’t right for the job. Second you can ask the community to help. Third you can try a different project, there are often several doing a similar job. Fourth you can improve what you’ve got by writing enhancements yourself. Fifth you can get someone else to write it. Someone may even do it for free. Open source is like that.

I get better value from a big vendor/manufacturer

If you get yourself locked into a major vendor’s technology just watch the costs escalate. You may find yourself on an endless merry-go-round of upgrades, ongoing maintenance costs, consultancy, training, and all the rest. How do you think the big vendors make their money? Forcing you to buy things over and over again is one method. Buying repeat licenses is not only expensive, but it ties you in even more. Replacing one piece of software is fine, replacing 1000 copies isn’t so easy. Try working out the cost of license upgrades over a few years and watch how the costs build. With open source the cost is a tiny fraction of what you’d pay for proprietary software.

Another thing to bear in mind is that the vast majority of network management framework systems never get implemented completely. Even for huge corporations it’s too much effort.

Big vendors make a great deal of their money on consultancy. They are always very keen to get you to buy more. When was the last time you heard a consultant say that he did not need to come in again? Once you get the consultants in, the tendency is to keep having to get them back. You need to be sure you are getting value for everything you spend. If you are spending more on your network management than your competitors you’d better be sure you’re getting a better network.

With open source you have little or no software cost, a distinct advantage. But even more you can decide where (if anywhere) you want to spend the money you now have. You may choose to use it to increase your staff skills, or to buy better equipment, or of course you can just keep the savings. The point is you are in control and you can decide what to do.

Why you SHOULD use open source tools

So what are the advantages to using open source for network management?

The software is free.

Under the terms of the GNU General Public License you can download, use, fix bugs, add features, so long as you do not charge for the software. Some projects use the BSD license which is even more open. In this case you can even make a commercial version and sell it if you want, but most people in the community feel that this is not really in keeping with the idea of open source.

The cost savings are the most immediately obvious thing, but there are many more subtle, and equally compelling reasons to using open source solutions.

They solve real problems

In the main open source projects exist because someone has a real problem to solve. If they can’t find something to address the problem they write a solution for themselves. The likelihood is that others will have similar problems so they make the code open and accessible to others. In successful projects others take it up, improve it, extend the capabilities, add new features, etc. Because the size of the community can be very large this process is often extremely fast and projects quickly become feature rich. This also means that solutions exist for even the most obscure problems, and for the more common ones a large number of individuals may be working simultaneously on the same solution.

Proprietary products can rarely react as quickly to address real life issues.

The tools form part of a community that is highly focused

Even the best programmers work better when they are motivated. How much more motivated can you get than having a real problem to solve, doing the work on your own time, and for no personal gain other than the approval of your peers? And there are thousands of individuals like this.

The software is driven by changes in users needs

Proprietary tools, despite what vendors might say, can rarely meet users’ needs fully. Manufacturers have huge vested interests in their own technologies and unique features. They have already spent lots of money developing and promoting their own technologies. They have to recoup that investment from end users. They have to sell to you to stay in business.

Open source tools are, by definition, driven by user requirements

There’s no incentive to write the code otherwise. It is very likely that the requirements of other users are pretty close to yours. There is no vested interest in selling any particular piece of technology, if it’s useful then people will use it, if it’s of interest to a wider audience it will thrive. If it becomes outdated its audience will diminish. More than likely it will be replaced by something more suitable to the changed environment, it’s part of an evolutionary process.

The software is driven by changes in the technology

Once again, open source tools change to suit the technology, they have to, otherwise they aren’t solving real problems.

Take proprietary products such as network analyzers, most were designed in an age of shared network segments. Nowadays everyone has switches, so traditional analyzers can no longer see all of the network traffic. Few analyzer companies have really addressed this change in the technology. You are, in most cases, still buying the same technology even though the underlying networks have changed.

The software is modern

Commercial manufacturers would gain little or no commercial benefit for the effort of stripping out old or redundant code. So they don’t. Pick any established proprietary product and you will find (or would do if you could get to see the code) bits of ancient code, often large bits. Nobody is prepared to touch this old stuff in case it has unforeseen side effects.

Open source code is up to date. Anyone is free to remove code that is no longer needed, needs redesigning, or needs updating. There is always the need to speed things up, make the tool work on larger systems, make it work on other platforms etc. This work is done using modern software tools and design techniques and this constant peer review process just makes it better. You are not pressured to use a tool that you do not KNOW to be useful.

No longer do you have to struggle with an inadequate product because you have to justify the money you spent on it.

You can prove that you have used your budget well and you can choose which tools are useful for you in your circumstances.

What if my supplier goes bust?

What do you do if (when?) your chosen commercial product is dropped or the company goes out of business? Either you are stuck, without anyone to contact, or you have to upgrade to some new, usually more expensive, product.

Paradoxically open source is actually better in this respect. The fact that there is no traditional supplier in the first place means that you are free to get the software, and any support services that you need, from wherever suits you best.

Even if a project is moribund the chances are that a new project will grow out of the old one, particularly if the problem is still current. In the worst case you can maintain the product yourself (you have the source code remember). The use of open data formats means that any data you have archived will be readable by other tools.

With open source therefore you are actually less vulnerable to supplier changes.

How much is a piece of software worth?

There are two main ways to measure this. How much did you pay for it? The vendor’s perceived value. How useful is it to you? The user’s perceived value. In open source there is no vendor so the only meaningful value, is how useful the tool is to you. If you use it a lot it’s priceless, if you never use it then it’s worthless. It’s as simple as that.

Faster return on investment

Pretty obviously the less investment you make for the same level of functionality, the faster the return on that investment. Free, of course is not the same as no cost. There is a cost to using open source tools, but it’s chiefly in time and effort spent by you and your staff. That is where you really should make your investment. Your spend might be better used increasing your staff’s skill levels, giving them a better toolset to use, and getting problems solved quicker.

You are under no sales pressure to buy or upgrade

Say goodbye to forced upgrades which suit the vendor’s business requirements but not yours. You make the decisions about when and how you upgrade.

You can deploy a useful solution anywhere and everywhere you choose

Of course you WOULD deploy those useful commercial tools all over your network, if only you had the money to pay for all those additional licenses.

With open source there are no licensing restrictions. You don’t need to ask anyone’s permission or worry about licensing infringements. You deploy the tools anywhere and everywhere you think they will be of use.

Imagine how that translates into cost savings over commercial solutions.

You have the Source Code

Vendors of proprietary software keep the source code to themselves. They have invested time and money in it and are not letting you have it. If you want changes you have to ask them, and they will ONLY make changes if it suits THEIR business requirements.

With open source you have the source code. You can fix bugs, or contract someone else do it.

You can add features, or have someone else do it. Even if you can’t do the work yourself you can ask the wider user community to help. The chances are that someone will have a similar issue to your own or will be prepared to do some work on it. You are very unlikely to get much of a response when dealing with a large corporation.

No amount of money can buy the kind of close contact that is possible in the open source world. Often you can speak directly to the people who are responsible for the code. In fact it is positively encouraged by many coders who thrive on this kind of active feedback and they REALLY value your opinions and ideas. If your idea or suggestion for improvement is a good one there is a fair chance you will see it in a future version. Everyone is encouraged to participate in making the projects better, at all levels from documenting, testing, to writing code, to simply spreading the word.

No vendor lock-in

Impossible. With open source there is no single vendor. Nobody has a vested interest in locking you into their technology.

Conclusion

Open source solutions offer a range of benefits, for you, for your company, and to help you run a more efficient network.

  • Tools exist to help with every aspect of network management, from network discovery, to device management, to network mapping, to performance measurement, right the way up to framework systems.
  • There are significant cost savings to be had by adopting open source.
  • You are free to deploy solutions wherever you need them without restriction, you really can implement a company wide network management strategy.
  • You can help to improve the tools you use very directly, either by improving things yourself or by participating in the community of users and developers.
  • You avoid locking yourself into a single vendor who may exploit that lock in.
  • You can make your own decisions about what to use and where.

Others are already adopting open source solutions, in the server market particularly, and making huge savings in running and maintenance costs. The range of problems you have to address is showing no sign of diminishing, the importance of the network to your business is increasing. It’s time to take the same approach with network management. You may be left behind if you do not act soon. You have much to gain and nothing to lose by trying open source.

There has never been a better time to take a fresh look at what open source has to offer.

Comments

Post new comment

By submitting this form, you accept the Mollom privacy policy.