1 / 28

Case Study: One Code Base On Premises and On Line Microsoft Dynamics CRM

Case Study: One Code Base On Premises and On Line Microsoft Dynamics CRM.  David Shutt Software Architect Microsoft Corporation. Case Study: One Code Base Case Study of Bridging On Premises & Online. Vision Analyze and Plan Technology Team Process and Organization Measure.

ailsa
Download Presentation

Case Study: One Code Base On Premises and On Line Microsoft Dynamics CRM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Case Study: One Code Base On Premises and On LineMicrosoft Dynamics CRM  David Shutt Software Architect Microsoft Corporation

  2. Case Study: One Code BaseCase Study of Bridging On Premises & Online Vision Analyze and Plan Technology Team Process and Organization Measure

  3. Vision: The Power of Choice • Write once • Deploy anywhere • Non goal: On Premises Quirks On Premises CRM Online (Microsoft Hosted) Partner Hosted

  4. Analyze and Plan

  5. Analyze Security: Surface AreaPrior Release Web Client Web UI WebSvc API Biz Logic Outlook Client SQL SQL Reporting Services Excel

  6. Plan: Security: Surface AreaStrategy: wrap non hardened components Web Client SQL Reporting Services Web UI Outlook Client WebSvc API Biz Logic SQL Excel

  7. Analyze ScalePrior Release: Single Tenant Application Server Tenant 1 Application Server Tenant 2 Application Server Tenant 3 Application Server Tenant 4 Application Server Tenant N …

  8. Analyze ScalePrior Release: Single Tenant with Virtualization Application Server Tenants 1-10 Application Server Tenants 11-20 Application Server Tenants 21-30 Application Server Tenants 31-40 Application Server Tenants xx-yy …

  9. Plan ScaleNew Release: Multi Tenant Application Server Tenants 1-200 Application Server Tenants 201-400 Application Server Tenants 401-600 Application Server Tenants 601-800 Application Server Tenants xxx-yyy …

  10. Analyze Provisioning & AvailabilityPrior Release: State in Multiple Places Application Server …Application Server N Tenant UI Tenant UI Tenant code Tenant Code Tenant Registry Tenant Registry Tenant Data Tenant Semantic Meta Data

  11. Plan Provisioning and AvailabilityCentralize State to enable Server Farms Application Server Cached State only …Application Server N Cached State only Tenant Data & Meta Data (UI, code, entity def) SQL

  12. Analyze Scale: Single Tenant MemoryPrior Release

  13. Plan Scale: Multi Tenant Memory CRM V4 Application Server ‘Core’ MetaData Delta #1 Delta #2 Delta N

  14. Process: Agility in TestingChallenge and Best Practices • Complex Test Matrix • Deployment models – On Premises, Online, Partner Hosted • Authentication – AD, Basic, Windows LiveID • Versions of External Dependencies • Server: OS, IIS, .NET CLR, Exchange, SQL Server • Client: OS, Browser, Office/Outlook • Unify Development and Test Infrastructure • Automate Deployment and Testing • Centralize and Dedicate Resources

  15. Process: Extending the Delivery Team • Customer Satisfaction includes operations, sustaining engineering, & support teams • Customer support responsibilities differ across channels Product Dev Sustaining Engineering Support OnPremises Customer OnPremises Partner Product Operations Online Servicing Online Customer Data Center Operations Hosting Partner Business Operations

  16. Measure: ScaleSingle and Multi Tenant

  17. Measure: Scale Cascading Failures • Alpha @ scale: sudden transition from healthy to cached configuration expired • Q1: Why did configuration polling fail? • A1: Polling thread CPU starved • Q2: Why was CPU usage high? • A2: .NET Garbage Collector • Q3: Why was Garbage Collector so busy? • A3: Finalization Queue very long • Q4: What objects are in the queue?

  18. Measure: ScaleFunctional correctness does not guarantee scale • public void BadScale() • { • // Get thread's windows identity. • WindowsIdentity identity = WindowsIdentity.GetCurrent(true); • if(null != identity) • { • // Do Work with identity • return; • } • else • { • // Invalid user -- throw exception... • } • }

  19. Measure: ScaleCoding Example for Scalability • public void GoodScale() • { • WindowsIdentity identity; • try • { • identity = WindowsIdentity.GetCurrent(true); • // Do work with the identity object. • } • finally • { • identity.Dispose(); • } • }

  20. Measure: ScaleEarly results with improved code • Multi tenant memory at scale, after applying fix to CRM code itself [other code still to do]

  21. Measure: Disk SpaceLesson: Local vs Global Optimization • Online Service provides instant feedback • Noticed during Beta, fixed prior to Release

  22. One Code Base: Lessons • Technology • Build for Online, On Premises as simple case • Be flexible to keep or replace components • Iterate, limit initial scope • Adopt existing Online-ready technology • Process • Plan and Scope before you start • Analyze ROI for work required • Evangelize Architecture and Best Practices within team • Agility - Organizational and Process

  23. Microsoft Dynamics CRM & the Azure Services Platform Azure Services Platform Microsoft SharePoint Services Microsoft Dynamics CRM Online

  24. One Code BaseLinks • Microsoft Dynamics CRM Online • http://crm.dynamics.com • Microsoft Dynamics CRM V4 Performance Whitepapers • http://www.microsoft.com/downloads/details.aspx?FamilyId=5852B14A-394C-4898-8374-CAF5E6479EB0&displaylang=en • PDC BB32: Rapid Business Application Development with Dynamics CRM • PDC BB08: Microsoft Dynamics CRM: Appealing Business Applications

  25. Evals & Recordings Please fill out your evaluation for this session at: This session will be available as a recording at: www.microsoftpdc.com

  26. Q&A Please use the microphones provided

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

More Related