What are the pros and cons of using an SSD as the only drive in a workstation instead of an array of several HDDs or a fast 10k/15k HDD?
To be more specific, Intel X25-M 80GB with Windows 7 x86-64 installed for use in developer/designer workstations, using a NAS, SAN or file server for storage of large files and the SSD for the source code.
Two I can think of right now:
Pros:
- Cheaper - you don't pay for additional HDDs
Cons
- Less space - you don't have the space of HDDs
An SSD will dramatically speed up anything that's I/O bound. Examples might include large compiles with lots of files, database work or slinging around large bodies of web content. Generally your punters' user experience on machines with SSDs will be much better.
Currently SSDs are quite expensive compared to consumer level hard drives or even enterprise class 15k RPM disks, but the cost of an X25M is still going to be a small fraction of the overall hardware and software costs of the desktop. If you're comparing it to an array of disks in the machine it may even be cheaper.
80GB is a lot of installed software and most development environments don't involve tens of gigabytes of data. For comparison, I have a development machine with VS, SQL Server, several business intelligence tools including MicroStrategy and quite a bit of other software, which takes about 45GB of disk space in total. The code base and other random files on the disk take about another 10GB(1).
You can manage disk space on an ad-hoc basis. If one of your punters runs out of space you can expand their machine by adding a second disk. SSDs might be prohibitively expensive if you're into HD video editing, genome sequencing or ETL development, but they're not likely to be a major issue otherwise.
NAS and gigabit ethernet are commodity items and make a good 'fast enough' platform for secondary storage unless you are working with large data volumes. Overall, I would expect workstations with SSDs and secondary storage on NAS hardware to perform well for most workloads.
Pros
For W7, the I/O latency is dominated by disk head seeks and rotational latency rather than bulk data transfer. A SSD will be dramatically faster on this type of workload than even a large number of disks in a RAID-0.
The SSD will be more reliable - no moving parts.
An SSD will run fine in a standard case/PSU.
For a Windows 7 developer workload I would expect to see SSDs provide by far the best performance. SSDs are already viewed as quite a good way to extend the usable life of a laptop - many models are sold with PATA interfaces for precisely this reason.
At a guess, I would say that a SSD would expand the lifespan of your computers quite substantially. Given the relative cost of hardware to salaries in Romania, that might be enough to make the business case by itself.
Cons
Also take into consideration that most SSDs will run much hotter than even a pair of regular drives when pushed hard - so make sure you have good air clearance capabilities built into your machine (unless you don't intend to push them very hard anyway).
As you're comparing an SSD to an array of drives, consider "Single Point of failure" as one of the cons, too.
Actually, it is:
Pro: Speed. Lots of it. (If you buy a fast drive.)
Cons: Price. Size. (SSD drives are small).
My workstation has: - One 256 GB SSD drive for system and source code. - Two 1 TB SATA drives connected into RAID0 for video files and other stuff. - One 512 GB SATA drive for onsite backup.
If you can live with a 256 GB, then one SSD would work great for you.
Don't forget that some SSD's have a limited (compared to a hard drive) number of writes, called "Write Endurance". This article discusses the issue in some depth. It was certainly an issue with older SSD's, but is becoming less of an issue with newer ones.
An SSD might be more suitable for an OS drive that doesn't change that often, whereas a normal hard drive is more suitable for a data drive that's frequently written to.
If you do go with SSD's make sure you find one with a high "Write Endurance".
One possibility could be to use an ssd as a cache for slower media.
Example is using ZFS file system.
Unluckily as far as i know no windows file systems can do that.
I seldom see any huge speed improvements using SSD or multiple 10-15krpm raid0 drives for "linking and compiling large builds"... switching to an even faster CPU on the other hand will give a lot more gain.
I'd reserve the SSD for OS and application files instead, this will speed up the user response time in bloated IDEs like Visual Studio by a lot... but adding in a single low-fi 500 GB temp drive would be almost free - code and generators doesn't take much space but, the built binaries and generated intermediates can take a lot of space and modern 7k2rpm SATA drives will handle linking and building just fine.