Sizing App-V 5:Planning and Designing a Highly Available

Capacity Planning:
App-V BPA:
Performance Guidance (SP2 HF4):
App-V Supported Configurations :
Planning for Server Deployment:
Virtual Desktop
Local Desktop
End Point
Role Segmentation and Separation
SQL No Longer Single Point of Failure
Flexible Shared Content Store
License Management by App-V Management Server
Feature tied to legacy protocol
Provider Policies
Create another access layer that created many support incidents
Application Permissions
Use Applocker Policies
Text Logging
Logging: Now Decentralized and ETW-based
Canned Reports within Management Interface
Use SSRS or your favorite report viewer instead
Vapp Delivery Infrastructure
Persistent RDS\XenApp Servers
CM Integration
Non-Persistent XenApp\RDS
App-V Publishing*
Persistent\Static VDI\XD
Vapp Delivery Infrastructure
CM Integration
Non-Persistent\Pooled VDI\XD
App-V Publishing
Redundant Content Server
[DFS-R also available]
Universal App-V
Package Store
Stream to Disk or Memory
Root Store
Redundant Content Server
Client Orchestration
App-V Publishing
App-V Management Server
App-V Reporting
SQL Database Server (Mirroring
or Failover Clustering)
Reporting Database
SQL Server
Content Server
Management Server
Publishing Server
Reporting Server
SQL Server
Content Server
Prolonged stream fault
Failed stream fault
Loss of network connectivity indicator
“Pre-Mount” (Pre-Load)
Publishing feature block (FB0)
File streaming
UNC streaming
HTTP streaming
Streaming progress indicator
Allow offline option
You manage web services
IIS console is operations management and
troubleshooting resource
Services run as worker processes
Management Server
Publishing Server
As a part of publishing refresh, clients speak with their associated publishing servers to get publishing
Administrators can use Group Policy or client PowerShell command-lets to associate publishing servers
with the client
Publishing server is stateless
1. Publishing Services and Management Services run
in separate IIS Worker Processes
2. Admin adds Package, Configuration, Connection
Group(s) and assigns to AD Group.
3. DB and Publishing Sequence Number updated.
4. Publishing Server syncs with Management Server.
5. Clients sync with Publishing Server.
Reporting Server
20,000 clients can target a single publishing server to
obtain the package refreshes in an acceptable round trip
time. (<3 seconds)
A single management server can support up to 50
publishing servers for package metadata refreshes in an
acceptable round trip time. (<5 seconds)
A single reporting server can process 500
concurrent/active connections.
A single reporting server can process a maximum 1500
concurrent connections.
Supporting 500,000 client machines with:
5 publishing servers
2 reporting servers (caveat with 4 hours random delay)
2 management servers (for availability)
1 database
Scheduled Task - generates a random delay between 0 and
ReportingRandomDelay and will wait the specified duration
before sending data.
Random delay = 4 * number of clients / average requests
per second.
Example: For 500 clients, with 120 requests per second, the
Random delay is, 4 * 500 / 120 = ~17 minutes.
Server Stretch
12,000 packages
Client Stretch
2,500 packages on a single machine
500 packages published to single user
Size of DB = (X+Y+Z) accelerated by Change History Growth.
X= Package Records + Aggregate of Manifests + Custom Configuration
[(# of packages * 512 Bytes) + (# of packages * 1Mb average manifest size) + (# of packages * 10K for custom
Package Records = # of packages * 512 Bytes
Aggregate of Manifests = # of packages * 1Mb average manifest size
Custom Configuration = # of packages * 10K for custom configuration
Custom Configuration based on estimation from ( ½K per policy element; 12 elements); 2 policies per packages;)
Y= Package Entitlements: 1K per entitlement (group SID)
Z = Connection Groups: 2K per CG.
Change History Estimation = 1K per record which correlates to instance. If 100 changes a week are estimated, factor in
100K growth.
Network Load Balancing Guide
Failover Clustering Guide
Creating a Windows Server 2012 Failover Cluster
Setting up SQL Mirroring
Connection String Clarification
SQL Failover Clustering
SQL Mirroring
Microsoft Desktop Optimization Pack (MDOP)

similar documents