This mornings attempt to get through my backlog in Google Reader turns up two interesting and kinda related news items. First, Kingston Technologies has introduced a line of low-end solid state disks (SSDs) called the SSDNow V Series. A 40 GB model in the 2.5″ laptop form factor retails for a modest $85, and of course the specs are much better than any comparable spinning magnetic media.
I’ve long been a fan of an appliance approach to the IP-PBX, whether that be Asterisk, Freeswitch or something else completely. My personal definition of “appliance” has always included a few simple criteria. To be an appliance a device must be diskless, fanless and boot to an operational state with no user intervention. It should suffer a loss of power without catastrophic consequences, returning to a functional state when power is restored.
Put more simply…it needs to behave like a lamp or a toaster. However, I may need to amend this definition in the light of these newer SSDs. Instead of diskless and fanless I may have to say simply “no moving parts.”
It has long been known that you can’t just use flash media as you would a traditional disk. Flash media provides limited support for writing to the media. If you treat a common piece of flash, perhaps a CF card in and IDE adapter, like a plain vanilla disk you will burn it out in a fairly short period of time. It will only support a few hundred thousands writes before it simply becomes a lump.
Even so, some very bright people have used flash media as the basis for VoIP servers for a number of years. The Astlinux and Askozia projects being the most prominent in this space. They do so by evolving the behavior of the OS around the limits of the media.
For example, Astlinux boots a limited OS (runnix) from flash, then creates a ramdisk and loads the operative OS and Asterisk into that ramdisk and executes it from there. So it’s running from memory essentially all the time. Steps are taken to ensure that config files and VM are stored to more presistent media that may or may not be on the same flash media used to boot. This approach lets users run from a common CF or SD card for many years without fear of flash media failure.
Appliance-specific Asterisk distros also tend to focus on being lightweight, not including all of the bulk of the databases, FOP, or other Asterisk GUIs & accessories. This is quite a bit different from more common Asterisk distros. For example, the legendary PBX-In-A-Flash is I think a wee bit misnamed. The name refers to your ability to get it installed and launched quickly, not any specific optimization for running from flash media.
At the start of the trend in Asterisk appliances flash media was nowhere near as capacious as more common hard drives. Some industrial embedded systems booting from flash used special “Disk On Modules” (DOM) that included flash and some firmware to manage the flash life cycle. My little HP T5700 thin clients often came with a 256 MB DOM internally installed. DOMs were typically very expensive.
At present most commercially available Asterisk appliances are simply pre-packaged Asterisk servers. Nicely integrated components, but hardly worth of the term “appliance.” Now that we have relatively affordable SSDs perhaps more of the available Asterisk appliances will eventually meet my definition of an appliance.
OTOH, the second news item that caught my attention is the fact that some are reporting that SSDs are not as reliable as one might expect. YMMV.