AppSense at Virtualization East

July 30, 2009

A few months ago I presented at SysCon’s Virtualization Conference in New York. To anyone who has not been to one of these events I would thoroughly recommend them -good sessions and plenty of interesting conversations to be had in the corridors. My interview with Jeremy Geelan where we talk about desktop virtualization now and in the future has just been published. The video is available here:

http://tv.sys-con.com/node/1000899

If that interests you, I will presenting at the Santa Clara virtualization conference in November. Hope to see you there.


VDI Personalization and Configuration: Profile Management & Logon Scripts – not enough for multiple delivery mechanisms & OS platforms?

July 24, 2009

As a leading user environment management vendor, AppSense are in a unique position in that we have been involved many VDI projects and rollouts, of which the majority vary in architecture, technology and requirements.  One thing that does however remain the same between such projects is that of the requirement for user personalization management.

For many years the roaming profile provided user personalization in SBC environments, however as VDI deployments become more and more complex, with varying methods of desktop and applications delivery, along with multiple desktop operating systems and subsequently, profile versions, the roaming profile is no longer able to provide the user with their required settings in such (complex?) scenarios.

Furthermore, these desktops must now be constructed and configured based on the context of the user and/or connecting device.  i.e. mapping specific printers local to the user and device dependent on the location of the user logging on, or applying security policies to hide or remove access to network drives, folders, data and functionality such as copy and paste or print, again, based on the location of the user.  Whereby the desktop delivered to a user when connected locally inside the corporate LAN is different to that of the desktop delivered to the same user when connecting remotely from outside of the LAN.

One more point to consider is that of enabling the user to freely roam between the server hosted or provisioned virtual desktop, and the users local desktop device such as their PC or roaming laptop.  How do you as IT enable user settings to automically follow the user between different platforms?

AppSense Environment Manager was designed from the ground-up with functionality to accommodate the above requirements, making it, or, other user environment management solutions essential to the mass adoption of VDI on an enterprise scale.  In essence, AppSense provides the ability to encompass multiple delivery technologies and OS platforms by allowing the user to roam between the paradigms without any noticeable change to their desktop or user experience, enabling IT and the organization to benefit from flexibility, agility and lower TCO.  I do at this point want to highlight that this is different to the personalization management provided by the leading VDI vendors (Citrix, Microsoft, VMware etc), as their in-built functionality is typically designed for their delivery platform, not each other’s.   In essence, further to the advanced personalization and simplification of desktop management, AppSense also enables an organization to use combinations of both existing technologies, and (potentially) more importantly, any future VDI delivery technologies and vendors.
 
I have just found a very nice blog covering the functionality of not only AppSense Environment Manager, but also the base technology inherent within the leading VDI service providers – Citrix, VMware and Microsoft.  Hopefully from this blog post, and the information over at GenerationV, you will see how AppSense bridges the gap between the roaming user and a dynamic, flexible VDI model..

For more information on this, the GenerationV Profile Management blog can be found here


The Disposable Laptop Project – reducing the cost for the AppSense user base

July 23, 2009

One of the things that I have been driving here at AppSense for some time now is something that I call the “Disposable Laptop project”. 

Let me set a scene;

At AppSense we have made use of the Remote Desktop Services and XenApp technologies since inception of the business back in 1999 (OK, so the technologies had different names back then, but in essence delivered a desktop and application set to the user population – much like they continue to do for us today :-) ).  One of the significant factors for our using this technology was that we would reap the rewards of low cost computing with regards to the end point devices that we used.  Back in ’99, we had a dozen or so thin client devices in the business (probably cost $500 each back then) that didn’t ever require any IT support time really at all.  IF they broke down, we replaced with another device with around 10 minutes downtime for the user, and we were off again.  I say IF, because we still have most of those devices today, and if it weren’t for their inability to deal with scrolling etc in the likes of Microsoft Excel, they would still all be in use.  What a fantastic return on investment we have had from those devices. We all know this story, since we most likely all have made use of the same technology and reaped those same rewards over the years.

