Monthly Archives: February 2015

Netscaler and persistency groups

So you are trying to load balance a feature which requires a clients to be redirected to the same backend host using mulitple protocols. For instance an ecommerce site, might allow you to add stuff to the shopping cart using HTTP and then when you want to sign in order to purcahse you need to switch over to HTTPS. And during this process you want the persistency maintaned since data is then locally on the webserver.

Another things is RDP. Now even thou RDP works fine with just TCP 3389 it also uses UDP 3389 for delivering bitmap transports. Vmware View also uses TCP/UDP combination for such a thing with its PCoIP. Now in order to accomedate for this we have Persistency Groups in Azure. By default we can only load balance for a single port at a time.

Now in this scenario we have to LB VIP servers, 1 server which responds on port 80 and another on port 8080. (Which responds on two different VIPs) but underneath these are services hosted on the same server.



After I’ve created these I have to setup a persistency group. Which is under the same load balancing tab. Then I have to give it a name, choose persistency type (I have only two options here, either source IP or cookie insert) then I have to choose what kind of vServers are to be placed in the same group.


Now there aren’t many ways to show if a Persistency Group is actually working, but if you go to the traffic management pane and click on “virtual server persistence sessions” it will show what sessions is attached to the persistency group.


ecommerece is here not a virtual server but represents the persistency group I just created earlier.

What is Azure RemoteApp and what it isn’t

Microsoft released Azure RemoteApp december last year, and there has been alot of speculation on what Azure RemoteApp actually is. Now it has been in preview for a while and I have been able to test drive it for a long time. So therefore I’m going to tell you Azure RemoteApp is and what it is not.

First of Azure RemoteApp is RDS RemoteApp as a service from Azure. Meaning that you get access to your applications using RDP (sorry no full desktop access)…


Most of all the modern platforms have a RDP client which can be used to access Azure RemoteApp. Which is simply RDP beneath, but Microsoft added some extra bits to handle Azure AD Authentication among other things.

All users who access applications via Azure RemoteApp are given a user profile disk which is 50 GB which MUST be used to store data. Unlike a regular RDS deployment, Azure RemoteApp servers are stateless and might be deleted/removed for instance during patching. Therefore it is important to use this User profile disk or other storage options like OneDrive/Dropbox etc..

Now the problem with deployments being stateless is that you cannot setup solutions like ERP/CRM applications which requires SQL Databases stored backend. Another issue is that you cannot yet integrate an existing IaaS vNet in Azure with Azure RemoteApp. The only way is to setup a 2S2 VPN between the two deployments.

In order to deploy our custom LOB applications to Azure RemoteApp I would need to create a custom VHD containing 2012 R2 with RDS session host installed with my apps. Then I need to upload this VHD to Azure and then Microsoft will use that as an golden image to provisiong virtual machines.

So it seems to be a bit difficult to  use Azure RemoteApp for all LOB applications, so what are its use cases ? After alot of speaking with partners and other techies I have a couple of pointers

* Applications which are barely used (Given the nature of Azure and pay-as-you-go) and are self-contained (This could save alot of money)
* Access to Office ProPlus (Given that you have customers which has ProPlus licenses in their subscription)
* Web based applications which requires Internet Explorer (Alot of Mac users out there which requires access to corporate applications which run only on IE)
* Applications where the usage fluxates (given the scale up ability of Azure RemoteApp)

What Azure RemoteApp is not so good at.

