Ask Slashdot: Becoming a Network Administrator?
J. L. Tympanum writes "After many years as a star programmer, I have taken a position which involves maintaining and rebuilding the in-house network of a small company. There are maybe 100 machines, a mix of blade servers running Linux and desktop PCs running Windows of all flavors. Basically, I have to learn networking from scratch. I have been given an 'unlimited' budget to buy routers, switches, etc., to set up my own little test network as part of the learning process. So the question is: what's the right strategy here? What routers or switches or other equipment should I acquire? What books should I read? Should I take classes from Cisco, Global Knowledge, my local community college, or somewhere else?"
Run, run as fast as you can, and don't look back.
--Nuintari
slashdot : where an opinion can be wrong.
Administering networks is best left to wizards and warlocks.
Hire a professional :)
1) Use your unlimited budget to hire a network administrator.
2) Go golfing.
Go green: turn off your refrigerator.
I have this job now and my girlfriend tells me I wake up almost nightly screaming. I can't help but think they're connected.
All you need is the cloud.
What you do is get a cloud. Just connect all your machines and networks and cables to the cloud and you will be aaaaalright.
You can't handle the truth.
It was a very dim star.
"I use a Mac because I'm just better than you are."
...don't take any lessons from anyone employed by Sony.
It's the can of worms popping open... You don't necessarily have to "buy" physical routers, switches, etc. These days, you can simulate pretty much any network setup you want via software and see how things work out: http://www.gns3.net/ Also, asking "us" what hardware you should buy is like asking someone what kind of computer you should buy, the question is too general and the answer will depend largely on the business/security needs of the company. Tannenbaum wrote a very good book about TCP/IP networking which you may want to read: http://www.amazon.com/Computer-Networks-Andrew-S-Tannenbaum/dp/0131651838 Aside from that, you should look into the basic requirements for network administration/security and make sure you understand and know how to apply them, the topics listed here could be a good starting point: http://en.wikipedia.org/wiki/CISSP
I am a 12 year veteran of the field. My official title is Sr. Technical Engineer. I work for a small (15 person) consulting firm. I’m being completely straight w/ you. Start looking for a programming job. This is the end of my advice.
If you need to fake it for a while, setup w/ a well-respected school in your area for your CCNA. If you have no budget concerns schools w/ equipment stacks and solid instruction will beat out any other option.
But seriously, you’re making a bad career move, this isn’t meant to be funny.
Seriously. If you're learning networking from scratch you are not prepared to be in charge of a network with 100 computers. If you screw it up, you could mess things up for days. Start at the bottom and work your way up, or hire someone who knows wtf they're doing, you could contract in someone (there are always going to be consultants who do network around). Bring one of them in, have them go over some of it with you.
The 'go read a CCNA book' advice isn't far off. But if you're already in charge CCNA is at least one step down from where you want to be.
I reiterate: use your money to hire someone else. Either hire them to actually do the job and become network manager, or hire a consultant in (be prepared to see this person regularly for a year or so) to come in and help you get things going. Make sure you have people on staff who actually know what they're doing, and can tell you when you're being an idiot.
Going from programming to network administrator may as well be going to predator drone pilot. You use computers and networks, and familiarity with computer skills is great, but they are very, if not completely different skills. And while you're at it you need to learn to be a manager, because most programmers don't learn about budgets, HR practices, setting security and devices on the network policy and all that but from the sounds of it you have to decide how to spend money.
what's the right strategy here?
Proceed with caution. Make sure you enjoy networking and that its challenges interest you. Networking is very different from programming and also different from desktop support.
What routers or switches or other equipment should I acquire?
I have extensive experience with HP Procurve equipment and I have been satisfied with their stuff. (In the network I manage we have about 120 HP switches.) They are pretty reasonable in price and have a lifetime warranty on their switches and routers (I just got a replacement for a part for something that was manufactured 10 years ago, no hassle). Cisco is good if you like features, have a large network, and enjoy spending money. I would avoid Netgear switches (unless you need a small desktop switch (e.g. GS108) to provide more ports) as I have heard bad things but I have no first-hand experience. Expect to pay around $1000-1800 for a good 48-port Gigabit switch.
What books should I read? Should I take classes from Cisco, Global Knowledge, my local community college, or somewhere else?
I would look to achieve a "CCNA level" knowledge. For a network of about 100 devices you won't need much more. You can do that by simply reading a book (e.g. the CCNA prep by Lammle or Cisco Press), self-study (e.g. books alone or with video) then trying to pass the test, or taking a classroom course with Cisco or GlobalKnowledge. The material covered in CCNA is useful even if you use Procurve devices (although vocab will be different, such as "vlan trunking" (Cisco) vs. "vlan tagging" (Procurve, IEEE 802.1Q))
Background: I managed a network at a scientific research center (1000+ end user devices and a couple hundred servers). Its a mix of Cisco (core) and Procurve (edge). I have been working in networking full time for 2 years (I was in the poster's shoes not long ago) and with computers for about 5 years in a professional setting.
1. As above, take a CCNA course or find the materials. That will give you a good basis.
2. Read everything you can in regards to VLANs and how they work/best practices/management by hardware OS
3. Read everything you can about switch port management (i.e., access port vs. trunk port, again relies heavily on the chosen hardware OS)
4. Choose your hardware: If money is no object, Cisco is reliable but more upfront and much more for yearly support. HP ProCurve is a very good economical option.
a. Either way, use two stacked Layer 3 switches for core routing with Layer 2 switches for access layer.
b. For Cisco products, I'd recommend a pair of stacked 3750X's, with 2960 for access layer switches.
c. Save yourself pain later - have each access switch trunk to the core stack with an aggregated trunk, one port to each half of the core stack. (if half your core stack goes down, most of your network stays up. If one line/port of the trunk goes down, whole network stays up but speed may be affected depending upon bandwidth used)
5. Use one VLAN for infrastructure (i.e., switches, servers, printers, appliances), use one VLAN for workstations, use one VLAN for wireless if necessary.
a. Avoid using VTP, even if it seems like a good idea to you
b. Do all routing between VLANs on the core stack, access switch trunks should carry all VLANs however
c. Test the hell out of your config in a lab if you have time, lot less pressure telling them that the project is delayed by testing than telling them all work is delayed because you can't find the problem on the prod network
d. Thank god you get a test network
4. Once everything's built, configured, and running well - BACK ALL OF THE CONFIGS UP, and repeat whenever a config change is made.
Good luck, and you'd really better love troubleshooting problems with very little info to go on...
"I'd make a wooshing sound, but the post was so far over your head it was inaudible..."
I'd like to become an expert in a field in which I have no experience.
It takes many years for most of the folks working in this field to gain the knowledge required to be effective, but I am very, very smart. So much smarter than most people, infact, that it shouldn't take me more than a month or two to get a firm gasp on things.
There's just one small problem that is preventing me from teaching myself everything that I need to know to be able to do my job well. See, I'm not smart enough to know how to even begin to teach myself anything about this field. I'm sure if someone could just point me in the right direction, I'm quite sure that I'll be able to make sense of things.
Also, which vendors provide "easy" buttons on their gear?
Please advise.
MrGenius
Never eat more than you can lift -- Miss Piggy
I'm buried so far down here, I'm sure no one will read this. But here is what you need to do.
1. Before you begin, attend a Cisco / Global Knowledge CCNA bootcamp. You may not leave able to program routers like a master, but you'll learn how networks work.
2. Visit every PC, Server, Router, Switch. Put eyes on everything. Create a master spreadsheet. Document model numbers, IP addresses. Create Visio documentation of the way your network is set up. Document everything. You need a good deal of cabinets to store it all.
3. Decide what is the most deficient part of the network, fix it with the simplest solution. If you're using hubs, buy switches. If the routers need to be rebooted constantly, buy new routers. Above all, keep it simple. If possible, stay away from V-Lans, encryption software, Linux, or anything else complicated. Do this every year.
4. Buy one third of the total number of PCs of the network plus ten percent. Buy only one model. Create a central image with Acronis and modify that image as necessary. Deploy these models. Repeat for the next three years.
5. Outsource security. That way, when it breaks you can blame someone. At the same time, make sure you can monitor security to prevent breakage.
6. If possible, outsource your main application. You don't want to support the product that everyone in the institution depends on. You need to keep the network up, not software.
7. At the end of year one, bring in a network assessment. Tell the assessor what he needs to find before he arrives. Use that the next year to justify your new purchases.
8. Make sure you stay friends with the president / CEO. When it is necessary to reorganize the server, etc, it will be necessary to have his good will.
9. Be prepared to work like a sunuvabitch for two years. Take your spouse / GF out when you can.
10. Don't let them make you program again. You're a network admin. You cannot support your old programming team.
Hoist Number One and Number Six.
Small businesses tend to have rapidly-changing needs and few staff. If they have less development work coming in, and a pressing need to replace a sysadmin, it's perfectly sane to ask the developer if he can switch hats, given sufficient resources and support. For the employee, it keeps him in a job. For the company, it saves them from having to hire a new guy, which is neither cheap nor enjoyable, and they'd have to train the new guy anyway, which is freakin' hard when the senior sysadmin is already long gone.
I don't think it's such a stretch, the two roles tend to complement each other quite well. A good programmer-analyst already possesses 2/3rds of the knowledge required to be a competent sysadmin. You know the shell scripts will be a work of art :) I don't know why you think it's at the bottom of the ladder, because I see it the other way around. Programmers are a dime a dozen (see China). Good sysadmins are damn hard to find, which is why I have no shortage of contracts coming in from past employers and acquaintances. Trust is a big factor, because really, the sysadmin controls access to every resource, and thus by necessity has unlimited access to all your data and equipment. Who would you trust more, some kid walking in off the street with the price tag still hanging off his jacket, or an employee you've known for years ?
-Billco, Fnarg.com
My story in a nutshell.
Hired to program. Soon after system admin leaves. Server's need patching, junior admin screws up some compiles, etc so I step in and fix the server environment. Congrats, you are not a system admin (doh). A few months later, network admin is gone as well. New network guy is hired, but sucks at his job and for some reason doesn't get fired (still can't figure that out). I need the SAN to function properly, and I need the network to function properly. Congrats again, you are a network admin.
Now the title outside my office says "Programmer", but I haven't written any programs in at least 2 years. I've wrote a dozen scripts to make my life easier, but mostly I spend my time managing, install, patching, supporting, and planning the network and server infrastructure. Somehow I've also managed not to screw it up and have finally gotten to a point where I think I might be good at this. But I miss my compiler....