As time has moved on however, our challenge has morphed, because our sales and marketing folks now have differing needs from the IT systems that we provide to them, and the key change is that of mobility.  So as a result, where in 1999, 75% of our employees used thin client devices accessing a Server Based Computing solution (the remaining 25% being developers with powerful laptops or workstations), we find that TODAY, only 20% of our workforce operate solely from a thin client terminal, with laptops now being almost the defacto for new starters in the business.  So over the years the cost to support and maintain our workforce has gradually been creeping up for all the usual reasons (even though the acquisition cost of the mobile device is slowly dropping);

  • Administrative requirement to enble the user to add printer drivers etc
  • User installed applications causing stability issues on the laptops
  • User data and security – how to manage our data and back it up suitably
  • Laptop theft / damage causing downtime for the user while they await a new device – only to find their data was not backed up suitably and that they would have to create the document(s) from scratch / memory

I don’t think these challenges are any different from those that other organisations also deal with on a daily basis, but that does not detract from the pain caused for the end user at the time, and the cost that it is implying onto the IT group, and hence the AppSense business.

The reason that we were so able to reap significant rewards was simply that the SBC solution allowed us to deliver a standardized desktop to the user population that enabled them to do their job.  The fact it was standardized, meant we were far more effective with our use of IT resources. 

Back in 1999, nobody spoke of standardization and my analogy of Lego (see recent posting – “Standardization / Lego blocks – crucial for managing desktop infrastructure?” – http://appsense.wordpress.com/2009/07/22/standardization-lego-blocks-crucial-for-managing-desktop-infrastructure/) just plain would not have worked out so well, since the closest anybody came to standardization was low level imaging of servers and applying a new server name and the all important SID to each new “imaged machine”.

So, now the scene it set, let me get back to the point ! :-)

As we step forwards, we are now seeing technology arise that allows the Lego analogy to function and will allow me to drive my new project within the company that I know will have significant value to most other enterprises – the project is simply this – “The Disposable Laptop Project“. 

I want to continue to be able to provide IT in the form of a mobile device (as appropriate of course)  to our user population that enables them to deliver upon their job function.  However, I want to do it in a way that is (from the IT Group’s perspective) as controlled as the deliverable back in ’99, but that offers the freedom of today, where the user “feels ownership” over their corporate laptop, having the freedom to personalize it as much as they do their home PC.

By using the Lego approach, we can ensure that we have;

  • Single Standard Operating System
  • Core application set layered on top of the above
  • User installed applications managed as a separate layer on top of the above
  • User personalization to ensure look and feel of all the above remains personal to the user
  • User data management – managing the data that all of the above are actually (and ultimately) there to serve

As a note I accept that it most likely will not be possible to only have one shared OS image, but the point remains – we have (for example) just 4 images to manage rather than 1,000′s.

By enabling the management of each of these layers individually, we are able to quickly construct the mobile device operating environment on behalf of the user seamlessly.  This makes the mobile device no different from a hosted virtual desktop incidentally – I could be talking about either environment or BOTH of course.

So, in the situation where user Oliver has just had his laptop stolen from the trunk of his car, the IT group can allocate Oliver a new device, provision an OS and the core apps to the device.  As soon as Oliver logs on to the device for the first time, his own user installed applications will be applied, as will be his personality information as well as the data that is ultimately used by all his applications.  The point is that within 30 minutes, Oliver will be set to work without needing to worry about any of the things that enable him to work in the first place.  This is a huge saving for Oliver as he does not now need to go off and find the tools / utilities that he requires, download all the data (worse still, re-write the data), and then spend days making the whole environment look just like it did yesterday.

You get the picture – so how is the project getting on in AppSense?

 Well, my own laptop TODAY has a base OS delivered to it, the applications are actually locally installed (soon to be delivered to the device via an application virtualization technology) I have my personalization dealt with by one of our own products (Environment Manager) and I curently employ standard Microsoft Offline Files within Vista to deal with my user data.  I am also making use of a very early user installed applications product that AppSense are working on (demoed recently at the BriForum event in Chicago) to manage my own user installed aplications.

