So I just recently attended a technical training of Atlantis ILIO and I had just a minor clue of how the stuff worked before I attended the training. Atlantis has been in the marked a couple of years and has already won a lot of awards at both VMworld and Citrix Synergy. Therefore since I didn’t fully understand it myself I thought I would spend this post to explain how Atlantis works.
Their main products are Atlantis ILIO Persistent VDI and Atlantis ILIO Diskless VDI. (In addition, a couple of other products, which I will come back to later.
Now the entire idea behind Atlantis is using RAM as Storage for VDI environments. Sound like a good idea right?
In a traditional VDI environment, I would have a pretty decent SAN where I would store all my VDI’s and a virtualization host and some redundant network equipment in between.
So here I would need a good setup between the desktops running on the virtualization hosts, the network and the SAN in the backend. So If I deploy a VDI environment on really high performance virtualization hosts and a really high speed network but on a slow SAN solution im screwed.
The desktop for the users, would most likely behave like an old faction computer running on a 7200 RPM disk. If you remember those running on PATA cables they can deliver around 75 – 100 IOPS. Most users today are used to using SSD on their laptop computers and they except that a centralized computer environment with expensive equipment should be at least as quick as their regular computer (because if it is slower then they are used to, they will switch back to their regular computers)
Now an SSD drive have a MUCH higher IOPS then a regular drives since they don’t have spindles. My SSD drive can deliver about 6700 IOPS (Via IOmeter). (On 4KB) so which of them deliver the best performance my SSD or the 7200 RPM disk? J
So back to Atlantis, what it does is that it uses RAM as primary storage for VDI. Meaning that it exposes RAM on the virtualization host as a storage unit for the virtual desktops (Now RAM is volatile meaning that data is erased when the system is turned off but I’ll come back to the later how Atlantis handles this) Now Atlantis is a virtual appliance which runs on the virtualization host (Vmware, XenServer or Hyper-V 2) and you give it as much RAM as possible for use at storage.
So we setup Atlantis we define how we want to expose the RAM disk to the hypervisor (Which is either accessible via iSCSI or NFS) and then we need to connect this “storage” to the hypervisor and then start creating virtual desktops on the newly created storage. Atlantis also has a couple of features like inline deduplication & compression, which reduces the actual usage of ram to a minimum. (Since in many virtual desktops environment a lot of the data is duplicate (OS, Data, apps) we can save up to maybe 80% data.
Brian Madden has done a quick test to show actually how much a virtual desktop uses.
(On a per desktop basis, this means that each VM is using 28GB on average (40GB allocated) of virtual storage, but that is consuming only 1.5GB of physical RAM per desktop.)
Now we can increase the density of virtual desktops on a hypervisor and they will have major improved IOPS since they all run in RAM. You can look at a test done here à
http://vimeo.com/34231558 to see the difference, with and without ILIO.
So this means that it easy to “move” to using Atlantis in an environment since it’s just a piece of software. Just have to create a VM with the amount of ram and create new desktops and you are ready to go.
A quick calculation of how many VD you can have on one host à
Virtual Desktops Supported = ( 512 GB in the host.
– 6 GB Reserved for Atlantis ILIO
– 2 GB Reserved for the hypervisor) /
( 2 GB (For east VD) + 0.6 GB for RAM disk allocation) = 193 Desktops
This is with a 40 GB master image for Windows 7.
Now do not think that you now don’t need storage (You still do!) The Atlantis VM and the Hypervisor still needs to be placed somewhere, and if you are doing persistent VMs, you need to deploy Atlantis in another mode.
In the earlier releases, Atlantis did not do persistent desktops, only stateless but! they have a own release for persistent desktops where they have sorted out the placement and HA function of the VMs.
In this case (with persistent) we would need a Replication host in between that would sync all the persistent data from the other ILIO instances and deliver it to our SAN solution. This data is compressed and deduped so it does not use much storage.
We can also use this solution with XenApp and PVS. In that case, you would need to redirect the Write cache to the RAM disk.
Now we are talking cool stuff! J
So far, we have only been speaking about VDI solution, what if we could use this for other solutions? What if we could use this for other products like SQL databases, exchange or file servers?
Well its coming à
BTW: You can read a reference guide for a huge Atlantis implementation here à