RemoteApp 101 Delivering Seamless Remote Applications Dr. Benny Tritsch CTO bluecue consulting http://www.drtritsch.com Twitter: @drtritsch (#BriForum)
Content The History of Remote Applications Integrated Locally Seamless Remote Applications Concepts Installing and Configuring RemoteApp RemoteApp Usability Azure RemoteApp Summary
What is RAIL? Application Host Remoting Protocol RemoteApp Seamless App Client Local Application RAIL = Remote Applications Integrated Locally
Local Applications vs. RAIL Software Deployment Server RDSH Server Datacenter User Sessions Application runs here OS Hardware RDP Application runs here Local application on local desktop Remote application on local desktop
Windows Components Small Icon Menu Bar Window styles: Caption, SysMenu Visible ScrollBar ThickFrame MinimizeBox, MaximizeBox Windows Title Bar and Caption This text is displayed in the Client Area Most Windows applications create a main window as the first window of the application A child window can also be a parent window that contains child windows, such as controls When a parent window is destroyed, moved, hidden or disabled, so are its children Events in a child window are not always passed to the parent window Control Box Scroll Bar Border Attributes Size and position
Z Order GDI Repaint Mechanism Client Area Invalid Rectangle WM_PAINT
Poor Man s Application Remoting Alt-Print Mouse Click Ctrl-V Send Email
RAIL #1: Mapping the Entire App Window Host Seamless Frame Client App Window Icon Resource
RAIL #2: Using Client Window Manager Host Seamless Frame Wnd Resources Icon Resource Client Area Client Untitled - Notepad _ File Edit Format View Help
RAIL #3: Hidden Desktop Host Desktop Mapping Client Invisible Desktop Local Window Icon Resource
Z Order of Application Windows Local Application Local Application Remote Application Remote Application
Okay, Let s Build a RemoteApp Server
Simple Microsoft RD Session Host RD Connection Broker RDP Client RDSH Collection Notes: Backend servers must be domain-joined!!! RemoteApp can also be provided by Windows clients
RemoteApp Configuration
RemoteApp User Assignment
RDP Clients Supported Platforms RDP Client for Windows RDP Client for Windows RT RDP Client for Mac OSX RDP Client for ipad (ios) RDP Client for Android
Microsoft RDSH + RD Web Access HTTP RDP File RD Web Access RD Connection Broker RDP RDP Client RDSH Collection
Simplified Demo Environment VM1 Windows 8.1 Domain-joined Windows 8.1 Client Hyper-V VM2 VM3 Windows Server 2012 R2 RDSH RD Connection Broker RD Web Access RD Licensing Windows Server 2012 R2 DC DNS Domain users
RDS Management Console
RD Web Access
RemoteApp and Desktop Connection Available in Control Panel Provides administrators the ability to group and personalize RemoteApp programs and virtual desktops Makes them available to end users on the Start menu A RemoteApp and Desktop Connection notification area icon shows connection status and allows to disconnect Administrators can create a client configuration file (.wcx) and distribute it, allowing users to automatically configure RemoteApp and Desktop Connection NOTE: Certificate required for client-to-host communication
RemoteApp and Desktop Connection
Client drives USB devices Audio devices (CAM) Clipboard Printers Usability: Device Redirection
Usability: RDP Virtual Channels Core (graphics, keyboard, mouse) Seamless Windows / RemoteApp Printing Data Clipboard Mapping Drive Mapping RDP Client Audio Dynamic Virtual Channels RDS Host RDP Protocol Stream
Usability: File Type Associations
RemoteApp Challenges Some Fixed Z order of dialog boxes (popups behind main window) Transparent application elements and window regions Mouse cursors and keyboard shortcuts Move and resize experience, full drag Thumbnails and live tiles in taskbar Tray area notifications ( toasts ) with transparency (alpha blending) Rotation and resolution adoption (tablets) Shell extensions dependencies (Explorer plug-ins) User profile management in client and host sessions
Microsoft Azure RemoteApp Cloud Deployment RemoteApp Service Published Apps Elastic Runtime RDP Session Host Session Host Session Host Persistent user data (50GB per user) Pre-built template image Automatically maintained Authentication Identity Options Microsoft Account Azure Active Directory DirSync (optional) On-premises Network Windows Server Active Directory Source: Microsoft
Azure RemoteApp Management
Azure RemoteApp Client for Windows https://www.remoteapp.windowsazure.com/
Microsoft Azure RemoteApp Features Price (per user) Window Server version Remoting Protocol RDP 8.1 Microsoft Office Professional Plus 2013 Bring your own applications Device platforms Microsoft Account support Federated Identity with Active Directory Integration with On-Premises IT Infrastructure Storage (per user) Initial capacity at preview Regions Source: Microsoft Free during preview Windows Server 2012 R2 Windows 7/8.x, ios, Android, Windows Phone, Windows RT Coming soon: Mac OS X 50 GB 20 users per Azure account. Customers can request additional capacity during the preview. US East, US West, Europe North, Europe West, Asia Pacific East, Asia Pacific Southeast
Summary RemoteApp is cool stuff but not too many people know about it Not only RD Session Host servers can host RemoteApp programs, but also physical or virtual Windows clients (Enterprise edition) RemoteApp management has room for improvements In Cloud concepts, RemoteApp (or RAIL in general) may become an important cornerstone saves the legacy Windows apps RemoteApp clients are available for a range of devices and OSes (also non-windows platforms) Check out the new kid on the block: Azure RemoteApp
THANK YOU Benny Tritsch http://www.drtritsch.com Twitter: @drtritsch