Thus far, I find that the offline files are OK, but I am unable to store Outlook PST files on them since they will not synchronize as I have them open most of the time.  This for me is a bit of a showstopper as the files that are possibly the most important to me will not ever be synchronized and hence in laptop failure / theft, I would still be left high and dry :-(

My personalization follows me beautifully between the laptop (MS Vista), the XenApp solution (Windows 2003 Server) that AppSense have at my disposal and the hosted virtual desktop solution (MS Windows XP) that I also make use of occasionally.  If we look at that again quickly, we may just notice the subtle point here – I am able to use both V1 and V2 of Microsoft profiles here and share my settings across the two without actually worrying (or indeed caring) that there are two versions in use.   This is actually a very key point for the Environment Manager solution since our user population are not ALL Windows XP OR Windows Vista, hence we need to cater for both.

The final piece for me is the user applications, and the new product I mentioned is managing this well enough for me presently to accept that I now have the very first “Disposable Laptop”.

The places that we need to work on now are the user installed applications and better management of the actual user data itself.  Once these two key components are under the belt, the cost for mobile computing within AppSense will have dropped significantly and the end users will be receiving a far superior service from the IT group. 

Watch this space!


Update From BriForum – Day 2 review from AppSense point of view

July 23, 2009

So we are now into the third day of this year’s BriForum event.  I have just spoken with one of the AppSense guys we have sent over and have summarized his thoughts and experiences thus far below.

This years BriForum is appears to be busier than ever, with our stand being very busy during the breaks as many people know of AppSense from the SBC/Citrix XenApp world, but have been hearing a lot about AppSense/user environment management been seen and talked about as critical to VDI.  So lots of interest and good questions from the attendees.  There is a global attendance too, with end users from the UK, France and Germany, so a strong European presence in Chicago this week..

As mentioned on the @BriForum Twitter feed, AppSense are show casing some new exciting technology, that too has gained lots of interest so far..

Doug Brown has also posted some of his findings from the event, can be found at http://www.dabcc.com/trackback.aspx?nCdType=1&nCdContent=11157

And as per a previous BriForum post i published yesterday, other blogs on the event can be found here: http://appsense.wordpress.com/2009/07/22/briforum-2009-independent-desktop-application-virtualization-conference/


Fair-Sharing CPU usage on Citrix XenApp to ensure Quality of Service and Faster Response Times (With AppSense Performance Manager)

July 23, 2009

The Server Based Computing (SBC) such as Microsoft Terminal Server and Citrix XenApp model offers many unique challenges for both architects and administrators. There are concerns of security, availability of resources, performance and the costs of hardware, licensing and ongoing management. Due primarily to opportunities for cost reduction in hardware purchases however, server consolidation through ‘optimizing performance’ has been the main area addressed. Fewer servers also result in lower licensing costs, lower maintenance overhead, and reduced electricity and cooling costs. However, it has now become apparent the real issue with performance is not just financial, but one of user experience. There is an ongoing tradeoff betweenensuring users receive a consistent ‘end-user experience’ while maintaining the minimum amount of hardware. 

 

Before considering CPU usage, management and optimization, it is first necessary to clarify CPU usage. When a figure such as 60% CPU usage is quoted, what is actually meant is the CPU is being utilized at 100% for 60% of the time. This shows a high CPU value is actually an efficient use of resource, rather than a problem.

 

A CPU utilization of 100%, while considered a problem by many, actually means maximum use is being made of this resource, and therefore achieving maximum return on investment. Problems occur when requests exceed 100% CPU utilization, whereby resource contention and bottlenecks are formed – although, this can be solved by efficiently allocating the resource between the users and running applications.

AppSense Performance Manager is able to control CPU usage in many ways, and may be used to not only resolve CPU usage issues, but also to ensure CPU resource to mission critical applications and users.  In this post I want to cover one specific feature function within AppSense Performance Manager – Smart Scheduling, or sometimes known as CPU Fair Sharing.

Smart Scheduling
With Microsoft operating systems, during process initialization, a priority is assigned for the process to run under. Microsoft Windows 2003 has the following priorities:-
Realtime, High, Above Normal, Normal, Below Normal, Low.

A process which has a higher priority will be allocated CPU prior to a process with a lower priority. Most applications when launched are given a ‘normal’ priority. This means that these processes form a ‘queue’ for the CPU and will receive CPU time only when it is their turn. There are a few standard system processes which are assigned a higher priority, such as the ‘Windows Task Manager’ which is automatically assigned a ‘high’ priority. This ensures should the Task Manager process require CPU time it will be given it immediately.

A process may consume a maximum amount of CPU time, known as the quantum time. If the process does not require the full quantum time, for example if it requires further data, it is able to release the process prior to completion of the quantum time, thereby allowing another process access to CPU resource.

When an application Launches, there are many calls to the disk to access new data, and therefore the process consumes small parts of the quantum time. Processes which involve a large number of calculations, such as highly mathematical applications, tend to use all of the CPU quantum time and are therefore CPU intensive.  If the timeline of processes within the CPU are mapped out the problems become immediately apparent.

For example – Below, Process A is Microsoft Word launching; Process B is a resource intensive Microsoft Excel macro.

 

Blog1

Scenario 1:- Only Process A is running in this scenario, the application performs at full speed as it gets CPU resource when required and disk resource when required.

Blog2

Scenario 2:- Process A and Process B running. In this scenario it is evident that process A has been dramatically slowed down as there is a length of time where it is waiting for process B to relinquish the CPU. This can have dramatic effects on the responsiveness of the process, and obviously increases the time to wait. As process A and B both have equal priorities one process has to wait for the other to finish.

AppSense Performance Manager includes ‘smart scheduling’ technology that is able to share the CPU resource more efficiently between running applications. The priorities of the process are altered dynamically. The result being that processes requiring a small amount of CPU time tend to be given a higher priority than those which tend to monopolize the CPU.

Blog3

In this way the CPU time is divided equally amongst both processes ensuring that each has a share and no one process is hogging the CPU, causing others to wait. Process B receives much smaller chunks of CPU time but similarly its waiting time is also short, ensuring that the application appears responsive to the user, and therefore still falls within its time to wait. The effect of this process is greatly reduces the CPU queue length.

By interpolating between standard priorities, and dynamically adjusting the priority of each process, AppSense Performance Manager is able to ensure more efficient processor usage. More importantly, from a user perspective, no application is seen to “freeze”, ensuring application responsiveness falls within the acceptable ‘time to wait’ period.

Share Factors
In the above examples we assumed both process A and B are equally important and therefore require an equal use of resources. In most cases this is not a true representation of applications and users. Servers contain both mission critical applications and also users with varying degrees of ‘importance’. By implementing share factors within AppSense Performance Manager, these applications and/or users may be given a higher or lower share of CPU time.

If the process A is a mission critical process then it may be assigned a higher share factor. The effect of this is to raise the priority of the process so that it may have a longer CPU time before process A is given a higher priority.

Blog4

Here process B has been given a higher share factor resulting in process A waiting on process B. The difference now is the time process A has to wait is a value which is configurable by the Administrator. A further function of AppSense Performance Manager is the ability to apply application or system state control. An application may be defined as having a high share factor when in the foreground, a medium share factor when in the background, and a low share factor when minimized.

If we now look at things from a user point of view, the application they are currently working on will always be guaranteed to receive CPU time, and can therefore always be made to function within its required time to wait, hence “performing well”. Other processes continue to receive a share of CPU time ensuring that they also function. One key system state for SBC systems is the ‘disconnected’ state.

By assigning a relatively low priority to all other states we can ensure that users who disconnect from the server without logging out properly, do not continue to consume valuable CPU resource which is then made available to all other users.

In conclusion, Microsoft Windows operating systems go some way to addressing how applications make use of system resources, but it is clear that in situations of high resource usage, such as in SBC environments, they are challenged. AppSense Performance Manager addresses these shortcomings. It provides many methods of controlling critical system resources such as CPU, Memory (both physical and virtual) and Disk. It’s CPU scheduling algorithm ensures that even in times of maximum CPU usage the server remains responsive for each user and application. If necessary, weighting may be given to ensure minimum response times for mission critical applications and/ or users.


Standardization / Lego blocks – crucial for managing desktop infrastructure?

July 22, 2009

There have been quite a few postings around the various application virtualization technologies over the years, but more recently something called “standardization”. This post is really to remind us of the importance of this “standardization” and how it affects our consideration of how we will build and support our IT infrastructure downstream.   It is also to set the scene for a future article :-)