* Running GPU enhanced workloads (Since Azure RemoteApp only uses TCP you have low performance on GPU stuff)
* When you want statefull RSDH deployments (And other ways to manage profiles)
* Single instances of ERP/CRM systems on a RDSH server (many want this type to replace their current server, but this is hard because of the stateless feature of RemoteApp)
* Appliations that require use of backend database (Since Azure RemoteApp does not have a integration between a regular IaaS platform in Azure you need to setup a S2S VPN which generates a higher bill.

Now even thou this is a first release, Microsoft is a good step in the right direction, but they just need to make it easy for admins to add custom images directly from Azure, integrate with existing IaaS in Azure and of course simple things like Shadowing and controlling policies directly from the management portal.

“New” Netscaler book project in the making

Now the last couple of months I’ve again been involved with a Netscaler book project with Packt. This is a more advanced book then my previous book with was a more introduction to Citrix Netscaler.

This new book is called Mastering Netscaler which has more in-depth information regarding load balancing, appfirewall and such.

But… I kinda feel that this book just covers a fragement on what users want to read about when they buy a book about Netscaler.

Therefore in order to get things right, I was thinking about creating a third book about Netscaler which covers all the subjects, stuff you want to read about. Therefore this post is merely for you to give feedback to me Smilefjes

If you could please give me a few senteces about what YOU would want to include in a Netscaler book ? Please drop a comment below this post.

and if you are willing to help me form and maybe contribute to the outline and possibly help me write the book as well that would be great, just send me email to

vCloud Air – setting a standard in IaaS performance

The last couple of days has been active for Vmware, with the release of vSphere 6.0 and with over 200+ features/enhancements. Also with an addition to vGPU annoucement which is a serious improvement to end user computing stack in Vmware. But… for my part with limited hours in the day I’ve been busy giving vCloud a good run. Coming from Microsoft land and being familiar with Amazon AWS, its quite a jump to vCloud air. Let’s do some initial comparisons first. Both Amazon and Azure comes from a PaaS point of view, wrapping a lot of different predefined services and then moving into IaaS.For instance in Amazon and Azure I am bound to creating a virtual machine instance set to a predefined size (of course I can scale out later) but in vCloud I have a set of resources which I can mold in any shape I like. I can define CPU, memory and hot add disks for instance.

Vmware on the other hand is fully dedicated to IaaS, and the sole purpose is to deliver virtual infrastructure. Either if its a extension of our own infrastructure or if it is a dedicated on-demand cloud. Now I’ve been testing alot of different performance benchmarks on Azure which can be seen here –>

Today I decided to dig a bit deeper in vCloud what some of the capabilities. Vmware has a 300$ free trial for on-demand services that can be used for those that aren’t wanting to use a credit card to give it a test-run.


Now after setting up a initial account we have to create a service to it.


The user interface is pretty easy to use. I signed up for a virtual private cloud on-demand, which is one of the “plans” that Vmware has.and therefore I can only create a private cloud in one of these datacenters.


So after choosing a location for the private cloud, it takes some time before all configuration is done since its creating a virtual datacenter , gateway and routed network. After this is done I can go ahead and create resources


Now what I did capture here is that before I choose hardware for the virtual machine I can choose different operating systems from a gallery (I can also create a custom image from scrtach)


Here I can customize the hardware on how much memory I can attach, CPU (There is also a link between cPU and memory) and also I can choose SSD based or regular HDD based storage. For the purpose of this post I started out with a regular based HDD and did a hot-add SSD after to show the difference. Note that provisionig stage here took like 10 mins! after that it was done I was able to login to my desktop. One thing I like about this is that I can start a console connection to the VM directly from the web console (yes it requires a plugin installation)


I can also go in and edit the resources directly. and I also have the option to manage all the resources in vCloud director, which vCloud air runs on top of. I can also create a snapshot directly in the console. So this is something I miss in Azure and Amazon.Now it took sometime before I was able to use the VM to communicate to the outside world, but this was because I needed a public IP which I could attach to the virtual network but after this was done I could get to my tools Smilefjes

I did a quick CPU chart and HD tach to get some more info about what hardware was underneath here. So my vserver was running on top of a Intel Xeon (Ivy-Bridge) CPU


which was new info to me, but the most interesting part is the disk performance. As I mentioned I added a regular HDD disk of 40 GB (Which the OS is installed on) where I did a simple read test (similar to the one on Azure disks as well) where I got some interesting results


This test was consistent the 5 times I ran it with an -5+% result difference. Then I ran the test on a SSD based disk, which gave me alot better performance.


Now these initial tests were just to give me a simple overview of how the performance is,  But I have to say that based on my initial testing in vCloud air, Vmware is setting the standard for how an IaaS cloud should perform.

UPDATE 1: I did a new test using my locally installed SSD drive which is a Samsung 840-series and a test against a VM running in Azure on a storage premium data disk on the same size. Now I did setup a Azure premium VM with the largest size of storage premium which gives me 5000 IOPS instead of the regular 500 (which is a max cap)


When running against my local SSD drive I get the performance that is promised. About 520 Read and 420 Write MB/s. And a pretty decent amount of IOPS. Next is against vCloud air Storage premium data disks.


Which I see has a pretty decent amount of read and write which is about 200 MB/s which is what the maximum cap is at (and I have about 5000 IOPS)

vCloud on the other hand has no limits to disk IO and therefore has no “restraints” it has better troughput but lower IOPS then my disk. This might be because of cache, latency or block sizes which I didn’t take a closer look at.


Still i’m guessing that Vmware has to at some point add some restraints to their cloud as well. Since it cannot scale out so much without being able to measure the capabilities on each customers.