Optimal Cloud Performance with BranchCache

Slides:



Advertisements
Similar presentations
P2P in Windows 7. P2P Capabilities in Windows 7 Distributed Routing Table Distributed Routing Table – A new public API suitable for building Distributed.
Advertisements

Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Speeding up the Branch Office
1. 2 Branch Office Network Performance Caches content downloaded from file and Web servers Users in the branch can quickly open files stored in the cache.
Building Web APIs in Windows Azure Name Title Microsoft Corporation.
MIX 09 4/15/ :14 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
1. 2 Branch Office Network Performance Caches content downloaded from file and Web servers Users in the branch can quickly open files stored in the cache.
Windows Azure Connect Name Title Microsoft Corporation.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

customer.
WSV Problem Background 3. Accelerated Protocols and Workloads 4. Deployment and Management 2. BranchCache Solution Modes 5. BranchCache Protocols.
Networking for Hybrid Cloud: BranchCache and Cross-Premises Connectivity Bala Rajagopalan Group Program Manager Microsoft Corporation Rob Kuehfus Program.
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Service Pack 2 System Center Configuration Manager 2007.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
04 | Business Analyzer Brian Meier| Senior Lead Program Manager.

IT Operations Management
Building ARM IaaS Application Environment
Introduction to Windows Azure AppFabric
Microsoft Office SharePoint Server 2007 Enterprise Search
Azure File Sync Setup, configuration and management
Microsoft Virtual Academy
Optimizing Microsoft OneDrive for the enterprise
Windows Azure Cloud Visit – Ravindra verma.
IT Operations Management
Microsoft Virtual Academy
SkyDrive Pro Chris Gideon Architect Microsoft 9/16/2018
Возможности Excel 2010, о которых следует знать
Business Continuity & Disaster Recovery
Office 365 Development.
Tyler Barton Program Manager Microsoft Corporation
Setting up team development infrastructure for SharePoint 2013
Microsoft Virtual Academy
Microsoft Build /24/2018 2:25 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
11/27/2018 Desktop Virtualization Corey Hynes Kyle Rosenthal President Technical Lead HynesITe Inc Spider Consulting @windowspcguy.
Title of Presentation 12/2/2018 3:48 PM
Microsoft Virtual Academy
12/9/2018 Desktop Virtualization Corey Hynes Kyle Rosenthal President Technical Lead HynesITe Inc Spider Consulting @windowspcguy.
M318.
Getting started with Windows Azure
Enabling the hybrid cloud with remote access appliances
2/25/2019 Desktop Virtualization Corey Hynes Kyle Rosenthal President Technical Lead HynesITe Inc Spider Consulting @windowspcguy.
TechEd /28/2019 3:22 PM © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks.
Developing for Windows Azure
8/04/2019 9:13 PM © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Windows Azure Overview
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
Developing Windows Azure Applications with Visual Studio
Шитманов Дархан Қаражанұлы Тарих пәнінің
The complete developer's guide to the SkyDrive API
Title of Presentation 5/24/2019 1:26 PM
Day 2, Session 2 Connecting System Center to the Public Cloud
Deploying and Managing Windows To Go
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Microsoft Virtual Academy
Presentation transcript:

Optimal Cloud Performance with BranchCache 9/20/2018 4:58 PM SAC-592T Optimal Cloud Performance with BranchCache Tyler Barton Program Manager Andrew Cunningham Software Design Engineer Microsoft Corporation © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Problem When servers are far, bandwidth costs money, applications slow down and people get frustrated When servers are close, bandwidth is free, applications are fast and everyone is happy Nobody likes waiting 1 00101011010001011110100010101001001 11010100000000001101111111010101010 10100101101011110101110100010101011 01001011101010100101001010010011011 11100000010101110100011010101101010

BranchCache 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 10 10 11 11 1 1 11 10 10 10 1 01 11 01 11 1 11 10 10 10 1 11 10 11 10 1 11 10 10 10

Opportunity Cloud to Cloud Private Cloud Public Cloud BranchCache can aid in transfers between data centers Storage Compute VMs Private Cloud Public Cloud BranchCache speeds up applications deployed on Windows Server without changes. BranchCache API can be used to accelerate new applications and protocols.

Agenda Free Cache! New Programs, Protocols and Possibilities How apps on Windows get caching without code New Programs, Protocols and Possibilities How to use the Peer Distribution API It’s Really Raining Hard Now BranchCache and the public cloud Sharing with Everyone BranchCache appliances and opportunities

Free Cache! How Apps on Windows get caching without code

The Windows BranchCache Framework 3rd Party Applications Office CopyFile Explorer SharePoint 12 Office BITS WMP IE SMB 2 HTTP BranchCache™

BranchCache Hosted Cache Get Data Data ID ID Get Get ID Get Search Search ID Data Offer ID Request Data ID Put

BranchCache Distributed Cache ID Get Data Data ID Get Get Data Get

What Are These Identifiers? Block Hashes ID1 ID2 ID3 ID4 ID5 ID6 ID7 ID8 ID9 Blocks 32K – 128K Fingerprint Used to choose boundaries Content

Security BranchCache accelerates e2e encrypted traffic (TLS/HTTPs, Ipsec) Cached data encrypted on disk and in transit between clients Prevents unauthorized access to cached data

BranchCache Security Model Server transmits content information structure to the client only if the client has access. Transfer happens over the accelerated protocol. Server authenticates the client and performs authorization checks. Client downloads encrypted blocks from a peer or the hosted cache and decrypts them with the encryption key. Client uses content information structure to calculate: -segment id (public) -encryption key (private) Client multicasts the segment id to find a peer with the data. Cached data is stored in encrypted.

