 Muralidhar Krishnaprasad Principal Architect Microsoft Corporation TL14.

Slides:



Advertisements
Similar presentations
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Advertisements

© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Windows 8 (1) (2) (3) Windows 8 (1) (2) (3)
Taylor Brown Test Lead Microsoft Corporation ES09.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Reprint Outstanding Transactions Report © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
 Josh Honeyman Sr. Development Lead Microsoft Corporation BB57.
Feature: Purchase Requisitions - Requester © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
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.
 Phil Haack Senior Program Manager Microsoft Corporation PC21.
Wade Wegner Windows Azure Technical Evangelist Microsoft Corporation Windows Azure AppFabric Caching.
 Nishant Gupta Program Manager Live Services Microsoft Corporation BB51.
Co- location Mass Market Managed Hosting ISV Hosting.
Windows 7 Training Microsoft Confidential. Windows ® 7 Compatibility Version Checking.
Feature: Purchase Order Prepayments II © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
 Alexander Malek Lead Program Manager SharePoint Microsoft Corporation BB47.
Feature: OLE Notes Migration Utility
Feature: Web Client Keyboard Shortcuts © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
 Pablo Castro Software Architect Microsoft Corporation TL08.
Session 1.
Built by Developers for Developers…. © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
 Rico Mariani Architect Microsoft Corporation.
 Frank Savage Architect Microsoft Corporation.
 Bertrand Le Roy Senior Program Manager Lead Microsoft Corporation PC32.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Feature: Assign an Item to Multiple Sites © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
 Anil Nori Distinguished Engineer Microsoft Corporation.
 Chaitanya Sareen Senior Program Manager Microsoft Corporation PC24.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Connect with life Connect with life
 Yousef A. Khalidi Distinguished Engineer Windows Azure ES02.
© 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or.
Connect with life Janakiram MSV Sr. Technology Strategist | MS India Development Center Siddharth Jagtiani Sr. Program Manager.
Feature: Suggested Item Enhancements – Sales Script and Additional Information © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows.
Feature: Customer Combiner and Modifier © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
 Paul Vick Principal Architect Microsoft Corporation  Lucian Wischik Software Engineer Microsoft Corporation.
2 Microsoft project code named for Scalable and Available Applications Anil Nori, Distinguished Engineer Muralidhar Krishnaprasad (“MK”), Principal Architect.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.

Virtual techdays INDIA │ November 2010 AppFabric Cache Jatin Kakkar │ Sr. Program Manager, AppFabric.
customer.
… Application /Web Tier UsersUsers DatabaseDatabase Data tier Application Asp.Net app Session cart hosted in memory Asp.Net app Session cart hosted.
Designing and Delivering Scalable and Resilient Web Services Ron Jacobs Sr. Technical Evangelist, Microsoft
demo © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names.
demo Demo.
demo QueryForeign KeyInstance /sm:body()/x:Order/x:Delivery/y:TrackingId1Z
Feature: Suggested Item Enhancements – Analysis and Assignment © 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and.
projekt202 © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are.
The CLR CoreCLRCoreCLR © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks.
 Boris Jabes Program Manager Lead Microsoft Corporation TL13.
Nicholas Goossens R&D Lead Open Box Software Session Code: WUX301.
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or.
public class Foo { Bar _bar; public Foo() { this._bar = new Bar(); } public class Foo { IBar _bar; public Foo(IBar barDependency) {

MIX 09 4/17/2018 4:41 PM © 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered.
Возможности Excel 2010, о которых следует знать
TL20 – Entity Framework Futures
FeedSync And Live Mesh Sync Services
11/28/ :08 AM PDC09-FT26 Scale Your Data Tier using Windows Server AppFabric Caching (formerly Project “Velocity”) Muralidhar Krishnaprasad Principal.
An Introduction To Microsoft F#
Title of Presentation 12/2/2018 3:48 PM
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.
Виктор Хаджийски Катедра “Металургия на желязото и металолеене”
Шитманов Дархан Қаражанұлы Тарих пәнінің
Title of Presentation 5/24/2019 1:26 PM
Presentation transcript:

 Muralidhar Krishnaprasad Principal Architect Microsoft Corporation TL14

Most composite applications designed for serious scale and availability are using mid- tier, distributed caching technologies today. Evolving Application Requirements Underlying Hardware Trends Evolving Application Architectures Evolving Business Requirements

Caching Reference Data Web Tier Clients Local Cache (in Proc) Distributed Cache Servers Distributed Cache Servers Data Tier Usernames, Name-> ID Mapping Usernames, Name-> ID Mapping Friend Lists Usernames Friend Lists Usernames Scenario: Social Networking

Caching Activity-Oriented Data Data Tier Application Tier Distributed Cache Integration Hub Integration Hub Clients Web Tier Vendor services Pricing Vendor Sources Order, Invoice, Payment Order, Invoice, Payment Aggregated Vendor Catalogs Aggregated Vendor Catalogs Scenario: Enterprise LOB Application

Caching Resource-Oriented Data Scenario: Flight Inventory and Pricing Application Tier American Distributed Cache Flight Itinerary Flight Itinerary Flight Segment Flight Price Flight Segment Flight Price Airlines Seat Inventory Booking Service

Shopping Cart Shopping Cart Catalog Inventory

Unified Cache View Clients can be spread across machines or processes Clients Access the Cache as if it was a large single cache Cache Layer distributes data across the various cache nodes

… Application / Web Tier Application UsersUsers DatabaseDatabase CloudCloud Data Tier Application Velocity Client Local Cache Server 1 Server 2 Server 3 Velocity Service Server Side Callbacks Cache Tier

Increase Performance Cache Objects close to Application Increase Performance Cache Objects close to Application Scale Out Add More Machines to Scale out your Application Scale Out Add More Machines to Scale out your Application Make Application Available Protect from machine failures Make Application Available Protect from machine failures Do all this at low cost Use Cheap Commodity Hardware Velocity V1 will be FREE out of band release for the.Net framework Do all this at low cost Use Cheap Commodity Hardware Velocity V1 will be FREE out of band release for the.Net framework

CTP1 TechedTeched CTP2 Now CTP3 Mix 2009 RTM Mid 2009

Regions Region A Key Payload Tags 121 xxxx “Toy” “Child” 123 yyyy “Toy” “Chair”.. Machine -> Cache Host -> Named Caches -> Regions -> Cache Items -> Objects Velocity Service Named Cache : Product Catalog Named Cache : Electronics Inventory Velocity Service

// Simple Get/Put catalog.Put("toy-101", new Toy("Puzzle",.,.)); // From the same or a different client Toy toyObj = (Toy)catalog.Get("toy-101"); // Simple Get/Put catalog.Put("toy-101", new Toy("Puzzle",.,.)); // From the same or a different client Toy toyObj = (Toy)catalog.Get("toy-101"); // Region based Get/Put catalog.CreateRegion("toyRegion"); // Both toy and toyparts are put in the same region catalog.Put("toyRegion", "toy-101", new Toy(.,.)); Catalog.Put("toyRegion", "toypart-100", new ToyParts(…)); Toy toyObj = (Toy)catalog.Get("toyRegion", "toy-101"); // Region based Get/Put catalog.CreateRegion("toyRegion"); // Both toy and toyparts are put in the same region catalog.Put("toyRegion", "toy-101", new Toy(.,.)); Catalog.Put("toyRegion", "toypart-100", new ToyParts(…)); Toy toyObj = (Toy)catalog.Get("toyRegion", "toy-101");

// Add Tags Tag hotItem = new Tag("hotItem"); Tag discItem = new Tag("discountItem"); catalog.Put("toyRegion", "toy-101", new Toy("Puzzle"), new Tag[]{hotItem}); catalog.Put("toyRegion", "toy-102", new Toy("Bridge"), new Tag[]{hotItem,discItem}); // From the same or a different client List > toys = catalog.GetAnyMatchingTag("toyRegion", hotItem); // Add Tags Tag hotItem = new Tag("hotItem"); Tag discItem = new Tag("discountItem"); catalog.Put("toyRegion", "toy-101", new Toy("Puzzle"), new Tag[]{hotItem}); catalog.Put("toyRegion", "toy-102", new Toy("Bridge"), new Tag[]{hotItem,discItem}); // From the same or a different client List > toys = catalog.GetAnyMatchingTag("toyRegion", hotItem);

… Application / Web Tier Application Cache Tier Velocity Service UsersUsers Application Velocity Client Local Cache Velocity Service Application Velocity Client Local Cache Application Velocity Client Local Cache AA CC EEDD BB GGIIHH FF Server 1 Server 2 Server 3

Load Test Controller … Server 1 Server 2 Server 3 Cache Client1 Cache Client 2 Cache Client n Load Controller Spawns Test Clients Client Machines run test Cache Service Cluster Partitioned Cache

Single Server Throughput Increases with Increasing Load Until Server Saturation Single Server Throughput Increases with Increasing Load Until Server Saturation LoadLoad ThroughputThroughput LatencyLatency Server 2 Added Throughput Increases Latency Decreases Until Server Saturation Server 2 Added Throughput Increases Latency Decreases Until Server Saturation Server 3 Added Throughput Increases Latency Decreases Server 3 Added Throughput Increases Latency Decreases

… Application / Web Tier Application Cache Tier Velocity Service UsersUsers Application Velocity Client Local Cache Velocity Service Application Velocity Client Local Cache Application Velocity Client Local Cache AA CC EEDD BB GGIIHH FF Server 1 Server 2 Server 3 AA CC EE DD BB GG II HH FF

… Application / Web Tier Application Cache Tier Velocity Service UsersUsers Application Velocity Client Local Cache Velocity Service Application Velocity Client Local Cache Application Velocity Client Local Cache AA CC EE DD BBGG II HH FF Server 1 Server 2 Server 3 AA CC EEDDBB GGII HHFFDDAAHH CC FF EE

… Session State stored in Velocity Velocity Service Load Balance Requests No more sticky routing Load Balance Requests No more sticky routing Application Velocity SessionStoreProvider Application Velocity SessionStoreProvider Application Velocity SessionStoreProvider Velocity Service Scale your Session Store Dynamically Dynamically Highly Available Drop in Velocity SessionStoreProvider <add name="SessionStoreProvider" type="System.Data.Caching.SessionStoreProvider, ClientLibrary" cacheName=" "/> <add name="SessionStoreProvider" type="System.Data.Caching.SessionStoreProvider, ClientLibrary" cacheName=" "/>

Cache Cluster Velocity Embedded in ASP.Net Application Cache Cluster Velocity Embedded in ASP.Net Application Northwind Application Northwind Application ASP.net Session Cache ASP.net Session Cache VELOCITY Velocity Session Store Provider Velocity Session Store Provider Northwind Application Northwind Application ASP.net Session Cache ASP.net Session Cache VELOCITY Velocity Session Store Provider Velocity Session Store Provider CacheViewer Application CacheViewer Application VELOCITY Partitioned Cache

Velocity Service Server 1 Server 2 Server 3 Cache Servers Configuration Store (Can be database, File share etc.) Stores Named Cache Policies Stores Global Partitioning Map Global Partition Manager Velocity Service One of the Velocity Service Hosts the Global Partition Manager

Web Tier ASP.Net Application Farm Clients Velocity Cache Service Velocity Cache Service Data Tier Friend Lists Usernames Friend Lists Usernames Velocity Local Cache Caching Reference Data Scenario: Social Networking Partitioned Cache Scale Scale Usernames, Name-> ID Mapping Usernames, Name-> ID Mapping Local Client Cache Higher Performance

Application Tier ASP.Net Application Farm Caching Activity-Oriented Data Data Tier Velocity (with HA on) Integration Hub Integration Hub Clients Web Tier Vendor services Pricing Vendor Sources Order, Invoice, Payment Order, Invoice, Payment Aggregated Vendor Catalogs Aggregated Vendor Catalogs Scenario: Enterprise LOB Application Partitioned Cache + HA Scale + Availability Partitioned Cache + HA Scale + Availability Session Store Provider ASP.Net Integration Session Load Balancing ASP.Net Integration Session Load Balancing

Caching Resource-Oriented Data Scenario: Flight Inventory and Pricing Application Tier American Velocity Flight Itinerary Flight Itinerary Flight Segment Flight Price Flight Segment Flight Price Airlines Seat Inventory Booking Service Partitioned Cache + HA + Concurrency Control Scale + Availability + Performance Partitioned Cache + HA + Concurrency Control Scale + Availability + Performance

June 2008 (CTP1) (TechEd 2008) Oct 2008 (CTP2) (PDC 2008) CTP3 (Mix 2009) Mid 2009 RTM Distributed, partitioned cache service Regions, Tags Local CacheASP.Net Integration AvailabilityConfiguration Options Powershell Bulk Access APIsSecurity Read-Through/Write-BehindCache Event Notifications

Make it availableMake it fasterScale your app Velocity

Please fill out your evaluation for this session at: This session will be available as a recording at:

© 2008 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.