How Do I Provide a Workstation To Last 15 Years?
An anonymous reader writes "My father is a veterinarian with a small private practice. He runs all his patient/client/financial administration on two simple workstations, linked with a network cable. The administration application is a simple DOS application backed by a database. Now the current systems, a Pentium 66mhz and a 486, both with 8MB of RAM and 500MB of hard drive space, are getting a bit long in the tooth. The 500MB harddrives are filling up, the installed software (Windows 95) is getting a bit flakey at times. My father has asked me to think about replacing the current setup. I do know a lot about computers, but my father would really like the new setup to last 10-15 years, just like the current one has. I just dont know where to begin thinking about that kind of systems lifetime. Do I buy, or build myself? How many spare parts should I keep in reserve? What will fail first, and how many years down the line will that happen?"
Hard drives and fans will be the first to fail as they have moving parts.
You can get systems that don't need fans, but replacing the hard drives with flash memory probably isn't going to help reliability.
Virtualize!
Then your father's old setup can remain DOS and Win95 effectively forever, on any modern hardware. I've done this for lots of clients with legacy WinNT and Win95 systems.
The process is called "physical to virtual" (P2V) migration.
Tell him that replacing the system every 5 years will be cheaper than getting one that will last 15 years. There, problem solved.
However, you should consider how to upgrade each part in isolation - or with small numbers of associated changes. That means using popular, but not bleeding-edge components. One's that (like with vintage cars) have a good number of enthusiasts using them. That means that spares will be available and the know-how to diagnose and fix problems will be available too.
The final fallback would be to buy two systems. Keep one in "deep freeze" until you need to cannabilse it for spares. However, don't expect the electrolytic capacitors to last that long.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
Moving parts usually fail first; get some solid state hard drives. Avoid fans by using components with passive cooling; most importantly get an integrated video card and a passively cooled power supply. Running DOS software? Use freedos. No need to bother with full-blown Windows. Keep to name brand components and you should be fine. As long as you buy standard components, they should be easy enough to replace 15 years from now, don't go hog-wild stocking up on replacement parts. Good luck!
If the goal is to get legacy DOS software running on new hardware and being robust, then the most rock-solid option (and maybe the cheapest) will be to put it into a VM such as qemu or VMware. This will allow you to transplant it to new hardware, make/restore backups, far more seamlessly.
As for the hardware itself, have you considered a Soekris box or similar?
DRM: Terminator crops for your mind!
How about industrial hardware? You'll probably pay at least twice as much as you would for a consumer desktop, but PCs made for industrial control applications tend to be a lot more rugged and build to serve for many years in harsh conditions. Sounds like you don't need a lot of processing power, so you could probably get by with a fanless system and eliminate a major failure (and noise) source.
I haven't bought anything from these guys, so I don't personally know anything about their quality, but SuperLogics has a barebones fanless Atom-based system for $315. Something like that might be a good start.
Go with an entry level enterprise server, like a Dell T300w/ 5 Yr. NBD warranty, throw on Xenserver 5, Spring for 2003 Standard, and possibly 2008. Install both OS's, develop for 2003 with the idea of migrating to 2008 as you can run both OS's live and migrate at your leisure. At the other end place a Wyse terminal(or use the current workstation as an RDP client if it's not too flakey.) With an ADSL connection he can have a consistent environment from work or home, and more terminals can be added as necesary. I know you could have done this for less than 5 grand last year. Prices have changed, but it would probably still be viable. 15 year solutions aren't easy these days. Lifecycles have diminished with price.
It depends....
Do you care what OS it runs on? (It'll be harder if he wants to keep using windows 95..) For reliability, I'd suggest windows 2000, since it will also work with most recent drivers. The trick will be getting his old software working on it. However once you get the whole setup working, it will be reliable.
How much effort do you want to put into it? You could make this quite reliable by mirroring some 4gb drives, and telling your dad to replace broken ones with spares set aside. Since 4gb drives are pretty cheap, this is a relatively simple solution. (Since 15 years from 1 hard drive is pretty unlikely, use cheap replacements, since space doesn't matter)
Do you care about the speed of the machine? If the only need is to make it keep working, (no real compatibility with existing technologies) this could pretty easily be done with anything in the area of a P3 or P4. These can be pretty cheaply picked up at a lot of used computer stores.
Although, no matter what you do, you're not gonna be able to just buy an off the shelf machine and get this kinda reliability.
Take an Ultra 1 or Ultra 2 - they are still rather useful computers, and the OS they run is rock solid by any standards. And there's a ton of software for them.
Now, I'm not suggesting that a 15 year old Sun Ultra 1 would be what your father is looking for, just that it is possible to have hardware that is both good quality and long lasting, and that it would run an OS and software that is still relevant nowadays. Sun did a great job at keeping Solaris backwards-compatible, both hardware-wise (supports older architectures) and software-wise (you can run a lot of vitnage software even on the newest Solaris).
Anyhow... an Ultra 1 is still a damn good computer.
"The agriculture ministry is not in charge of Gundam" - Japanese ministry official.
But I'd just like to say that this is one of the most interesting "ask slashdot" questions in a long time, and I look forward to replies from my more knowledgeable peers! :D
Ok, small contribution: The dad obviously doesn't need much power, so maybe this would be a good time to make him switch from windows to a bare-bones open source solution which will be most likely to still be supported in 10-15 years, as opposed to the much shorter upgrade-and-obsolescence cycle of Redmond.
You can't take the sky from me...
The original systems probably cost $5k-$7k 10-15 years back. Systems to replace these will cost $1-2k and deliver much higher performance. Tell him not to worry about lasting 10 years as the investment cost is not so high. He needs a backup system which it sounds as though he hasn't had. It sounds as though his backup can simply be a couple of USB keys which would hold all his data.
Donte Alistair Anderson Roberts - hi son!
Karma: Chameleon
Would your father ask you to get him a car that lasts 15 years?
I hate to say it, but lasting the designed life span of computer parts (2 years) seems to be a challenge as of late, and buying quality doesn't seem to gain much.
The failure rates now days have been getting a bit long in the tooth.
GPLv2: I want my rights, I want my phone call! DRM: What use is a phone call, if you are unable to speak?
15 years ago systems were night and day with the way they are now, and it's only going to get worse. After 10 years you won't be able to find anyone to work on the legacy stuff (unless you buy a proprietary unix system), and there is no guarantee for new parts.
The only way you've gotten away with it is that you have one application which has a very limited required environment, and drive interfaces have only changed once. If you stick with that philosophy, and get lucky with the drives again, you may be able to get by with something similar.
If you have to (which I don't recommend) then pick up a midrange quad core server with a ton of RAM and plenty of room for extra drives. Put a Linux distro on it: no hope of keeping up with Windows security for 15 years, and forget Mac, they're very prone to changing interfaces internally, and then discontinuing the old products.
Then use the server to push whatever app you need to some low duty desktops. You could use a web app, or a client/server desktop app. Again, you're probably good with a *nix.
Your biggest fear is drive space. In 15 years you won't be able to buy the drives you're using today, but there is no point in stockpiling them: they'll be dead in the box after 15 years. Solid state won't fail in the box (probably, but they're too new for it to have been tested) but you may have to replace them more often, depending on your utilization.
Just from personal experience, you're much better off buying a modest new system every 5 years, than a major new system every 15. It's cheaper, and the chance of a catastrophic failure are lower.
ad logicam Claiming a proposition is false because it was presented as the conclusion of a fallacious argument.
I wouldn't worry about the system having to last for 15 years if he's already a veterinarian. What is that, 140 years old? Wow.
Get server hardware. It's the only stuff built these days with reliability as the #1 concern. And get GOOD server hardware. That doesn't mean dual quads with 64gb ram, that means a well known line in a company known for servers. I'd probably go HP or IBM, and for what your father needs you can pick the bare minimum and it will be fine for years.
Remember when you spec this out, that #1 failures are those with moving parts, as others have said already. This means, when you build your server, you want the LOWEST capacity and LOWEST speed you can get, for reliability. The high capacity, high speed drives fail the quickest because they push the hardest. SSD might be a good alternative, but as yet the long-term reliability is unproven and they have a definite limited life-span (i.e. # of writes, how quickly that is used depends on the application), instead of a constant potential failure rate. The plus on that is there should be very little chance of a SSD failing until it actually reaches its end of life.
So, slowest fans you can get, or no fans if possible, and slowest HDD. You should probably go with as low a power CPU as possible also, to keep from taxing the PSU.
Also note, VM would be a heck of a lot of work to get going, but new migrations and failure recovery should be simpler. Gotta pick what works for you.
Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
forever
Until the virtualization software is made obsolete by the vendor.
Deleted
Your father might be in for a shock if he thinks he can keep running the same computer system for the next fifteen years. Almost all veterinary clinics have a web presence these days (if only contact info, a map, and some cute photos) so it's a cinch that in five years the bar will be raised to include real online functionality. Make an appointment, see when your dog is due for shots, see how much Poo-Poo weighed at his last checkup -- sounds nice, right? His current customers won't care if he falls behind, but without a steady stream of new customers, his practice will dwindle.
That means he needs to plan on new software. Software upgrades are much more painful and expensive than hardware upgrades, and new small business software has a way of running poorly on five-year-old machines. The next fifteen years will bring painful changes for his clinic's computer systems, much worse than simple hardware upgrades, and he is the one who will have to understand and deal with it. Of course, he might soon have the option of having his data and applications hosted elsewhere, so he might be able to keep the same hardware for the next fifteen years after all, but I don't think that scenario satisfies his current expectations.
The electrolytic capacitor on the main board are also a typical part to fail. The hotter the system the shorter there lifetime. So a cool motherboard and system is required.
There are two possible solutions.
First is to change nothing. Why fix what isn't broke?
The second is to change your time frame entirely. 10-15 years is too long and too disruptive when the time comes, and you lose out on presumptive benefits in the middle.
Surely there are network aware applications that do what you want on standard systems today.
You want to be network aware. In todays world you do not want to be cut off from your customers, and more importantly you want to push of data integrity to others.
You should develop an annual budget for IT expenses that rolls over. You should be on a 3-5 year schedule rather than a 10-15 year schedule. If you do this, you will have more predictable costs. You won't have competitive disadvantage because of software. You will have advantages of providing more and more reliable services to your customers.
As in all businesses information and digital information can be used to extend and monetize your business in all sorts of ways. But only if you choose to keep on top of it, and you don't constrain your learning cycles to whatever is new now.
With your father's data, that is, rather than Windows 95 just barfing over the drive.
I pray this system isn't connected to the internet in any way, because if it is it must have hundreds of worms crawling around in it. Windows 95 is of course terrible for this, but any system you plan to keep running unmanaged for 15 years should be kept far from any network and physically secure.
I really can't imagine a single veterinary practise generating gigabytes of administravia, nor can I imagine some slapdash DOS application that does generate gigabytes of superfluous data being able to index it once it grew to that range.
Check to see how much he's really using. If it's a small enough, move it over to a flash disk and run the application with DOSemu or in a VM. Build a system with cleanable/replacable air filters over the fans, and train your father to back up his data. (If he hasn't had a hard drive fail in 15 years of use, he's damn lucky.)
...you will tell him to get a professional to do this for him. Whether he understands it or not, your father's livelihood depends on having computers that are up and running, and from the limited picture you've given us, it sounds like he only thinks about information technology when something is going wrong.
Simply replacing his current hardware with newer gear is just kicking the problem down the road. In the last 15 years, there have been significant advances that he should consider taking advantage of, because they can make his business run more efficiently. But the only way to determine the "right" solution is to have someone who understands your father's business design a solution for him. A good place to start would be with the vendor who sold him his current setup, if they are still in business. They can most likely recommend a suitable hardware platform and assist with data migration to a newer, supported version of their software, and provide some sort of service arrangement that will ensure that these systems are maintained, not just used.
If you're bound and determined to do this yourself, the recommendations about virtualization are good ones - you can build a couple of VM images that you can backup to a USB flash drive nightly, or even better, several flash drives - learn about backup rotation schemes and design one that gives you the ability to recover two weeks worth of image data at least.
Up thread, someone said that if you do this, you will be supporting it for the next 10-15 years. You need to keep that in mind when deciding how to proceed. Best of luck!
Blogging Weight Loss, Distance Education, and more at verlin.com
keep the existing setup and virtualize it (vmware is nice, but, xen is free)
upgrade the vm host hardware as needed or as necessary, instead of upgrading a machine that should really be left alone.
benefits:
1) minimal effort needed on your part
2) your dad doesn't need to learn new software as it is exactly the same, and all the data is retained
3) hardware upgrades are transparent to the client vm (hopefully)
(but, don't forget to routinely backup the data on the vm like any other machine though)
People are going the wrong direction. Don't build 1 big beefy machine.
Build an incredibly small lightweight machine. Like the NVidia Tegra platform. It costs less than $200. At that price you could replace it every other year for 20 years for the cost of one low-end server.
Now. Find a simple web-app which can be hosted. HTML and CSS don't change from decade to decade. Use a CSV file as the database. Now setup a one click option which downloads the data to a CF Card.
This website should be entirely file based so no need to install php, cgi, mysql.. nothing. This way you can copy an entire clone of the site to a CF Card.
Make sure it's a password protected ZIP file that is downloaded so that customer information can't be stolen.
Install a fast booting linux distro with Apache and Google Chrome or Firefox.
Now all you need to do for 15 years is install the latest web browser. And backup the website to a removeable drive every couple of days.
Here are some ways to add bonus points: Put the OS on a CF Card and clone it. Since all he needs is a dumb client and a barebones web server you should be able to fit it pretty easily onto a 2GB CF Card. You also now don't need any fancy ghostingesque software just a straight drive image. Keep 2 copies of the OS on CF Cards. Then if the computer ever breaks. Just replace the CF Card. Have a button which copies the latest website state to the new OS and off you go.
Websites are designed to be portable. They're meant to run on new hardware without a lot of setup. They're the perfect candidate for an application which can move easily from system to system and since you're only spending $200 on hardware which has no fans and no moving parts, but insane redundancy and replaceability I think your Dad should be able to run it himself.
"If it stops working. Just swap out the 'broken' card with the 'new' card." Then every 5 years you can update the instructions on cloning his system drive using the latest software.
And you've already written a little one click macro to restore and backup his web data so he should be able to easily follow the step by step instructions.
I could see this system easily running for 20 years.
My father is also a veterinarian with a private practice... I don't know enough about the exact details of his software but can give you the high level, as well as issues he has had, etc.
First, he has gone through a few (2 or 3 not sure) completely different systems (hardware and software) in the last ~20 years of having a "computerized" practice.
When they got the first system the practice was much smaller - 3 vets in the partnership and a handful of employees. Over time it has grown to employ another 3 full time vets and a much larger staff. So that's question 1: it may be small now, but do you expect it to grow? 2 networked workstations won't be enough if he may have 20+ employees in the future, and deciding on something today (hardware and software) that at least supports upgrades will go a long way to prevent having to redo the whole thing later.
Question 2 is related to the nature of his practice. Is it a relatively low-tech, rural practice or is he planning on modernizing/keeping up with technology? Back in the 70's the most high-tech equipment in most practices was the x-ray machine. Since then, my dad's practice has added an ultrasound, laparoscope, and most recently a digital x-ray that allows inexpensive, near instant access to results (without having to develop, etc) as well as convenient storage, display on a number of terminals in exam rooms, even convenient consults from remote specialists. That's in addition to all of the other benefits that come with professional veterinary software packages, like integration with outside labs to get faster test results, tracking of inventory and reordering, etc.
Question 3: how much does he care about his data/computer systems? If down is it a minor inconvenience or a crippling liability? If the latter, do you really want to build something for him with off the shelf parts with no support? Are you available for 24/7 support if something goes wrong? My dad's practice has 24/7 1 hour business support (from IBM? or something similar). If a system goes down, HDD dies, network is flaky, etc they will have someone there in less than an hour to replace hardware, diagnose issues, restore backups, etc. Sure, that service costs money but has been necessary several times over the past couple decades and saved their ass when it happened. On the other hand, if your father is basically using the machines for payroll, inventory, and bookkeeping, he might be ok with a simple backup system and your help when something goes wrong...
Anyway, I know my dad's practice now has a central server (I think just standard workstation HW with RAID and nightly backups?), a few terminals (I believe all Windows-based, since that's what the veterinary SW runs on), and most recently a medical grade monitor and high-res video card for x-ray display, along with a couple of WiFi laptops they use in exam rooms to show x-rays, look up histories, data entry, etc. All of it comes with 24/7 HW and SW support, which for their type of usage (and the fact they don't want or need a full time IT employee) I'd consider a must have...
Anyway, hope that helped. But to summarize I'd rank the goals as (not counting cost, which of course needs to be factored in depending on personal situation):
1) minimize downtime/lost revenue
2) allow modernization/support for new technologies as necessary
3) scalable if/when the practice grows in the future
What I would most definitely NOT worry about is the latest fancy hardware. If he's still surviving on a 486 with 8MB RAM, any reasonable modern HW will be cheap and more than enough. By all means go for reliability over performance, especially if you are doing it yourself. If buying HW/SW/support from a professional company, they will make sure the HW is adequate and reliable (since it costs THEM much more in the long run if it isn't).
How do you build a system that a BUSINESS is reliant upon? Easy, the same way you build one for a multimillion dollar company.
Weigh the risks of the "system" going down hard. What impact does it have on the business? If he can be down for a few DAYS, then no big deal. If he can only be down for a few hours, then the hardware obviously needs to be a bit more reliable (at least throw some RAID in there).
Regarding the 10-15 year "wish", throw that out. Sorry, but you probably paid $3000 back in "the day" for that state o' the art 486, and these days, you can afford to replace said hardware 3 or 4 times over for that price. Purchase what is needed based on business impact, and simply plan on replacing every 5 years.
Yes, you're on the right track.
Come on gang, $300 in hardware is peanuts.
The guy "likes what worked" but he needs an exit strategy for his data. I know how tough retraining can be too, but he at least needs the info while his "refreshed system" is being offered so he can be informed. Both I and my coworker "didn't need fancy cell phones" until one random month apiece we "just grew into them", and then became more productive.
DOS software is pretty aged now. I really shudder to think about it ANOTHER 15 years from now. I don't know where the golden point is in Vet software, but it should be looked at to provide the decision context.
My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
This is dead on. NASA and the DoD pay serious money to be able to run 15-year-old hardware and software--unless you're made of money, you don't want to be doing this.
Best suggestion is to use the most Open Source software and commodity hardware that you can. Your proprietary software vendor may not be around in 14 years, and even if they are, they may no longer offer the software you need to replace/fix/etc.
[Yes, this means you, Microsoft. I designed my enterprise accounting system to run on Bob and I've been hearing about it ever since...]
"Not an actor, but he plays one on TV."
The things i have seen failing are HDs, Power supplys (heat because of jammed fans), and cheap capacitors (on not-so-cheap mainboards), and monitors.
1) Keep the power low, so ventilation and heat problem are no issues
2) Use SSDs (keep the power low, no reason they fail)
3) Use an RAID of SSDs (they are not out long enough to know how often they fail practically)
4) Buy a few more HDs/SSDs of hte same type, just in case
5) If you don't manage to build a system without fans, dust will be the biggest problem. Keeping the place clean can help.
6) Even risking being modded down: If DOS did the job the last 15 Years, think about Freedos. Or DOSEMU running on to of a linux kernel.
7) Buy a high quality power supply and and mainboard (not a very new one).
8) Make a Virtual Workstation.
I have experience building workstations and servers that last. Nearly all of the ones I've built for customers are still functional more than 10 years after first install.
Experience counts so I suggest you use a system builder with a similar track-record.
The more powerful the system, the more challenges in building it to last. Many of the items on the check-list below need to be balanced against the needs of the customer, including noise, environmental conditions, performance aspects, and frequently budget.
Check-list for Building a Computer that Lasts
Firstly - Running IT for your family is a pain. We all know you'll get nothing out of it apart from grief :) If you are feeling altruistic, then read on.
Secondly. Moving parts break. Heat breaks things. Fans sucking dog hairs into the system will break things. Assuming he's going to be using the same MS DOS app for the next decade or so, he does not need a powerful machine (which is handy). You just want some ultra-low power system (Atom? - how about one of those Asus desktop EEPC thingies - fit a cheap SSD if it doesn't come with one) - ideally just get something with a CPU and a PSU that doesn't need a fan, just a heatsink.
Thirdly it will fail. It's a PC for your Dad, it's critical to his business - therefore whatever you do will screw up. Install a backup solution. I'm assuming it's not creating vast amounts of data, so just something that'll spool the new data up the ADSL/cable/modem to a NAS/PC you can get your hands on somewhere out there.
Finally - you might want to consider VMWare. Performance hit isn't a problem in his case, and wouldn't it be nice if you could restore a complete failure/screwup in minutes (Oh and allow him to run a decent OS alongside the DOS app - as a bonus). Hardware's going to be cheap, so might as well buy a spare system. Anything does wrong - you just zap the image onto the new system and he's up and running whilst you try to work out whether the old PSU shorted, or the memory just came loose. If you feel very techy, could just setup the systems to mirror and implement a hot-standby (although possibly we're moving into the realms of overkill here).
would be to just rent a virtual machine (and let a 3rd party company deal with all the backup/hardware gubbins). :)
Weak point here though would be the connection to the server - so as well as primary ADSL/Cable access from his office, you'd then need maybe 3G dongle backup on his router, then a spare client machine and then..
Ram is the ONLY thing that appreciates over time. Don't buy spare parts for anything else. Unless it is something that will be obselete, but that's a dumb thing to buy for a long-term machine...
If you can get him off windows (or any closed-source software for that matter), DO IT! You will always have the source code to linux+gnome+firefox+apache+mysql, but windows will probably never be available for more than 10 years.
As someone with experience with hardware support for a large company, I can attest to the assertion that SSD's fail pretty often. We use the HP TC4400 tablet, which has a 40gig SSD in it, and we seem to get more of them in with dead harddrives than we do the TC4200, which uses a typical SATA drive.
This may not be true for all SSD's, but it's my experience so far.