October 4th, 2015
(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: firstname.lastname@example.org
We use vanilla SmartOS, so that there is no dependency on FiFo for your running VM’s. You could just switch FiFo off and all your VM’s would continue to just work. It also comes with a number of great advantages:
In our opinion, ZFS is simply the only file system that should ever be used – period.
Compression, ARC and ZIL work incredibly well, especially for DalmatinerDB which achieves amazing throughput partially thanks to being purpose built to take advantage of these features.
ZFS Checksumming gets rid of a lot of potential headaches.
Zones are a wonderful way of achieving isolation, it allows FiFo to deploy on the same infrastructure it manages, taking away the need of for extra dedicated servers that other cloud systems require and allows FiFo to manage itself.
DTrace has helped a lot for debugging especially for DalmatinerDB, where performance matters a lot more then for the other components, this has been a big win. Custom DTrace probes sprinkled through-out the system allow for accurate tracking and insight into what is going on. DTrace has helped to find some very interesting bugs that may not have otherwise been discovered.
…After some rather unpleasant experiences with angular.js we ended up rewriting the entire UI in ClojureScript / Om. Both are extraordinary systems, Clojure is a joy to write and Om makes web development at least halfway fun. The expressiveness of Clojure is stunning, and as one can guess by the fact we use Erlang in the backend we do have a thing for functional programming. There is om-bootstrap which presents a convenient wrapper around many bootstrap components, while still a bit rough around the edges it is very nice to get something up quickly and makes responsive design a lot easier then starting something from scratch yourself.