My login’s too cold – it’s not all about TS and VDI

August 17, 2009

Goldilocks was hard at work managing “Three Bears Industries”. She added a default printer here, mapped a network drive there, and sorted out a few group policy settings. All in a days’ work for the over worked, under paid IT administrator.

She heard a noise a the front door – “The Bears are back!!!” she exclamed, and slipped quietly out through the back door and on to her next client.

“My Login makes me tooo Hot – Hot and bothered from waiting!!!!! ” yelled Papa Bear. “My Login makes me toooo cold – I feel like hibernating ! ” grumbled Mama Bear.

Baby Bear looked at his parents with big blue eyes and said “My Login just sucks !!”. You gotta love kids, they always say what they feel. But then, that’s the harsh reality in thousands of organizations – Logins suck!!

“Three Bears Industries” needs AppSense.

“But isn’t AppSense only useful in those environments? Why do I need AppSense if I’m a fat client site?”.  Think about it, If AppSense provides value in VDI and TS, then why would it NOT provide value in a real physical desktop?

In two weeks time, I start a rollout at a site who saw value in AppSense at the desktop level – around 3,000 of them to be precise.  AppSense has hundreds of desktop sites around the world – managing profiles, security and performance with our software.

These guys went through our ROI process a couple of months back. We found they were losing around 80 man hours per DAY while users sat around waiting to login – thats 10 people every day they were paying for nothing. We also found the Helpdesk staff were spending around 300 hours per month fixing profile issues.

I introduced them to ENVIROMAN – looking very Borat like in his bright green Budgy Smugglers. He showed them a couple of quick demos, rollback of personalization settings, streamed application settings from desktop to desktop, and the rest is history – Thank You ENVIROMAN – your subscription to “Geek Monthly” is in the mail :-)

But seriously Guys, checkout our value on the desktop – your wallet will thank you.


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.


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


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 :-)


Profile Corruption, Last Write Wins, And Profile Rollback

July 2, 2009

One of the biggest problems in a SBC (Microsoft Terminal Services or Citrix XenApp) and VDI (Citrix XenDesktop and VMware View) environment is that of the issues caused by the dreaded Roaming Profile.  One such issue which plagues both users and IT Support desks alike is Profile Corruption.

Profile corruption is seen as innevitabele when using roaming profiles, and can leave a user locked out of their desktop for hours, support desks inundated and overwhelmed with support cases, and is a huge drain on resources at great cost to a business.

AppSense Environment Manager not only prevents Profile Corruption, but also enables IT Support desks to reduce other profile related support cases from being a 2 hour resolution process, to just 5 or 10 minutes.  This not only improves user satisfaction, but makes for a more efficient, and lower cost support desk.

Profile corruption can occur through the overwriting of user settings as a user logs off from concurrent working sessions and settings made in each separate desktop try and write back to a central store.  Often overwriting each other, causing conflict, and leading to corruption

With AppSense Environment Manager, when a user launches an application, regardless of how it is delivered to a user (local install, Citrix, Microsoft App-V, VMware ThinApp, InstallFree etc…), we inject a Profile Virtualization Component (PVC) into the running process which allows any personalized settings, i.e. writes to the registry or file system, to be virtualized and therefore effectively redirected to a ‘local virtualization cache’ located on the user’s endpoint or within the user session itself (in the case of TS/XenApp).  This is an automated process, no need for manually specifying which registry keys or settings to capture. 

When the application is closed (not just at user logoff), the contents of the ‘local virtualization cache’ (only those [delta] changes made by the user during this running instance of the application) are then synchronized to a back-end database server so that a centralized copy of the user’s personalization settings is now available and able to be streamed back into open concurrent sessions or across multiple delivery mechanisms.

This eliminates the last write wins at the session level by not writing back to NTUSER.DAT at logoff. Significantly reducing the window for corruption as settings are syncronized back throughout the user session, not all in their entirity at logoff. 

So now as an additional benefit, settings can be shared across concurrent sessions as the next time the user launches the same application, be it from the same or a different concurrent session, the contents of the ‘local virtual cache’ are checked to see if the settings are up-to-date.  If they are, the user will get their latest personalization settings from the local cache.  If the settings are out-of-date, then the new delta user personalization settings for that specific application will be streamed down to the endpoint device on-demand.

With remediation tools such as Profile Rollback, application settings (which are stored in the SQL database at a per application level for each user) can be rolled back with just a couple of clicks in the AppSense console.  This takes 2 hour support calls down to just 5 or 10 minutes, and the beauty is, as the user settings are virtualized and so are not part of the desktop itself, the user need not log off their session for the rollback to occur.  Merely close and re-open the application in question..


Managing Roaming Users & Printers Across Desktop, Citrix & VMware

June 28, 2009

Managing user printers and printer policies across Desktop, Server Based Computing ( SBC – Microsoft Terminal Server & Citrix XenApp) and Virtual Desktop Infrastructure (VDI – Citrix XenDesktop & VMware View) environments is becoming increasingly complex.

Administrators are spending huge effort (meaning they are also missing on investigating other projects) managing complex logon scripts to perform printer mappings, and, when printers are not available, for example if the user has roamed or changed desk or location or changed desktop delivery mechanism, IT must answer a support call and manually map the printer for the user.

AppSense Environment Manager solves this issue by automatically mapping the local or closest printer to the user and thier device (no matter how their desktop is being delivered to them), without the need for any complex logon scripts.  This not only reduces the time and costs associated with ongoing IT operations, but also improves the user experience and ensures all printed documents, including confidential data, is printed to the correct printer.

Using a combination of conditions (when an action is to apply) and actions (the application of a specific policy, in this case, mapping a printer) AppSense Environment Manager will dynamically map any pre-determined printer based on Client IP or MAC address conditions.  As an enterprise focused product, this all achieved and configured in a very simple and intuative management console as opposed to traditional complex logon scripts and policy actions.

Further more, it is common practice for many enterprise environments to have dedicated printers mapped and used exclusivly by specific applications, such as ERP or Finance applications.  AppSense Environment Manager is again used by thousands of organzations around the world to help provide a logical and cost effective solution to ensuring certain applications always print to the same secure printers. Please see the screenshot below showing that when the JD Edwards application is launched, and the user is running the application on a client within a set IP address range, then a specific printer is automatically mapped as the only printer available for the application.App_Printer

In this scenario, printers can be enforced as the only printer available for a specific application, based on either application name or, application IP address if it is delivered from a silo via streaming or publishing technology.   With that said, AppSense Environment Manager can also provide security in that the user can not change the printer, yet requried flexibility of allowing the user to change specific settings such as paper trays, paper sizes, formats & finishing etc..

In conclusion, printing can be a troublesome, time consuming issue, but it needent be.  AppSense Environment Manager is not only proven to resolve these issues, but also reduce opertional costs and provide a strong ROI.

For more information, please visit www.AppSense.com