Saturday, July 12, 2014

Architecting a Citrix Virtualization solution-Assessment: Application Delivery

After Operating System Delivery blog, we move to Application delivery

Applications form the basis of user workflow. In a virtualized environment, the applications account for most of the complexity in the environment, Assessing application delivery in a Citrix environment involves an on-site evaluation of the technical infrastructure and business processes as they relate to successfully delivering applications. An architect should gather information related to application behavior and dependencies. When possible, an architect should categorize applications used in the environment for design and testing.
Application Virtualization Strategy
Assessing the application virtualization strategy for an organization involves documenting an analysis of the current environment and identifying potential risks in the strategy and supporting infrastructure. Organizations often request this documentation for some or all of the following reasons:
  • To evaluate to which degree the current environment satisfies the goals of the organization
  • To provide a clear understanding of the environment through the observation of an outside party
  • To identify underlying and overt technical issues
  • To prepare for growth or major changes
  • To document the current environment for legal purposes, to validate compliance and to incorporate it into the final design
An architect can use the assessment documentation to strategically offer solutions to business challenges related to application virtualization.
Application Types
The number, type and complexity of the application sets will influence important considerations about the design of the virtualized environment. During the assessment, architects assess the different types of applications in the environment. Some of the common application types and groups include: productivity suites, base applications and special applications.
When assessing individual applications or application sets, architects ask the following questions to gather details:
  • Does a XenApp infrastructure already exist?
  • How frequently is the application updated?
  • What is the purpose of the application?
  • How many users--total and maximum concurrent--access the application?
  • How much disk space is available for this application? How much space is required?
  • What are the known dependencies of the application?
  • How is this application maintained in regards to existing desktop images?
Based on these factors, an architect will determine the best application delivery method in the design phase of the project.
Application Type Characteristics
·         Productivity: Productivity Suites include common applications or application sets that all users may require, such as Microsoft office to be productive.
·         Base Application: These are applications that are required in environments such as utilities, dependent applications or helper applications. Example, Java, or .Net. A best practice for assessment is to look for application prerequisites such as virtual machines which require different versions of java.
·         Special Applications: We need to determine the relevant application challenges in an environment. Special applications may require special considerations and treatment. Special applications include
ü  Mission Critical applications:  mission-critical systems were typically transactional applications such as airline reservation systems and vital enterprise-level applications such as ERP. These mission-critical applications were opened up to a far larger number of end users, customers and citizens with increasing expectations for 24x7 access and reliability
ü  Resource intensive: Applications that require heavy resources
ü  Challenging: Applications that are technically challenging to manage and support for example ERP applications
ü  Custom: Home grown applications that may or may not follow application development guidelines

Application Categorization
The following table is an example of the data an architect gathers on application and application sets, in order to categorize them.
Application Name
Base Applications
16-bit only
Virtual IP Required
MS Office

Adobe Flash Shockwave

Architects should ask the following questions:
  • What are the application requirements?
  • Which computing resource does the application use the most? What is the bottleneck?
  • Is the application available for offline use? Is offline use a requirement?
  • Is the application "Citrix Ready" Community verified?
For more information, see the web site.
Categorizing applications assists the architect with determining the best application delivery method in the design phase. By breaking down the characteristics of each application or application set, architects gain a better understanding of the resources required in the environment and the most efficient way to provide them to users.
Application Testing
Application characteristics and testing are significant topics for an assessment project. Questions architects ask include the following:
  • How are new applications handled?
  • Is user acceptance testing performed?
  • How are new applications integrated?
  • What is the testing process?
  • Is regression or system integration testing performed?

The following image is an excerpt of an application testing process.

Application Integration Recommendations

·         Requirement Gathering: Capture all application requirements , including napplication dependencies, location of backend application data, storage requirements, installation media, documentation and licensing etc.
·         Engineering and Testing: Verify if applications can operate in Citrix environment by testing in Xenapp server. Also test if several users can access and execute an application simultaneously. Incorporate the application into an automated installation procedure for testing purposes. Performance and scalability testing needs to be done using system metrics such as CPU and memory usage to determine bottlenecks and system behavior. Architect would also need to do regression testing to ensure that introduction of new applications does not affect previous functionality
·         User Acceptance: Determine if the performance meets user expectations

XenApp Implementations
The environment being assessed may already contain Citrix XenApp. In this situation, architects should ask the following questions:
  • How many XenApp farms exist?
  • Where is the datacenter for each farm?
  • What function does each farm serve?
  • Do multiple zones exist in each farm? If so, how are the zones configured and administered?
  • Is zone preference and failover implemented?
  • What is the current license server configuration?
  • How many licenses does the organization currently have?
Assessing an existing XenApp implementation will provide a Citrix virtualization architect the understanding of the environment needed to recommend the best solution for application delivery in the design phase.
Databases, particularly application backend databases, are critical systems to take into account during an application virtualization assessment. During the assessment, architects gather data about the existing databases in the environment.
Architects should ask the following questions:
  • How are the databases hosted? Where are they located?