We are all being pushed to ensure that the IT operation has a closer and more direct link to the business strategy of the enterprise, but that this must be achieved (of course)  for a fraction of the cost of the traditional delivery techniques. 

So, looking back to standardization - a great example of recent postings in this space would be the article from the AppSense Strategist, Martin Ingram, found at http://www.dabcc.com/article.aspx?id=9225.  While it was written back in November 2008, it really hits home with a few key points;

  • Standardization is key to delivering improved quality and service at reduced cost
  • Once you have standardized the components, you can leverage an automation technique to reduce spin up costs
  • Standardization AND automation will enable the cost of delivery to tumble

Martin uses a Ford Model T as his example which I believe  is really quite simple to understand.  Although to bring it a little closer to modern day, I like to view standardization as the “Volkswagen Group A Platform”- the standard group platform that multiple Volkswagen Group vehicles are based on – such as the Audi A3, Audi TT, Volkswagen Golf, Bora/Jetta, Bettle, Eos, Scirocco, Caddy and Touran as well as the SEAT Altea, Leon and Toledo and not forgetting the Skoda Octavia.  In my example, the Volkswagen Group have created a standardized platform that can be quickly adapted by all of the group companies to great effect, reducing cost and delivery times of their products.  Let’s face it, in today’s marketspace, this sort of cost reduction is a key consideration to a company being able to stay in business.

