Five years ago, most PCs shipped with a diskette slot and an optical drive. Today, it's hard to find the former on any device. And the optical drive has gone from being a universal peripheral to an uncommon option. Both devices have been missing from laptops for the last few years and, of course, have never existed on smaller devices such as tablets. The new medium of distribution is either streaming online vendors' primary way of shipping software today or for local transfers, the USB memory stick.
The replacement of both floppy and DVD drives with USB sticks became possible due to the low prices and high capacities of the latter: 16GB drives are now $10 on Amazon. 64GB drives are $35. The sticks are also easier to reuse and more transportable than individual media disks. And they have encryption features that are absent in their forebears. However, they lack the data permanence of the optical drive. Which is the one reason I am still attached to my optical drive: It's a good although hardly ideal medium for creating archives. Even that, though, I can see giving way to a plug-in USB drive, due to the latter's growing capacity and encryption options.
The transition to USB sticks has counterparts in the world of hard disk drives (HDDs). It's a progression from spinning media to flash memory, or more broadly, to silicon memory. Extending this transition, solid state drives (SSDs) are now becoming the de facto storage choice for high-end laptops. They are much faster, generate less heat, and produce no noise. Their superior performance in reading data is the principal ingredient in the "Oh, wow!" experience of watching a laptop go through its boot cycle in mere seconds.
But SSDs are considerably more expensive per gigabyte than their HDD brethren. And they offer far less capacity. On laptops, the capacity is unlikely to be much of a problem. 256GB is often sufficient and many SSDs offer that much. However, price is definitely a factor, which will hold back the wider adoption of SSDs. Some manufacturers get around this issue by creating hybrid drives, which have an SSD-like disk as a front-end cache to an HDD. This gives improved performance at a much lower price than a full sized SSD.
SSDs do have one important flaw, however, which is that the cells that store the data can be written to only a finite number of times before they can no longer be used reliably. Most SSDs solve this problem by distributing writes all over the disk, so that no one group of cells gets rewritten too frequently. How much of a problem this will be is hard to tell. I've spoken with some users who have had to replace SSDs due to this issue. If consumer devices see only four or five years of light use, I expect most of them will work fine for the expected life of the device. Power users, such as developers, however, may encounter this problem more frequently.
This issue means that SSDs are not ideal for use in enterprise, especially in frequently updated databases or highly transactional systems. For such systems, HDDs are preferable and will remain so for a long time. Their lower cost and higher capacities are significant benefits as well.
Despite the better fit with HDDs, some server systems today come with SSDs, but these are generally used as cache-like devices to external disk arrays and spindle farms. Once these SSDs run through their ability to hold data, they're simply replaced, as they contain little or no permanent data.
Using the same model, I see SSDs as being ideal in build servers and, in fact, in most every context in which developers are working with the notable exception of the VCS, which should be kept on HDDs. If you agree with my previous editorial, Putting Absolutely Everything in Version Control, then the use of SSDs is facilitated because anytime one goes south, the project artifacts are known safe and secure in the HDD-hosted VCS. I should point out that the SSD problem does not result in a sudden failure, but rather, a steadily diminishing disk capacity, so there's plenty of time to check-in any recent code.
If I were to predict the future 10 years out, one of the assertions I'd make with the most conviction is that all drives on client endpoints will be SSD. If you haven't upgraded your development platform to use them, I recommend you do. You'll quickly get addicted to their performance.
Andrew Binstock
Editor in Chief
[email protected]
Twitter: platypusguy