Blog: http://blogs.technet.com/b/gladiatormsft/ Twitter: http://twitter.com/madvirtualizer LinkedIn: http://www.linkedin.com/steveth Facebook: http://www.facbook.com/madvirtualizer Capacity Planning: http://technet.microsoft.com/en-us/library/dn595131.aspx App-V BPA: http://www.microsoft.com/en-us/download/details.aspx?id=38844 Performance Guidance (SP2 HF4): http://technet.microsoft.com/en-us/library/dn659478.aspx App-V Supported Configurations : http://technet.microsoft.com/en-us/library/jj713426.aspx Planning for Server Deployment: http://technet.microsoft.com/en-us/library/jj713496.aspx Virtual Desktop Local Desktop End Point Role Segmentation and Separation SQL No Longer Single Point of Failure Protocols Flexible Shared Content Store Management 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 http://support.microsoft.com/kb/2956985 - http://support.microsoft.com/kb/2940354 Type Vapp Delivery Infrastructure Persistent RDS\XenApp Servers CM Integration Non-Persistent XenApp\RDS App-V Publishing* Type Persistent\Static VDI\XD Vapp Delivery Infrastructure CM Integration Non-Persistent\Pooled VDI\XD App-V Publishing Redundant Content Server (SMB) [DFS-R also available] Universal App-V Package Store Stream to Disk or Memory AppV Package Root Store Redundant Content Server (HTTP/HTTPS) Publishing Catalog/ Agent Client Orchestration App-V Publishing Server App-V Management Server Reporting Agent Management Database App-V Reporting Server SQL Database Server (Mirroring or Failover Clustering) Reporting Database Admin CLIENT ECOSYSTEM 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 FB1 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 metadata Administrators can use Group Policy or client PowerShell command-lets to associate publishing servers with the client Publishing server is stateless Location 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 http://www.microsoft.com/en-us/download/details.aspx?id=42630 http://technet.microsoft.com/en-us/library/jj713460.aspx http://www.microsoft.com/en-us/download/details.aspx?id=41183 http://technet.microsoft.com/en-us/library/jj687745.aspx http://technet.microsoft.com/en-us/library/jj684302.aspx http://technet.microsoft.com/en-us/library/jj713404.aspx http://technet.microsoft.com/en-us/library/jj684303.aspx http://technet.microsoft.com/en-us/library/jj713416.aspx http://technet.microsoft.com/en-us/library/jj713469.aspx http://blogs.technet.com/b/appv/archive/2013/05/06/how-to-install-the-app-v-5-0-database-andmanagement-server-using-sql-scripts-on-the-db.aspx http://technet.microsoft.com/enus/library/dn595131.aspx 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 configuration)] 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. http://technet.microsoft.com/en-us/library/dn659478.aspx http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=c3f 5f040-ab7b-4ec6-9ed3-1698105510ad http://www.microsoft.com/en-us/download/details.aspx?id=17190 http://technet.microsoft.com/en-us/library/dn343758.aspx#BKMK_IISLoadBal Network Load Balancing Guide http://technet.microsoft.com/en-us/library/cc754833(v=ws.10).aspx http://technet.microsoft.com/library/hh831698 Failover Clustering Guide http://technet.microsoft.com/en-us/library/hh831579.aspx Creating a Windows Server 2012 Failover Cluster http://blogs.msdn.com/b/clustering/archive/2012/05/01/10299698.aspx http://blogs.msdn.com/b/clustering/archive/2012/05/01/10299698.aspx http://blogs.technet.com/b/filecab/archive/2009/06/29/deploying-dfs-replication-on-a-windowsfailover-cluster-part-i.aspx http://blogs.technet.com/b/filecab/archive/2013/04/05/safely-virtualizing-dfsr.aspx Setting up SQL Mirroring http://technet.microsoft.com/en-us/library/ms189047.aspx http://msdn.microsoft.com/en-us/library/ms188712.aspx Connection String Clarification http://blogs.msdn.com/b/spike/archive/2010/12/08/clarificationon-the-failover-partner-in-the-connectionstring-in-databasemirror-setup.aspx SQL Failover Clustering http://technet.microsoft.com/en-us/library/dn343758.aspx#BKMK_SQLCluster SQL Mirroring http://technet.microsoft.com/en-us/library/dn343758.aspx#BKMK_SQLMirroring http://technet.microsoft.com/en-us/library/dn343758.aspx#BKMK_ClusterSCSMode windows.com/enterprise windowsphone.com/business microsoft.com/springboard Microsoft Desktop Optimization Pack (MDOP) microsoft.com/mdop microsoft.com/windows/wtg developer.windowsphone.com windows.com/enterprise windowsphone.com/business microsoft.com/springboard microsoft.com/mdop microsoft.com/windows/wtg developer.windowsphone.com http://channel9.msdn.com/Events/TechEd www.microsoft.com/learning http://microsoft.com/technet http://microsoft.com/msdn