If we bring this back to IT service delivery, as Martin suggests, this is becoming far more critical to the enterprise since the ability to rapidly create/build desktop environments for users [consisting of base operating systems, applications, users settings for example] is a key requirement to deliver against the business needs.  At all times the user must be able to do his or her own thing and truly believe that the desktop is their own desktop that they can modify or personalize without much or indeed any compromise.  The IT Service team would now be managing a small number of building blocks (I refer to as Lego blocks – everybody knows Lego blocks and understands how to build things with them :-)) rather than worrying abut handling 1,000′s of desktop devices or laptops that are in a disarray of configuration, each of which requires one to one management as and when issues arise. 

The Lego already exists to manage the Operating System delivery (Citrix, VMware to name a couple of headlining acts), and the application virtualization Lego exists to deliver known applications on top of that layer (App-V, ThinApp, Citrix Streamed, Altiris SVS, InstallFree to name a few).  This leaves the user personalization Lego (AppSense Environment Manager fills this gap today), User Installed Applications Lego and of course last but by no means least, the User Data Lego. 

Over the next year or two, this is really going to become reality as the technology /Lego begins to evolve, and hence  allows the administrator to really be in a position to begin to manage all the Lego.

Let’s all prepare to play with the Lego! :-)


AppSense Technical University Training For Partners

July 22, 2009

I am excited about writing this one, the much awaited 2009 AppSense Technical University is soon upon us! It will take place in October and November!!  Following on from our previous events, there are some exciting new developments at AppSense that we would like to share with you; amongst other topics:

  • User Introduced Applications (UIA) Technology – do we need, and how do we enable, users to install applications into non-persistent VDI sessions, and have the applications (and settings and preferences) remain available in the next non persistent vdi session?!
  • AppSense Management Suite Version 8.1 Product RoadMap
  • ‘Policy & Personalization’ best practices across virtual and multi OS platform environments

Uni

 

Why attend the AppSense Technical University?

