SmartOS is really the first operating system on the market which has been designed specifically for cloud computing.
It’s derived from Solaris which is an enterprise class UNIX, tried and tested over 20 years in some of the most demanding commercial environments that exist, e.g. the world’s banks and trading exchanges.
Unlike other virtualisation technologies, SmartOS schedules CPU cycles on a ‘guarantee plus burst’ basis, rather than hard limiting. CPU is typically one of the most underutilised resources in web serving.
So, under normal circumstances, there tends to be a lot of spare CPU sitting idle on our host machines (which contain either 12 or 16 processor cores).
This means you are guaranteed an appropriate number of cores – which can be scaled up and down with the size of your server – but, should you need additional CPU suddenly, for whatever reason, you can burst and also use any other cores which are available. Typically, on our web serving platform, CPU usage sits at around 5-10%, so there is plenty to grab if you need it.
SmartOS is built on ZFS, the last word in file systems. Two main features of ZFS deliver, in many circumstances, ‘faster than bare metal performance’.
- The ZFS Adaptive Replacement Cache (ARC) is an incredibly efficient and intelligent disk cache. All available RAM on the physical host, which can be up to 256 GB of RAM, is aggressively used for caching. We routinely and consistently see >95% of read operations coming straight out of memory rather than off disk. Not only is this incredibly fast, but also leaves all the available disk IOPS for writes.
- ZFS compression is a unique and highly efficient and parallel compression algorithm, which reduces the amount of data being sent to and from disk. Because CPUs and memory are orders of magnitude faster than disks, ZFS’s compression technology can deliver twice the disk throughput and IOPs versus bare metal.
Containers not VMs – no performance overhead
Unlike other virtualisation technologies, SmartOS simply ‘containerises’ resources, it doesn’t emulate hardware. This means that your applications have direct, unfettered access to the network cards and disks. It is widely reported that certain workloads – very busy databases for example – do not perform well in cloud environments. Not so with SmartOS.
Our Scalable Database Service (SDS) is delivered via SmartOS containers (or Zones) giving you all the benefits of cloud plus all the performance of dedicated hardware. Think of it like athletics: SmartOS is like the 100 m; other hypervisors are like the steeplechase, the obstacles representing hardware emulation which must be passed.
Double hulled virtualisation for Windows and Linux guests
Other virtualisation technologies VMWare, KVM and Citrix XenServer are vulnerable to hypervisor attacks, where a security exploit in the hypervisor layer can give one VM access to the memory and disks of other VMs.
Contrast this with, SmartOS which runs KVM guests inside it’s native Zones virtualisation technology – should an exploit in the KVM hypervisor give access to the host operating system, the attacker finds themselves inside an empty Zone with no ability to access other VMs and IOPs versus bare metal.
SMF is the Service Management Framework, a next generation replacement for the 20 year old SysV init startup script method found on most other Unix/Linux distributions. SMF manages the lifecycle of services (long running processes), giving the administrator real insight into what is happening on their server.
At a glance, you can see what services are disabled or enabled, which have failed, and the last time a service changed state. More importantly, SMF is also intelligent, and will automatically restart a service if it fails, part of SmartOS’ ‘Predictive Self Healing’ methodology. This can reduce downtime and improve reliability.
DTrace is the Dynamic Tracing facility, a tool on SmartOS that lets you dynamically and in real time troubleshoot kernel and application problems and performance issues. With DTrace, you can ask arbritrary questions of any DTrace enabled application.
For example, you could ask DTrace to show you all MySQL queries matching a particular string that take over 500ms, in real time. The DTrace Toolkit, a 3rd party repository of DTrace scripts, has over 200 such scripts that give you all kinds of insight into the system, where, in a Linux environment for example, you would be ‘blind’.
API and web management
We have an API available which clients can use to manage their VMs. VMs can be created, started, stopped, template and destroyed. This can also be done via a Web GUI.
Netboots (simplified upgrades)
SmartOS is extremely lightweight, and ‘netboots’ over the network into memory. To update to the latest version, no installation or update procedure is necessary – the host can simply be rebooted, and it boots up onto the new version.
‘Linux-ised’ and package management
Our SmartOS Containers look just like a standard Linux distribution, with a GNU user environment as standard. This includes having a network based package manager similar to Debian apt or RedHat yum, allowing you to simply “pkg install” software from a repository loaded with the latest software.
You can control IOPS like any other resource
In cloud computing, disk access (measured in Input/Output Operations per Second or IOPS) is potentially one of the biggest platform bottlenecks and is often a resource which ‘runs out’ before others, such as RAM and CPU.
In spite of this, with other virtualisation technologies, it is difficult to get visibility on IOPS and control them. Not so with SmartOS: the ZFS Fair Share Scheduler allows you to manage IOPS just like any RAM, CPU or disk space. Again, like CPU, it is burstable – you are guaranteed an appropriate amount of IOPS based on your Zone size, but you can burst and grab free IOPS should you need them.
This – coupled with the advent of Solid State Drives (SSDs), which we are now running within our cloud and which can do tens of thousands of IOPS (compared to a few hundred in a spinning disk array) – means that, with EveryCity, disk access issues are becoming a thing of the past.
‘Commit plus burst’ policy
Bandwidth has long been sold on a ‘commit plus burst’ basis. Thanks to the burstability and manageability afforded by SmartOS, we have extended this concept across the board to all resources – RAM, disk, CPU and IOPS. Should you require more resource, for whatever reason (a surge in traffic, logs filling up you drive etc) we simply make it available, free of charge, so as to ensure non-interrupted service. Typically we only charge for resource upgrades when the higher usage becomes sustained.
ZFS is the only production operating system filesystem that checksums all data on disk (NTFS, ext4, etc do not). This guarantees data integrity.
Moreover, as ZFS ‘telescopes’ the storage stack, and handles all levels (RAID, volume management and filesystem), not only can it detect corruption, it will automatically repair it from the RAID parity. This ensures your data is protected against silent corruption and bit rot.