Joyent recently open sourced the IaaS Platform SmartDataCenter and the Object Storage Manta, the software they use for their own service offerings. So, what’s all the buzz about? Why should you be excited? Why is it even worth talking (or in this case, writing) about SDC when we have OpenStack? In this blog post I will cover some of the fundamentals of SDC and why it’s worth a second look.
- Zones provides high performance container virtualisation. KVM support on top of zones means secure full Linux and Windows guest OS support. (read more)
- The last word on filesystems: ZFS, enhanced with I/O throttling and persistent L2ARC (read more)
- Observability with DTrace. We have not yet covered this amazing piece of technology on our blog. A good starting point to read about it can be found here.
SDC extends on top of SmartOS to provide a IaaS Platform for reliable and high performance workloads. On a top level, SDC in its latest version 7 consists of:
- An Operations Portal.
- A public API for provisioning and managing instances (virtual machines). Also known as the cloudapi.
- A set of private APIs for use by Operators. e.g.: vmapi, sapi, imgapi, napi, papi
- Agent processes to manage communication between Head Node and Compute Nodes.
Most of SDC is implemented in Node.js and follows a service oriented architecture. Each components source is kept in its own repository. An overview of all involved components is found on Github.
So what do you get with SDC?
- It’s easy to install (just a USB Stick away).
- It’s easy to maintain (SmartOS/SDC updates explained).
- It has a completely open source codebase.
- It’s been used for multiple years at Joyent.
- Its hypervisor (SmartOS)…
- runs both KVM VMs and SmartMachines on the same machine.
- runs KVM VMs with an added layer of trusted security.
- has a fair share scheduler, even for I/O-resources. Nobody likes noisy neighbours.
- lets you forget about on-disk consistency problems.
- It lets you get a complete view of your Stack with its analytics.
- It also runs Docker.
- … and lots more.
Where does it differ from OpenStack?
- SDC uses local storage by design. Mapping external storage to VMs is not supported as of SDC7.
- No virtual networks managed by the customer using the cloudapi.
- No Foundation that governs its development.
- No plugin-based architecture, SDC has a strict way how to be used.
So, SDC is pretty well rounded and brings a lot of features worth talking about. If you are looking for a stable, proven and secure IaaS platform to run your performance-sensitive workloads in a private cloud, you should definitively have a second look at SDC.
Stay tuned for further posts regarding SDC in the not so distant future!