The AppSense University is a ‘free of charge’ event to our AppSense Certified Solution Partners, and is a great chance to meet up with the AppSense Technical teams, as well as your peers from within the community. As a valued member of our Certified Solutions Partner program, you are invited to this comprehensive technical update and networking event.

The 2 day event will include in-depth, hands on training designed to enable you to provide consultancy services and implement the AppSense Management Suite for prospects and customers.

Register for further information

As always, AppSense is hosting several Technical University events in locations around the globe. If you are interested in attending an AppSense Technical University, click on the country or region most relevant to you and we will keep you informed of the event details:

United States, November 2009 

United Kingdom, October 2009

Norway, November 2009

DACH Region, November 2009

BeNeLux, November 2009

Australia, October/November 2009

We look forward to seeing you there!

Best Regards,

The AppSense Technical University Team.

Website: http://www.appsense.com
Email: university@appsense.com
Telephone: +44 (0)1928 793 444


AppSense Sponsor a VMware View VDI Focused Seminar Run By Phoenix Software For Education Organizations

July 22, 2009

AppSense are proud to sponsor a VMware View focused event hosted by  Phoenix Software (Phoenix are a leading Citrix and VMware solutions partner in the UK) Virtualization Solutions event, focusing on VDI for Education organizations.

VDI can reduce desktop TCO, and this event will show how by combining VMware View with the world leading user environment management solution from AppSense,  Management Suite Version 8, will provide a rich desktop experience at lowest possible cost.

The events will take place at:
Harrogate – Tuesday 1st September 2009
London – Thursday 3rd September 2009

You can register at:
www.phoenixs.co.uk/events

Further information can be gained by emailed seminars@phoenixs.co.uk or contact Joanne Halley on +44 (0)845 265 1232


BriForum 2009! – Independent Desktop & Application Virtualization Conference

July 22, 2009

This years BriForum is well underway, and already there are many blog’s keeping us who were not fortunate enough to attend up to date with all the breaking news and gossip.

Rene Vester has kindly grouped together the BriForum blogs he is aware of -  here

BriForum can also be followed on Twitter, by either following the BriForum hashtag – #BriForum , or, following the official BriForum Twitter feed @BriForum

Brian and the team have also started uploading photos from the event to their Flickr account – here

Of course as world leading User Environment Management solution provider, AppSense are in attendance, so please pop over to the booth if you have not yet seen or do not yet use AppSense Management Suite Version 8


Citrix Session & Application Timeouts, a Great Solution

July 21, 2009

I had a great day on Tuesday. An AppSense client had an issue where their remote workers experienced their Citrix applications timing out on them.

After connecting, and using application 1, by the time they go to use application number 2, it had timed out, and when they try to restart it, Web Interface had timed out as well.

So the clients question was  ”How can AppSense help me?!”.

Enter “ENVIRO-MAN” from the left of screen. All dressed in pretty green and looking surprisingly like the Environment Manager Product Manager :-)

“Your session timeouts do not scare me” he roared as he landed awkwardly on the photocopier, injuring his knee.

While ”ENVIRO-MAN” proceeded to bore one of the office staff with stories about the mighty Blackpool Football Club, I decided to dig in and fix the problem.

Session Timeouts are controlled by a number of parameters – as examples, there are some per server settings based on type of connection (RDP or ICA) and some user based settings set in Active Directory.

However, if you require more granularity, that’s where AppSense Environment Manager lives…

By using a Group Policy Action (Set ADM Policy / Set ADMX Policy), I was able to load in the ADM settings from the “C:\Windows\inf” directory.  I then typed “session” into the filter, and up came the Terminal Server Session Timeout setting…  Magic :-)

By using EM Rules/Conditions I could now vary the Session timeouts based on IP address, Client Name, or even by integrating it into the results of Citrix AAC filters :-)

I demoed it to the client (they were blown away), thanked ENVIRO-MAN for his help and left to help the next client in need.

All in a good days work :-)


Follow

Get every new post delivered to your Inbox.