Microsoft Dynamics CRM Online Patterns & Principles for Solution
Total Page:16
File Type:pdf, Size:1020Kb
Microsoft Dynamics CRM Online patterns & principles for solution builders by Andy Schultz Marc Schweigert contributions by Kevin Bowling, Roger Gilchrist, Sue Ellen Jeffrey, Alok Sharma, MihnTri Tonnu, Aditya Varma (c)2015 Microsoft Corporation. All rights reserved. This document is provided “as-is.” Information and views expressed in this document, including URL and other Internet Web site references, may change without notice. You bear the risk of using it. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy and use this document only for your internal, reference purposes. your next solution for the cloud instead of on- Introduction premises deployment, we encourage you to work At Microsoft, we hear customers in many industry through the following guidelines now, so you’re ready verticals asking for cloud solutions. We’re prioritizing when the time for action arrives. these solutions, and communicating to customers the value of leveraging the Microsoft cloud. We have a highly available, world class data center infrastructure The Value of Complementarity powering our cloud properties. This infrastructure delivers value that customers would have to pay Interoperability between cloud services is one of orders of magnitude more money to create on their the strong added values such services provide. own. Customers can leverage the investment made Microsoft cloud offerings are no different. Microsoft by Microsoft to help them meet their demands and Dynamics CRM solution builders have traditionally achieve the scale necessary for their businesses. Our designed solutions focused on customer relationship high-value offerings like Microsoft Azure, Microsoft management (CRM), sometimes with another product Dynamics CRM Online, and Microsoft Office 365 added here or there to complement CRM capabilities come with out-of-the-box interoperability, and enable and add a few more. To realize the value of the cloud deeper custom interoperability, providing capabilities for solution building, it’s necessary to leverage the much more quickly than an on-premises solution complementary services to which you have easy could achieve. And these cloud properties are access. You should also understand that some of enterprise-ready, operating at massive scale and with these should be seen as the cloud equivalent of or availability across much of the globe. replacement for the on-premises resources you are accustomed to using, and others represent new ways of thinking and building solutions that have no on- Microsoft Dynamics CRM Online is a crucial part premises equivalent. of Microsoft’s cloud strategy. While Azure provides services that allow infrastructure to be moved to the cloud, and Office 365 provides tools for everything In many instances, enabling online deployment of from communication to document collaboration, solutions that you’ve previously built for on-premises Microsoft Dynamics CRM Online provides users deployment will require more than just Microsoft the power to manage business data and processes Dynamics CRM Online, because you may have used related to people, places, and things. Hand in hand on-premises resources that don’t exist in the cloud – with Azure and Office 365, Microsoft Dynamics CRM a web application running on IIS, integrated into the Online completes the Microsoft cloud offering for CRM UI, for example. To bring this full solution to the businesses and governments who want to move their cloud, you’ll need to use Microsoft Dynamics CRM business computing to the cloud. Online and Microsoft Azure, with the latter hosting your web application. Customers are asking for Microsoft Dynamics CRM Online. If the solution you build doesn’t run in But there’s much more value in the complementarity Microsoft Dynamics CRM Online, you might find between cloud applications than in just replicating yourself on the outside of important opportunities what you’ve done on-premises. An expanding set in the near future as you’re unable to meet customer of Microsoft Azure services, Office 365 services requirements. Beyond just making certain “tweaks” (like Delve, Sway, and Video), and more and better to an on-premises solution or to your solution- Office APIs create possibilities that didn’t exist with building approach, designing a solution for the cloud applications installed locally or in a private data requires you to change your philosophy. This guide center. For instance, Office 365 includes SharePoint is designed to help you understand this fundamental Online, which has out-of-the-box functionality for shift in mindset by outlining the key areas where document storage and creation. This document cloud solutions require different thinking. Whether interoperability leverages Office 365, which allows you need to change an existing on-premises solution you to read or edit Office documents without ever to make it deployable in Microsoft Dynamics CRM leaving the browser. Online, or you simply need to know how to design Architecturally, Microsoft Azure Active Directory is a The following sections discuss the areas you’ll need foundational component of a solution built on the to evaluate when building a solution for Microsoft Microsoft cloud. It provides a single identity for a user Dynamics CRM Online (or converting a solution that that works across Microsoft Dynamics CRM Online, was originally built for Microsoft Dynamics CRM on- Office 365, and custom applications you’ve built in premises). While it is likely that not every category Azure. It also provides the capability for a hybrid will be relevant for every solution, this guidance is cloud solution and for single sign-on with an on- designed to help you begin thinking about how to premises Active Directory deployment by offering the design your solution for Microsoft Dynamics CRM option to federate with Active Directory on-premises. Online – whether you have an existing on-premises solution or are starting from scratch. Many robust business systems require things like data warehousing, interoperability with external systems, I also recommend taking a look at the presentation and certain advanced coding scenarios. All of these from Microsoft Convergence 2014 Europe titled 2 things are available to users through Azure. “Design for Cloud with Microsoft Dynamics CRM”. The presenters, Amir Jafri and Ian Smith, walk It’s been wisely stated that a mobile application that through many of the same principles covered in this simply takes something you used to do at your desk, paper, and you may glean additional insights by and allows you to do that same thing walking around, hearing them discuss these topics from a different is of little value. The true value in mobility is in letting perspective. people do things that weren’t possible at all without mobile computing.1 A similar principle is true with the cloud. Simply taking something that used to be on- Cloud Principles premises and making it run in the cloud is of limited value. Using the complementary cloud services There are some principles that, while they don’t Microsoft puts at your fingertips makes it possible for translate directly into detailed rules for what you users to do something that wasn’t possible without should and shouldn’t do in Microsoft Dynamics CRM the cloud. If you’re mindful of the possibilities, you Online, still deserve serious consideration when can build much more value into your cloud solutions. designing this type of cloud solution. We’ll start with Keep the value of complementarity in mind as you these principles before we get down to the details. read on. 1 See Cyriac Roeding, “You Have to Break the Egg.” Stanford University E-Corner. http://ecorner.stanford.edu/authorMaterialInfo.html?mid=3174 2 http://convergence.evo-td.com/library/BKCRM406 Scale and Shared Resources way transactions lock the database and optimize your code accordingly. In Microsoft Dynamics Microsoft Dynamics CRM Online instances use a CRM Online, the strict timeout limits mean you pool of shared resources, such as web server, async 3 can’t afford to have a transaction which waits for service, report server, disk I/O, and compute power. minutes while the database is locked for other This is important to understand, because it has both transactions ahead in the queue. an upside and a downside. We’ll discuss the details of the downside first: no portion of these shared • Regarding database performance, you should resources are dedicated strictly to the instance also understand that while you don’t have access running your solution – they’re shared. That means to the database to create your own indexes, you that you must design your solution to accommodate can submit a request to Microsoft Dynamics CRM potential scenarios where these resources don’t Online to have (an) index(es) created for you. perform your requests immediately. For example: • An asynchronous workflow doesn’t run Now, let’s discuss the upside: In an on-premises immediately. Asynchronous workflows are sent deployment, your solution has access to exactly to the async queue on the async server, a shared the amount of resources that your customer has resource. Your workflow job may have to wait its allocated to it. In Microsoft Dynamics CRM Online, turn in the queue before it executes; although you don’t have to worry about these shared resources the execution time is often very quick, there’s no - Microsoft invests in hardware to provide the guarantee that it will be. necessary capacity for your workload. As the needs for your deployed solution grow, the Microsoft ० If the impact of a workflow will be small Dynamics CRM Online service can provide the enough, use a synchronous workflow instead resources to help meet those needs. of asynchronous to avoid the possibility of having to wait for the workflow job to Also, it’s important to be aware of the published complete.