What Goes into an Enterprise Network?
Komi asks: "I work for a big semiconductor company, and I'm part of a group that is spear heading the Linux movement here. Right now everyone uses Sun machines to design, but you can get a cheaper Linux x86 machine that is four times faster. So it is my job to prove that Linux works. The problem is that I'm an analog circuit designer stuck in the role of sysadmin. So I need some advice on what goes into a network. It won't be that large right now, but it has to be scalable for up to a couple of hundred machines. If this works, then hopefully we'll convince all designers at my company to make the switch."
"Here's the hardware that I am planning on getting:
- 2 servers:
These would hold the home accounts and tools, as well as serve out NIS, NTP, etc. I know I'll need a lot of hard drive space (2x72GB SCSI each), but do I need a lot of memory? (It's 4GB RDRAM max.) Should the processor be fast, or dual?
-
3 batch machines:
These would be a small compute farm running LFS or something. Jobs would get queued up and run continuously. So these should be dual CPU with lots of memory, probably 4GB each. Any other particular details?
- 10 desktop machines:
These would be on the designers and developers desktops. These should be reasonably fast (~2GHz) single CPU machines with probably need at least 2 GB RAM. The simulations we run do not benefit from dual CPUs. They probably don't even need SCSI. I'm thinking a $2k PC should work.
- 1 Itanium server:
This would be to play around on to test our 64-bit applications. The only advantage of 64-bit is applications using huge amounts of data.
I wonder what side of the aisle your on? Are you a sys admin or an end user?
Like the author of this email I work at a larger semiconductor company. We are in the middle of switching from Sun to Linux. The price/performance difference is huge. There is more than a 10X difference in price between a DELL box and slower Sun machine.
We have been up on Linux for over a year and so far haven't had many issues. Ok, well we have one issue.
One should not theorize before one has data. -Sherlock Holmes-
I also work at a company that does chip design. While it's true that the software costs are overwhelmingly huge in this space, that has not seemed to blind our money minders to the cost of the hardware. An inexpensive dual cpu PC will complete the same job as a Sun 420 in about a third of the time. This is empirical fact. The PCs also install in about half of the time a sun takes to jumpstart. We still have quite a few Suns, but the engineers only use them for huge memory jobs that won't fit in the RAM available on the PCs.
As far as your concerns over reliability, we buy name brand PCs that are meant to be servers, not crappy integrator machines or desktops. I find that the hardware reliability on these machine is at least as good as the Suns.
That said, we *have* to have the Suns for those jobs. We use Suns for infrastructure stuff as well. And some of the engineers cannot *live* without a Sun on their desktop, though they all whine they their desktops are too slow to run a browser.
My feeling is that until Hammer hits the streets it's going to take a mixed environment to get the job done. Certainly when we have an option to run Linux servers with many GBs of RAM we won't be buying more Suns.
These would be on the designers and developers desktops. These should be reasonably fast (~2GHz) single CPU machines with probably need at least 2 GB RAM. The simulations we run do not benefit from dual CPUs. They probably don't even need SCSI. I'm thinking a $2k PC should work.
... with a 19" Monitor for $249. XP Pro is $140 for OEM to buy yourself, though the major OEMs get it FAR cheaper
A 2.4GHz chip is $160. 2GB of memory is around $500 (1.5G? More like $250). $85 for a DVD/CD-RW, $150 for a board with onboard sound, $60 for a decent video card, $80 for a good case, $15 floppy, $30 on KB and optical mouse
Figure $1400-1500 a PC, even from a major OEM, tops. Anymore and you're getting hosed.
-----
Well you have listed some trivial hardware requirements, what you haven't said are things like: 1) Does your application that the designers use to do their daily work exist on Linux, does it run as well, is as fully featured, cost the same amount of money... if the answer is NO then this is a non-starter 2) How are you going to handle signon, login, desktop managment, etc. 3) Backup is a big issue 4) Frankly 2 72 GB hard drives isn't enterprise or scalable. Look into RAID, LVM, and other options to make the hard drive system more reliable 5) The Linux solution isn't 4X cheaper, frankly it is significantly more expensive... you have all ready purchased the current solution correct, so the cost to maintain it is 0 (well not really but still) vs. having to buy this list of hardware and very possibly new software licenses (you have the solaris licenses right now correct, probably not Linux ones.. if they exist, see point 1) So the cost of this system going forward is significantly higher than the current solution Other than that, go for it... just remember it is much easier to tell you to spec it out and then say "We can't spend that kind of money" rather than tell you No up front
I have mod points and I am not afraid to use them
Now, back up and think about this:
In your case, you're talking primarily about engineers, and they are primarily (for job functions) going to be doing engineering
Now, on you EXISTING network, measure what a few users do for at least a few days. If you've got admin on, you should be able to extract information from the logs. This will give you a chance to get at how much load there really is.
Next task: establish some of your "non-functional" requirements. In particular, how long can response time be for your most important tools, how long can you afford to have the system as a whole be unavailable, and how much work (an hour, half a day, a week?) can you afford to lose. Divide all of those by two and make them your basic "service level agreement" -- which is simply a statement of the service you promise the users, it doesn't have to be fancy.
Here are some reasonable values, from experience, but YMMV: most people will put up with the whole system being unavailable for an hour, they want half-second response time from specialized tools and more like about 4 seconds on a web page, and engineers hate losing ANYTHING but usually don't get too pissed off if it's less than a couple of hours work and doesn't happen very often.
Next: what's the environment? Do you have to think about firewalling yourself from the rest of the network? (Don't assumme just because you're inside the corporate firewall that you're protected. Get AND READ the corporate security policy, as well as talking with the admins who own the network as a whole.) How will you do backups? How do you fit into the corporate disaster planning scheme? (Lots of people forget that one, but just look into what happened to the Wall Street Journal on 9/11 to see how essential it really is.) This analysis will give you a good idea what you need.
And now, having said all that, it will turn out that what you're going to need is (1) a "big enough" file server with 5/4 RAID and a good periodic backup onto "archival media" like tapes or writeable CDs; (2) one workstation good enough for all your applications, and with at least a years' room for growth, for each desktop (plan to buy at leasy one for a spare, and set it up "hot" so a single failure doesn't slow anyone down"); (3) a smallish box as a print server (if you manage your own email, it can often go onto this); and (4) a firewall box or a router (betcha 50 cents Canadian that the company will insist on this.)
Plan for a full week, plus one day per user workstation, for installation. That is, with 4 users, plan on 5 + 4 = 9 days for two people.
All the other stuff, like using NIS, NFS, Kerberos, etc, will more or less fall out if you get these steps right first.
I'm not a system admin but it seems like you are confusing two different battles:
1) Getting the whole company moved over to Linux for everything
2) Getting engineer workstations running on x86s so you can get 4x the speed.
(2) is a much easier battle to fight than (1). Don't spec a whole Linux solution for everything, spec out a Linux solution for the workstations that allows them to work with the Suns. There you can make the cost difference really obvious. Reliability isn't a big deal.... Your software vendor might even give you the test software in hopes of the license switch down the line. In the back of your mind you can keep the total Linux solution but your strategy should be to take out the Suns piece by piece by piece.
Total overhauls come down from above not up from below. Incrimental change that overtime turns into a total overhaul comes up from below. You don't sound like you have anywhere near the juice to get a total overhaul through the company regardless of how good your analysis is.
You can get a cheaper Linux machine, yes. It might be four times faster, than a Sparc10, but new x86's aren't anywhere near as realiable or powerful as a new Sun. As I said, people do buy Sun stuff for a reason, and pay a hefty premium.
4 x faster, pah! If you plonked a PC that is four times faster than the one I'm using in front of me, I wouldn't notice during the bulk of my work, because the machine is 90% idle on avg. Processor speeds go up and up, and some OS's just bloat and bloat to make up for it.
So it is my job to prove that Linux works.
This is already done for you. Convincing the management that you can use it to save them money I think is what you need to do, and at the end of the project you might find that this wasn't the case. Just because the OS installs for free, doesn't mean it doesn't cost anything.
Methinks you've just started at the job, been using Linux at home for a while and think you can plonk it anywhere and go. On a production machine, I can't see the argument for Linux over (presumably) Solaris, and definitely not x86 over SPARC. I admit, I was guilty of the same Linux zealotry three years ago. Now I only want to replace every NT server w/ Linux, and leave the Solaris machines well alone, for I've learned a lot about them now, and it just can't be beat.
BTW, what Linux distribution were you thinking of, because that makes all the difference too. It's hard to find one with a name that management will take seriously, and that doesn't suck at the same time.
If your current Sun servers are handling the load properly, don't mess with them. They're probably upgradable to bigger disks & more RAM, if they're getting worked, but for mail/nis/etc you don't really need a lot of horsepower for only a few dozen people and don't forget the immeasurable bonus of having it actually working.
As for the desktops, if you're careful, you can -stay- with Solaris _AND_ switch to fast, cheap, x86 hardware for the workstations. You might be stuck with Linux on the Itanium compute server (which is only really going to be useful if you get >4GB RAM...), but you can keep the desktops virtually the same (assuming your software has Solarix86 support).
If you're not really a 'qualified' admin, I'd try to change as little as possible. Doing LFS for a handful of compute servers is pointless; Take slackware or debian, do a custom kernel compile, remove some unneeded packages and services and then recompile a few key apps with excessive optimizations. You'll save yourself a load of time, have a system that actually works right and the engineers won't notice the difference. It might be different if you were building a cluster or something, but it's not worth your (or the company's) time in this situation.
my sig's at the bottom of the page.