A general recommendation in a XenApp implementation is to keep XenApp servers as close as possible to databases while replicating the databases across slower WAN links. This practice maintains a consistent farm configuration and state.
  • Does redundancy exist?
  • Are the databases on shared storage?
Using shared storage for databases in a XenApp implementation is a best practice.
  • Are the databases replicated?
  • Who handles the administration of the databases?
  • Does an audit process exist for database management?
  • Are there plans to upgrade the databases, if necessary?
  • If the organization is already using XenApp, which database is used for the data store?

Database Information
The information gathered about databases helps the architect understand the foundation of the current environment for application delivery. With this information, an architect can later make progress in the design phase in determining whether a potential update or optimizations to the current platform may address needs.
Terminal Services Profiles
In a multi-user or Citrix environment, organizations are likely already using Terminal Services. An examination of the Terminal Services profiles that are in place is a key part of an application virtualization assessment because it enables the architect to optimize the settings and facilitate simpler management of the environment.
Architects should ask the following questions:
  • Are roaming Terminal Services profiles being used?
  • Is folder redirection being used? How is it configured? Are Group Policy Objects (GPOs) used?
  • Where are the Terminal Services profiles stored?
A best practice is to store the profiles on clustered file servers with backup.
  • Which is the Terminal Services home drive?
For more information, see Citrix Knowledge Base articles CTX110351 and CTX19327 on the web site.
Load Management
Assessing the load management configuration and process is an essential task for application virtualization. Whether it is load balancing user sessions or servers that host applications and desktops, or determining whether an organization should be using the default or custom load evaluator, Citrix architects should inspect load management during the assessment project.
Relevant questions to ask about load management include the following:
  • What is used for load balancing? Is Citrix NetScaler used?
  • Is DNS round-robin used?
  • If XenApp is implemented, which Load Evaluator is being used? If the Custom Load Evaluator is being used, which rules have been implemented?
In Citrix environments, the Custom Load Evaluator is usually recommended, with specific configurations.
Session Timeouts
Session timeouts in an application virtualization environment are often inspected along with the applications for security and performance-related factors.
Architects should ask the following questions:
  • What are the current timeout values for active, disconnected and idle sessions?
  • Is Screen Saver disabled?
Lengthy idle timeouts increase the possibility of unauthorized users accessing applications and can also consume server resources unnecessarily
Application Access
An architect must examine the application access methods of an organization during an application virtualization assessment. It is crucial that each user can access all of the applications that they require, that these applications launch in a reasonable amount of time and that the performance is acceptable to the users.
Architects should ask the following questions:
  • What is the client or plugin version being used to access applications?
  • Which clients and plugins (Mac, Java, Linux, and so on) are currently supported?
  • If applicable, where is the authentication point? At the Web Interface? At the Access Gateway?
  • Is two-factor authentication used?
  • What is the level of administrator interaction, in terms of installation and updates?
  • How are user credentials handled?
  • Is the Web interface used? If so, is it running on a virtual server or physical?
  • Is failover configured?
  • Does the organization have multiple farms and redundancy?
  • Which ports are used?
  • Do any special considerations for application access exist?
  • The latest version of the Citrix XenApp plugin is recommended.
  • For large enterprise deployments, the Web Interface should be run on dedicated web servers, with the most recent version of the Web Interface installed.
If shadowing is used in the customer environment, the architect should examine the configuration and administrator permissions and assess them against best practices.
Architects should ask the following questions:
  • Is the organization required to follow HIPPA (in the U.S.) or any other type of regulatory compliance that governs access to or confidentiality of data that may affect the configuration of shadowing?
  • Does the organization use the SOCKS protocol?
  • Does the organization need to use shadowing? Which other monitoring tools are used?
Architects should keep in mind the following points when assessing shadowing configuration:
  • In XenApp environments, it is a best practice to leave shadowing on.
  • Ensure that the organization is not required by any regulations to prompt users before enabling shadowing.
  • Assess whether the organization needs to record user sessions.
Assessment Tools
During the data collection process for an application delivery assessment, architects evaluate the requirements, risks and optimal scenarios for application delivery.
Automated tools can help capture workload information for further analysis, collect application data and provide a snapshot of an organization's environment. Using this data, an architect can review application types, the number of client-to-server applications and the most-used applications. Examples of tools that can be used to gather this data automatically include Citrix EdgeSight and Liquidware Labs Stratusphere.
Architects may not have access or the ability to use automated tools. In this situation, the architect can collect the data manually, create scripts or use specific solutions to collect assessment data. The architect then must compile the manually-collected data with reports that can be used to evaluate the application delivery environment.
Architects should ask the following questions:

  • Which tools are used for data collection?
  • Are third-party tools being used? If so, which ones are they?
  • Who manages tools used for assessment and data collection?
  • Is a centralized monitoring tool used or is a centralized management infrastructure in place?
  • Is the organization deploying Citrix MFCOM scripts? 

No comments:

Post a Comment

Featured Post

Amazon Route 53

Amazon Route 53 is a highly available and scalable Domain Name System (DNS) web service.Route 53  perform three main functions in any...