Deployment Enable BranchCache on clients with PowerShell or Group Policy. Use distributed cache mode for offices without servers Hosted cache servers may be automatically detected. Install the optional BranchCache component on Windows web and file servers IIS File Server Group Policy Management Multiple hosted cache servers can be used in large, busy locations.

Tyler Barton Program Manager Windows Bandwidth Optimization Services 9/20/2018 4:58 PM demo BranchCache and HTTP Tyler Barton Program Manager Windows Bandwidth Optimization Services © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

New Programs, Protocols and Possibilities How to use the Peer Distribution API

Peer Distribution on MSDN

New Protocols and Applications SMB 2 HTTP Your App Your Protocol BranchCache

Peer Distribution Overview Generate Identifiers Use the server side Peer Distribution APIs on the server to calculate identifiers for data that would traverse the WAN. Transmit Identifiers Identifiers are packaged in a structure called Content Information. It must be sent to the client. Handle Cache Misses Retrieve data from the server and add it to the BranchCache cache for peers to access. Search for Data Feed the Content Information structure into the client side APIs to search for data.

HTTP Flow PeerDistClientOpenContent PeerDistClientAddContentInformation PeerDistClientCompleteContentInformation Content Information PeerDistServerPublishStream PeerDistServerAddToStream PeerDistServerCompleteStream PeerDistServerCloseStreamHandle GET /images/logo.png HTTP/1.1 … Accept-Encoding: gzip, peerdist Data HTTP/1.1 200 OK … Content-Encoding : peerdist Content Information Data PeerDistClientStreamRead / PeerDistClientBlockRead PeerDistClientCloseContent Content Information Hash Cache PeerDistServerOpenContentInformation PeerDistServerRetrieveContentInformation PeerDistServerCloseContentInformation Data Cache

Missing Data GET /images/logo.png HTTP/1.1 … Accept-Encoding: gzip, peerdist Data PeerDistClientAddData PeerDistClientCloseContent HTTP/1.1 200 OK … Content-Encoding : gzip Data Cache

It’s Really Raining Hard Now BranchCache and the public cloud

PaaS Cloud service doesn’t generate hashes for you…… Storage VMs Cloud service doesn’t generate hashes for you…… ….but your data is still far away. Compute Generate hashes on the client!

BranchCache and Windows Azure Storage Data Peerdist API Data IDs Storage IDs Use Peerdist API to generate IDs. Upload data and IDs as separate blobs First download IDs Download data on cache miss Peerdist API Pass data into Peerdist API to add it to the cache Pass IDs into Peerdist API to search

BranchCache and Azure Storage 9/20/2018 4:58 PM demo BranchCache and Azure Storage Tyler Barton Program Manager Windows Bandwidth Optimization Services © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

Sharing with Everyone BranchCache appliances and opportunities

Hosted Cache Offering If you make an appliance, consider including hosted cache functionality. Hosted cache can work alongside other workloads and can simply be a Windows Server virtual machine.

BranchCache Protocols PCCRD - Discovery Based on WS-Discovery. Find data on computers in the same subnet PCCRTP - HTTP Extensions for retrieving Content Information over HTTP PCCRD PCCRTP PCCRR IIS File Server PCCRR - Retrieval Used by a client to download blocks from a peer or the hosted cache. Also used by the hosted cache to download from a client SMB 2.1 SMB 2.1 Extensions for retrieving Content Information over SMB PCCRR PCCRR PCHC PCHC – Hosted Cache Offer Used by a client to alert the hosted cache when new blocks are available.

Summary BranchCache is a simple, secure technology that can optimize connected applications without code changes. The Peer Distribution API can be used to instrument new protocols. BranchCache can speed up communication with the public cloud. Support BranchCache on your appliances

For more information DOCUMENTATION & ARTICLES CONTACT www.branchcache.com CONTACT branch@microsoft.com

9/20/2018 4:58 PM © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. © 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

BranchCache and the Public Cloud Put Data hash Get Application generates hashes for data using Peerdist apis. Data and hashes uploaded as separate files Get Application downloads hash file and uses the peerdist apis to look for content locally. In the case of a cache miss, application explicitly downloads data file, and feeds data into the peerdist apis so that the content is available to peers.

BranchCache In Windows 8 Management BranchCache can be deployed without branch by branch configuration. New tools enable prehashing and preloading content from alternate media. Performance Smaller variable sized blocks enable de-duplication across files and improved bandwidth savings and performance. Scale BranchCache scales to larger offices, and can be used at HQ. Multiple hosted cache servers can be deployed in a single office. Cloud Ready BranchCache works everywhere you access the cloud from.

Hosted Cache vs Distributed Cache Enterprise Recommended for branches without any infrastructure Easy to deploy: Enabled on clients through Group Policy Cache availability decreases with laptops that go offline Distributed Cache Data cached amongst clients Recommended for larger branches Cache stored centrally: can use existing server in the branch Cache availability is high Enables branch-wide caching Hosted Cache Data cached at hosted cache server

Security Computations Client Encryption key Ke = Kp Segment Id Hash(Kp, HoD + K) Segment Secret Kp = Hash(HoD, Ks) Segment hash of data HoD = Hash (Blockhashes) Server secret key Ks Block hashes Hash(block) B1 B2 Bn Blocks Server

HTTP/HTTPS Integration IE IIS Open URL “Branch Cache Capable” Data Data Get data wininet http.sys Hashlist Hashlist Data Data Hashlist Branch Cache Branch Cache Data Hashlist H1 H2 H3 H4 H5